异常处理(005)_如何自定义异常

1、如何定义自己的异常 Java支持自己创建的异常。了解异常看这里:什么是java中的异常 方法如下: 1、所有的异常必须是Throwable的子类。 2、如果想写一个检查异常,需要扩展Exception类。 3、如果想编写一个运行时异常,则需要扩展RuntimeExceptio...

2016-08-31 11:14:36

阅读数:97

评论数:0

JVM架构(019)_运行时常量池是什么

1、运行时常量池是什么 运行时常量池(Runtime Constant Pool),它是方法区的一部分。Class文件中除了有类的版本、字段、方法、接口等描述等信息外,还有一项信息是常量池(Constant Pool Table),用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加...

2016-08-30 16:38:38

阅读数:169

评论数:0

JVM架构(018)_如何监控jvm的运行情况

1、如何监控jvm的运行情况 了解jvm内存模型看这里:java内存模型是什么样的  了解jvm内存管理看这里:jvm是如何管理内存的  了解jvm垃圾回收机制看这里:java垃圾回收机制是什么  了解jvm内存优化看这里:java内存如何优化 我们通常使用Jdk工具来监控jvm的运行情况,当...

2016-08-30 16:10:45

阅读数:260

评论数:0

JVM架构(017)_jvm常见配置都有哪些

1、jvm常见配置都有哪些 了解jvm内存模型看这里:java内存模型是什么样的  了解jvm内存管理看这里:jvm是如何管理内存的  了解jvm垃圾回收机制看这里:java垃圾回收机制是什么 jvm配置非常多,按照不同类型划分,常常用来优化jvm内存(了解jvm内存优化看这里:j...

2016-08-30 15:43:20

阅读数:103

评论数:0

07JVM架构(016)_java内存如何优化

1、java内存如何优化 了解jvm内存管理看这里:jvm是如何管理内存的  了解堆内存看这里:java堆内存是什么样的  java内存的优化主要是通过合理的控制GC来实现,主要原则:  1. 不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况(因...

2016-08-30 15:42:43

阅读数:152

评论数:0

JVM架构(015)_XmnXmsXmxXss有什么区别

1、XmnXmsXmxXss有什么区别 首先,Xmn、Xms、Xmx、Xss都是JVM对内存的配置参数,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果。 了解jvm内存管理看这里:jvm是如何管理内存的 Xms、Xmx -Xms、-Xmx分配用来设置进程堆内存...

2016-08-30 15:35:30

阅读数:8473

评论数:0

JVM架构(014)_什么是Dump文件

1、什么是Dump文件 Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。 Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开。 当我们的程序发布出去之后,在客户机上是无法跟踪代码的,所以Dump(扩展名是 .dmp)文件对于...

2016-08-29 17:24:20

阅读数:234

评论数:0

JVM架构(013)_java什么情况会内存溢出

1、Java堆什么情况会溢出 所有对象的实例都在Java堆上分配内存,堆大小由-Xmx和-Xms来调节,如果程序使用的内存超过了堆最大内存(-Xmx),则会溢出Java heap space。 了解java内存模型看这里:java内存模型是什么样的  了解堆内存看这里:java堆内存是什么样的...

2016-08-29 17:15:22

阅读数:292

评论数:0

JVM架构(012)_fullGC、minorGC、magorGC有什么区别

1、fullGC、minorGC、magorGC有什么区别 fullGC、minorGC、magorGC还有youngGC是Java垃圾处理机制(GC)的名词,区分这几个概念非常简单: 老生代进行一次垃圾清理,被称为fullGC或者magorGC。 新生代进行一次垃圾...

2016-08-29 17:00:18

阅读数:249

评论数:0

JVM架构(011)_java垃圾回收都有哪些方式

1、java垃圾回收都有哪些方式 所谓垃圾回收方式,是指JVM提供的几种不同的垃圾回收器,不同的垃圾回收器进行垃圾回收时采用不同的方式。当然,总体原则遵循java垃圾回收机制。 了解java内存模型看这里:java内存模型是什么样的  了解堆内存看这里:java堆内存是什么样的  ...

2016-08-29 16:58:15

阅读数:194

评论数:0

JVM架构(010)_什么是老生代的标记算法

1、什么是老生代的标记算法 了解堆内存看这里:java堆内存是什么样的  了解java垃圾回收看这里:java垃圾回收机制是什么  所谓标记算法(Mark),分为多种,最简单直观的即标记-清除算法(Mark-Sweep)。即将认定为可回收的内存做一个标记,然后统一将被标记的清理,算法图解...

2016-08-29 16:52:46

阅读数:268

评论数:0

JVM架构(009)_什么是新生代的复制算法

1、什么是新生代的复制算法 了解堆内存看这里:java堆内存是什么样的  了解java垃圾回收看这里:java垃圾回收机制是什么  所谓复制算法(Copying),即将内存平均分成A区、B区两块,进行复制+清除垃圾的操作,算法图解如下: 算法过程: 新生对象被分配到A...

2016-08-29 16:49:43

阅读数:263

评论数:0

JVM架构(008)_java垃圾回收机制是什么

1、如何判断垃圾对象 垃圾收集的第一步就是先需要算法来标记哪些是垃圾,然后再对垃圾进行处理。通常的编程语言都会用以下算法之一进行判断: 引用计数(ReferenceCounting)算法  这种方法比较简单直观,核心思路是,给每个对象添加一个被引用计数器,被引用时+1,引用失效-1,...

2016-08-29 16:38:40

阅读数:203

评论数:0

JVM架构(007)_java堆内存是什么样的

1.堆内存是什么样的 了解jvm实例模型看这里:jvm实例的结构是什么样的  了解java内存框架看这里:jvm是如何管理内存的  了解堆栈的区别看这里:java堆和栈有什么区别  每一个jvm实例都会被分配一个被所有线程共享的堆内存空间,用来存放对象和数组,作为jvm的数据集中管理区...

2016-08-29 15:04:44

阅读数:225

评论数:0

JVM架构(006)_java堆和栈有什么区别

1、java堆和栈有什么区别 了解jvm内存管理看这里:jvm是如何管理内存的  在《jvm是如何管理内存的》这篇文章中,已经对PC寄存器(计数器 pc registers)、方法区(method area)、本地方法栈(native method stacks)、栈(stacks)、堆(...

2016-08-29 14:26:55

阅读数:254

评论数:0

JVM架构(005)_显示内存管理有什么弊端

1、显示内存管理有什么弊端 手动内存管理一般被称为显示内存管理,显示内存管理经常发生两种情况: 引用悬挂  当一个被某个引用变量正在使用的内存空间,在重新分配过程中被释放掉了,释放后,该引用变量就处于悬挂状态(所引用的对象已经不存在了)。  如果这个被悬挂引用变量,试图操作...

2016-08-26 19:55:19

阅读数:299

评论数:0

JVM架构(004)_jvm是如何管理内存的

1、JVM是如何管理内存的 Java中,内存管理是JVM自动进行的,无需人为干涉。 了解java内存模型看这里:java内存模型是什么样的  了解jvm实例结构看这里:jvm实例的结构是什么样的  创建对象或者变量时, JVM会自动分配内存(当然这个分配是遵循严格规则的)。当JVM...

2016-08-26 18:29:12

阅读数:275

评论数:0

JVM架构(003)_内存分配有哪些策略

1、内存分配有哪些策略 我们从编译原理讲起,不同的开发环境、开发语言都会有不同的策略。一般来说,程序运行时有三种内存分配策略:静态的、栈式的、堆式的 静态存储  是指在编译时就能够确定每个数据目标在运行时的存储空间需求,因而在编译时就可以给它们分配固定的内存空间。  这种分...

2016-08-26 17:21:50

阅读数:274

评论数:0

JVM架构(002)_jvm实例的结构是什么样的

1、jvm实例的结构是什么样的 在Java虚拟机规范中,一个虚拟机实例的行为主要组成部分为:子系统、内存区域、数据类型和指令。  这些组件描述了JVM内部的一个抽象结构。与其说这些组成部分的目的是进行JVM内部结构的一种支配,不如说是提供一种对外部行为的严格定义,该规范定义了这些抽象组成部...

2016-08-26 11:33:59

阅读数:103

评论数:0

JVM架构(001)_java内存模型是什么样的

1、什么是内存模型   Java平台自动集成了线程以及多处理器技术,这种集成程度比Java以前诞生的计算机语言要厉害很多。Java针对多种异构平台的独立性,使得多线程技术也具有了开拓性的一面。      了解线程和进程看这里:线程和进程有什么区别   我们有时候在Java开发中,对...

2016-08-26 11:08:29

阅读数:92

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭