
Java
文章平均质量分 55
BrcLi
这个作者很懒,什么都没留下…
展开
-
jvm内存模型
大多数JVM将内存区域划分为:方法区、虚拟机栈、程序计数器、堆、本地方法栈。其中方法区和堆是线程共享的。1.程序计数器程序计数器类似于传统CPU模型中的PC,每次指定执行后自增,维护下一个将要执行指令的地址。作用是当前线程所执行字节码的行号指示器,JVM中是通过线程切换并分配时间片执行来实现的,任何一个时刻,一个处理器内核只会执行一条线程中的指令,为了线程切换后能恢复到正确的执行位置,每条线程都需...原创 2018-03-02 21:18:09 · 258 阅读 · 0 评论 -
暴力反射改变不可变类:String
我们都知道String是java中一个不可变类,因为String内部是一个final修饰的char数组: private final char value[]; 由于value是私有的final变量,String中也没有提供get和set方法,使得value无法改变。 但是value是一个引用,就像c++中的指针一样,指向一个数组内存的地址,被final修饰无法改变他的引用指向,但是我们可...原创 2018-08-05 13:57:06 · 770 阅读 · 0 评论 -
Java 跳出多重循环:Lable的使用
java 中使用”{“和”}”组成一个代码块,例如我们平时使用到的静态代码块,使用static修饰。 每个代码块可以使用一个Label修饰,Label不是一个关键字,是一个任意标示符,可以理解为一个代码块的标示名字,就像c++中使用goto语句时可以跳转到指定的代码块,而Java中的Label是为循环设计,方便在多重循环中使用break和continue。 在多重循环中,我们经常有需求跳...原创 2018-08-01 22:44:43 · 795 阅读 · 0 评论