自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。

科技探索之窗,聚焦多元技术领域。深入解析大数据架构,探秘云计算核心,剖析编程语言精髓。凭借专业视角、深度见解,将晦涩技术概念转化为清晰易懂的知识宝藏,伴您在技术海洋中破浪前行,精准锚定进阶方向,开启无限创新可能。

  • 博客(480)
  • 资源 (78)
  • 收藏
  • 关注

原创 MySQL 入门大全:数据类型

MySQL 入门大全:数据类型MySQL 提供很多种数据类型来对不同的常量、变量进行区分,MySQL 中的数据类型主要是 数值类型、日期和时间类型、字符串类型 选择合适的数据类型进行数据的存储非常重要,在实际开发过程中,选择合适的数据类型也能够提高 SQL 性能,所以有必要认识一下这些数据类型。数值类型MySQL 支持所有标准的 SQL 数据类型,这些数据类型包括严格数据类型的严格数值类型,这些数据类型有 INTEGER SMALLINT DECIMAL

2025-05-05 23:30:40 497

原创 浅析Spring中的PropertySource 的基本使用

一、PropertySource 简介​ org.springframework.context.annotation.PropertySource 是一个注解,可以标记在类上、接口上、枚举上,在运行时起作用。而@Repeatable(value = PropertySources.class) 表示在PropertySources 中此注解时可以重复使用的。二、@PropertySource与Environment读取配置文件​ 此注解@PropertySource 为Spring 中的 Env

2025-05-05 23:30:04 531

原创 Maven 动态版本与SNAPSHOT机制详解

据Sonatype 2023年发布的《软件供应链现状报告》显示,超过63%的Java项目在其依赖声明中至少存在一个动态版本范围,而其中28%的项目因此遭遇过构建不可复现的问题。与此同时,SNAPSHOT依赖的滥用导致近40%的生产环境事故可追溯至未经验证的临时构建版本。这些数据揭示了一个残酷的现实:开发者往往在追求开发效率的过程中,无意间为系统埋下了技术债务的种子。本文将从Maven的版本解析机制切入,深入探讨动态版本(包括属性占位符和版本范围)的实现原理与适用边界

2025-05-05 00:15:00 818 64

原创 【Elasticsearch】实现气象数据存储与查询系统

移动端可微信小程序搜索“”)总架构师,15年工作经验,精通Java编程高并发设计,熟悉LinuxESXI虚拟化以及,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。请加本人wx(注明来自csdn。

2025-05-03 11:28:43 1410 42

原创 深入理解 JVM 的垃圾回收机制

本篇内容我们从头到尾讲了一遍 JVM 的垃圾回收机制,包括垃圾回收的概念、垃圾判断算法、垃圾收集算法、Stop The World、新生代和老年代等等。记得以前有这样一副动图,用来嘲笑 JVM 的垃圾回收机制,大致的意思就是,JVM 的垃圾回收机制很工业化,但是好像是在做无用功,垃圾回收不彻底。

2025-05-03 11:28:12 1041 28

原创 Maven 实现多模块项目依赖管理

Maven作为Java生态的主流构建工具,其依赖管理机制经过多年演进已形成完整体系。但许多开发者仅停留在基础使用层面,对多模块项目的深度管理缺乏系统认知。本文将深入剖析dependencyManagement的版本仲裁机制、子模块依赖的继承规则、传递依赖的精准控制等核心话题,并通过真实案例展示如何构建企业级的依赖治理方案。我们将揭示大型互联网公司在超大规模项目中的实战技巧。

2025-05-03 08:23:59 1169 76

原创 解决中文乱码:字符编码全攻略 - ASCII、Unicode、UTF-8、GB2312详解

Q:什么是中文乱码?GPT4:中文乱码是指在计算机系统或软件中,由于字符编码不一致或处理不当,导致中文字符无法正常显示,出现乱码现象。这种现象通常表现为中文字符被替换成其他不相关的字符、符号或乱码。比如说,历史上著名的“锟斤拷”同学,就是中文乱码的绝佳代言人。Q:那什么是字符编码呢?GPT4:字符编码(Character Encoding)是一种规则或约定,它将字符(如字母、数字、标点符号等)映射到计算机中的二进制数据。简单来说,字符编码就是将人类可读的字符转换为计算机可以处理的二进制数据的过程。

2025-04-30 11:28:36 971 54

原创 Java Class类文件结构

本文详细介绍了Java类文件结构,学习本文内容,您将掌握Java类文件的基本概念、类文件的结构、类文件的内容结构、类文件的常量池、类文件的访问标记、类索引、父类索引和接口索引、字段表、方法表、属性表、属性表的结构、属性表的类型、属性表的使用场景、属性表的使用方法、属性表的使用示例、属性表的使用注意事项,为您的Java编程之旅打下坚实基础。本文准备带大家解剖一下 Java 的类文件结构,也就是 .class 文件的内容结构,虽然它实际上是一串连续的二进制,由 0 和 1 组成,但我们仍然可以借助一些工具来

2025-04-30 11:28:05 733 33

原创 Nacos-3.0.0适配PostgreSQL数据库

Nacos-3.0.0版本最直接最快集成PostgreSQL数据源的方法就是引入依赖,这也是本文重点,也就是核心部分,我把它放这里:<dependency> <groupId>com.sinhy</groupId> <artifactId>nacos-postgresql-datasource-plugin-ext</artifactId> <version>3.0.0</version></dependency>我已将pg数据源插件打成了jar包,传到maven中央仓库!

2025-04-28 18:44:43 3109 112

原创 Maven多模块工程版本管理:flatten-maven-plugin扁平化POM

在Java生态系统中,Maven作为构建工具的事实标准已存在近二十年。其依赖管理和多模块支持机制虽经典,但随着微服务架构和持续交付的普及,传统版本管理方式逐渐暴露出明显短板。当企业级项目达到上百个模块时,版本号的同步维护成为开发团队的噩梦——某次紧急修复需要同时修改20个模块的版本号,工程师不得不在数十个pom.xml文件中反复查找替换,这种场景真实存在于许多技术团队中。更严峻的问题隐藏在持续集成环节:当使用${revision}占位符进行版本统一时,Maven在部署阶段生成的pom文件仍保留占位符而非

2025-04-28 09:35:47 1141 74

原创 MySQL 调优

索引的目的就是用于快速查找某一列的数据,对相关数据列使用索引能够大大提高查询操作的性能。不使用索引,MySQL 必须从第一条记录开始读完整个表,直到找出相关的行,表越大查询数据所花费的时间就越多。如果表中查询的列有索引,MySQL 能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。

2025-04-26 11:28:45 1113 63

原创 RocketMQ面试题:进阶部分

在生产阶段,主要通过请求确认机制,来保证消息的可靠传递。 1、同步发送的时候,要注意处理响应结果和异常。如果返回响应 OK,表示消息成功发送到了 Broker,如果响应失败,或者发生其它异常,都应该重试。 2、异步发送的时候,应该在回调方法里检查,如果发送失败或者异常,都应该进行重试。 3、如果发生超时的情况,也可以通过查询日志的 API,来检查是否在 Broker 存储成功。

2025-04-26 11:28:14 738 31

原创 Maven 依赖冲突调解与版本控制

Maven将项目的依赖关系建模为有向无环图(DAG),每个节点代表一个构件(artifact),边表示依赖关系。当出现版本冲突时,Maven会优先选择距离根节点(当前项目)路径最短的版本。这个看似简单的规则背后,隐藏着深刻的图论原理。

2025-04-26 10:57:49 997 54

原创 Maven 依赖坐标与BOM统一管理

GroupId:采用逆向域名规则,体现组织或项目归属<!-- 示例:Apache Commons项目 --> < groupId > org.apache.commons </ groupId >-- 示例:Apache Commons项目 --> < groupId > org.apache.commons </ groupId ></-- 示例:Apache Commons项目 --> < groupId > org.apache.commons </ groupId >ArtifactId。

2025-04-23 12:15:47 2056 89

原创 MySQL 入门大全:常用函数

MySQL 函数也是我们日常开发过程中经常使用的,选用合适的函数能够提高我们的开发效率,下面我们就来一起认识一下这些函数。字符串函数字符串函数是最常用的一种函数了,MySQL 也是支持很多种字符串函数,下面是 MySQL 支持的字符串函数表函数 功能LOWER 将字符串所有字符变为小写UPPER 将字符串所有字符变为大写CONCAT 进行字符串拼接LEFT 返回字符串最左边的字符RIGHT 返回字符串最右边的字符INSERT 字符串替换LTRIM 去掉字符串左边的空格

2025-04-23 11:28:39 1087 40

原创 深入理解 java synchronized 关键字

synchronized 这个关键字的重要性不言而喻,几乎可以说是并发、多线程必须会问到的关键字了。synchronized 会涉及到锁、升级降级操作、锁的撤销、对象头等。所以理解 synchronized 非常重要,本篇文章就带你从 synchronized 的基本用法、再到 synchronized 的深入理解,对象头等,为你揭开 synchronized 的面纱。

2025-04-23 11:28:08 921 22

原创 Maven插件管理的基本原理

在Java生态系统中,构建工具的发展史堪称一部技术进化论的缩影。从最初的手动编译到Ant的脚本化构建,再到Maven的约定优于配置(Convention Over Configuration)革命,每一次迭代都带来了开发效率的质的飞跃。Maven作为Apache基金会的重要项目,自2004年发布以来,通过其独特的项目对象模型(POM)和依赖管理系统,彻底改变了Java项目的构建方式。在持续交付和DevOps盛行的今天,一个高效可靠的构建系统已成为企业级开发的基石。Maven插件体系作为其核心机制

2025-04-21 16:10:50 1169 34

原创 Java创建的对象到究竟在哪?新生代还是老年代?

Java 创建的对象到底放在哪?新生代还是老年代?本篇内容我们主要介绍了 Java 创建的对象到底放在哪?新生代还是老年代?,包括对象优先在 Eden 分配、大对象直接进入老年代、长期存活的对象将进入老年代、动态年龄判断、空间分配担保等内容。Java 的对象是在堆中创建的,但堆又分为新生代和老年代,新生代又细分为 Eden、From Survivor、To Survivor。那我们创建的对象到底在哪里?

2025-04-21 11:28:35 720 28

原创 微服务面试题:服务容灾

在微服务中,假如一个或者多个服务出现故障,如果这时候,依赖的服务还在不断发起请求,或者重试,那么这些请求的压力会不断在下游堆积,导致下游服务的负载急剧增加。不断累计之下,可能会导致故障的进一步加剧,可能会导致级联式的失败,甚至导致整个系统崩溃,这就叫服务雪崩。服务高可用部署:确保各个服务都具备高可用性,通过冗余部署、故障转移等方式来减少单点故障的影响。限流和熔断:对服务之间的请求进行限流和熔断,以防止过多的请求涌入导致后端服务不可用。

2025-04-21 11:28:04 777 29

原创 基于maven-jar-plugin打造一款自动识别主类的maven打包插件

在Java项目构建过程中,MANIFEST.MF文件中的Main-Class属性配置是一个关键但容易出错的环节。传统方式需要在pom.xml中显式声明主类路径,这不仅增加了维护成本,在大型多模块项目中更可能因配置遗漏导致运行时异常。Spring Boot通过@SpringBootApplication注解实现自动识别主类的机制广受好评,但在非Spring Boot项目中这种能力却难以直接复用。本文将深入探讨如何通过开发mainclass-finder-maven-plugin自定义插件,在Maven构建

2025-04-20 16:06:57 1721 63

原创 微服务面试题:注册中心

服务注册:各个服务在启动时向注册中心注册自己的网络地址、服务实例信息和其他相关元数据。这样,其他服务就可以通过注册中心获取到当前可用的服务列表。服务发现:客户端通过向注册中心查询特定服务的注册信息,获得可用的服务实例列表。这样客户端就可以根据需要选择合适的服务进行调用,实现了服务间的解耦。负载均衡:注册中心可以对同一服务的多个实例进行负载均衡,将请求分发到不同的实例上,提高整体的系统性能和可用性。

2025-04-19 11:28:36 891 21

原创 Java虚拟机面试题:垃圾收集(下)

白色(White):尚未访问的对象。垃圾回收结束后,仍然为白色的对象会被认为是不可达的对象,可以回收。灰色(Gray):已经访问到但未标记完其引用的对象。灰色对象是需要进一步处理的。黑色(Black):已经访问到并且其所有引用对象都已经标记过。黑色对象是完全处理过的,不需要再处理。三色标记法的工作流程:①、初始标记(Initial Marking):从 GC Roots 开始,标记所有直接可达的对象为灰色。②、并发标记(Concurrent Marking)

2025-04-19 11:28:06 931 23

原创 通过docker create与export来分析诊断故障镜像

在容器化技术主导现代应用部署的今天,Docker镜像的可靠性直接影响着系统的稳定性。然而,当开发者面对一个无法正常启动的"问题镜像"时,传统的调试手段往往显得捉襟见肘。日志缺失、启动即崩溃、依赖项冲突等疑难杂症,常常将运维人员置于"盲人摸象"的困境。此时,docker create与docker export的组合技便如同打开容器黑盒的万能钥匙——通过创建静默容器并导出完整文件系统,开发者可以像外科手术般精准剖析镜像内部结构,无需实际运行容器即可进行深度诊断。

2025-04-19 10:20:56 1454 39

原创 告别Feign:基于Spring 6.1 RestClient构建高可用声明式HTTP客户端

本文聚焦于如何基于Spring Framework 6.1+ 的新特性,构建一套生产级的声明式HTTP通信方案。我们将深入探讨以下核心命题:在非响应式架构下,如何通过RestClient.Builder实现媲美Feign的声明式接口?如何无缝集成Spring Cloud LoadBalancer实现智能负载均衡?如何在同步调用链路中实现安全令牌的自动透传?这些问题的答案不仅关乎代码的优雅性,更直接影响着微服务系统的性能、可维护性和扩展性。

2025-04-19 00:15:00 2202 61

原创 HTTP 核心概念

本篇文章主要介绍了 HTTP 四种标头的基本概念,但是并没有涵盖全部,毕竟 HTTP 标头内容确实太多了,以上介绍的基本都是平常工作中常用的一些概念,下一篇文章预告HTTP 的黑科技如果你在阅读文章的过程中发现错误和问题,请及时与我联系!如果文章对你有帮助,希望小伙伴们三连走起!

2025-04-18 11:28:47 1285 23

原创 归并排序:数据排序的高效之道

归并排序作为一种经典且高效的排序算法,在众多领域都有着广泛的应用。它基于“分治”这一强大的思想策略,通过将大规模的问题逐步分解为更小的子问题,然后分别解决这些子问题,最后将子问题的解合并起来得到原问题的解。这种思想不仅在排序算法中大放异彩,在许多其他复杂的算法设计场景中也被频繁借鉴。想象一下,在一个大型电商平台的订单处理系统中,每天都有海量的订单数据需要按照订单时间、金额或者客户优先级等进行排序。归并排序能够快速而稳定地对这些数据进行整理,使得商家可以清晰地了解订单的顺序,从而更好地安排发货、库存管理等

2025-04-18 11:28:15 1037 23

原创 Spring 中的验证、数据绑定和类型转换

首先,将验证约束应用于域对象属性。使用maven 配置需要引入对应的依赖</</</</</</</</之后定义了一些实体类,使用包中的注释进行标注@NotNull@NotNull对于 firstName ,定义了两个约束,第一个约束由@NotNull进行控制,它表示该值不能为空。此外,@Size注解控制着 firstName 的长度在 2 - 60 之间。@NotNull 还用于 genre 属性。下面是Genre和Gender的枚举类POP("P"),JAZZ("J"),

2025-04-17 11:28:35 702 27

原创 全解:Redis RDB持久化和AOF持久化

持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。应用层:如果关闭(shutdown)你的应用然后重新启动则先前的数据依然存在。系统层:如果关闭(shutdown)你的系统(电脑)然后重新启动则先前的数据依然存在。

2025-04-17 11:28:04 697 40

原创 Java 中的各种锁详解

自旋锁的定义:当一个线程尝试去获取某一把锁的时候,如果这个锁此时已经被别人获取(占用),那么此线程就无法获取到这把锁,该线程将会等待,间隔一段时间后会再次尝试获取。这种采用循环加锁 -> 等待的机制被称为自旋锁(spinlock)。ReentrantLock 是一把可重入锁,也是一把互斥锁,它具有与相同的方法和监视器锁的语义,但是它比 synchronized 有更多可扩展的功能。ReentrantLock 的可重入性是指它可以由上次成功锁定但还未解锁的线程拥有。当只有一个线程尝试加锁时,该线程调用。

2025-04-16 11:28:44 1218 22

原创 Java并发编程面试题:锁(17题)

锁升级是 Java 虚拟机中的一个优化机制,用于提高多线程环境下 synchronized 的并发性能。锁升级涉及从较轻的锁状态(如无锁或偏向锁)逐步升级到较重的锁状态(如轻量级锁和重量级锁),以适应不同程度的竞争情况。Java 对象头里的Mark Word会记录锁的状态,一共有四种状态:①、无锁状态,在这个状态下,没有线程试图获取锁。②、偏向锁,当第一个线程访问同步块时,锁会进入偏向模式。Mark Word 会被设置为偏向模式,并且存储了获取它的线程 ID。

2025-04-16 11:28:12 1158 28

原创 Webflux声明式http客户端:Spring6原生HttpExchange实现,彻底摒弃feign

pring Cloud团队为响应式编程提供了完整的解决方案——从@HttpExchange声明式客户端到ReactorLoadBalancer负载均衡器,从WebClient的非阻塞HTTP客户端到Reactor Context的上下文传播机制,每一层设计都体现了对开发者体验的深度洞察。但在实际落地中,许多开发者容易陷入以下误区:混淆过滤器执行顺序导致重复路由、错误处理URI格式触发二次负载均衡、忽视响应式编程中的上下文连续性要求,最终引发难以调试的异常。

2025-04-15 16:53:56 1845 71

原创 Java虚拟机面试题:类加载机制

双亲委派模型要求类加载器在加载类时,先委托父加载器尝试加载,只有父加载器无法加载时,子加载器才会加载。当一个类加载器需要加载某个类时,它首先会请求其父类加载器加载这个类。这个过程会一直向上递归,也就是说,从子加载器到父加载器,再到更上层的加载器,一直到最顶层的启动类加载器(Bootstrap ClassLoader)。启动类加载器会尝试加载这个类。如果它能够加载这个类,就直接返回;如果它不能加载这个类(因为这个类不在它的搜索范围内),就会将加载任务返回给委托它的子加载器。

2025-04-15 11:28:32 808 34

原创 Java字节码指令详解

这节我们详细地介绍了 Java 字节码指令,包括算术指令、类型转换指令、对象的创建和访问指令、方法调用和返回指令、操作数栈管理指令、控制转移指令、异常处理时的字节码指令、synchronized 的字节码指令等。Java 的字节码指令由操作码和操作数组成: 操作码(Opcode):一个字节长度(0-255,意味着指令集的操作码总数不可能超过 256 条),代表着某种特定的操作含义。 操作数(Operands):零个或者多个,紧跟在操作码之后,代表此操作需要的参数。

2025-04-15 11:28:01 1383 20

原创 WebFlux应用中获取x-www-form-urlencoded数据的六种方法

与传统的Servlet API不同,WebFlux基于Reactive Streams规范构建,采用非阻塞I/O模型,其数据处理方式与Spring MVC存在本质差异。在同步编程中,开发者可以轻松通过HttpServletRequest直接获取参数,但在响应式环境中,所有操作都必须遵循异步流式处理原则。这种范式转换导致许多开发者在使用WebFlux处理表单数据时,常常陷入获取参数值为空的困境,或是面对Mono、Flux等响应式类型不知所措。

2025-04-14 18:23:43 1475 64

原创 Java并发编程面试题:内存模型(6题)

在执行程序时,为了提高性能,编译器和处理器常常会对指令做重排序。重排序分 3 种类型。编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。指令级并行的重排序。现代处理器采用了指令级并行技术(Instruction-Level Parallelism,ILP)来将多条指令重叠执行。如果不存在数据依赖性,处理器可以改变语句对应 机器指令的执行顺序。内存系统的重排序。由于处理器使用缓存和读/写缓冲区,这使得加载和存储操作看上去可能是在乱序执行。

2025-04-14 11:28:10 1113 27

原创 分布式日志治理:Log4j2自定义Appender写日志到RocketMQ

在云原生与微服务架构大行其道的今天,日志管理已从简单的本地文件存储演化为支撑系统可观测性的核心支柱。传统日志处理方式在面对日均TB级的日志量、跨地域服务调用链追踪、实时异常检测等场景时,往往陷入存储碎片化、检索效率低下、处理延迟高的困境。尤其在金融交易、物联网、在线教育等高并发领域,日志数据不仅是问题排查的"黑匣子",更是业务洞察的"数据金矿",亟需一种能够兼顾实时性、可靠性和可扩展性的新型日志处理方案。

2025-04-13 18:47:48 1736 55

原创 Linux面试题

Linux 常用命令我自己常用的 Linux 命令有 top 查看系统资源、ps 查看进程、netstat 查看网络连接、ping 测试网络连通性、find 查找文件、chmod 修改文件权限、kill 终止进程、df 查看磁盘空间、free 查看内存使用、service 启动服务、mkdir 创建目录、rm 删除文件、rmdir 删除目录、cp 复制文件、mv 移动文件、zip 压缩文件、unzip 解压文件等等这些。

2025-04-12 11:28:40 782 43

原创 微服务面试题:服务网关和链路追踪

API 网关(API Gateway)是一种中间层服务器,用于集中管理、保护和路由对后端服务的访问。它充当了客户端与后端服务之间的入口点,提供了一组统一的接口来管理和控制 API 的访问。路由转发:API 网关根据请求的 URL 路径或其他标识,将请求路由到相应的后端服务。通过配置路由规则,可以灵活地将请求分发给不同的后端服务。负载均衡:API 网关可以在后端服务之间实现负载均衡,将请求平均分发到多个实例上,提高系统的吞吐量和可扩展性。安全认证与授权。

2025-04-12 11:28:09 1014 26

原创 PostgreSQL:逻辑复制与物理复制

PostgreSQL的复制体系就像生物进化的活化石,记录着数据同步技术从简单镜像到智能分发的演化轨迹。在物理复制的确定性世界与逻辑复制的概率宇宙之间,我们看到了数据库技术应对不同场景的智慧平衡。随着PostgreSQL 16引入的逻辑复制并行应用(max_logical_replication_workers)和双向逻辑复制实验特性,这场复制革命正开启新的篇章。掌握这些技术,就如同获得在数据洪流中冲浪的智慧桨板,助您在数字时代的浪潮中破浪前行。

2025-04-12 09:52:50 1466 53

原创 计算机网络基础知识

计算机网络就是由若干节点和链接这些节点的链路组成的网络,网络中的节点可以是计算机、交换器、集线器或者路由器等能够进行网络通信的终端设备,链路是一个节点到另外一个节点所走过的物理路线。计算机网络中的节点和各节点的链路可以形成各种不同范围的网络,通过网络覆盖范围的大小,可以分为局域网、城域网和广域网。局域网:一般指的是范围在几百到几公里办公楼或者校园内计算机相互连接成的计算机网络,一般用在狭小区域内的网络,一个社区、一栋楼、办公室经常使用局域网。城域网:一个城市中的计算机所相互连接形成的计算机网络。

2025-04-11 11:28:48 1477 23

Fortran 详细的中文教程

欢迎来到 Fortran 语言中文教程!本教程致力于为初学者和进阶者提供全面、系统且易于理解的 Fortran 编程学习资源。无论你是计算机科学专业的学生、科研工作者,还是对高性能计算感兴趣的开发者,本教程都将是你掌握 Fortran 语言的理想选择。 本教程主要的内容大纲如下: Fortran 基础 一. 编译器 二. Hello World 三. 标准输入和输出 (io) 四. 基本数据类型 浮点数精度 五. 运算符 六. 数组和字符串 数组 字符串 字符串数组 七. 流程控制 逻辑运算 条件语句 循环语句 序数循环 条件循环 循环控制 八. 函数与代码结构 子例程和函数 代码结构 九. 面向对象 -- 类或结构体 十. 格式 十一. 文件读写 十二. 指针 十三. 并行计算 MPI Coarray 十四. 内置函数 数值 数学 数组 十五. Makefile管理项目

2024-09-13

一个涵盖诸多数据库类型(含SQL)的综合性教程

本教程是一个涵盖诸多数据库类型的综合性教程: 1. 关系型数据库综合: 关系型数据库面试总结 SQL 语法基础特性 SQL 语法高级特性 扩展 SQL SQL Cheat Sheet 2. 分布式关键技术 流量调度 流量控制 负载均衡 服务路由 分布式会话基本原理 数据调度 缓存基本原理 读写分离基本原理 分库分表基本原理 分布式 ID 基本原理 分布式事务基本原理 分布式锁基本原理 3. 文档数据库 MongoDB MongoDB 是一个基于文档的分布式数据库,由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品。它是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。 MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2024-09-12

ECMAScript 6 入门教程-全面介绍 ECMAScript 6 新引入的语法特性

本教程大纲: 0. 前言 1. ECMAScript 6简介 2. let 和 const 命令 3. 变量的解构赋值 4. 字符串的扩展 5. 正则的扩展 6. 数值的扩展 7. 函数的扩展 8. 数组的扩展 9. 对象的扩展 10. Symbol 11. Set 和 Map 数据结构 12. Proxy 13. Reflect 14. Promise 对象 15. Iterator 和 for...of 循环 16. Generator 函数的语法 17. Generator 函数的异步应用 18. async 函数 19. Class 的基本语法 20. Class 的继承 21. Decorator 22. Module 的语法 23. Module 的加载实现 24. 编程风格 25. 读懂规格 26. ArrayBuffer 27. 最新提案 28. 参考链接 ECMAScript 和 JavaScript 的关系 一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? 要讲清楚这个问题,需要回顾历史。1996 年 11 月

2024-09-12

安卓所有动画详尽教程集合

Android 动画在开发中是不可或缺的功能,或者说是界面灵动的添加剂。那你是否总结过 Android 中总共为开发者提供了多少种方式的动画呢?今天就为大家总结归纳一下。 Android 动画可以归纳为以下几种: 视图动画(View 动画) 帧动画(Frame 动画、Drawable 动画) 属性动画 触摸反馈动画(Ripple Effect) 揭露动画(Reveal Effect) 转场动画 & 共享元素(Activity 切换动画) 视图状态动画(Animate View State Changes) 矢量图动画(Vector 动画) 约束布局实现的关键帧动画(ConstraintSet 动画)

2024-09-11

鸿蒙原生应用-源码+教程

一款针对前端程序员的刷题应用,提供前端常见问题、项目业务面试题、面试经验等内容服务。 HarmonyOS 是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。带来简洁,流畅,连续,安全可靠的全场景交互体验。 时间 事件 2019 HarmonyOS 1.0,华为在东莞举行华为开发者大会,正式发布操作系统鸿蒙 OS,主要用于物联网 2020 HarmonyOS 2.0,基于开源项目 OpenHarmony 开发的面向多种全场景智能设备的商用版本 2021 HarmonyOS 3.0,先后优化游戏流畅度、地图三维体验、系统安全,另外系统的稳定性也得到了增强 2023.2 HarmonyOS 3.1,系统纯净能力进一步提升,对后台弹窗、 隐藏应用、后台跳转等情况 2023.7 华为 Mate 50 系列手机获推 HarmonyOS 4.0 2024 HarmonyOS Next 即将发布,将不在兼容安卓应用

2024-09-11

能让你成为一个优秀的 Java 全栈程序员的系统化系列教程

Java 基础系列: Java 基础核心总结 Java 代理 Java 反射 Java 集合 String、StringBuffer 和 StringBuilder Java 中的语法糖 深入理解 static 关键字 深入理解 Java 变量 深入理解 final、finally、finalize 浅拷贝和深拷贝 关于四种引用类型 Java 开发最容易忽视的 10 个 Bug Java 浅拷贝和深拷贝 Java 创建对象的五种方式 Exception 和 Error 的区别 for 、foreach 、iterator 三种遍历方式的比较 理解静态绑定与动态绑定 @SuppressWarnings 用法 Arrays.asList 解析 Comparable 和 Comparator的理解 并发系列: JSR-133 都解决了哪些问题 简单认识并发 看完你就明白的锁系列之锁的状态 看完你就明白的锁系列之乐观锁和悲观锁 看完你就明白的锁系列之自旋锁 锁系列汇总 并发编程超强入门汇总 JVM 系列 Linux 系列

2024-09-10

一个走心的 Java Web 入门开发教程

国内的大部分资料对于 Java Web,JavaEE,J2EE 以及 Spring 和 SpringMVC 等概念的使用,是完全混乱的。这对于新手来说可以说是非常不友好,容易让新手迷失在诸多概念当中不知从何处入手。下面笔者会试着用人话介绍一下 Java Web 开发当中的一些名词和概念,力争清楚明白。 JavaEE J2EE, JavaEE 以及 JEE 现在可以认为指的都是同一个东西,只不过由于历史原因出现了若干名称。为了大家理解方便,我们统一用拼写和理解比较方便的 JavaEE 这个名称。 JavaEE 全称 Java Platform, Enterprise Edition,它是对 JavaSE(Java Platform, Standard Edition) 的扩展,加入了面向企业开发(实际上就是网络和 Web 有关开发)的支持,包括 Servlet,WebSocket,EL,EJB 等。简单理解,JavaEE 就是 JavaSE + 更多的 jar 包,这些 jar 包命名以 javax 开头,例如 javax.servlet, javax.websocket 等。

2024-09-10

少儿 Scratch 趣味编程教学实践

思:这里是我关于教学的思考 酷: 这里是课件 趣:这里是孩子们的设计作品 在课前,我写了《我期待孩子们从 Scratch 课程里收获些什么》 的文章,准备了一份详尽到分钟的课件。虽然也有心理准备,觉得孩子们可能会吵闹无法顺利完成,但无论如何分成两堂课来教,这节课 motion 相关的内容总能教完吧。 哪晓得,剧本完全不按我设计的上演。 意外一:这是第一次课,小朋友们对教室都还不熟悉,是陆陆续续到教室的。先来的直接打开电脑玩起来,把我准备好的 playground 项目改得面目全非。找不到教室的孩子足足迟到了半节课,需要单独指导。 意外二:有些孩子对电脑操作不熟悉,偶尔电脑还来出个意外冒个蓝屏弹出个xx软件强制升级的提示框,孩子们就各种搞不定需要帮助。 意外三:有的孩子以前已经接触过 Scratch 编程,不屑于最基础的操作,开始玩起高阶玩法。别的孩子看着眼红,纷纷提问高阶的是怎么玩的。 意外四,果然还是有特别不听话的孩子,一开电脑就自己上网下载游戏玩,批评了两次都不管用。 意外五,我高估孩子们的英语了,即便是二年级的同学,面对全英文的软件也无可奈何,我的让两年级孩子教一年级孩子的计

2024-09-09

北京航天航空大学计算机研究生复试上机题目(06年-14年)

北京航天航空大学计算机研究生复试上机题目(06年-14年),题目来自网络,代码自己写。 总体来水上机题目整体不难,主要涉及的问题有: C语言基础语法和标准库使用 数值排序 字符处理 有些题目我为了输入简单,使用freopen函数从文件读取测试例子。 Debug 环境: Win7 + VC6.0 (标准C语言) 复试上机指导 1. 本真题只是提供辅助作用,关键还是研友平时动手能力练习和对算法、数据结构的理解,参加过ACM的有一定优势 没参加过的也不用紧张,北航的上机题相对于清华和北大,难度上小很多,多练习的话,问题不大; 2. 上机时,可以快速阅读所有的题目,按照从易到难的次序做题,保证会的一定得分; 3. 熟悉编程环境,熟悉c的常用函数; 4. 为了快速测试代码的正确性,尤其是矩阵输入的情况,可以利用标准输入重定向,freopen(“c:\\input.txt”,”r”,stdin);加快测试过程;

2024-09-09

Delphi最新教程.ppt

Delphi是著名的Borland公司开发的可视化软件开发环境,自1995年问世以来,带来了程序设计中的一场重大变化。Delphi作为第四代编程语言,具有简单、高效和功能强大等特点,这些特点使得它为广大程序开发者所青睐。 Delphi作为一种可视化的编程环境,经历了7代产品的发展历程: ◆ Borland公司在1995年推出了基于Windows平台的Delphi 1。 ◆ Delphi 2新增加的主要功能是对32位编程的支持。还增加了如数据模块等多种高效的数据重用功能。 Delphi 3对其组件库进行增强 ,完全支持ActiveX组件及其创建 。 ◆Delphi 4提供了Object Pascal语言的扩展 ,但系统稳定性较差 。 ◆1999年推出Delphi 5增强了数据库的功能 ◆2001年6月推出Delphi 6 ,增加了大量的新组件,使组件数目达350多个,以满足网络开发的需要。 ◆2002年8月推出 Delphi 7 ,在集成开发环境IDE、Web、数据库、编译器、模型生成支持及组件库等很多方面进行了改进

2024-09-08

Swift 基础入门教程

Swift 教程主要涵盖如下部分: 基础部分 基本运算符 字符串和字符 集合类型 控制流 函数 闭包 枚举 类和结构体 属性 方法 下标 继承 构造过程 析构过程 可选链 错误处理 并发 类型转换 嵌套类型 扩展 协议 泛型 不透明类型 自动引用计数 内存安全 访问控制 高级运算符 ------------------ Swift 是一门开发 iOS, macOS, watchOS 和 tvOS 应用的新语言。然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的。 Swift 包含了 C 和 Objective-C 上所有基础数据类型,Int 表示整型值; Double 和 Float 表示浮点型值; Bool 是布尔型值;String 是文本型数据。 Swift 还提供了三个基本的集合类型,Array、Set 和 Dictionary ,详见 集合类型。 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值。在 Swift 中,广泛的使用着值不可变的变量,它们就是常量,而且比 C 语言的常量更强大。在。。

2024-09-08

Ruby元编程初学教程

元编程的定义看似是明确的,但却又模棱两可。维基百科上对元编程的定义如下:   元编程是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作。多数情况下,与手工编写全部代码相比,程序员可以获得更高的工作效率, 或者给与程序更大的灵活度去处理新的情形而无需重新编译。   而我也在网上找到了Free Mind对元编程的简介:   回到元编程,程序处理程序可以分为“处理其他程序”和“处理自己”,对于前者,有我们熟悉的lex和yacc作为例子。而对于后者,如果再细分,可以分为“宏扩展”、“源代码生成”以及“运行时动态修改”等几种。   宏扩展从最简单的C语言的宏到复杂的Lisp的宏系统,甚至C++的“模板元编程”也可以包含在这一类里面,我在这里对它们进行了一些介绍。   源代码生成则主要是利用编程语言的eval功能,对生成出来的源代码(除了在Lisp这样的语言里面以外,通常是以字符串的方式)进行求值。有一类有趣的程序quine,它们运行的结果就是把自己的源代码原封不动地打印出来,通常要证明你精通某一门语言,为它

2024-09-07

Rust语言圣经涵盖从入门到精通所需的 Rust 知识

Rust语言圣经涵盖从入门到精通所需的 Rust 知识,目录及内容都经过深思熟虑的设计,同时语言生动幽默,行文流畅自如,摆脱技术书籍常有的机器味和晦涩感。 深入度,在基础教学的同时,提供了深入剖析。浅尝辄止并不能让我们站上紫禁之巅 专题内容,将 Rust 高级内容通过专题的形式一一呈现,内容内聚性极强,例如性能优化、手把手实现链表、Cargo 和 Tokio 使用指南、async 异步编程、标准库解析、WASM 等等 内容索引,作为一本工具书,优秀的索引能力非常重要,遗忘不可怕,找不到才可怕 规避陷阱和对抗编译器,只有真的上手写过一长段时间 Rust 项目,才知道该如何规避常见的陷阱以及解决一些难搞的编译器错误,而本书将帮助你大大缩短这个过程,提前规避这些问题

2024-09-07

语音信号处理实验教程(MATLAB源代码)-含所做笔记

语音信号处理实验教程(MATLAB源代码)-含所做笔记 第01章 MATLAB基础教程 第02章 语音信号处理基础 第03章 语音信号分析 第04章 语音信号特征提取 第05章 语音降噪 第06章 语音编码 第07章 语音合成 第08章 语音隐藏 第09章 声源定位 第10章 语音识别 第11章 说话人识别 第12章 情感识别 按照元素个数和排列方式分类 没有元素的空数组 只有一个元素的标量,实际上是一行一列的数组 只有一行或者一列的向量,分别叫做行向量或者列向量,统称为一维数组 普通的二维数组 多维数组 size()函数 如果按照只有一个返回值的形式调用,如sz=size(A),将会返回一个n维向量,其中每一个数表示A的每一维的大小 如果按照只有多个返回值的形式调用,如[row,col]=size(A),每一个数表示A的每一维的大小。为避免出错,给的个数应当和A的维数相同。 length()函数 length()返回数组的最大维值。

2024-09-06

LeetCode和剑指offer中的算法题的题目和解法 和 常见算法汇总

1. Math Implementation Questions(数学实现题) 1.1 Fibonacci Implementation(斐波那契数列实现) 1.2 Binary Search(二分查找) 1.3 Is Prime(是否是质数) 1.4 Is Ugly Number(是否是丑数) 1.5 Is Power Of Two(是否是2的幂) 1.6 Is Power Of Three(是否是3的幂) 1.7 Count Primes(质数的个数) 2. Algorithm Implementation Questions (算法实现题) 3. Linked List Questions(链表相关问题) 4. Array Questions(数组相关问题) 5. Binary Tree Questions(二叉树相关问题) 5.1 Maximum Depth of Binary Tree(二叉树的深度) 5.2 Invert Binary Tree(反转二叉树) 5.3... 5.4... 5.5... 6. String Questions(字符串相关问题)

2024-09-06

GoLang-从入门到实战-经典教程

第1章 介绍和安装 1 - 介绍和安装 2 - Hello World 第2章 变量、类型和常量 第3章 函数和包 第4章 条件和循环语句 第5章 数组、切片和变参函数 第6章 更多的类型 第7章 指针、结构体和方法 第8章 接口 第9章 并发 第10章 面向对象编程 第11章 延迟和错误处理 --------实战------ Golang并发模型:轻松入门流水线模型 Golang并发模型:轻松入门流水线FAN模式 Golang并发模型:合理退出并发协程 Golang并发模型:轻松入门select Golang并发模型:select进阶 Golang并发模型:轻松入门协程池 Golang并发模型:一招掌握无阻塞通道读写 Golang并发的次优选择:sync包 Golang并发:再也不愁选channel还是选锁 总结了才知道,原来channel有这么多用法! 深入理解channel:设计+源码 Go高级实践:反射3定律 Go调度器系列(1)起源 Go调度器系列(2)宏观看调度器 Go调度器系列(3)图解调度原理 Go调度器系列(4)源码阅读与探索 实战Go内存泄露

2024-09-05

Kotlin-从零到一教程-入门教程

本教程是Kotlin语言从零到一详细整理教程: Kotlin语言基础 package 声明变量和值 变量类型推断 字符串与其模板表达式 流程控制语句 代码注释、语法与标识符 修饰符 函数扩展和属性扩展 空指针安全 Kotlin入门和使用 面向对象 Kotlin 的类特性_上 Kotlin 的类特性_下 面向对象 继承 Kotlin如何优雅的实现多继承 类成员的可见性 接口和抽象类 属性代理 对象表达式和对象声明 伴生对象和静态成员 单例 object单例 密封类 data class 为什么不直接使用 Array_Int_ 而是 IntArray? Kotlin 遇到 MyBatis:到底是 Int 的错,还是 data class 的错? 函数式编程 一篇文章彻底搞懂 Kotlin 函数 函数 inline函数 闭包 函数与闭包 细说 Lambda 表达式 高阶函数_1 高阶函数_2 像写文章一样使用 Kotlin 函数复合 函数式编程概述 在Kotlin中使用函数式编程 集合框架 Iterator 集合框架 集合类是什么 Kotlin 集合类简介 List List元素操作函数

2024-09-05

中国大学MOOC上浙大的《数据结构》编程作业和上课内容整理

struct HeapStruct{ // 存放哈夫曼树的堆 HuffmanTree *data; // 存值的数组 int size; // 堆的当前大小 int capacity; // 最大容量 }; struct TreeNode{ // 哈夫曼树 int weight; //权值 HuffmanTree Left; // 左子树 HuffmanTree right; // 右子树 }; struct TreeNode{ int Data; // 存值 BinTree Left; // 左儿子结点 BinTree Right; // 右儿子结点 }; BinTree CreatBinTree(); // 创建一个二叉树 bool IsEmpty(BinTree BT); // 判断树 BT 是否为空 void PreOrderTraversal(BinTree BT); // 先序遍历,根左右 void InOrderTraversal(BinTree BT); // 中序遍历,左根右

2024-09-04

Screw数据库文档生成,DataWay接口自动配置,JApiDocs接口文档生成,Swagger在线接口文档生成

1. 我们可以通过SCREM两种方式生成文档 一种是通过在pom文件里面进行一系列配置就可以实现 还有一种是编写一个方法,通过代码生成 SCREM支持多种数据库,如mysql,sqlserver,oracle,MariaDB等 SCREM支持word,md,html三种格式的文档生成 SCREM可以自定义配置生成和不生成数据库文档的表 2. 集成Dataway接口配置工具 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具,使得使用者无需开发任何代码就配置一个满足需求的接口。整个接口配置、测试、冒烟、发布,一站式都通过 Dataway 提供的 UI 界面完成。UI 会以 Jar 包方式提供并集成到应用中并和应用共享同一个 http 端口,应用无需单独为 Dataway 开辟新的管理端口。 Dataway 是 Hasor 生态中的一员,因此在 Spring 中使用 Dataway 首先要做的就是打通两个生态。根据官方文档中推荐的方式我们将 Hasor 和 Spring Boot 整合起来。这里是原文: 3. 集成JApiDocs生成接口文档

2024-09-04

人工智能-神经网络-循环神经网络

循环神经网络通过使用带自反馈的神经元,能够处理任意长度的时序数据。 循环神经网络比前馈神经网络更加符合生物神经网络的结构。 循环神经网络已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上 图灵完备(Turing Completeness)是指一种数据操作规则,比如一种计算机编程语言,可以实现图灵机的所有功能,解决所有的可计算问题。 一个完全连接的循环神经网络可以近似解决所有的可计算问题。 循环神经网络在时间维度上非常深! 梯度消失或梯度爆炸 如何改进? 梯度爆炸问题 权重衰减 梯度截断 梯度消失问题 改进模型 在实际应用中,很多数据是图结构的,比如知识图谱、社交网络、分子网络等。而前馈网络和循环网络很难处理图结构的数据。

2024-09-03

软件工程常用文档模板及示例收集整理

软件工程常用文档模板及示例:项目计划、需求分析、概要设计、详细设计、用户操作手册、测试计划、测试分析报告、开发进度报告、项目开发总结报告、软件维护手册等。 01 计划阶段 00 可行性分析 01 项目信息表 02 项目实施方案-PPT版 03 项目实施方案-Word版 04 项目实施进度计划 05 项目实施进度简表 02 需求阶段 需求规格说明书 03 设计阶段 功能设计说明书 数据库设计说明书 04 开发阶段 系统提测申请单 05 测试阶段 01 测试用例 02 测试报告 03 测试计划 06 验收阶段 01 系统竣工报告 02 安装维护手册 03 培训文档 04 使用手册 999 其他文档 工时统计表 会议纪要 项目进度简报 项目进度确认单 项目月报 项目周报

2024-09-03

一些简单的51单片机示例程序

单片机C语言程序设计实训100例 >> ---基于8051+Proteus仿真 1.所有案例硬件仿真时需要Proteus7.1或以上版本. 2.C程序开发集成环境Keil uVision要求3.0或以上版本. 所有案例C源代码由配套书籍提供,压缩包中不提供C源代码, 仅提供由C程序编译生成的HEX文件. 3.如果有相关技术资料在压缩包中未找到, 读者可从www.icpdf.com免费下载. (下载之前需要先注册) 相关案例需要的软件:超级编辑器UltraEdit, 虚拟串口驱动vspd,串口助手, 字模软件Zimo,文件拆分软件FileSplit, 联合调试程序vdmagdi.exe等,请读者自行下载. 4.案例压缩包文件建议放在D盘或E盘根下解压, 放在桌面或其他位置解压时, 可能会因目录路径过长而使Proteus文件无法打开. 如果某些案例在Proteus7.1或以上版本中无法运行, 可将电路中某些元件的中文名称改为英文名称.

2024-09-01

面试高频算法题总结-剑指Offer题解

面试高频算法题总结-剑指Offer题解,主要包含: 数据结构 数组 字符串 链表 栈和队列 二叉树 图 堆 线段树 字典树 单调栈 算法 二分查找 排序 递归 动态规划 分治 记忆化搜索 贪心 回溯 位运算 数学 设计 其他 共66题 面试题3:数组中重复的数字 面试题4:二维数组的查找 面试题5:替换空格 面试题6:从尾到头打印链表 面试题7:重建二叉树 面试题8:二叉树的下一个节点 面试题9:用两个栈实现队列 面试题10:裴波那契数列 面试题11:旋转数组的最小数字 面试题12:矩阵中的路径 面试题13:机器人的运动范围 面试题14:剪绳子 面试题15:二进制中1的个数 面试题16:数值的整数次方 面试题17:打印从1到最大的n位数 面试题18:删除链表的节点 面试题19:正则表达式匹配 面试题20:表示数值的字符串 面试题21:调整数组顺序使奇数位于偶数前面 面试题22:链表中倒数第k个节点 面试题23:链表中环的入口节点 面试题24:反转链表 面试题25:合并两个排序的链表 面试题26:树的子结构 面试题27:二叉树的镜像 面试题28:对称的二叉树 面试题29:顺时针打印矩阵

2024-09-01

高质量的 Git 中文教程

本篇完全面向入门者。假设你从零开始创建一个项目并且想用 Git 来进行版本控制,我们会讨论如何在你的个人项目中使用 Git,比如如何初始化你的项目,如何管理新的或者已有的文件,如何在远端仓库中储存你的代码。 到目前为止,Git 是世界上使用最为广泛的现代化版本控制系统。Git 最初由 Linux 系统内核的作者 Linus Torvalds 在 2005 年开始开发,目前已经是一个持续维护的成熟开源项目。如今,大量软件项目依赖 Git 进行版本管理,其中既有开源软件,也有商业软件。Git 在很多操作系统和集成开发环境(IDE)上都表现良好。绝大多数软件开发者或多或少都使用过 Git。 Git 是分布式版本管理(DVCS)的一种。CVS 和 Subversion(SVN)等集中式的版本管理软件将完整的版本历史存放在同一个地方。而在 Git 中,每个开发者的代码仓库都包含了所有变更历史。 性能 Git 的底层性能相较于其他版本管理软件有强大的优势。提交修改、创建分支、合并分支和比较版本都针对性能进行了优化。Git 中实现的算法利用了现实中代码树的特点以及它们被修改和访问的常见模式。

2024-08-31

人工智能-深度学习-前馈神经网络

前馈神经网络(全连接神经网络、多层感知器) 各神经元分别属于不同的层,层内无连接。 相邻两层之间的神经元全部两两连接。 整个网络中无反馈,信号从输入层向输出层单向传播,可用一个有向无环图表示。 矩阵微积分(Matrix Calculus)是多元微积分的一种表达方式,即使用矩阵和向量来表示因变量每个成分关于自变量每个成分的偏导数。 前向模式和反向模式 反向模式和反向传播的计算梯度的方式相同 如果函数和参数之间有多条路径,可以将这多条路径上的导数再进行相加,得到最终的梯度。 静态计算图在构建时可以进行优化,并行能力强,但灵活性比较差低。动态计算图则不容易优化,当不同输入的网络结构不一致时,难以并行计算,但是灵活性比较高。 动态计算图是在程序运行时动态构建。两种构建方式各有优缺点。 DyNet,Chainer和PyTorch

2024-08-31

人工智能-神经网络与深度学习-概率图模型

概率图模型是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。 有向图模型(Directed Graphical model),也称为贝叶斯网络(Bayesian Network),或信念网络(Belief Network,BN)。 贝叶斯网络的局部马尔可夫性质:每个随机变量在给定父节点的情况下,条件独立于它的非后代节点. 利用局部马尔可夫性,可以对多元变量的联合概率进行简化,从而降低建模的复杂度。 高斯混合模型(Gaussian Mixture Model,GMM)是由多个高斯分布组成的模型,其密度函数为多个高斯密度函数的加权组合。 马尔可夫随机场,也称无向图模型,是一类用无向图来表示一组具有马尔可夫性质的随机变量X的联合概率分布模型。

2024-08-30

人工智能-机器学习-面向自然语言处理的深度学习基础

让机器具有人类的智能: 机器感知(计算机视觉、语音信息处理) 学习(模式识别、机器学习、强化学习) 语言(自然语言处理) 记忆(知识表示) 决策(规划、数据挖掘) 1950年 \textbf{图灵测试}:“一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答。如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算机是智能的”。 图灵测试是促使人工智能从哲学探讨到科学研究的一个重要因素,引导了人工智能的很多研究方向。因为要使得计算机能通过图灵测试,计算机必须具备理解语言、学习、记忆、推理、决策等能力。 1956年的达特茅斯(Dartmouth)会议。在这次会议上,“人工智能”被提出并作为本研究领域的名称。同时,人工智能研究的使命也得以确定。John McCarthy提出了人工智能的定义:人工智能就是要让机器的行为看起来就象是人所表现出的智能行为一样。

2024-08-30

ESXI-8.0从官方下载-到安装-到网络配置-到虚拟机创建核心参数详细实战讲解

本文的详细整理了ESXI实战性使用总结,文档内容不多,但绝对全是干货,上手快,且一定能让你玩转ESXI,成为一名云原生大牛,不需要花更大的精力各种找资料,视频学习! 文档详细整理了以下内容: 1. ESXI的官方正确下载流程 2. ESXI的正确安装 3. ESXI的网络讲解,包括VLAN的设计 4. 虚拟机创建,CPU关键参数讲解 5. 虚拟机创建,内存关键参数讲解 6. 虚拟机创建,硬盘关键参数讲解 文档概要内容预览: 虚拟机内存 可以超过esxi宿主机内存的,比如宿主机只有64G内存,也可以创建一个128G内存的虚拟机。 分配内存第一时间分配的是esxi宿主机的硬盘空间,而非真实内存。比如一台128G内存的虚拟机,esxi就会为它生成一个等量大小的硬盘交换文件。

2024-08-29

银行系统专用-分布式微服务-大型平台级-真实生产环境部署实战文档

本文的共46页,详细整理了某银行系统里面,真实的微服务基础环境,各类中间件的集群安装部署及其核心的性能调优配置。对于初次接触微服务的中小公司起到绝好的参照。 本文的涵盖如下中间件的集群部署: 1. Redis集群部署 2. ELK集群部署,包含elasticsearch集群等部署 3. GreenPlum集群部署 4. Mysql-MHA集群部署 5. Nacos集群 6. Kafka集群 7. RocketMQ集群 8. Zabbix部署 9. Prometheus安装 10. Nginx +Keepalived高可用 说明:全文涉及到yum安装的大部分需要联网,由于单独下载其安装包进行安装,会涉及到很多依赖包,安装较麻烦,yum安装会自动解决依赖关系,将依赖包安装。本次安装环境是centos7,对于所有虚机自行安装JDK。

2024-08-29

Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本

学习 Linux 的第一步:当然是从 Linux 命令 入手: 查看 Linux 命令帮助信息 - 关键词:help, whatis, info, which, whereis, man Linux 文件目录管理 - 关键词:cd, ls, pwd, mkdir, rmdir, tree, touch, ln, rename, stat, file, chmod, chown, locate, find, cp, mv, rm Linux 文件内容查看命令 - 关键词:cat, head, tail, more, less, sed, vi, grep Linux 文件压缩和解压 - 关键词:tar, gzip, zip, unzip Linux 用户管理 - 关键词:groupadd, groupdel, groupmod, useradd, userdel, passwd, su, sudo Linux 系统管理 - 关键词:reboot, exit, shutdown, date, mount, umount, ps, kill, systemctl, service

2024-08-28

Python 算法与数据结构基础源码教程,一看必会

数据结构和算法是每个程序员需要掌握的基础知识之一,也是面试中跨不过的槛。目前关于 Python 算法和数据结构的系统中文资料比较欠缺, 笔者尝试录制视频教程帮助 Python 开发者掌握常用算法和数据结构,提升开发技能。 本教程是付费教程(文字内容和代码免费),因为笔者录制的过程中除了购买软件、手写板等硬件之外,业余需要花费很多时间和精力来录制视频、查资料、编写课件和代码,养家糊口不容易,希望大家体谅。 痛点 讲 Python 数据结构和算法的资料很少,中文资料更少 很多自学 Python 的工程师对基础不够重视,面试也发现很多数据结构和算法不过关,很多人挂在了基础的数据结构和算法上 缺少工程应用场景下的讲解,很多讲算法的资料太『教科书化』。本书实现的代码工程上可用 网上很多视频教程不够循序渐进,不成系统 对于每个算法和用到的数据结构我们需要知道: - 原理 - Python 实现方式 - 时间、空间复杂度 - 使用场景,什么时候用

2024-08-28

人工智能+机器学习+机器学习概述+深入理解机器学习原理

机器学习‌是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构,使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径。人工智能和机器学习密不可分,机器学习是实现人工智能的一种有效途径。人工智能提供了实现智能行为的目标,而机器学习则提供了实现这一目标的工具和方法。随着技术的发展和创新,机器学习技术正在推动人工智能在各个领域取得突破性进展‌。 机器学习可以分为几种主要类型,包括监督学习、无监督学习、半监督学习和强化学习。每种类型都有其特定的应用场景和方法。例如,监督学习是机器学习的一种方法,其中算法从标记数据中学习模式和关系,以便对新数据进行预测。监督学习的目标是建立一个函数模型,该模型可以将输入映射到期望的输出。这个过程包括数据准备、模型选择、训练、评估和测试等步骤‌。

2024-08-25

深度学习+神经网络+卷积神经网络+学习使用

‌‌卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,特别适用于处理具有网格结构的数据,如‌图像,它通过使用卷积层来提取图像数据的局部特征,然后通过‌池化层来降低特征的空间维度,最后通过‌全连接层进行分类或回归任务。‌ 卷积神经网络的设计灵感来源于生物学中的‌感受野机制,它具有局部连接和权值共享的特性,这些特性使得卷积神经网络在处理图像等高维输入时,能够有效地减少模型的复杂度和计算量,同时降低过拟合的风险。卷积神经网络的核心操作包括卷积、激活和池化,这些操作在网络的各个层次中重复进行,使得网络能够从原始输入中逐层提取更高级别的特征表示。 具体来说: ‌卷积层‌:负责提取输入数据的局部特征。每个卷积核(或称为滤波器)在输入数据上滑动,并计算与输入数据局部区域的点积,从而生成特征图。多个卷积核可以提取多种不同的特征。 ‌激活函数‌:应用在卷积操作的输出上,增加网络的非线性,使得网络能够学习复杂的模式。 ‌池化层‌:负责降低特征的维度,减少计算量,同时增强特征的平移不变性。常见的池化操作有最大池化和平均池化。

2024-08-25

Nacos最新版本2.4.0,docker镜像

Nacos-2.4.0最新版本docker镜像,兼容postgresql最新版本17和16,同时支持深色主题切换,本人亲自制作,部署十分方便。 内存,挂载路径自行根据修改配置,运行起来了,别忘了回来点个赞啊,祝工作开心 JDK需要你自己挂载到一个目录下*(1.8及以上,建议17及以上,因为2.4.0是基于springboor2.7.8及以上版本开发)*,对应docker里面的jdk目录:/data/env/jdk。 集群部署,只需要把application.properties和cluster.conf配置文件挂载出来即可,如果单机部署,只挂载application.properties映射到宿主机指定目录下。 如果要用postgresql数据库做存储,需要按如下图所示进行配置。。。。

2024-08-09

淘宝/拼多多4级商品类目中英文整理共12700多条,最新版本sql语句

最新版本淘宝和拼多多4级商品类目整理,支持中英文,sql语句插入,采用postgresql类型设计,共12000多条

2023-02-21

FreeSWITCH简要使用教程V1.1

FreeSWITCH简要使用教程V1.1,可以通过此文档深入学习freeswitch的使用

2022-09-12

尚硅谷完整的关于rocketmq的学习视频整理笔记

尚硅谷完整的关于rocketmq的学习视频整理笔记,适合初学rocketmq的人

2022-09-12

【全网最新2020-09-27】世界各国地区IP库:IP2LOCATION-LITE-DB11-2020-09-27.CSV(290万条记录)

更新时间截止到【2020-09-27】一个包含全球80000多个省市的ip库,能够根据ip精确定位到每个城市的经纬度,邮编等信息。总记录数290多万,解压后300多兆,非常适合做ip识别精准定位的一个库。特此分享给大家。

2020-09-27

世界地名和人名大辞典-中英文对照-机器学习专用

世界地名和人名大辞典-中英文对照-机器学习专用,人名大概38万个,地名大概17万个,机器学习语料,值得收藏

2020-09-14

【全网世界区划最全整理输出】全世界所有国家的行政区划整理,省市信息,已按照国家,省,市排好序,可直接复制使用,总条数:21088

算得上【全网世界区划最全整理输出分】全世界所有国家的行政区划整理,省市信息,已按照国家,省,市排好序,可直接复制使用,总条数:21088

2020-09-09

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除