会员
周边
新闻
博问
闪存
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SevenCoding
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
10
11
12
13
14
15
16
17
18
19
下一页
2025年3月3日
【设计模式】单例模式深度解析:从饿汉式到枚举实现的全方位解读
摘要: 单例设计模式概念 就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以
阅读全文
posted @ 2025-03-03 08:15 程序员Seven
阅读(389)
评论(0)
推荐(1)
2025年2月27日
深度解析分布式事务的七大核心方案
摘要: 2PC 2PC,两阶段提交,将事务的提交过程分为资源准备和资源提交两个阶段,并且由事务协调者来协调所有事务参与者,如果准备阶段所有事务参与者都预留资源成功,则进行第二阶段的资源提交,否则事务协调者回滚资源。 第一阶段:准备阶段 由事务协调者询问通知各个事务参与者,是否准备好了执行事务,具体流程图如下
阅读全文
posted @ 2025-02-27 08:15 程序员Seven
阅读(143)
评论(0)
推荐(1)
2025年2月25日
幂等性:如何通过设计避免重复操作的影响?
摘要: 概述 定义 幂等概念来自数学,表示对数据源做N次变换和1次变换的结果是相同的。 在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数或幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变
阅读全文
posted @ 2025-02-25 08:15 程序员Seven
阅读(572)
评论(1)
推荐(1)
2025年2月24日
解密ZAB协议:Zookeeper一致性的核心实现
摘要: 一致性问题 设计一个分布式系统必定会遇到一个问题—— 因为分区容忍性(partition tolerance)的存在,就必定要求我们需要在系统可用性(availability)和数据一致性(consistency)中做出权衡 。这就是著名的 CAP 定理。 ZooKeeper 的处理方式,保证了 C
阅读全文
posted @ 2025-02-24 08:15 程序员Seven
阅读(491)
评论(0)
推荐(1)
2025年2月20日
为什么Raft算法是分布式系统的首选?
摘要: 背景 当今的数据中心和应用程序在高度动态的环境中运行,为了应对高度动态的环境,它们通过额外的服务器进行横向扩展,并且根据需求进行扩展和收缩。同时,服务器和网络故障也很常见。 因此,系统必须在正常操作期间处理服务器的上下线。它们必须对变故做出反应并在几秒钟内自动适应;对客户来说的话,明显的中断通常是不
阅读全文
posted @ 2025-02-20 08:15 程序员Seven
阅读(580)
评论(3)
推荐(2)
2025年2月18日
Paxos算法:如何解决分布式系统中的共识问题?
摘要: 背景 Paxos 算法是 Leslie Lamport(莱斯利·兰伯特)在 1990 年提出了一种分布式系统 共识 算法。这也是第一个被证明完备的共识算法(前提是不存在拜占庭将军问题,也就是没有恶意节点)。 为了介绍 Paxos 算法,兰伯特专门写了一篇幽默风趣的论文。在这篇论文中,他虚拟了一个叫做
阅读全文
posted @ 2025-02-18 08:15 程序员Seven
阅读(349)
评论(0)
推荐(1)
2025年2月17日
CAP与BASE:分布式系统设计的灵魂与妥协
摘要: CAP 理论 CAP理论起源于 2000 年,由加州大学伯克利分校的 Eric Brewer 教授在分布式计算原理研讨会(PODC)上提出,因此 CAP 定理又被称作 布鲁尔定理(Brewer’s theorem) 2 年后,麻省理工学院的 Seth Gilbert 和 Nancy Lynch 发表
阅读全文
posted @ 2025-02-17 08:15 程序员Seven
阅读(493)
评论(0)
推荐(1)
2025年2月14日
Maven入门,读完这篇就够了
摘要: Maven 项⽬⽣命周期 Maven从项⽬的三个不同的⻆度,定义了三套⽣命周期,三套⽣命周期是相互独⽴的,它们之间不会相互影响。 清理⽣命周期(Clean Lifecycle):该⽣命周期负责清理项⽬中的多余信息,保持项⽬资源和代码的整洁性。⼀般拿来清空directory(即⼀般的target)⽬录
阅读全文
posted @ 2025-02-14 08:15 程序员Seven
阅读(748)
评论(3)
推荐(6)
2025年2月13日
Git指南-从入门到精通
摘要: 代码提交和同步命令 流程图如下: 第零步: 工作区与仓库保持一致 第一步: 文件增删改,变为已修改状态 第二步: git add ,变为已暂存状态 $ git status $ git add --all # 当前项目下的所有更改 $ git add . # 当前目录下的所有更改 $ git add
阅读全文
posted @ 2025-02-13 08:15 程序员Seven
阅读(3098)
评论(0)
推荐(4)
2025年2月12日
Netty高级使用与源码详解
摘要: 粘包与半包 粘包现象 粘包的问题出现是因为不知道一个用户消息的边界在哪,如果知道了边界在哪,接收方就可以通过边界来划分出有效的用户消息。 服务端代码 public class HelloWorldServer { static final Logger log = LoggerFactory.get
阅读全文
posted @ 2025-02-12 11:02 程序员Seven
阅读(381)
评论(0)
推荐(0)
2025年2月4日
Netty实战入门教程
摘要: 概述 Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端 Netty 在 Java 网络应用框架中的地位就好比:Spring 框架在 JavaEE 开发中的地位 以下的框架都使用了 Netty,因为它们有网络通信需求! Cassandra - nos
阅读全文
posted @ 2025-02-04 08:15 程序员Seven
阅读(1102)
评论(0)
推荐(2)
2025年1月23日
《SpringBoot》EasyExcel实现百万数据的导入导出
摘要: 24年11月6日消息,阿里巴巴旗下的Java Excel工具库EasyExcel近日宣布,将停止更新,未来将逐步进入维护模式,将继续修复Bug,但不再主动新增功能。 EasyExcel 是一款知名的 Java Excel 工具库,由阿里巴巴开源,作者是玉箫,在 GitHub 上有 30k+ star
阅读全文
posted @ 2025-01-23 08:15 程序员Seven
阅读(2173)
评论(4)
推荐(5)
2025年1月21日
《SpringBoot》史上最全SpringBoot相关注解介绍
摘要: @SpringBootApplication @SpringBootApplication看作是 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解的集合。 @Configuration:允许注册额外的 bean 或导入其他配置类 @E
阅读全文
posted @ 2025-01-21 08:15 程序员Seven
阅读(652)
评论(0)
推荐(3)
2025年1月20日
《SpringBoot》自动装配原理(简单易懂)
摘要: 引入 先看SpringBoot的主配置类 @SpringBootApplication public class DemoApplication{ public static void main(String[] args) { SpringApplication.run(StartEurekaAp
阅读全文
posted @ 2025-01-20 08:15 程序员Seven
阅读(1051)
评论(0)
推荐(2)
2025年1月16日
SpringBoot的两种启动方式原理
摘要: 使用内置tomcat启动 配置案例 启动方式 IDEA中main函数启动 mvn springboot-run java -jar XXX.jar 使用这种方式时,为保证服务在后台运行,会使用nohup nohup java -jar -Xms128m -Xmx128m -Xss256k -XX:+
阅读全文
posted @ 2025-01-16 08:15 程序员Seven
阅读(739)
评论(2)
推荐(3)
2025年1月14日
一文带你了解什么是servlet
摘要: 介绍 Servlet是在服务器端运行的Java程序,可以接收客户端请求并做出响应,是基于 Java 技术的 web 组件,该组件由容器托管,用于生成动态内容。他是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。 servlet说实在点就是个接口,浏览器发送请求
阅读全文
posted @ 2025-01-14 08:15 程序员Seven
阅读(213)
评论(0)
推荐(0)
2025年1月13日
《深入理解Mybatis原理》Mybatis中的缓存实现原理
摘要: 一级缓存实现 什么是一级缓存? 为什么使用一级缓存? 每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话。 在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句,如果不采取一些措施的话,每一次查询都会查询一次数据库,而我
阅读全文
posted @ 2025-01-13 08:15 程序员Seven
阅读(497)
评论(0)
推荐(2)
2025年1月12日
《深入理解Mybatis原理》MyBatis事务管理机制
摘要: 概述 对数据库的事务而言,应该具有以下几点:创建(create)、提交(commit)、回滚(rollback)、关闭(close)。对应地,MyBatis将事务抽象成了Transaction接口: MyBatis的事务管理分为两种形式: 使用JDBC的事务管理机制:即利用java.sql.Conn
阅读全文
posted @ 2025-01-12 20:39 程序员Seven
阅读(225)
评论(0)
推荐(0)
2025年1月11日
周末了,写个转码经历流水账
摘要: 一直没有好好的介绍过自己,这里写一篇文章来介绍下自己。 我是普通学校出身,硕士期间自学Java,秋招最终斩获 12 个 offer,包含中大厂、初创公司、国企 等各类型公司。自学路上遇到不少问题,但最终结果还是满意的,最终是在北京某互联网厂从事一线开发。 本科阶段(接触编程) 我是非科班出身,本科学
阅读全文
posted @ 2025-01-11 21:04 程序员Seven
阅读(232)
评论(0)
推荐(1)
2025年1月9日
《深入理解Mybatis原理》MyBatis数据源与连接池详解
摘要: MyBatis数据源DataSource分类 MyBatis把数据源DataSource分为三种: UNPOOLED 不使用连接池的数据源 POOLED 使用连接池的数据源 JNDI 使用JNDI实现的数据源 相应地,MyBatis内部分别定义了实现了java.sql.DataSource接口的Un
阅读全文
posted @ 2025-01-09 08:15 程序员Seven
阅读(467)
评论(0)
推荐(1)
上一页
1
···
10
11
12
13
14
15
16
17
18
19
下一页
公告