ChenRuiyz 2019-10-30
goto 保留字(Java当前版本暂且不用,也不让别人用),具体跳转到某一行,其实就是在操作程序计数器。
在虚拟机的概念模型中,字节码解释器的工作就是通过改变程序计数器的值来取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复都等都需要依赖这个程序计数器。
不收JAVA内存限制,但是受物理内存的限制,各个内存总和大约物理内存限制,在动态扩展时出现OutOfMemoryError异常。
在JDK1.4中新加入NIO(new Input/Output)类,引入了一种基于通道(Channel)与缓存区(Buffer)的I/O方式,他可以使用Native函数库直接分配堆外内存,然后通过一个存储在JAVA堆中的DirectByteBuffer对象作为这块内存的引用进行操作,这样可以显著提高性能,因为避免了在JAVA堆中和Native堆中来回复制数据。
GCRoot 无法追踪到此对象,导致此对象无法被回收。默认的jvm 运行参数 -Xms 。因此给jvm分配的内存比较小。结果就是,运行了几分钟,用top命令查看,java 的 cpu使用率为 99%。