JDK 和 JRE 目录的文件结构

我 们下载 Java 的安装程序往电脑里一装,把 path 环境变量设置一下之后,很少有人会去看一下安装目录下到底有些什么目录或文件。在 Sun Java 上的一篇技术文档就说明了 Java 安装目录下到底有些什么东西,并且大致地介绍了一下这些目录或文件是干什么用的。 译自:JDK and JRE File Structure (Windows)   本文简要地介绍一下 JDK 的目录和这些目录所包含的文件。需要注意的是,JRE 的文件结构与 JD…

JVM系列(二)——类加载

Java 运行环境为了优化系统,提高程序的执行速度,在 JRE 运行的开始会将 Java 运行所需要的基本类采用预先加载( pre-loading )的方法全部加载要内存当中,因为这些单元在 Java 程序运行的过程当中经常要使用的,主要包括 JRE 的 rt.jar 文件里面所有的 .class 文件。 当 java.exe 虚拟机开始运行以后,它会找到安装在机器上的 JRE 环境,然后把控制权交给 JRE , JRE的类加载器会将 lib 目录下的 …

jdk链表笔记

LinkedList LinkedList是双链表,并且有头尾指针 数据结构 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable { transient int size = 0; transient Node first; transient Node last; public LinkedList() { } 他持有头节点和未节点,并且初始的时候,这两个节点都为null private static class Node { E item; Node next; Node prev…

Jvm

 六.JVM 3.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员…

Java虚拟机类装载:原理、实现与应用

一、引言 Java虚拟机(JVM)的类装载就是指--将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。   二、Java虚拟机的类装载实现与应用 2.1  装载过程简介 所谓装载,就是寻找一个类或是一个接口的…

JVM

转自:http://pengjiaheng.javaeye.com/ Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte, short, int, long, char, float, double, Boolean, returnAddress 引用类型包括:类类型,…

JVM基础概念总结:数据类型、堆与栈

数据类型 横向对比JVM 1.6与JVM 1.5性能 Java语言将淡出 JVM宝座争夺战预热 探秘Java 7:JVM动态语言支持详解 Sun发布JDK 7早期预览版 JVM性能大幅提升 Google启动Noop语言项目 意在JVM Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在…

JVM

今天同学问我Eclipse文件夹下有个Eclipse.ini文件,里面各个参数各有什么作用。我仅仅知道里面是设置Eclipse在启动时占用内存的大小还有什么jvm的堆,具体倒不是很清楚。倒网上扫了下,了解了不少,具体如下: -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启…

Java虚拟机类装载:原理、实现与应用

Java虚拟机类装载:原理、实现与应用作者:刘学超一、引言Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。二、Java虚拟机的类装载实现与应用2.1 装载过程简介所谓…

JVM-体系结构

刚才已经提到,JVM可以由不同的厂商来实现。由于厂商的不同必然导致JVM在实现上的一些不同,然而JVM还是可以实现跨平台的特性,这就要归功于设计JVM时的体系结构了。  我们知道,一个JVM实例的行为不光是它自己的事,还涉及到它的子系统、存储区域、数据类型和指令这些部分,它们描述了JVM的一个抽象的内部体系结构,其目的不光规定实现JVM时它内部的体系结构,更重要的是提供了一种方式,用于严格…

《Java平台体系》——第二章 JVM——JVM实现:内存管理和垃圾回收

http://qing.weibo.com/2494474521/94aea919330006ux.html​学习JVM实现一些初学者可能感到“高不可攀”,其实说实话我也不想去了解JVM实现的细节,但了解JVM实现中一些关键问题解决思路对我们“修炼”境界还是有帮助的。 在学完JVM规范​之后,我们可能有如下的问题需要获得答案: □ JVM如何实现运行时数据区的管理(即内存管理)的? □ JVM如何实现堆(Heap)的垃圾回收? □ JVM如何实现对多线程的支持?…

.NET基础

什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式? 类(class)和结构(struct)的区别是什么?它们对性能有影响吗?.NET BCL里有哪些是类(结构),为什么它们不是结构(类)?在自定义类型时,您如何选择是类还是结构? 在.NET程序运行过程中,什么是堆,什么是栈?什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗?“结构”对象…

编程语言设计之路-2-语言的定位和设定

目前我已经初步定下了我的编程语言的一些设定   基于VM和JIT技术 1, 源代码将被编译成单元. 可以打包成一个独立的文件, 类似JAR, 现在假设叫AR吧 2, 用户可以安装执行环境, 安装之后可以执行AR, AR之间的依赖关系由运行时处理. 也就是可以在用户确认的情况下从网上获取依赖的AR包安装到系统.(一个平台) 3, AR可以编译成独立的可执行文件, 其实相当于自解压. 内嵌一个迷你的VM而已. 依赖的单元会压入进…

ASP.NET1—2006.2.6

今天开始看asp.net了,觉得真的有点和以前学的VB很象,现在微软做的是越来越好了,的确是很符合我们广大DEV的需要,不过里面还有很多所谓的调试方法,这些都是我所不知道的,呵呵,真的要慢慢学了 不过我还是很自信的,看来有点自恋哦,嘿嘿 基本上前两个章节没有说什么,都是一些简单的东西,包括环境的配置还有一些介绍 比如说JIT,CLR等等。 第三章是C#语法了,看着怎么看怎么跟java象,呵呵  下面…

Android深入浅出系列课程—Lesson14Handler-不可缺少的异步

大家好,上一讲我们介绍了虚拟机概述,JIT概述,这一讲我们将进入Handler-不可缺少的异步.课程目标: 熟悉Handler的概念Handler的实现原理Handler 异步实现方法Handler与线程的关系重点难点:        Handler与线程的关系Handler消息队列的实现考核目标: 使用Handler是异步的,它会建立新线程么?noHandler是在主线程内么?Handler的post 和 sentMessage方法,使用的是一个队列还是两个?子线程中建立…