
java
iteye_899
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
synchronized and volatile
synchronized加在方法 上,锁定这个类的对象,加在静态方法上,锁定的是这个类。 volatile:可以对共享变量的值的改变直接反应在主内存中。 一个共享变量的操作步骤如下: 1、将主内存中的变量(java堆)值复制到工作内存中(操作数栈) 2、对共享变量进行操作 3、操作完成后,将共享变量存储到工作内存中 4、将共享变量存回到主内存中。...原创 2015-06-14 11:58:19 · 102 阅读 · 0 评论 -
java 多线程-生产消费者者模式
独立写了一个生产消费者的模式,加强理解多线程编程及线程间的同步及信息交换。 要点: 1、在启动线程时,先需启动生产者。 2、生产者生产满了后,就不能再生产,进入等待状态,直到有消费者进行消费。 3、消费者进行消费时,若没有,则不能进行消费,进入等待状态。直到生产者生产了。 public class TestProduct { public static void main(Str...原创 2015-06-14 18:22:35 · 112 阅读 · 0 评论 -
java线程-线程池
1.Executors.newFixedThreadPool 固定线程数 2、Executors.newCachedThreadPool 按任务数创建线程数 3、newSingleThreadExecutor 单线程 4、newScheduledThreadPool 按固定时间或周期性执行一个任务 publicstaticvoid main(String[] args) { ...原创 2015-06-16 13:56:55 · 86 阅读 · 0 评论 -
java-线程(futureTask、callable)
要取到一个线程的返回值,则线程需要实现callable接口 返回值用future或futureTask来取得 public class FutureTaskTest { public static void main(String[] args) throws InterruptedException, ExecutionException, TimeoutException ...原创 2015-06-16 13:59:33 · 102 阅读 · 0 评论 -
java-线程(lock)
1、synchronized 同步方法及代码块,锁JVM会自动释放,lock,则需要手工管理 try{lock.lock()}finally{lock.unlock()} 2、lock 提供了读锁、写锁,以提高性能.为了保证数据的一致性和完整性,需要读和写是互斥的,写和写是互斥的,但是读和读是不需要互斥的,这样读和读不互斥性能更高些 ReentrantReadWriteLock ...原创 2015-06-16 16:58:31 · 100 阅读 · 0 评论 -
高并发服务器开发原则
1、linux 活跃连接数最大数与系统的内存及系统的句柄相关。一个连接系统就打开一个句柄,所以,若达到系统设置句柄数,则就不能再接收连接请求了。 2、非阻塞方法 epoll,select、pull 3、内存管理,一次分配大点的内存,多次分配内存,对系统性能有较大的影响 4、少用系统调用 5、少做内存拷贝,如读一个文件,则需文件用内核态拷贝至用户态,发送一个文件:则是从用户态拷贝到内核态的过...原创 2015-08-26 23:03:26 · 168 阅读 · 0 评论