1.是否可以在static环境中访问非static变量? static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何 ...
分类:
编程语言 时间:
2016-07-21 00:52:16
阅读次数:
309
运行时数据区域 Java虚拟机在执行Java的过程中会把管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,而有的区域则依赖线程的启动和结束而创建和销毁。 Java虚拟机包括下面几个运行时数据区域: 程序计数器 程序计数器是一块较小的 ...
分类:
编程语言 时间:
2016-07-20 13:04:53
阅读次数:
164
Java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 java. ...
分类:
编程语言 时间:
2016-07-19 20:44:32
阅读次数:
131
一、文章来由来阿里玩Java也有一个多月了,一直对Java虚拟机比较感兴趣,而ClassLoader是整个class载入过程中很重要的组件。而classloader有个双亲委派模型,师兄说这个模型不能破坏,于是打赌一试。相信如果问:为什么要双亲委派,可能有人可以侃侃而谈,但是说到为什么要这么分层,为什么要分三层,如何绕过双亲委派模型。。。这就不是那么容易了,这个时候就需要一些专研了。二、classl...
分类:
其他好文 时间:
2016-07-19 18:59:18
阅读次数:
229
开篇搞IT有几年了,也学了不少框架中间件之类的东西。东西越学越多,越感觉迷茫,后来突然觉醒,发现弄懂技术的基础原理和算法这些基本的东西,才是自己继续往下走的根本。
偶然发现有一本书教人写JVM,叫自己动手写Java虚拟机,于是萌生把学习Jvm的过程记录下来,目标是能自己写一个最简单的JVM,能运行Java程序。
要说JVM,首先先认识一下Class文件这东西。什么是Class文件什么是Class...
分类:
其他好文 时间:
2016-07-19 10:32:31
阅读次数:
142
一、java虚拟机底层结构详解我们知道,一个JVM实例的行为不光是它自己的事,还涉及到它的子系统、存储区域、数据类型和指令这些部分,它们描述了JVM的一个抽象的内部体系结构,其目的不光规定实现JVM时它内部的体系结构,更重要的是提供了一种方式,用于严格定义实现时的外部行..
分类:
编程语言 时间:
2016-07-17 18:07:49
阅读次数:
310
构造方法探析编译环境
Windows 10 Pro
jdk1.8.0_91
如果没有特殊说明,下面程序都有javac、java的编译运行过程。构造方法的特点
方法名与类名相同。
不用定义返回值类型。
没有具体的返回值。
此次整理是按照知识点具体为例子的方式。当没有写构造方法时,Java虚拟机默认会创建一个空构造ClassDemo1.javaclass ClassDemo1{
public s...
分类:
其他好文 时间:
2016-07-17 16:06:17
阅读次数:
270
Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOME"bin"java –option 来启动,-option为虚拟机参数,JAVA_HOME为JDK安装路径,通过这些参数可对虚拟机的运行状态进行调整,掌握参数的含义可对虚拟机的运行模式 ...
分类:
编程语言 时间:
2016-07-15 23:51:23
阅读次数:
218
《Java虚拟机规范》阅读笔记-数据类型 JVM 数据类型 1.概述 Java虚拟机的数据类型可分为两大类:原始类型(Primitive Types,也称为基本类型)和引用类型(Reference Types)。 Java虚拟机用不同的字节码指令来操作不同的数据类型 。 2.原始类型 原始类型是最基 ...
分类:
其他好文 时间:
2016-07-15 17:02:48
阅读次数:
149