Thinking in Java
文章平均质量分 84
CodingSoldier
这个作者很懒,什么都没留下…
展开
-
并发 一 线程池
//线程池 class ThreadPool { public static void main(String[] args) { ////newCachedThreadPool每次execute会创建一个线程。书中建议首选这种,但一些文章不建议用这种。 //ExecutorService es = Executors.newCachedThr...原创 2018-05-27 00:12:31 · 113 阅读 · 0 评论 -
并发 二 后台线程、lockInterruptibly()
所谓后台(daemon)线程,是指程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序不可或缺的部分。因此,当所有非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程。反过来说,只要有任何非后台线程还在运行,程序就不会终止。 class Daemon1{ public static void main(String[] args) throws Except...原创 2018-06-07 23:02:51 · 227 阅读 · 0 评论 -
接口 一 java的回调函数
java的回调函数可以通过接口来实现,代码如下: /** * 定义一个接口, * new出匿名对象Callback的时候,callbackFn可作为回调函数 */ public interface Callback<T> { void callbackFn(T t); } public class Test01<T> { publi...原创 2018-07-16 17:32:52 · 844 阅读 · 0 评论 -
泛型 二 链式存储
使用泛型实现一个自定义的链式存储容器LinkedStack class LinkedStack<T> { private static class Node<U> { U item; Node<U> next; Node() { item = null; next = null; } N...原创 2018-07-23 17:14:44 · 97 阅读 · 0 评论 -
异常 一 随笔
1、异常吞噬 看下面的代码 class OneException extends Exception { public OneException(String s) { super(s); } } class TwoException extends Exception { public TwoException(String s) { ...原创 2018-07-20 16:19:46 · 150 阅读 · 0 评论 -
泛型 一 泛型方法、擦除、边界
class MyHolder<T>{ private T a; public MyHolder(T a){this.a = a;} public T get() { return a; } public void set(T a) { this.a = a; } } class TestMyH...原创 2018-07-21 17:38:16 · 933 阅读 · 1 评论 -
集合 一 实现一个map
1、使用关联数组实现一个键值对数量固定map // 关联数组实现一个map,map数据结构:[[key0,value0],[key1,value1]] class ArrayMap<K,V>{ private Object[][] pairs; private int index; //新建map,须指定map的键值对数量 public Array...原创 2018-07-27 11:55:24 · 241 阅读 · 0 评论