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

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

2019-01-08 14:23:15

阅读数 936

评论数 0

红黑树详解

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

2017-12-18 11:03:52

阅读数 461

评论数 0

Java类文件结构详解

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

2017-09-14 10:29:23

阅读数 5437

评论数 4

jdk8 HotSpot内存模型

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

2017-09-09 21:14:22

阅读数 5898

评论数 0

tbschedule3.3.3源码详解

tbschedule是出自淘宝的一个分布式任务调度框架,经过了众多大型项目的考验。了解及使用可参考官方文档 http://code.taobao.org/p/tbschedule/wiki/index/ tbschedule的数据结构 tbschedule在zookeeper中的数据结构...

2017-09-06 09:56:31

阅读数 3373

评论数 1

Zookeeper实现分布式锁

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

2017-12-19 15:18:30

阅读数 155

评论数 0

Zookeeper的关键机制的实现原理

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

2017-12-19 11:03:29

阅读数 955

评论数 0

分布式一致性算法Paxos,Zookeeper的ZAB协议,Raft算法

Paxos算法: Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。 阶段一: 1、Proposer选择一个提案变化Mn,然后向Acceptor的某个超过半数的子集成员发送 编号为Mn的Prepare...

2017-12-19 10:26:22

阅读数 495

评论数 0

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

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

2017-12-18 17:37:08

阅读数 4249

评论数 0

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

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

2017-12-18 13:08:49

阅读数 1537

评论数 0

二叉搜索树的基本操作

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

2017-12-18 09:39:32

阅读数 362

评论数 0

ThreadLocal详解

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

2017-09-27 14:17:49

阅读数 2729

评论数 0

虚拟机字节码执行引擎

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

2017-09-20 09:25:53

阅读数 2758

评论数 0

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

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

2017-09-19 12:54:21

阅读数 2795

评论数 2

java8的jps,jstat,jstack,jmp,jinfo,jhat使用详解及Java自带可视化监控与故障分析工具的介绍

概述 JDK提供的免费的JVM监控与故障处理工具有: jps:JVM Process Status Tool, 显示指定系统内所有的HotSpot虚拟机进程jstat:JVM Statistics Monitoring Tool, 用于收集HotSpot虚拟机各方面的运行数据jinfo...

2017-09-13 10:05:35

阅读数 2446

评论数 0

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

垃圾收集(Garbage Collection GC)          在Java中垃圾回收主要是针对堆(Heap)的垃圾收集(方法区也有垃圾收集)。垃圾收集主要分为两步:               1、找出需要被回收的对象;                2、将需要被回收的对象进行内存...

2017-09-12 16:18:39

阅读数 2707

评论数 0

Docker入门与实战详细笔记

一、 镜像1.1、 获取镜像命令: docker pull NAME[:TAG] 例: docker pull centos 相当于 docker pull centos:latest 相当于 docker pull registry.hub.docker.com/centos:latest ...

2017-09-06 15:57:44

阅读数 5102

评论数 0

tbschedule3.3.3+spring+maven实例教程

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

2017-09-06 13:36:44

阅读数 1769

评论数 0

设计模式总结

工厂模式 通过改用上面设计,则A类需要与IBFactory耦合,还需要与IB接口耦合,如果系统需要重构:需要使用C类代替B类,则只需要让C类也实现IB接口,并改写IBFactory工厂中创建IB实例的实现代码,让该工厂产生C(实现了IB接口)实例即可。由于所有依赖IB实例的对象都是通过工厂来...

2014-03-27 13:51:41

阅读数 323

评论数 0

Spring 注入枚举值

Spring注入枚举值   LUCENE_43  name="matchVersion">匹配参数名 public EnglishAnalyzer(Version matchVersion) {     this(matchVersi...

2014-03-20 14:09:41

阅读数 484

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭