一 . jvm的两种机制: ①类装载子系统::装载具有适合名称的类或接口 ②执行引擎:负责执行包含在已装载的类或接口中的指令 二. java 代码的运行 2.1 . java的编译机制: ①分析和输入到符号表 ②注解分析 ③语意生产class文件 最后的生成class文件包括 2.1.1 ①结构信息 ...
分类:
其他好文 时间:
2018-09-17 17:54:41
阅读次数:
167
最近在学基础java知识,这个是很常见的问题之一了,下面我要列出三种异类取值方法,当然不止这些,我选择了最简单的三种: 1.可以使用static静态变量,直接调用要访问类的属性和方法。因为 Java 中 static的特性: static 变量在类装载的时候进行初始化。 多个实例的 static变量 ...
分类:
编程语言 时间:
2018-09-07 11:58:22
阅读次数:
201
Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中。 类装载方式分为: 隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。 显式装载, 通过class.f ...
分类:
其他好文 时间:
2018-08-29 14:00:26
阅读次数:
122
一、Java类加载机制 一、Java类加载机制 1.概述 Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。 虚拟 ...
分类:
编程语言 时间:
2018-08-22 14:04:11
阅读次数:
146
JAVA类装载方式,有两种: 1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。 2.显式装载, 通过class.forname()等方法,显式加载需要的类 类加载的动态性体现: 一个应用程序总是由n多个类组成,Java程序启动时,并不是一次 ...
分类:
其他好文 时间:
2018-08-20 14:35:12
阅读次数:
176
简介 单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。 双重检查模式[推荐使用] 1、线程安全 饿汉模式(静态常量)[可用] 1、线程安全 缺点:在类装载的时候就完成实例化,没有达到Lazy Loading的效果。如果从始至终从未使用过这个实例,则会造成内存的浪费。 还有 ...
分类:
其他好文 时间:
2018-08-14 12:13:53
阅读次数:
144
jps -l 查看java进程 jstat 统计信息 类装载、垃圾收集统计信息、JIT jstat -gc jstat -compliler jstat -class 非堆:mataspace(方法区) , codecache 内存溢出自动导出 -XX:+HeapDumpOutOfMemoryErr ...
分类:
其他好文 时间:
2018-08-05 14:31:06
阅读次数:
149
1. jps 显示系统中所有Hotspot虚拟机进程 2. jinfo 显示虚拟机的配置信息,可观察进程运行环境参数,包括Java System属性和JVM命令行参数 3. jstack 显示虚拟机的线程栈信息,用于生成当前JVM的所有线程快照 4. jstat 实时显示本地或远程JVM进程中类装载 ...
分类:
其他好文 时间:
2018-08-05 14:29:19
阅读次数:
149
混沌初开,在一片名为jvm的世界中,到处都是一片虚无,直到一个名为BootstrapClassLoader的巨人劈开了世界,据说它是由名叫C++的女神所造,它从一个叫做jre/lib的宝袋中拿出一把开天之斧ExtensionClassLoader,以及其他各种各样五颜六色的宝物,这些宝物撒落在混沌世 ...
分类:
其他好文 时间:
2018-07-28 00:47:23
阅读次数:
170
方法区 线程共享。 当JVM使用类装载器装载某个类时,首先获取class文件,提取该文件的内容信息,将这些信息存储到方法区,最后返回一个class实例。方法区用于存储已经被虚拟机加载的类信息(class)(版本,字段,方法,接口等描述信息),常量,静态变量(static),即时编译期编译后的代码数据等。称为“永久代”。GC在这区域较少出现,内存回收的主要目标是针对常量池的回收和对类的卸载(某个类不
分类:
其他好文 时间:
2018-07-21 17:18:26
阅读次数:
186