1. JDK 包含 java 程序设计语言,JVM, Java API类库。 java 开发最小环境

2. JRE : Java API类库中java se API 子集和java 虚拟机(HotSpot VM),  是java程序运行的标准环境

3. javaseapi 是 javaeeapi的子集,主要区别是 javaeeapi 支持java web..    通常java.* 为包名的包就是javase api 的包。 javax.* 是扩展包。

4. 符号引用: 假设一个类A引用另一个类B,但是在编译时A 并不知道B的实际内存地址,因此只能用符号来代替。。

5. 类生命周期: 加载(class 读入内存) - 连接(验证(是否符合规范)-准备(初始化变量)-解析(符号引用替换为直接因为)) -- 初始化(设置程序设置的变量) - 使用 - 卸载

6. 类加载器: 双亲委派机制 : 启动类加载器(lib) - 扩展类加载器(ext/lib)-应用程序类加载器(classpath) - 自定义类加载器。 如果一个类加载器收到类加载的请求,它首先不会自己去加载这个类,而是交给父加载器加载,每一层都是如此,所以所有类加载请求都会传递给顶层 启动类加载器 ,只有当父加载器无法加载时,子加载器才会尝试去加载。。

为什么要用双亲委派加载:为了避免类的覆盖,导致类混乱。假设我们自定义了一个类java.lang.Object,如果使用应用类加载器加载,这样会和java 自带的object 冲突,导致出现多个object 类,程序会变的混乱。

jvm 基础的更多相关文章

  1. JVM 基础知识

    JVM 基础知识(GC) 2013-12-10 00:16 3190人阅读 评论(1) 收藏 举报 分类: Java(49) 目录(?)[+] 几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看 ...

  2. java 笔记(1)-—— JVM基础,内存数据,内存释放,垃圾回收,即时编译技术JIT,高精度类型

    1.java中5个存放数据的地方: (1).寄存器(Registers):位于CPU内部,是速度最快的存储区,但是数量和容量有限.在java中不能直接操作寄存器. (2).栈(Stack):栈位于通用 ...

  3. JVM基础:深入学习JVM堆与JVM栈

    转自:http://developer.51cto.com/art/201009/227812.htm JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题, ...

  4. JVM基础知识(1)-JVM内存区域与内存溢出

    JVM基础知识(1)-JVM内存区域与内存溢出 0. 目录 什么是JVM 运行时数据区域 HotSpot虚拟机对象探秘 OutOfMemoryError异常 1. 什么是JVM 1.1. 什么是JVM ...

  5. Jvm基础(2)-Java内存模型

    Jvm基础(2)-Java内存模型 主内存和工作内存 Java内存模型包括主内存和工作内存两个部分:主内存用来存储线程之间的共享变量:而工作内存中存储每个线程的相关变量. 如下图所示: 需要注意的是: ...

  6. 剑指Offer——知识点储备-JVM基础

    剑指Offer--知识点储备-JVM基础 1.java内存与内存溢出 1.1 JVM分为哪些区,每一个区干嘛的?(见java虚拟机38页) (1)程序计数器(线程私有) 当前线程执行字节码的信号指示器 ...

  7. JVM基础系列第15讲:JDK性能监控命令

    查看虚拟机进程:jps 命令 jps 命令可以列出所有的 Java 进程.如果 jps 不加任何参数,可以列出 Java 程序的进程 ID 以及 Main 函数短名称,如下所示. $ jps 6540 ...

  8. JVM基础系列第14讲:JVM参数之GC日志配置

    说到 Java 虚拟机,不得不提的就是 Java 虚拟机的 GC(Garbage Collection)日志.而对于 GC 日志,我们不仅要学会看懂,而且要学会如何设置对应的 GC 日志参数.今天就让 ...

  9. JVM基础系列第13讲:JVM参数之追踪类信息

    我们都知道 JVM 在启动的时候会去加载类信息,那么我们怎么得知他加载了哪些类,又卸载了哪些类呢?我们这一节就来介绍四个 JVM 参数,使用它们我们就可以清晰地知道 JVM 的类加载信息. 为了方便演 ...

  10. JVM基础系列第11讲:JVM参数之堆栈空间配置

    JVM 中最重要的一部分就是堆空间了,基本上大多数的线上 JVM 问题都是因为堆空间造成的 OutOfMemoryError.因此掌握 JVM 关于堆空间的参数配置对于排查线上问题非常重要. tips ...

随机推荐

  1. Process对象的其他属性:

    标签(空格分隔): process join方法: 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况: 情况一:在主进程的任务与子进程的任务彼 ...

  2. Websocket实现群聊、单聊

    Websocket 使用的第三方模块:gevent-websocket 群聊 ws群聊.py中的内容 from flask import Flask, request, render_template ...

  3. e-olymp Problem8352 Taxi

    作为我在这个OJ玩了一下午的终结吧. 水题一道,阅读理解OJ. 传送门:点我 Taxi At the peak hour, three taxi buses drove up at the same ...

  4. Unity游戏设计与实现 南梦宫一线程序员的开发实例

    图灵程序设计丛书 Unity游戏设计与实现:南梦宫一线程序员的开发实例(修订版)     加藤政树 (作者) 罗水东 (译者)  c# 游戏 unity   <内容提要>本书的作者是日本知 ...

  5. mysql学习1:数据类型:数字型,日期和时间,字符串类型(总结)

    mysql数据类型:数字型,日期和时间,字符串类型 摘要 MySQL中定义数据字段的类型对数据库的优化是非常重要的: MySQL支持多种类型,大致可以分为三类,如下. 数字类型 整数:tinyint. ...

  6. xadmin系列之零碎的小点

    1.获取某张表的某个字段的属性 意思就是获取括号中的属性 class app1Person(models.Model): pid = models.AutoField(primary_key=True ...

  7. sqlserver还原数据库失败,sql2008备份集中的数据库备份与现有的xxx数据库不同

    正常操作发现报标题错误,百度后解决思路如下(@参考文章)转到选项下面,勾选覆盖现有数据库即可

  8. EasyUI Dialog 对话框 关闭事件

    在  $('#×××').dialog('close');  执行后触发 $(function(){ $("#titledialos").dialog({ onClose: fun ...

  9. swift - VFL - 1.循环创建控件 2.metrics使用

    1. /// 创建单个热门项目itemView private func creatProcduceItemView(producrName: String , producePrice: Strin ...

  10. how2j网站前端项目——天猫前端(第一次)学习笔记2

    今天早上开始首页内容.首页除了公共页面,还有许多自己的内容:导航和轮播.分类菜单.推荐产品展示,最后还有js的互动. 一.导航和轮播的学习 在自己做图片的轮播时,还是没有一次成功.存在了好几处问题: ...