JAVA
xiyougu86
这个作者很懒,什么都没留下…
展开
-
currentHashMap
static final class HashEntry { 2. final K key; 3. final int hash; 4. volatile V value; 5. final HashEntry next; 6. } 可以看到除了value不是final的,其它值都是final的,这意味着不能从hash链的中间或尾部添加或删原创 2017-04-07 10:37:01 · 452 阅读 · 0 评论 -
CMS 垃圾回收
先说并发4.1并发意味着多线程抢占CPU资源,即GC线程与用户线程抢占CPU。这可能会造成用户线程执行效率下降。CMS默认的回收线程数是(CPU个数+3)/4。这个公式的意思是当CPU大于4个时,保证回收线程占用至少25%的CPU资源,这样用户线程占用75%的CPU,这是可以接受的。4.2 并发清理阶段用户线程还在运行,这段时间就可能产生新的垃圾,新的垃圾在此次GC转载 2017-08-16 16:47:00 · 332 阅读 · 0 评论 -
CyclicBarrier saɪklɪk, ˈsɪklɪk ˈbæriɚ
CyclicBarrier和CountDownLatch相似,也是等待某些线程都做完以后再执行。与CountDownLatch区别在于这个计数器可以反复使用。比如,假设我们将计数器设置为10。那么凑齐第一批1 0个线程后,计数器就会归零,然后接着凑齐下一批10个线程原创 2017-04-27 14:35:15 · 616 阅读 · 0 评论 -
ReentrantLock rɪ'entrənt Synchronized 'sɪŋkrənaɪzd
ReentrantLock获取锁定与三种方式: a) lock(), 如果获取了锁立即返回,如果别的线程持有锁,当前线程则一直处于休眠状态,直到获取锁 b) tryLock(), 如果获取了锁立即返回true,如果别的线程正持有锁,立即返回false; c)tryLock(long timeout,TimeUnit unit), 如果获取了锁定立即返回t转载 2017-04-27 14:17:56 · 427 阅读 · 0 评论 -
ConcurrentLinkedQueue、AraayBlockingQueue、LinkedBlockingQueue 区别及使用场景
转自http://blog.csdn.net/jameshadoop/article/details/52729796三者区别与联系:联系,三者 都是线程安全的。区别,就是 并发 和 阻塞,前者为并发队列,因为采用cas算法,所以能够高并发的处理;后2者采用锁机制,所以是阻塞的。注意点就是前者由于采用cas算法,虽然能高并发,但cas的特点造成操作的危险性,怎么危险性可以去转载 2017-04-27 10:42:19 · 242 阅读 · 0 评论 -
分布式事务
转自http://blog.csdn.net/bluishglc/article/details/76128111.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Tra转载 2017-04-30 19:30:07 · 329 阅读 · 2 评论 -
classnotfinde noclassdef
转自: http://blog.csdn.net/gaozhlzh/article/details/6794368ClassNotFoundException:当应用尝试用字符串名称通过下面的方法装载一个类时这个类的定义却没有找到时会抛出的异常。Class.forNameClassLoader.findSystemClassClassLoader.loadCla转载 2017-04-30 19:09:33 · 257 阅读 · 0 评论 -
jvm 调优命令
转自: http://www.importnew.com/23761.html jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。jstatjstat(JVM statistics Monitoring)是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数转载 2017-04-30 18:09:51 · 289 阅读 · 0 评论 -
分布式锁
转自 http://www.cnblogs.com/PurpleDream/p/5559352.html第六步,使用redis的setnx()、expire()方法,用于分布式锁: 对于使用redis的setnx()、expire()来实现分布式锁,这个方案相对于memcached()的add()方案,redis占优势的是,其支持的数据类型更多,而memcache转载 2017-04-29 15:03:29 · 342 阅读 · 0 评论 -
hashcode
重写了equals(),为什么还要重写hashCode()呢? 想想,你要在一个桶里找东西,你必须先要找到这个桶啊,你不通过重写hashcode()来找到桶,光重写equals()有什么用啊转载 2017-04-01 18:34:29 · 211 阅读 · 0 评论 -
JAVA类加载器
参考文献:http://blog.csdn.net/clypm/article/details/51451258http://blog.csdn.net/clypm/article/details/51451251 启动(Bootstrap)类加载器:引导类装入器是用本地代码实现的类装入器,它负责将 /lib下面的核心类库或-Xbootclasspath选转载 2017-04-01 17:48:28 · 253 阅读 · 0 评论 -
微服务理解
转自: https://www.imooc.com/article/22737?block_id=tuijian_wz单体的优缺点单体应用就是将应用程序的所有功能都打包成一个独立的单元,最终以一个WAR包或JAR包存在,没有外部的任何依赖,里面包含DAO,Service、UI等所有的逻辑。单体应用有以下优点:便于开发:只需借助IDE的开发、调试功能即可完成易于测试:只需要通过单元测试或浏览器即可完...转载 2018-03-01 15:30:17 · 651 阅读 · 0 评论