Fork me on GitHub
摘要: 双机热备基础网络拓扑 环境搭建 基础环境: 两台CentOS的服务器A和B。 服务器A的真实IP为192.168.2.152 服务器B的真实IP为192.168.2.120 期望对外提供的虚拟IP为192.168.2.200,计划将服务器A设置成MASTER,服务器B设置为BACKUP。 双机热备— 阅读全文
posted @ 2021-04-09 19:35 insaneXs 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 上文介绍了HotSpot编译和调试的方法,而这篇文章将迈出正式调试的第一步——调试HotSpot的启动过程。 学习启动过程可以帮助我们了解程序的入口,并对虚拟机的运行有个整体的把握,方便日后深入学习具体的一些模块。 2. 整体感知启动过程 整体的感知启动过程可以在启动时添加_JAVA_L 阅读全文
posted @ 2021-01-07 20:14 insaneXs 阅读(855) 评论(0) 推荐(0) 编辑
摘要: 前文 JVM对许多Java程序员是一个黑盒子,经常需要与它打交道,但是又搞不清内部的原理。 我出于以下几个目的决定对JVM内部做一些学习: 之前对虚拟机的了解停留在理论层面上,通过学习,做到知其然,知其所以然 工作中可能涉及JNI的一些调试,JNI接口的C++端离不开JVM相关的结构和函数 在了解虚 阅读全文
posted @ 2020-12-21 12:24 insaneXs 阅读(1614) 评论(0) 推荐(1) 编辑
摘要: 简介 这一篇文章来讲讲Netty的对象池技术。文章中的代码均是依据4.1的版本来分析。 和内存管理的侧重点不同的是,对象池技术主要负责的是针对对象的回收。 换句话说,对象池技术针对的是对象的回收,管理的主体是对象,只不过对象也需要内存空间才能创建,因此在这个过程中,内存只是对象的载体。 而内存管理技 阅读全文
posted @ 2020-11-08 16:55 insaneXs 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 前言 正是Netty的易用性和高性能成就了Netty,让其能够如此流行。 而作为一款通信框架,首当其冲的便是对IO性能的高要求。 不少读者都知道Netty底层通过使用Direct Memory,减少了内核态与用户态之间的内存拷贝,加快了IO速率。但是频繁的向系统申请Direct Memory,并在使 阅读全文
posted @ 2020-09-24 19:45 insaneXs 阅读(1062) 评论(1) 推荐(2) 编辑
摘要: 前言 对于一个应用而言,事务的使用基本是不可避免的。虽然Spring给我们提供了开箱即用的事务功能——@Transactional。 但是,自带的事务功能却也存在控制粒度不够的缺点。更糟糕的是,@Transactional在某些情况下就失效了。可能一些读者baidu/google一下解决办法后,失效 阅读全文
posted @ 2020-09-09 12:18 insaneXs 阅读(8250) 评论(2) 推荐(9) 编辑
摘要: 概述 本文将对JDK8中 ConcurrentHashMap 源码进行一定程度的解读。解读主要分为六个部分:主要属性与相关内部类介绍、构造函数、put过程、扩容过程、size过程、get过程、与JDK7实现的简单对比。希望对读者学习ConcurrentHashMap有一定的帮助。 阅读本文前,可能需 阅读全文
posted @ 2020-08-30 22:01 insaneXs 阅读(1609) 评论(2) 推荐(4) 编辑
摘要: 最近在二刷《Redis设计与实现》,顺便把Redis的源码也撸了一遍。以下是我对照Redis v3.0的源码将Redis复制、哨兵和集群相关流程整理了一遍供大家参考。 流程图使用OmniGraffle做的,为了方便分析尽量都对每个流程按照不同视角或是不能功能部分分了图层处理。以下也都会先以分图层展示 阅读全文
posted @ 2020-08-16 18:33 insaneXs 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 事情是这样的,之前我封装了一个ModbusTCP通信的库(见Github,BUG已修复)。但是最近其他同事在用这个库做开发的时候,发生了OOM的问题: 16:15:17.972 ERROR 26403 [pool-6-thread-1] c.lanxincn.wcs.hxb.detector.PLC 阅读全文
posted @ 2020-08-08 22:59 insaneXs 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 概述 这篇文章主要介绍了JVM中Synchronized锁实现的机制。 主要分为几个部分: 虚拟机对Synchronized的处理以及锁机制 虚拟机对Synchronized锁的优化 Synchronized锁的膨胀过程图解 查看对象头在Synchronized的上锁,释放锁,以及膨胀过程中的变化 阅读全文
posted @ 2020-07-26 01:23 insaneXs 阅读(1395) 评论(0) 推荐(0) 编辑