- 博客(120)
- 收藏
- 关注
原创 JDK源码系列(五)—— ConcurrentHashMap + CAS 原理解析
JDK源码系列(五)—— ConcurrentHashMap + CAS 原理解析
2024-10-29 17:16:05 721
原创 JDK源码系列(二)—— ArrayList 和 LinkedList 深度源码解析
JDK源码系列(二)—— ArrayList 和 LinkedList 深度源码解析
2024-10-27 21:37:07 1058
原创 Netty 应用与原理
更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验本篇示例代码仓库:learn-netty在 I/O 操作中有这么两组概念,其中同步/异步 要和线程中的同步线程/异步线程要区分开,这里指的是同步IO / 异步IO阻塞/非阻塞:同步/异步:常见的 IO 模型:BIO 是 blocking I/O 的简称,它是同步阻塞型 IO,其相关的类和接口在 java.io 下,简单来讲:编写一个简单的 BioServer:对应来一个简单的 Client:这种 IO 模型的弊端十分明显:
2024-04-27 06:34:12 1005
原创 ZooKeeper 高级应用
ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务同步服务和命名注册,在架构上,通过冗余服务实现高可用性(CP)。ZooKeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。
2023-12-30 19:45:44 1571
原创 浅谈互联网架构演变
业务层面:项目业务体系技术层面:数据架构:数据持久层策略应用架构:应用层的实现方式部署架构:部署方式,自动化持续集成等策略针对每一层也随着时间的变化而变化。纵观今年互联网架构的演变,不难看出没有任何体系是一成不变的,架构体系往往随着业务需求不管革新。因此,架构要服务于业务,而不能脱离业务存在,任何架构的设计都要贴合实际的业务场景。在技术上不断收敛,因为引入新技术必然会带来新问题,尽量追求原生,降低项目的开发和维护成本。
2023-12-26 21:11:57 590
原创 刷穿力扣(1~30)
其他情况可以利用偏移量对字符坐标进行模拟,将结果存到二维数组中。来构造模拟结果集,此时发现仅需要行数变化即可。则最终将结果集转换为字符串返回即可。首先排除特殊情况,当。
2023-10-07 22:37:23 413
原创 Neo4j 与 Cypher 基础
Neo4j是用Java实现的开源NoSQL图数据库。从2003年开始开发,2007年正式发布第一版,其源码托管于GitHub。与常见的关系型数据库不同,Neo4j基于图图结构来表示和存储数据,并提供了申明式的查询语言Cypher来处理图数据。Neo4j实现了专业数据库级别的图数据模型的存储,提供了完整的数据库特性,包括ACID事务的支持、集群的支持、备份和故障转移等。Neo4j作为图数据库中的代表产品,已经在众多的行业项目中进行了应用,如:网络管理、软件分析、组织和项目管理、社交项目等方面。
2023-09-25 17:13:10 1338
原创 创建线程的方式打开记事本
更好的阅读体验今天操作系统课老师讲到进程,提出了一个有趣的小实验:能否以系统调用的方式利用Windows创建进程的系统调用函数来打开一个软件。闲着蛋疼的我立马来了兴趣,姑且写一个玩玩(
2023-09-20 06:53:23 370
原创 深入理解 JVM 之——字节码指令与执行引擎
Java源代码经过编译器编译后会生成类似上面的字节码文件(.class文件),其中字节码文件的结构如下:魔数(Magic Number):字节码文件的前四个字节是一个固定的魔数(0xCAFEBABE),用于标识该文件为Java字节码文件。版本信息(Version):紧随魔数之后的两个字节表示字节码文件的版本信息,分别是主版本号和次版本号。常量池(Constant Pool):紧随版本信息之后是一个常量池表(Constant Pool Table),用于存储编译时生成的各种常量、符号引用和字面量。
2023-09-09 08:54:36 690
原创 深入理解 JVM 之——Java 内存区域与溢出异常
更好的阅读体验本篇为深入理解Java虚拟机第二章内容,推荐在学习前先掌握基础的Linux操作、编译原理、计算机组成原理等计算机基础以及扎实的C/C++功底。该系列的GitHub。
2023-09-02 00:08:12 681
原创 深入理解 JVM 之——动手编译 JDK
更好的阅读体验本篇为深入理解Java虚拟机第一章的实战内容,推荐在学习前先掌握基础的Linux操作、编译原理基础以及扎实的C/C++功底。该系列的GitHub。
2023-08-29 23:37:08 1079
原创 浅谈 Java 中的 Lambda 表达式
函数式编程是一种编程范式,也是一种思想。它将计算视为函数求值的过程,并强调函数的纯粹性和不可变性。在函数式编程中,函数被视为一等公民,可以作为参数传递、存储在变量中,并且函数的执行不会产生副作用。例如,我们想要输出List从以上的两个例子中,可以看出,命令式编程需要我们自己去实现具体的逻辑细节。而函数式编程则是调用API完成需求的实现,将原本命令式的代码写成一系列嵌套的函数调用。
2023-08-27 22:49:00 1331
原创 自动拉取 GitHub 仓库更新的脚本
更好的阅读体验由于将部署到了我自己的服务器上作为国内镜像站,每次在源站更新后都需要手动拉取镜像站的更新实在是太麻烦了,因此产生了编写该脚本的需求(读者可根据该脚本思路编写属于你自己的定时任务脚本。
2023-08-15 21:47:56 910
原创 MySQL字符集及其排序规则
utf8mb4是MySQL中一种字符集编码,它可以存储和处理Unicode字符。Unicode字符集中包含了几乎所有的字符,包括各种语言的字符、符号、表情符号等。
2023-07-03 11:27:48 1868
原创 计算机网络速成
网络:将多个计算机或计算机网络通过通信线路连接起来,使得它们可以相互通信和交换信息的系统。由若干节点(Node)和连接这些节点的链路(Link)组成。节点可以是计算机、集线器、交换机、路由器等。互联网: 多个网络通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网,因此互联网是网络的网络。因特网**:**是世界上最大的互联网络。没有十分精确的定义。最简单的定义:一些互相连接的、自治的计算机的集合。互联:计算机之间可以通过有线或者无线的方式进行数据通信。
2023-07-03 08:56:08 9320 4
原创 3. SQL 与 MySQL 基础
基本概念SQLStructured Query Language:结构化查询语言)用于管理关系数据库管理系统(RDBMSSQL的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。MySQLSQL ServerAccessOracleSybaseDB2等。SQL在1986年成为ANSI(American National Standards Institute 美国国家标准化组织)的一项标准,在1987年成为国际标准化组织(ISO)标准。特点。
2023-04-13 21:43:29 963 1
原创 计算机组成原理:5. 输入输出系统
每个I/O设备都必须配有一套独立的逻辑电路与CPU相连,线路十分散乱、庞杂。输入输出过程是穿插在CPU执行程序过程之中进行的,工作效率低。每个I/0设备的逻辑控制电路与CPU的控制器紧密构成一个不可分割的整体,可扩展性低。人机交互设备:·实现操作者与计算机之间互相交流信息的设备。计算机信息的存储设备:系统软件和各种计算机的有用信息,其信息量极大,需存储保留起来。机——机通信设备:实现一台计算机与其他计算机或与其他系统之间完成通信任务的设备。
2023-04-04 16:31:21 1571
原创 计算机组成原理:4. 存储器
半导体存储器:存储元件由半导体器件组成的存储器。磁表面存储器:在金属或塑料基体的表面上添加磁性材料涂层作为记录介质。磁芯存储器:由硬磁材料做成的环状元件,在磁芯中穿有驱动线(通电流)和读出线。光盘存储器:光盘存储器是应用激光在记录介质(磁光材料)上进行读/写的存储器。由许多存储单元组成;每个存储单元又包含若干个存储元件。以888位二进制作为一个存储单元,也就是一个字节。一个存储单元可以存储一串二进制代码,称这串二进制代码为一个存储字,代码位数位存储字长。
2023-03-20 20:56:38 589 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人