`
文章列表

JAVA实现双向链表

http://wangyu.iteye.com/blog/190743
http://blog.csdn.net/dadoneo/article/details/6553143

堆排序

package al; import java.util.Arrays; /** * 堆排序. * * @author chenlb 2008-12-28 下午03:52:53 */ public class HeapSort { private static int parentIdx(int childIdx) { return (childIdx - 1) / 2; // 索引从0开始, 注意childIdx=0时返回0 } private static int leftChildIdx(int parentIdx) { r ...

优先队列

http://blog.csdn.net/a352193394/article/details/7210435
Java:基于LinkedList实现栈和队列 http://zhangjunhd.blog.51cto.com/113473/69912 基于数组实现栈 http://blog.csdn.net/fengyifei11228/article/details/5625961 Java数组实现循环队列 http://blog.csdn.net/microtong/article/details/4626224

ClassLoader小结

    博客分类:
  • JVM
负责装载class文件;这个文件来源可能是压缩包、网络、运行时编译出的或者自动生成的class文件,jvm spec没有规定必须从什么地方加载。   jvm中默认提供了三种系统类加载器: 1)、启动类加载器Bootstrap ClassLoader,负责加载%JAV ...
http://www.yesky.com/334/1951334.shtml
      在本例中,将接收客户连接的操作单独由一个线程完成,把接收数据和发送数据的操作由另一个线程完成,这可以提高服务器的并发性能。       负责接收客户连线的线程按照阻塞模式工作,如果收到客户连接,就向selector注册读就绪和写就绪事件,否则进入阻塞状态,直到接收到了客户的连接。负责接收数据和发送数据的线程按照非阻塞模式工作,只有在读就绪和写就绪的事件发生时,才执行相应的接收数据和发送数据操作。   package com.test.socket.nio.thread2; import java.io.*; import java.nio.*; import jav ...
在非阻塞模式下,EchoServer只需要启动一个主线程,就能同时处理3件事: 1,接收客户的连接 2,接收客户发送的数据 3,接收客户发回响应的数据   package com.test.socket.nio.nonblocking; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.channels.SelectionKey; import j ...
EchoServer采用阻塞模式,用线程池中的工作线程处理每个客户连接。 EchoClient也采用阻塞模式,单线程。   package com.test.socket.nio.blocked; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import ja ...
创建一个EchoServer和一个EchoClient类,EchoServer用于从监听从客户端输入的字符串,当客户端输入"bye"时停止   package com.test.socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; im ...
Semaphore 信号量,就是一个允许实现设置好的令牌。也许有1个,也许有10个或更多。 谁拿到令牌(acquire)就可以去执行了,如果没有令牌则需要等待。 执行完毕,一定要归还(release)令牌,否则令牌会被很快用光,别的线程就无法获得令牌而执行下去了。   请仔细体会里面关于仓库的处理, 1 是如何保证入库时,如果仓库满就等待, 2 出库时,如果仓库无货就等待的。 3 以及对仓库只有10个库位的处理。 4 对同步问题的处理。 package com.test.current; import java.util.concurrent.Semaphore; ...
http://www.ibm.com/developerworks/cn/java/j-lo-javaio/index.html

线程池小例

package com.test.current; import java.io.File; import java.io.FileInputStream; import java.util.ArrayList; import java.util.Scanner; import java.util.concurrent.Callable; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors ...

理解ThreadLocal

http://lujh99.iteye.com/blog/103804
Global site tag (gtag.js) - Google Analytics