java
文章平均质量分 85
烦啦
既然不开心,为什么在这里坚持
展开
-
java垃圾收集与内存分配策略
垃圾收集(Garbage Collection GC) 在Java中垃圾回收主要是针对堆(Heap)的垃圾收集(方法区也有垃圾收集)。垃圾收集主要分为两步: 1、找出需要被回收的对象; 2、将需要被回收的对象进行内存回收。找出需要被回收的对象(即不可能再被任何途径使用的对象),主要有两种算法: ...原创 2017-09-12 16:18:39 · 3089 阅读 · 0 评论 -
Zookeeper实现分布式锁
在zookeeper中,通过数据节点来表示一个锁,例如/exclusive_lock/lock节点就可以被定义为一个锁。1、排它锁获取锁所有的客户端都试图通过调用create()接口,在/exclusive_lock节点下创建临时子结点/exclusive_lock/lock。成功创建的客户端就认为获取了锁,其它没有获取到锁的客户端就需要到/exclusive_lock节点上注原创 2017-12-19 15:18:30 · 515 阅读 · 0 评论 -
Zookeeper的关键机制的实现原理
1、zookeeper的会话管理会话(Session)是Zookeeper的一个重要的抽象。保证请求有序、临时znode节点、监事点都与会话密切相关。因此会话的跟踪机制对ZooKeeper来说也非常重要。ZooKeeper服务器的一个重要任务就是跟踪并维护这些会话。在独立模式下,单个服务器会跟踪所有的会话,而在仲裁模式下则由群首服务器来跟踪和维护。群首服务器和独立模式的服务器实际上运行原创 2017-12-19 11:03:29 · 5080 阅读 · 1 评论 -
分布式一致性算法Paxos,Zookeeper的ZAB协议,Raft算法
Paxos算法:Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。阶段一:1、Proposer选择一个提案变化Mn,然后向Acceptor的某个超过半数的子集成员发送 编号为Mn的Prepare请求。2、如果一个Acceptor收到一个编号为Mn的Prepare请求,且编号Mn原创 2017-12-19 10:26:22 · 2894 阅读 · 1 评论 -
JAVA中的数值的有符号无符号操作
原码反码补码Java的符号类型有符号扩展和无符号扩展原创 2017-12-18 17:37:08 · 9514 阅读 · 3 评论 -
存储引擎——Hash存储引擎,B树存储引擎,LSM树存储引擎
哈希存储引擎B树存储引擎LSM树存储引擎并发控制存储快照实现原理原创 2017-12-18 13:08:49 · 4645 阅读 · 0 评论 -
红黑树详解
红黑树的左旋与右旋,插入,删除的过程详细分析原创 2017-12-18 11:03:52 · 854 阅读 · 0 评论 -
二叉搜索树的基本操作
前言:二叉树的基本性质高度为h的二叉树,最多有2^h-1个节点(满二叉树)。二叉树的搜索,插入,删除原创 2017-12-18 09:39:32 · 591 阅读 · 0 评论 -
虚拟机字节码执行引擎
Java虚拟机字节码执行引擎是Java虚拟机最核心的组成部分之一。它负责Java程序的执行,执行的过程主要包括方法的调用和方法代码的执行(对代码块代码的执行其实在虚拟机内部也是组装成方法执行的)。所以对执行引擎的讲解主要就是讲解方法的调用和方法执行过程。下边先讲解用于支持虚拟机进行方法调用和方法执行的数据结构——栈帧。原创 2017-09-20 09:25:53 · 2992 阅读 · 0 评论 -
虚拟机类加载机制与类加载器详解
虚拟机类加载机制概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行时期完成的。类加载的时机类的加载过程包括七个阶段:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resoluti原创 2017-09-19 12:54:21 · 3266 阅读 · 2 评论 -
ThreadLocal详解
ThreadLocal用来解决多线程环境中资源竞争的问题。它不是通过加锁的方式,而是通过每个线程保存一份资源的副本,这样各个线程访问本线程自己的那一份儿,从而避免了对资源竞争的问题。原创 2017-09-27 14:17:49 · 4478 阅读 · 0 评论 -
java8的jps,jstat,jstack,jmp,jinfo,jhat使用详解及Java自带可视化监控与故障分析工具的介绍
概述JDK提供的免费的JVM监控与故障处理工具有:jps:JVM Process Status Tool, 显示指定系统内所有的HotSpot虚拟机进程jstat:JVM Statistics Monitoring Tool, 用于收集HotSpot虚拟机各方面的运行数据jinfo:Configuration Info for java,显示虚拟机配置信息.jmap:Memory原创 2017-09-13 10:05:35 · 4388 阅读 · 0 评论 -
java注解处理器——在编译期修改语法树
目录前言从需求说起添加打印日志代码的方案第一种方案,硬编码第二种方案,AOP第三种方案,修改class文件注解处理器的用法:1、实现AbstractProcessor2、添加注解名称分析模块的思想及设计语法树的操作:JCTree的介绍TreeMakerTreeMaker.ModifiersTreeMaker.ClassDef...原创 2019-01-08 14:23:15 · 14342 阅读 · 26 评论