java基础
wildpal
这个作者很懒,什么都没留下…
展开
-
Java最简洁加密32位MD5
使用java生成32位字符串的MD5:public static String getMD5(String str) { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.getInstance("MD5"); // 计算md5函数原创 2016-11-29 17:28:28 · 18352 阅读 · 1 评论 -
java1.7集合源码赏析系列:HashMap
HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。继承于java.util.AbstractMap//数据存储 transient Entry<K,V>[] table = (Entry<K,V>[]) EMPTY_TABLE;可以看到hashmap的数据是存在一个数组里面,这个数组放的是Entry对象 Entry部分代码:原创 2016-08-26 14:45:00 · 1123 阅读 · 1 评论 -
java1.7集合源码赏析系列:HashTable、ConcurrentHashMap、HashMap差异分析
HashTable与ConcurrentHashMap均可实现HashMap的功能,对外提供了键值对存储的数据结构。但是在内部结构及实现上有何区别,性能上的差异到底在哪里又是如何导致的,让我们从源码的角度上来进行分析。 1. 声明的区别//hashtable的声明public class Hashtable<K,V> extends Dictionary<K,V> implemen原创 2016-12-01 10:13:42 · 858 阅读 · 0 评论 -
java线程池的使用及案例分享
线程池原理及源码分析传送门Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定原创 2016-12-02 17:14:59 · 9300 阅读 · 0 评论 -
java1.7集合源码赏析系列:线程池原理
Executors支持以下各种方法: 创建并返回设置有常用配置字符串的 ExecutorService 的方法。 创建并返回设置有常用配置字符串的 ScheduledExecutorService 的方法。 创建并返回“包装的”ExecutorService 方法,它通过使特定于实现的方法不可访问来禁用重新配置。 创建并返回 ThreadFactory 的方法,它可将新创建的线程设置原创 2016-12-02 16:24:49 · 924 阅读 · 0 评论