随笔分类 -  java

concurrent
摘要:count++; 这条语句由3条指令组成: (1)将 count 的值从内存加载到 cpu 的某个寄存器r (2)将 寄存器r 的值 +1,结果存放在 寄存器s (3)将 寄存器s 中的值写回内存 count++; 这条语句由3条指令组成: (1)将 count 的值从内存加载到 cpu 的某个寄存 阅读全文

posted @ 2017-12-06 04:57 satyrs 阅读(245) 评论(0) 推荐(0)

JVM 03(essential)
摘要:字段表 field_info:接口或类中声明的变量。 字段的作用域(public,private,protected修饰符),是类级变量还是实例级变量(static修饰符),可变性(final),并发可见性(volatile修饰符,是否强制从主内存读写),是否可序列化(transient修饰符),字 阅读全文

posted @ 2017-12-06 04:57 satyrs 阅读(146) 评论(0) 推荐(0)

GC
摘要:如何判断对象可回收? 1 引用计数器 循环引用问题 对象添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。 2 根搜索 GCRoots为起始,向下开始搜索,走过路径为reference chain。当一个对象到GC 阅读全文

posted @ 2017-10-15 06:24 satyrs 阅读(173) 评论(0) 推荐(0)

JVM 02(essential)
摘要:内存 :code segment(代码区 二进制代码),data segment(数据区),stack(栈),heap(堆) 静态变量(类级别)/字符串常量 数据区(基本类型,final,static) 局部变量(string s = "Hello world!";函数参数) 栈 new/动态分配内 阅读全文

posted @ 2017-10-13 00:01 satyrs 阅读(212) 评论(0) 推荐(0)

JVM 01(essential)
摘要:JVM JRE JDK class loader + runtime data areas + excution engine class loader{load + link + initialize} 加载.class文件(从哪里加载、classpath的设置),编译,内存分配(有默认值的变量及 阅读全文

posted @ 2017-09-29 19:15 satyrs 阅读(156) 评论(0) 推荐(0)

tips(java always to be continue...)
摘要:auto-boxing and cache problem http://blog.csdn.net/xad707348125/article/details/47017633 自动装箱时调用valueof使一定范围int值在cache中,而若要修改真实值需要reflect里的set,必须要获得ac 阅读全文

posted @ 2017-09-28 07:35 satyrs 阅读(98) 评论(0) 推荐(0)

maps in java(java)
摘要:1 hashmap(abstractmap clonable serializable) 2 java.util.HashTable collection未有之前的array implementation,drooped,但是 thread safe,overhead thread写map即call 阅读全文

posted @ 2017-09-28 06:55 satyrs 阅读(99) 评论(0) 推荐(0)

导航