随笔分类 -  JVM基础知识

Java线程的五种状态详解
摘要:状态转换图 1.new状态:通过new关键字创建了Thread或其子类的对象 2.Runnable状态:即就绪状态。可从三种状态到达,new状态的Thread对象调用start()方法,Running状态的线程时间片用完,或者Blocked状态的线程被唤醒。 3.Running状态:正在执行的状态, 阅读全文

posted @ 2016-08-18 14:21 孜然狼 阅读(562) 评论(0) 推荐(0)

通过消费者和生产者的多线程程序,了解Java的wait()和notify()用法
摘要:仓库类 生产者类 消费者类 Main 输出(部分) wait()可以让持有当前对象进入等待状态,等待notify()的唤醒。 阅读全文

posted @ 2016-08-18 11:06 孜然狼 阅读(267) 评论(0) 推荐(0)

Java类的finalize()方法
摘要:Java的Object类提供了一个finalize()方法,签名如下: 该方法在JVM进行垃圾回收时之行,所以任何类都可以Override该方法,来让自己的类的实例在被回收之前,执行一系列动作。 可以通过如下两种方式来让主动让JVM进行垃圾回收: 但是JVM不保证立即执行gc操作。 finalize 阅读全文

posted @ 2016-08-17 11:22 孜然狼 阅读(515) 评论(0) 推荐(0)

Java中用反码表示整数,及int到byte的转换
摘要:Java中的整数都是通过补码表示的,当整数为正数时,补码和原码相同,当整数为负数时,补码为原码按位取反(符号位除外),然后加1. 通过一些例子可以比较明显的看出: 在将int通过(byte)方式转换为byte类型时,截取最后一个字节。 所以byte的值由int最后一个字节决定,最后一个字节的第一位变 阅读全文

posted @ 2016-08-11 17:56 孜然狼 阅读(2489) 评论(0) 推荐(0)

Java中String两种不同创建方式的区别及intern的用法
摘要:一, Java有两种创建字符串的方式, 用双引号创建和用new来创建。这两种方式创建出来的String存储的位置上不同的。当使用双引号方式时,相当于显式的声明了字符串的值(字面值),所以是作为一个常量,存储在方法区的常量池中。使用new方式来创建String时,JVM会在堆上分配一块区域,存储一个S 阅读全文

posted @ 2016-08-02 14:22 孜然狼 阅读(3963) 评论(0) 推荐(1)

导航