摘要: Error: Fatal exception occurred, Program will exit Accuse: 这种错误一般是 JVM 参数有问题,可以在 Eclipse 中通过 try catch 去捕获 Throwable 查看详细错误细节。 相关文章: 【原创】Java class 存在 阅读全文
posted @ 2012-07-25 16:32 zhenxu.liu 阅读(967) 评论(0) 推荐(0)
摘要: Bootstrap Classloader: 加载 JVM 自带的 jar 或 zip 文件,JRE\lib 目录下的 jar 包,但不包括 JRE\lib\ext 内的 jar 包,用System.getProperty("sun.boot.class.path") 可得到虚拟机搜索的包名。 Ex 阅读全文
posted @ 2012-07-25 16:31 zhenxu.liu 阅读(340) 评论(0) 推荐(0)
摘要: 如何判断对象是否可以被回收掉?对象已经没有价值了?对象已死? 1. 引用计数算法 给对象添加一个引用计数器,每当该对象被其它对象引用的时候,计数器就加1,当某一个引用失效的时候就减1,如果对象的引用计数器持续一段时间内都为0,该对象就可以被回收。 应用:COM、FlashPlayer、Python 阅读全文
posted @ 2012-07-25 16:30 zhenxu.liu 阅读(251) 评论(0) 推荐(0)
摘要: 1. 使用 New 关键字实例化对象的时候。 2. 读取或设置一个类的静态字段的时候。 3. 调用一个类的静态方法的时候。 4. 通过java.lang.reflect包中的方法对类进行反射调用的时候。 5. 当初始化一个类时,发现其父类还没有进行初始化,则需要先触发其父类初始化。 6. 当虚拟机启 阅读全文
posted @ 2012-07-25 16:29 zhenxu.liu 阅读(281) 评论(0) 推荐(0)
摘要: 堆:-Xmx -Xms 栈:-Xss 方法区(常量池):-XX:PermSize -XX:MaxPermSize 直接物理内存:-XX:MaxDirectMemorySize 新生代:-Xmn 阅读全文
posted @ 2012-07-25 16:29 zhenxu.liu 阅读(137) 评论(0) 推荐(0)
摘要: JAVA GC为了针对不同存活率场景采用不同的算法进行高效回收,采取了分代策略,通常是:“新生代(Young Generation)”和“老年代(Tenured Generation)”。但是看比较多的文章时,总发现把老年代Tenured Generation说成Old Generation,我想命 阅读全文
posted @ 2012-07-25 16:28 zhenxu.liu 阅读(2024) 评论(2) 推荐(1)
摘要: Java Management Extension (JMX) 即 Java 管理扩展,在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务。通常使用JMX来监控系统的运行状态或管 理系统的某些方面,比如清空缓存、重新加载配置文件等。 JMX可以使Java应 阅读全文
posted @ 2012-07-25 16:27 zhenxu.liu 阅读(398) 评论(0) 推荐(0)
摘要: jstat 是 JVM 统计信息监视工具,如下: 我通过 jstat 来监视1192的Java进程统计信息,各项监视参数: S0、S1 代表两个Survivor区; E 代表 Eden 区; O(Old)代表老年代; P(Permanent)代表永久代; YGC(Young GC)代表Minor G 阅读全文
posted @ 2012-07-25 16:27 zhenxu.liu 阅读(19671) 评论(0) 推荐(0)
摘要: 例子:-Xmx=512M -Xms=64M Java堆可以通过Xmx和Xms两个参数指定最大内存512M,最小内存64M。以下为两个常见疑问: 1. 既然都指定了 Xmx 为什么还要设置 Xms 呢? Xms 是必不可少的配置,Xms 是 GC 算法进行垃圾收集评判标准中一个必不可少的元素。另外-X 阅读全文
posted @ 2012-07-25 16:26 zhenxu.liu 阅读(11534) 评论(0) 推荐(1)
摘要: 在上一篇博文【原创】Java进程的内存使用情况中我们知道32位环境中Java进程的最大内存使用为2G,Java堆理论最大为1.75G,Java堆实际最大为1.5G,那Java进程的其它内存都哪里去了呢? In summary, a Java process comprises 1. Java VM 阅读全文
posted @ 2012-07-25 16:24 zhenxu.liu 阅读(632) 评论(0) 推荐(0)
摘要: 通过 java 命令执行 class 程序或者启动基于 Java 的中间件(Weblogic、Workshop、Eclipse、SQL Developer)时,Java运行时会创建一个操作系统进程,就像运行基于C的程序时一样,可以通过JPS命令查看到。 作为操作系统进程,Java 运行时面临着与其他 阅读全文
posted @ 2012-07-25 16:21 zhenxu.liu 阅读(3938) 评论(0) 推荐(1)
摘要: 使用Jconsole的时候,出现<pid> is not a managed VM异常,如下: 我写了个Temp测试类,首先通过jps命令查看PID,然后通过jconsole就出现上面的错误。 具体原因是在启动JVM的时候没有配置jconsole相关的JVM参数:Dcom.sun.managemen 阅读全文
posted @ 2012-07-25 16:20 zhenxu.liu 阅读(659) 评论(0) 推荐(0)
摘要: 对于在同一个bash下进行的多个工作,这些工作所触发的进程都必须来自当前shell的子进程。在后台进行的进程不能等待前台shell的输入,即后台进程不能与用户互动。bash只能管理自己的工作而不能管理其他bash的工作。 一、命令丢到后台执行:& 在命令的结尾处添加一个 & ,即可将该命令扔到后台去 阅读全文
posted @ 2012-07-25 16:17 zhenxu.liu 阅读(180) 评论(0) 推荐(0)
摘要: i 属性是 Linux 文件隐藏属性中的一个部分。 有 i 属性的文件不能被删除、改名、写入、设置连接等,也就是说对于具有 i 属性的文件你不能坐任何操作。这对于安全方面的需求非常有帮助。 只有在 Ext2/Ext3 文件系统上才能使用 i 属性。 设置i属性: chattr +i hiddenfi 阅读全文
posted @ 2012-07-25 16:16 zhenxu.liu 阅读(673) 评论(0) 推荐(0)
摘要: 在Linux中,管道是一种使用非常频繁的通信机制。从本质上说管道是一种让各个命令共享数据的一个文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为: 一、限制管道的大小。 实际上,管道是一个固定大小的缓冲区。在Linux中,该缓冲区的大小为1页,即4K字节,使得它的大 阅读全文
posted @ 2012-07-25 16:15 zhenxu.liu 阅读(245) 评论(0) 推荐(0)
摘要: 数据流重定向就是将某一个命令执行后应该要出现在屏幕上的数据传输到其它的地方,例如文件或者设备上。 > 输出导向,如果目标存在数据,则原始数据被替换掉; >> 输出导向,如果目标存在数据,则在原数据后面追加。 标准输入:代码0,使用<或<< 标准输出:代码1,使用>或>> 错误输出:代码2,使用2>或 阅读全文
posted @ 2012-07-25 16:14 zhenxu.liu 阅读(242) 评论(0) 推荐(0)
摘要: 在Linux中,目录也是文件的一种。 用户类型:文件所有者(u)、同组用户(g)、其它用户(o)、所有用户(a) 权限类型:空(-)没有权限、r 读权限、w 写权限、x 可执行权限 数字权限类型:0没有权限、4读权限、2写权限、1可执行权限 在显示文件/目录的时候,最前方表示权限,如下: -rw-r 阅读全文
posted @ 2012-07-25 16:13 zhenxu.liu 阅读(1347) 评论(0) 推荐(0)
摘要: export 命令的目标是将自定义变量转换为系统的环境变量 当涉及到父子进程的时候,子进程仅仅会继承父进程的环境变量,而不会继承父进程的自定义变量,如果要想让子进程能够访问、使用父进程中的自定义变量资源,必须使用export命令。 错误的操作: name="orientsun java blog" 阅读全文
posted @ 2012-07-25 16:13 zhenxu.liu 阅读(276) 评论(0) 推荐(0)