9 烦啦

尚未进行身份认证

既然不开心,为什么在这里坚持

等级
TA的排名 10w+

java注解处理器——在编译期修改语法树

目录前言从需求说起添加打印日志代码的方案第一种方案,硬编码第二种方案,AOP第三种方案,修改class文件注解处理器的用法:1、实现AbstractProcessor2、添加注解名称分析模块的思想及设计语法树的操作:JCTree的介绍​​TreeMakerTreeMaker.ModifiersTreeMaker.ClassDef...

2019-01-08 14:23:15

Zookeeper实现分布式锁

在zookeeper中,通过数据节点来表示一个锁,例如/exclusive_lock/lock节点就可以被定义为一个锁。1、排它锁获取锁所有的客户端都试图通过调用create()接口,在/exclusive_lock节点下创建临时子结点/exclusive_lock/lock。成功创建的客户端就认为获取了锁,其它没有获取到锁的客户端就需要到/exclusive_lock节点上注

2017-12-19 15:18:30

Zookeeper的关键机制的实现原理

1、zookeeper的会话管理会话(Session)是Zookeeper的一个重要的抽象。保证请求有序、临时znode节点、监事点都与会话密切相关。因此会话的跟踪机制对ZooKeeper来说也非常重要。ZooKeeper服务器的一个重要任务就是跟踪并维护这些会话。在独立模式下,单个服务器会跟踪所有的会话,而在仲裁模式下则由群首服务器来跟踪和维护。群首服务器和独立模式的服务器实际上运行

2017-12-19 11:03:29

分布式一致性算法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

JAVA中的数值的有符号无符号操作

原码反码补码Java的符号类型有符号扩展和无符号扩展

2017-12-18 17:37:08

存储引擎——Hash存储引擎,B树存储引擎,LSM树存储引擎

哈希存储引擎B树存储引擎LSM树存储引擎并发控制存储快照实现原理

2017-12-18 13:08:49

红黑树详解

红黑树的左旋与右旋,插入,删除的过程详细分析

2017-12-18 11:03:52

二叉搜索树的基本操作

前言:二叉树的基本性质高度为h的二叉树,最多有2^h-1个节点(满二叉树)。二叉树的搜索,插入,删除

2017-12-18 09:39:32

ThreadLocal详解

ThreadLocal用来解决多线程环境中资源竞争的问题。它不是通过加锁的方式,而是通过每个线程保存一份资源的副本,这样各个线程访问本线程自己的那一份儿,从而避免了对资源竞争的问题。

2017-09-27 14:17:49

虚拟机字节码执行引擎

Java虚拟机字节码执行引擎是Java虚拟机最核心的组成部分之一。它负责Java程序的执行,执行的过程主要包括方法的调用和方法代码的执行(对代码块代码的执行其实在虚拟机内部也是组装成方法执行的)。所以对执行引擎的讲解主要就是讲解方法的调用和方法执行过程。下边先讲解用于支持虚拟机进行方法调用和方法执行的数据结构——栈帧。

2017-09-20 09:25:53

虚拟机类加载机制与类加载器详解

虚拟机类加载机制概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行时期完成的。类加载的时机类的加载过程包括七个阶段:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resoluti

2017-09-19 12:54:21

Java类文件结构详解

Class文件是一组以8位字节为基础单位的二进制流,各项数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,如果是超过8位字节以上空间的数据项,则会按照高位在前的方式(Big-Endian)分割成若干个8位字节进行存储。Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息。

2017-09-14 10:29:23

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

java垃圾收集与内存分配策略

垃圾收集(Garbage Collection GC)         在Java中垃圾回收主要是针对堆(Heap)的垃圾收集(方法区也有垃圾收集)。垃圾收集主要分为两步:              1、找出需要被回收的对象;               2、将需要被回收的对象进行内存回收。找出需要被回收的对象(即不可能再被任何途径使用的对象),主要有两种算法:        ...

2017-09-12 16:18:39

jdk8 HotSpot内存模型

概述java的内存管理采用自动内存管理机制,这样就不需要程序员去写释放内存的代码,而且不容易出现内存泄漏问题。正是由于内存的申请和释放都交给了Java虚拟机,一旦出现内存泄漏和溢出问题时,在不了解Java虚拟机内存结构和自动管理机制的情况下,很难排查问题的所在。所以一个成熟的程序员和架构师,必须很好的掌握Java虚拟机的自动内存管理机制。运行时数据区上图的虚拟机运行时数据区是J

2017-09-09 21:14:22

Docker入门与实战详细笔记

一、 镜像1.1、 获取镜像命令: docker pull NAME[:TAG]例: docker pull centos 相当于 docker pull centos:latest 相当于 docker pull registry.hub.docker.com/centos:latestregistry.hub.docker.com是默认的注册服务器(Docker Hub)1.2

2017-09-06 15:57:44

tbschedule3.3.3+spring+maven实例教程

tbschedule是淘宝的一个分布式任务调度框架,可访问官方网址http://code.taobao.org/p/tbschedule/wiki/index/获取源代码和了解具体的介绍,在这里就不再做重复的介绍了,直接给出实例教程。1、在maven的pom.xml中引入tbschedule依赖 com.taobao.pamirs.schedule tbschedule

2017-09-06 13:36:44

tbschedule3.3.3源码详解

tbschedule是出自淘宝的一个分布式任务调度框架,经过了众多大型项目的考验。了解及使用可参考官方文档 http://code.taobao.org/p/tbschedule/wiki/index/tbschedule的数据结构tbschedule在zookeeper中的数据结构及与类的对应关系下面从tbschedule的初始化流程入手,一步步分析tbs

2017-09-06 09:56:31

Spring 注入枚举值

Spring注入枚举值 LUCENE_43 name="matchVersion">匹配参数名public EnglishAnalyzer(Version matchVersion) {    this(matchVersion, DefaultSetHolder.DEFAULT_STOP_SET);  } type="org.apach

2014-03-20 14:09:41
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!