代码改变世界

随笔分类 -  Java 笔记

深入分析Java ClassLoader原理

2017-12-08 12:48 by faunjoe88, 331 阅读, 收藏, 编辑
摘要: 一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序, 当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中, 所以经常要从 阅读全文

ConcurrentMap注意事项

2017-12-07 23:19 by faunjoe88, 1007 阅读, 收藏, 编辑
摘要: java.util.concurrent.ConcurrentMap接口和ConcurrentHashMap实现类 只能在键不存在时将元素加入到map中, 只有在键存在并映射到特定值时才能从map中删除一个元素。 主要定义了下面几个方法(K表示键的类型,V表示值的类型):1. V putIfAbse 阅读全文

class<T>和 class<?>类型 有什么区别

2017-12-07 22:59 by faunjoe88, 696 阅读, 收藏, 编辑
摘要: 追问: 也就是说,这个方法能知道返回的是哪种类型(父类),就用T行了?如果完全不知道的就用?用T的得到的对象就不需要类型转换了,而用?的就必需用强转了! 追问: 也就是说,这个方法能知道返回的是哪种类型(父类),就用T行了?如果完全不知道的就用?用T的得到的对象就不需要类型转换了,而用?的就必需用强 阅读全文

Class<T>和Class<?>区别

2017-12-07 22:51 by faunjoe88, 278 阅读, 收藏, 编辑
摘要: Class<T>在实例化的时候,T要替换成具体类Class<?>它是个通配泛型,?可以代表任何类型 阅读全文

hashmap 和 hashtable 的区别

2017-12-07 15:04 by faunjoe88, 180 阅读, 收藏, 编辑
摘要: 1 Hashtable 和 HashMap 做为 Map 的基本特性 两者都实现了Map接口,基本特性相同 - 对同一个Key,只会有一个对应的value值存在 - 如何算是同一个Key? 首先,两个key对象的hash值相同,其次,key对象的equals方法返回真 2 内部数据结构 Hashta 阅读全文

Hashtable详细介绍(源码解析)和使用示例

2017-12-07 14:42 by faunjoe88, 1544 阅读, 收藏, 编辑
摘要: 第1部分 Hashtable介绍 Hashtable 简介 和HashMap一样,Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射。 Hashtable 继承于Dictionary,实现了Map、Cloneable、java.io.Serializable接口。Ha 阅读全文

深入理解HashMap(及hash函数的真正巧妙之处)

2017-12-06 15:48 by faunjoe88, 209 阅读, 收藏, 编辑
摘要: 1、hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组, 另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。 Hashmap实际上是一个数组和链表的结合体(在数据结构中 阅读全文

HashMap中的equals和hashCode

2017-12-06 15:27 by faunjoe88, 594 阅读, 收藏, 编辑
摘要: HashMap的存储方式 HashMap的实现方式是数组链,不同的对象根据其哈希码(hashCode方法的返回值)找到对应的数组下标,然后存入数组。不同的对象有相同的哈希码时怎么办?这就由数组链中的链来解决了,相同哈希码的对象都放在同一条链上,该链的链头指向数组,进而形成数组链。 当第一个对象已经存 阅读全文

HashMap的工作原理-hashcode和equals原理的再次深入

2017-12-06 14:11 by faunjoe88, 277 阅读, 收藏, 编辑
摘要: 前言 首先再次强调hashcode (==)和equals的真正含义(我记得以前有人会说,equals是判断对象内容,hashcode是判断是否相等之类): equals:是否同一个对象实例。注意,是“实例”。比如String s = new String("test"); s.equals(s), 阅读全文

HashMap实现原理分析(面试问题:两个hashcode相同 的对象怎么存入hashmap的)

2017-12-06 13:54 by faunjoe88, 4398 阅读, 收藏, 编辑
摘要: 1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度 阅读全文

java 如何使的float保留2位或者多位小数

2017-02-07 17:48 by faunjoe88, 30481 阅读, 收藏, 编辑
摘要: 方法1: float f = 34.232323; BigDecimal b = new BigDecimal(f); float f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue(); // b.setScale(2, BigDecim 阅读全文

java 反射

2016-10-14 11:50 by faunjoe88, 110 阅读, 收藏, 编辑
摘要: 阅读全文

类的加载过程、类加载器

2016-10-13 11:15 by faunjoe88, 116 阅读, 收藏, 编辑
摘要: 阅读全文

java 类和成员的修饰符

2016-10-11 14:20 by faunjoe88, 113 阅读, 收藏, 编辑
摘要: 阅读全文

Java 高精度数字

2016-10-11 14:19 by faunjoe88, 154 阅读, 收藏, 编辑
摘要: BigInteger // 高精度整数 BigDecimal //高精度小数 小数位数不受限制 阅读全文

java基础类型、包装器

2016-10-10 11:30 by faunjoe88, 140 阅读, 收藏, 编辑
摘要: char a = 'h'; //类包装器 Character aobj = a ;//自动装箱 byte b = 6; Byte bobj = b; short s = 234; Short sobj = s; boolean b = true; Boolean bobj = b; int i = 阅读全文