javaee
文章平均质量分 56
yitian_hm
变秃了也变强了
展开
-
java阻塞队列数据操作详解
文章目录阻塞队列消费者阻塞生产者阻塞插入操作获取数据操作阻塞队列队列是一种只允许在标的前端进行删除操作,而在表的藕断进行插入操作的线性表。阻塞队列和一班队列的不同之处在于阻塞队列是阻塞的,这里的阻塞指的是操作队列的线程的一种状态。在阻塞队列中,线程阻塞有如下两种情况。消费者阻塞在队列为空时,消费者端的线程都会被自动阻塞(挂起),直到有数据放入队列,消费者线程会被自动唤醒并消费数据。生产者阻塞在队列已满且没有可用空间时,生产者端的线程都会被自动阻塞(挂起),直到队列中有空的位置腾出,线程会被自动唤原创 2020-06-26 18:37:26 · 910 阅读 · 0 评论 -
如何进行锁优化
如何进行锁优化减少所持有的时间减少锁持有的时间指在有线程安全要求的程序上加锁来尽量减少同步代码块对锁的持有时间减小锁粒度减小锁粒度指将单个耗时较多的锁操作拆分为多个耗时较少的锁操作来增加锁的并行度,减少同一个锁上的竞。在减少锁的竞争后,偏向锁,轻量锁的使用率才会提高。减小锁粒度最典型的案例就是ConcurrentHashMap中的分段锁。锁分离锁分离只根据不同的应用场景将锁的功能进行分离,以应对不同的变化,最常见的锁分离思想就是读写锁(ReadWriteLock),它根据锁的功能将锁分离成读锁原创 2020-06-24 15:23:10 · 455 阅读 · 0 评论 -
重量级锁轻量级锁
重量级锁和轻量级锁重量级锁是基于操作系统的互斥量(Mutex Lock)而实现的锁,会导致进程在用户态和内核态之间切换,相对开销较大。synchronized在内部基于监视器锁(monitor)实现,监视器锁基于底层的操作系统的Mutex Lock实现,因此synchronized属于重量级锁,重量级锁需要在用户态和核心态之间做转换,所以synchronized的运行效率不高。jdk在1.6版本之后,为了减少获取锁和释放锁所带来的性能消耗及提高性能,一如了轻量级锁和偏向锁。偏向锁的主要目的实在同一个原创 2020-06-24 14:45:14 · 778 阅读 · 0 评论 -
java 公平锁和非公平锁区别
公平锁和非公平锁的区别公平锁 指在分配锁前检查是否有线程在排队等待获取该锁,优先将锁分配给排队时间最长的线程非公平锁 指在分配锁时不考虑线程排队等待的情况,直接尝试获取锁,在获取不到锁时再排到队尾等待因为公平锁需要在多核的情况下维护一个锁线程等待队列,基于该队列进行锁的分配,因此效率比非公平锁低很多,java中的synchronized时非公平锁,ReentranLock默认的lock方法采用的时非公平锁。读写锁:ReadWriteLock在Java中通过Lock接口及对象可以方便的为对象加原创 2020-06-24 11:23:31 · 1907 阅读 · 0 评论 -
eclipse 没有server 无法创建tomcat server
eclipse集成Tomcat: 打开eclipse - 窗口 - 首选项 - 服务器 - 运行时环境 找到Tomcat然后添加。eclipse添加插件: 开发WEB项目时要集成Tomcat可以并不是所有的eclipse都有服务器选项,如果不幸你的正好没有,不要怕。首先我们打开e...转载 2018-03-11 09:38:12 · 1156 阅读 · 0 评论 -
BigDecimal关于构造方法简述
示例import java.math.BigDecimal;public class BigDecimalDemo{ static final int location=10; public static void main(String[] args){ BigDecimalDemo b=new BigDecimalDemo(); System.out.println("两个数字相加结果是:...转载 2018-04-26 11:17:29 · 2457 阅读 · 0 评论