摘要:Method Handle与反射 如无特殊说明,本文所有代码均基于JDK1.8.0_221 Method Handle入门 反射我们都知道,为我们提供了运行时对类的成员方法访问的手段,极大地提高了Java语言的动态性,但是反射往往意味着效率低下,但是在JDK7以前为了利用反射带来的动态性,我们又不得
阅读全文
|
12 2020 档案
摘要:Method Handle与反射 如无特殊说明,本文所有代码均基于JDK1.8.0_221 Method Handle入门 反射我们都知道,为我们提供了运行时对类的成员方法访问的手段,极大地提高了Java语言的动态性,但是反射往往意味着效率低下,但是在JDK7以前为了利用反射带来的动态性,我们又不得
阅读全文
摘要:并发与并行 学习并发编程之初好像就一直对这个问题含混不清,在阅读《Java8实战》以及网络资源的时候对这个问题有了更进一步的认识,特此梳理一下 什么是并发、并行? 这里引用Java8实战中的一张图片来加以说明 可能从上图简单来看,并发是单处理器核心多任务的交替执行,并行是多任务多处理器核心的同时执行
阅读全文
摘要:关于注解的一点点思考 简介 Java注解是在JDK1.5被引入的技术,配合反射可以在运行期间处理注解,配合apt tool可以在编译器处理注解,在JDK1.6之后,apt tool被整合到了javac里面。 什么是注解 注解其实就是一种标记,常常用于代替冗余复杂的配置(XML、properties)
阅读全文
摘要:Class常量池、运行时常量池、字符串常量池 class常量池 java代码经过编译之后都成了xxx.class文件,这是java引以为傲的可移植性的基石。class文件中,在CAFEBABE、主次版本号之后就是常量池入口了,入口是一个u2类型的数据,也就是占据2个字节,用来给常量池的容量计数,假设
阅读全文
摘要:JDK8HashMap 文中提及HashMap7的参见博客https://www.cnblogs.com/danzZ/p/14075147.html 红黑树、TreeMap分析详见https://www.cnblogs.com/danzZ/p/14068984.html 成员变量 //同jdk7 s
阅读全文
摘要:Integer中的奇妙位运算 参考资料 https://segmentfault.com/a/1190000015763941 highestOneBit(int i) 函数的作用是获得传入参数的最高位的1,对于正数来说返回值为小于i的最大二次幂,对于负数来说永远是负数的最大值即-2^31 例如:7
阅读全文
摘要:JDK7HashMap 成员变量 HashMap中定义了非常多的成员变量以及常量,各成员变量含义具体如下: //默认初始化长度-16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //最大容量 static final i
阅读全文
摘要:事先声明以下代码基于JDK1.8版本 参考资料 大部分图片引自https://www.jianshu.com/p/e136ec79235c侵删 https://www.cnblogs.com/skywang12345/p/3245399.html#!comments https://www.cnbl
阅读全文
|