- 博客(10)
- 资源 (6)
- 收藏
- 关注
原创 JVM基础
对于JVM的了解是高级工程师必备的技能JVM基本结构 内存模型,7个区域(1.7,1.8常量池分离)每个区域具体作用栈针的存储内容每个线程,栈的独立性指令重排,流水线处理,内存屏障,小于256字节的数字,int类型,long类型,volatile关键字类加载机制—加载,验证,准备,解析,初始化(每一种过程做什么,static,fianl static分配变量,赋值)垃圾回收机制如何判
2017-10-07 11:41:27 598
原创 Zookeeper知识点
ZooKeeper作为J2EE体系内一款高性能协调器,广泛用于SOA等场景,需要简单了解ZK的一些关键特性分布式系统 CAP原则,不能同时满足,如何取舍一致性(Consistence) (等同于所有节点访问同一份最新的数据副本)可用性(Availability)(每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据)分区容错性(Network partitioning)(以实际效
2017-10-07 11:40:49 449
原创 Redis知识点
Redis作为J2EE体系内一款常用的分布式缓存服务,具有高并发,高吞吐量,支持多种数据结构等特性,其工作原理在这里做一些简单的分析分布式一致性Raft协议 Raft协议包含的角色Leader:所有请求的处理者,Leader副本接受client的更新请求,本地处理后再同步至多个其他副本;Follower:请求的被动更新者,从Leader接受更新请求,然后写入本地日志文件Candidate:
2017-10-07 11:40:25 226
原创 Kafka知识点
消息队列是J2EE技术中常用的中间件,需要了解常用的消息队列实现方案与优缺点消息模型 push推模型:代表程序RabbitMq需要考虑客户端的消费能力客户端增加receive buffer,防止OOM对于事务处理支持的好消息状态维护在服务端实时性较好对服务端性能要求较高pull拉模型:Kafka无需考虑客户端的消费能力消息状态分别维护在客户端消费能力重点在于客户端Kafka
2017-10-07 11:39:59 334
原创 ReentrantLock实现原理
ReentrantLock实现原理ReentrantLock弥补了sychronized的不足,实现了对象的可重入锁等功能参考文献 https://my.oschina.net/andylucc/blog/651982什么是AQS?AQS是JDK1.5提供的一个基于FIFO等待队列实现的一个用于实现同步器的基础框架,这个基础框架的重要性可以这么说,JCU包里面几乎所有的有关锁、多线程并发以及
2017-10-07 11:37:24 268
原创 CyclicBarrier实现原理
CyclicBarrier原理CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到所有线程都到达某个公共屏障点(也可以叫同步点),即相互等待的线程都完成调用await方法,所有被屏障拦截的线程才会继续运行await方法后面的程序。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier很有用。因为该屏障点在释放等待线程后可以重用,所以称它为循环
2017-10-07 11:37:05 1871
原创 ConcurrentLinkedQueue & CopyOnWriteArrayList
ConcurrentLinkedQueue支持高并发读写队列 实现方式是利用无锁操作 关键代码 public boolean offer(E e) { checkNotNull(e); //创建入队节点 final Node<E> newNode = new Node<E>(e); //t为tail节点,p为尾节点,默认相等,采用
2017-10-07 11:36:47 706
原创 AtomicInteger实现
无锁操作常见场景atomic包内的类经常使用无锁操作AtomicInteger是非常典型的一种 private static final Unsafe unsafe = Unsafe.getUnsafe(); private static final long valueOffset; static { try { valueOffset =
2017-10-07 11:36:24 217
原创 java并发编程简单分析
并发编程意义移动互联网的发展导致用户访问量持续增加,由于受到制作工艺的限制,当今的微电子行业发展趋势已经不能再遵循摩尔定律,更快速的刷新CPU性能,作为一名程序猿,就会绞尽脑汁去榨干硬件计算资源,今天我们就来简单分析一下JDK的并发编程实现原理JDK的并发包jdk为方便开发者,引入了一套相对完善并发编程体系 java.util.concurrent ,其大致结构如下这个图可以简单总结为以下结构模型
2017-10-07 11:36:01 235
原创 JVM知识点梳理
JVM内存模型1.java堆2.静态方法区3.JVM栈4.本地方法栈5.程序计数器6.堆外内存(直接内存)7.常量池垃圾回收垃圾回收算法 1.标记清除:实现简单,碎片化较多2.复制算法:吞吐量高,速度快3.标记压缩:有效率用堆空间,速度慢,与堆大小有关4.引用计数:提高搜索效率,有死循环垃圾收集器 1.Serial收集器,client模式下新生代2.Serial Ol
2017-10-07 11:31:35 291
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人