月眸—java技术交流,技术分享,资源分享
GC算法之复制算法
常见的GC算法有四种:引用计数法,标记清除算法、复制算法、标记整理算法。其中引用计数法效率太慢,现在已经不使用了。标记清除算法由于回收之后存在大量的内存碎片,存在效率和空间问题!为了解决效率问题,引出 【阅读更多...】
JVM运行原理
1.JVM简析 作为一名Java使用者,掌握JVM的体系结构也是很有必要的。 说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java 【阅读更多...】
java死锁练习
package com.sy.lock; import java.util.concurrent.TimeUnit; /** * 描述: 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者 【阅读更多...】
IE下onkeyup事件不稳定的解决方法
在其它浏览器下这个onkeyup事件没问题,但在IE下经常无法触发。 <input type="text" name="aaa" id="aaa 【阅读更多...】
线程池—合理设置线程池大小
平时我们在项目中使用多线程时,建议不要使用jdk自带的四个创建线程池的方法:newCachedThreadPool,newFixedThreadPool,newSingleThreadExecutor 【阅读更多...】
生产者消费者模式代码练习(阻塞队列版)
package com.sy.concurrency; import java.util.concurrent.ArrayBlockingQueue; import java.util.concur 【阅读更多...】
synchronized和lock的区别
区别如下: 1,原始构成 synchronized是关键字,属于JVM层面,通过wait,notify和notifyAll来调度线程。 Lock是具体类,是api层面的锁。 2,使用方法 synchr 【阅读更多...】
Semaphore代码练习
package com.demo.juc; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; 【阅读更多...】
countDownLatch代码练习
package com.demo.juc; import java.util.concurrent.CountDownLatch; import com.demo.enumTest.TestEnu 【阅读更多...】
cyclicBarrier代码练习
package com.demo.juc; import java.util.concurrent.CyclicBarrier; public class TestCyclicBarrier { 【阅读更多...】