随笔分类 - 201.Java主题
Java
摘要:* 什么是线程池
* 为什么使用线程池
* 线程池的优势
阅读全文
摘要:从题目来看,显然有点大,线程安全问题,从小系统到各分布式系统,其复杂程度可以想象,随之线程安全的抽象性不言而喻。总之就为了下个定义:一个类在可以被多个线程安全调用时就是线程安全的。
阅读全文
摘要:Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问,第一个是 JVM 实现的 synchronized,而另一个是 JDK 实现的 ReentrantLock。这两种锁以及后面提到的cas 和 volatile实际上是同步与互斥的基础。
阅读全文
摘要:java.util.concurrent(J.U.C)大大提高了并发性能,AQS 被认为是 J.U.C 的核心。它核心是利用volatile和一个维护队列。
AQS其实就是java.util.concurrent.locks.AbstractQueuedSynchronizer这个类。 阅读Java的并发包源码你会发现这个类是整个java.util.concurrent的核心之一,也可以说是阅读整个并发包源码的一个突破口。
阅读全文
摘要:ConcurrentHashMap 并不是将每个方法都在同一个锁上同步并使得每次只能有一个线程访问容器,而是使用一种粒度更细的加锁机制来实现更大程度的共享,这种机制被称为分段锁。在这种机制中,任意数量的读取线程可以并发地访问Map,执行读取操作的线程和执行写入操作的线程可以并发地访问Map,并且一定数量的写入线程可以并发地修改Map。这样可以在并发条件下实现更高的吞吐量,而在单线程环境中只损失非常小的性能能。
阅读全文
摘要:熟悉Jdk原理的重要性不言而喻,作为Java开发者或者面试者,了解其实现原理也显得更为装逼
阅读全文
摘要:许多程序算法考试中,用java是个不错的选择,它几乎实现了所有c++能实现的,所以越来越受Acmer的欢迎。总结一下用到的一些技巧和方法。更多关于csp的可参考海岛blog|皮卡丘1. 输出规格化的输出 System.out.printf(); // 与C中...
阅读全文