随笔分类 - java&&kotlin
摘要:kotlin有哪些很爽的操作 属性代理 && 接口代理 && 运算符重载 先看一段代码 private val a by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { 2 } 官方:属性委托是委托属性的getter/setter方法,它允许委托对象在读取和写入值
阅读全文
摘要:lambda与匿名内部类 当lambda表达式中引用到this,指示的是外部类的引用这个时候编译器会创建匿名内部方法,并且在程序运行期间动态的并加载内部类,可以使用java -Djdk.internal.lambda.dumpProxyClasses class文件名 来将运行时的的内部类的字节码输
阅读全文
摘要:kotlin 的in 与 out kotlin: out in java: ? extends ? super public class Fanxing { private static class A { } private static class B extends A { } private
阅读全文
摘要:java垃圾收集 首先我们来思考一下什么对象是垃圾需要被回收? 引用计数算法 每个对象都会有一个整形值用来记录当前他被几个reference类型所持有,当该整型值为0时就表示该对象要被回收。这种回收算法有的明显问题就是存在循环引用的现象,比如A的一个Field是B,B的Filed是A,这样俩个对象就
阅读全文
摘要:开始先简要介绍一下class文件结构 class文件的开头4个字节16进制为: CA FE BA BE 称之为magic number 接下来4个字节与java版本号相关 04 05两个字节放置的是小版本号 06 07两个字节放置的是大版本号 08 09放置的是常量池大小 - 1.一般常量池索引从1
阅读全文