查看JVM中的线程--如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3890280.html"谢谢--ThreadGroup(线程组)1.一个线程的集合,也可包含其他线程组2.线程组构成一棵树,除了初始化线程组外,每一个线程组都有一个父线程组3.允...
分类:
编程语言 时间:
2014-08-04 17:11:17
阅读次数:
702
远程方法调用(Remote Method Invocation,RMI)从JDK1.1就已经实现,它大大增强了Java开发分布式应用的能力。可以实现通过网络完成不同JVM间的通信,不仅可以传递基本的数据类型,对象也是可以传递的。RMI是JVM间的通信,如果服务器或客户端不是Java语言开发的,可.....
分类:
其他好文 时间:
2014-08-04 01:48:06
阅读次数:
233
官方文档见:http://docs.sun.com/source/819-0084/pt_tuningjava.htmljava启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有j...
分类:
编程语言 时间:
2014-08-03 20:35:15
阅读次数:
272
Tomcat架构图 Tomcat与JVM版本优化Tomcat的运行是基于Java的虚拟机。SUN的JVM动态库有client和server两个版本,分别针对桌面应用和服务器应用做了相应的优化,client版本加载速度较快,server版本加载速度较慢但运行起来较快。在命令行输入 java -vers...
分类:
其他好文 时间:
2014-08-03 20:31:15
阅读次数:
550
基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是J2SE 5.0提供的新功能,跟泛型、变长参数等一样,这也是一颗“语法糖”,之前介绍jvm早期优化的时候说过,语法糖对运行期的代码没有任何影响,其目的仅仅是方便程序员使用,所有语法糖编译后都将会还原成基础语法。这次介绍的自动装箱和拆箱也不例外。看下头的例子:
public class Demo
{
...
分类:
编程语言 时间:
2014-08-02 20:57:44
阅读次数:
313
(1)引用计数法
这是最经典和最古老的一种,它的工作原理是为每个对象配备一个计数器,只有这个对象被引用了,引用计数器就加1,当引用失效时,计数器减一,只要计数器为0,意味着不再被使用,于是该对象就可以被回收了。
优点:实现简单;
缺点:无法处理循环引用情况。即有应该被回收的垃圾对象A、B,他们互相引用,除此之外无其他引用,然而他们计数器值不是0,因此无法回收,从而造成内存泄漏。
(2...
分类:
编程语言 时间:
2014-08-02 18:31:14
阅读次数:
257
Cache BuffersLRU Chain闩锁竞争与解决
当用户进程需要读数据到Buffer Cache时或Cache Buffer根据LRU算法进行管理等,就不可避免的要扫描LRU List获取可用Buffer或更改Buffer状态,我们知道,Oracle的Buffer Cache是共享内存,可以为众多并发进程并发访问,所以在搜索的过程中必须获取Latch(Latch是Oracle的一种串行锁机制,用于保护共享内存结构),锁定内存结构,防止并发访问损坏内存中的数据(我们必须认识到对于数据的访问、Bu...
分类:
其他好文 时间:
2014-08-02 15:36:23
阅读次数:
393
复制算法,它将堆上的内存分为两个大小相等的区域,一个是空闲区域,一个是活动区域。在程序运行中,实际使用的是活动区域,也就是有50%的空间被浪费掉。 复制算法的实现过程:1.找出活动空间中所有存活的对象。2.将这些存活的对象复制到空闲区域。3.将之前的活动空间清空,然后,就变为空闲空间了,而...
分类:
其他好文 时间:
2014-08-02 12:18:43
阅读次数:
199
the Gemfire consultant add one more parameter to JVM -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider to be honest, I had no idea what it was. so I googled it. the key thin...
分类:
编程语言 时间:
2014-08-02 01:57:13
阅读次数:
235
下面我们这篇博客来说一下java中是怎么合理的利用内存的,怎么将内存进行划分,做到各司其责,使系统平稳高效运行。
首先要知道的是java程序运行在JVM上,可以把JVM理解成java程序和操作系统之间的桥梁。因此JVM是内存分配原理的基础和前提。
一个完整的java运行程序会涉及一下内存区域:
(1) 寄存器(registers):JVM内部虚拟寄存器,这是速度最快的最快的存储...
分类:
编程语言 时间:
2014-08-01 19:43:52
阅读次数:
227