Java
Bin594505536
这个作者很懒,什么都没留下…
展开
-
Java 位运算操作符
右移运算符 >>可以理解为除法,例如:8 >> 2 就可以理解为 8 / (2*2) = 2,也可以换算成二进制进行计算,8的二进制为 1000,右移2位之后然后高位补0就变成 0010,再将 0010 转换成十进制 就是 2.所以右移就是一个整除2的过程,右移一位就是除一次,n位就是除n次。同时需要注意的>>是带符号的,也就是说它的高位补充数是由最高位来决定的...原创 2018-02-08 12:40:05 · 339 阅读 · 0 评论 -
Java Unicode 编码互转
将Unicode编码转换为汉字 public String convert(String utfString){ StringBuilder sb = new StringBuilder(); int i = -1; int pos = 0; while((i=utfString.indexOf("\\u", pos)) != -1){ sb.ap原创 2015-12-24 22:54:21 · 584 阅读 · 0 评论 -
Java 动态代理实现及原理
什么是 Java动态代理? Java 的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。 在 java 的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface)、另一个则是 Proxy(Class),这一个类和接口是实现我们动态代理所必须用到的。首先我们先来看看java的API帮助文档原创 2017-09-14 17:21:13 · 452 阅读 · 0 评论 -
HashMap 和 HashTable 的区别
HashMap 和 HashTable 的区别1、HashMap 是非线程安全的,HashTable 是线程安全的。2、HashMap 的键和值都允许有 null 值存在,而 HashTable 则不行。3、因为线程安全的问题,HashMap 效率比 HashTable 的要高。HashMap put 方法的内部存储结构(jdk 1.7)1、HashMap<String, Object>...原创 2018-02-08 11:37:02 · 266 阅读 · 0 评论 -
ArrayList 和 LinkedList 区别
ArrayList 和 LinkedList 区别 1、非线程安全的 2、ArrayList底层是线性表顺序存储结构(数组)数据结构,查询速度快。 3、LinkedList底层是线性表链式存储结构(双向链表)数据结构,增加、删除速度快。 ArrayList add(E e) 方法底层实现过程剖析 1、List list = new ArrayList() 的时候会通过构造函数...原创 2018-02-08 12:33:03 · 352 阅读 · 0 评论 -
HashMap 和 HashTable 的区别
HashMap 和 HashTable 的区别(源码层) 1、HashMap 是非线程安全的,HashTable 是线程安全的。 2、HashMap 的键和值都允许有 null 值存在,而 HashTable 则不行。 3、因为线程安全的问题,HashMap 效率比 HashTable 的要高。 HashMap put(K key, V value) 方法的内部存储结构(jdk 1.7) ...原创 2019-07-03 18:34:02 · 276 阅读 · 0 评论