java
倔强的守护者
这个作者很懒,什么都没留下…
展开
-
Thrift IO模型
thrift提供的网络服务模型有阻塞型和非阻塞型: 阻塞服务模型:TSimpleServer、TThreadPoolServer 非阻塞服务模型:TNonblockingServer、THsHaServer和TThreadedSelectorServer TSimpleServer 该模型采用同步阻塞IO,一次只能接受并处理一个socket 优点 能够及时返回数据,无延迟 对内核开发者来说简...原创 2020-03-19 20:43:56 · 676 阅读 · 0 评论 -
Java并发编程之CAS
在进行Java并发编程的时候,我们都会使用到锁来控制并发线程对临界资源的安全访问。用的最多的就是synchronized,但是synchronized属于重量级锁、悲观锁,在很多时候会引起性能问题。除了synchronized还有cas,cas属于乐观锁,在一定的场景下会比synchronized更高效。java.util.concurrent包下的ReentrantLock内部的AQS,还...原创 2020-03-12 11:59:56 · 172 阅读 · 0 评论 -
JVM垃圾收集算法之分代收集算法
算法描述 JVM内存被分为了很多快,每一块中对象的存活周期不同,所以每一块所采用的垃圾回收算法也不同,这就是分代收集算法。 算法步骤 1、新生代:每次垃圾收集时都会有大批对象死去,只有少量存活,所以选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集 2、老年代:对象存活率高,没有额外的空间对他进行分配担保,所以使用标记-清理算法或者标记-整理算法来进行回收 ...原创 2020-03-05 15:46:19 · 219 阅读 · 2 评论 -
JVM垃圾收集算法之标记-整理算法
算法描述 在前面的文章中我们提到了复制算法,没有看的同学可以学习一下:https://blog.csdn.net/qq_15682815/article/details/104636321 复制算法也存在他自己的缺点,比如在对象存活率较高时就要执行较多的复制操作,效率将会变低。更关键的是,如果不想浪费50%的空间,就需要额外的空间进行分配担保,以应对被使用的内存中所有对象都100%存活的极端情...原创 2020-03-05 15:35:44 · 520 阅读 · 0 评论 -
JVM垃圾收集算法之复制算法
算法描述 在之前的文章中我们讲到了标记-清理算法,如果没看的小伙伴可以返回学习一下:https://blog.csdn.net/qq_15682815/article/details/104632989。标记-清理算法的一个明显缺点就是效率低。为了解决这个问题,大牛们发明了复制(Copying)算法。 算法步骤 1、将可用内存按容量划分为大小相等的两块 2、每次只使用其中的一块 3、当这...原创 2020-03-03 17:23:07 · 634 阅读 · 0 评论 -
JVM垃圾收集算法之标记清理算法
算法描述 标记-清除(Mark-Sweep)算法是最基础的JVM垃圾收集算法,JVM其他的垃圾收集算法都是从此算法演化而来。 算法步骤 1、标记:首先标记出所需要回收的对象 2、清除:在标记完成后统一回收掉所有被标记的对象 算法优点 算法思路简单,容易实现 算法缺点 1、效率问题:标记和清除过程的效率都不高 2、空间问题:标记清除后会产生大量不连续的内存碎片,空间碎片太多会导...原创 2020-03-03 16:58:11 · 598 阅读 · 3 评论 -
Java Meta-Annotation
Java Meta-Annotation 主要介绍Java Meta-Annotation的基本概念、理解以及具体使用方法 Annotation 我们学习任何一个知识,首先应该了解的应该是它是什么,Annotation也是一样。下面是wiki对Annotation的解释: An annotation is extra information associated with a particular...原创 2019-10-22 17:01:50 · 240 阅读 · 0 评论 -
VIM+javacomplete搭建java开发环境
1、下载javacomplete 官方链接:http://www.vim.org/scripts/script.php?script_id=1785 2、解压安装包后可以看到有两个文件夹autoload和doc 3、拷贝两个文件到.vim目录下 4、进入~/.vim/autoload目录编译Reflection.jav...原创 2019-04-03 14:42:47 · 1922 阅读 · 0 评论