摘要:
Java并发之Executors简介 ExecutorExecutorService和ScheduleExecutorService 几种线程池ThreadPollExecutorScheduleThreadPollExecutor和ForkJoinPool 生产者-消费者模型 Java并发之Exe 阅读全文
摘要:
java中单例的几种写法 一单例模式常见的写法 二枚举类型实现单例模式 java中单例的几种写法 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。 单例通常有很多种写法,但是性能和效果却是差距挺大。下面列举了几种常见的写法 阅读全文
摘要:
Java equals compareTo()的区别 看JDK源代码尤其是集合框架源代码的时候,经常会看见两个方法: int equals(Object obj); int compareTo(Object obj); 在集合框架中大多数集合类是采用equals方法来对key进行区分的,例如Hash 阅读全文
摘要:
Java getClass() VS instanceof VS == 含义 getClass() 返回调用对象object的运行时类(runtime class),一个Class实例。 a instanceof T 返回a是否是T类型的实例或者T类型的子类型的实例 a == b 判断a和b引用的是 阅读全文
摘要:
HashMap与LinkedHashMap 简介 二者的区别 源码阅读 Best Practices HashMap与LinkedHashMap 1. 简介 在日常开发中我们经常会批量操作数据,因此很多高级语言除了提供数组,还给我们提供很多高级的、抽象的数据类型来让我们处理批量数据时得心应手。由于这 阅读全文
摘要:
位运算的一些用例 位运算 几乎每种编程语言都为我们提供一种运算,它直接操作二进制数据,这种运算叫做位运算。 位运算分为移位、取反、与、或、异或、非,其中移位又包括左移位、右移位、左无符号移位、右无符号移位。 含义Java写法 与 a & b 或 a | b 异或 a ^ b 非(取反) ~a 左移 阅读全文
摘要:
常见字符集和编码方式 ASCII、Unicode、GBK、GBK2312、UTF-8这些字符集和编码方式的名词总是让我们纠结,那么他们有什么区别呢? 一般来讲,除了UTF-8是字符集Unicode的编码方式,其余的例如ASCII、GBK等都属于字符集,它们为每一个字符集的字符都赋予了一个值,这个值可 阅读全文
摘要:
堆和堆的应用堆排序和优先队列 堆 堆的应用堆排序 堆的应用优先队列 堆的应用海量实数中一亿级别以上找到TopK一万级别以下的数集合 总结 references 堆和堆的应用:堆排序和优先队列 1.堆 堆(Heap)是一种重要的数据结构,是实现优先队列(Priority Queues) 首选的数据结构 阅读全文
摘要:
TCP中的NO_DELAY TCP网络优化的两种机制 write-write-read模式带来的问题 TCP NO_DELAY选项 TCP CORK选项 TCP中的NO_DELAY 1.TCP网络优化的两种机制 TCP(Transmission Control Protocol 传输控制协议)是一种 阅读全文
摘要:
IO复用 IO模型 1 阻塞IO 2 非阻塞IO 3 IO复用 4 信号驱动IO 5 异步IO 6 同步IO与异步IO 7 5种IO模型的Java示例 总结 References 1. IO复用 进程需要这样一种功能:内核一旦发现进程指定的一个或多个IO条件(事件)就绪(输入准备好被读取或者输出准备 阅读全文