- 博客(7)
- 收藏
- 关注
原创 高并发服务器开发原则
1、linux 活跃连接数最大数与系统的内存及系统的句柄相关。一个连接系统就打开一个句柄,所以,若达到系统设置句柄数,则就不能再接收连接请求了。2、非阻塞方法 epoll,select、pull3、内存管理,一次分配大点的内存,多次分配内存,对系统性能有较大的影响4、少用系统调用5、少做内存拷贝,如读一个文件,则需文件用内核态拷贝至用户态,发送一个文件:则是从用户态拷贝到内核态的过...
2015-08-26 23:03:26
126
原创 java-线程(lock)
1、synchronized 同步方法及代码块,锁JVM会自动释放,lock,则需要手工管理 try{lock.lock()}finally{lock.unlock()}2、lock 提供了读锁、写锁,以提高性能.为了保证数据的一致性和完整性,需要读和写是互斥的,写和写是互斥的,但是读和读是不需要互斥的,这样读和读不互斥性能更高些 ReentrantReadWriteLock ...
2015-06-16 16:58:31
69
原创 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
77
原创 java线程-线程池
1.Executors.newFixedThreadPool 固定线程数2、Executors.newCachedThreadPool 按任务数创建线程数3、newSingleThreadExecutor 单线程4、newScheduledThreadPool 按固定时间或周期性执行一个任务publicstaticvoid main(String[] args) { ...
2015-06-16 13:56:55
61
原创 java 多线程-生产消费者者模式
独立写了一个生产消费者的模式,加强理解多线程编程及线程间的同步及信息交换。要点:1、在启动线程时,先需启动生产者。2、生产者生产满了后,就不能再生产,进入等待状态,直到有消费者进行消费。3、消费者进行消费时,若没有,则不能进行消费,进入等待状态。直到生产者生产了。public class TestProduct { public static void main(Str...
2015-06-14 18:22:35
85
原创 synchronized and volatile
synchronized加在方法 上,锁定这个类的对象,加在静态方法上,锁定的是这个类。volatile:可以对共享变量的值的改变直接反应在主内存中。一个共享变量的操作步骤如下:1、将主内存中的变量(java堆)值复制到工作内存中(操作数栈)2、对共享变量进行操作3、操作完成后,将共享变量存储到工作内存中4、将共享变量存回到主内存中。...
2015-06-14 11:58:19
78
原创 踏踏实实弄点技术
面试回来还是有些挫败感,以往只是知道如何使用,对于一些技术深层次的原理知道的很少,也没有持续去砖研下去。踏踏实实打些技术的基础,弄清楚低层的原理。1、IO、线程、SOCKET2、JVM内存模型3、JAVA框架类4、源代码读...
2015-06-13 10:25:56
76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人