根据Java虚拟机规范,虚拟机内存中除过程序计数器之外的运行时数据区域都会发生OutOfMemoryError(OOM),本文将通过实际例子验证分析各个数据区域OOM的情况.为了更贴近生产,本次所有例子都是通过调用接口触发,并使用jvisualvm工具监控tomcat内存进行分析. 一.Java堆溢出 Java堆主要用于存储对象和数组实例,只要不断创建对象或者数组,并且保证CG Roots(垃圾收集器对象)到对象之间有可达路径来避免垃圾回收机制清除这些对象,在对象数量到达最大堆的限制后就会产生内…
一.异常 1.概念 程序执行过程中,出现非正常情况导致JVM的非正常停止 本身是一个类,产生异常即创建并抛出一个异常对象 Java处理异常的方式是进行中断处理 异常非语法错误,语法错误直接不会产生class字节码文件 2.异常体系 根类Throwable 子类Error:严重无法处理的错误,只能避免 子类Exception:产生异常可以通过代码修正 常用方法 printStackTrace():打印异常的详细信息 getMessage():获取异常的原因 toString():异常类型和描述信息…
一.什么是反射? 反射库(Reflection Library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序.这项功能被大量地应用在JavaBeans中,它是Java组件的体系结构(有关Java Beans的详细内容见Java II卷).使用反射,Java可以支持Visual Basic 用户习惯使用的工具.特别是再设计或运行中添加新类时,能够快速地应用开发工具动态地查询新添加类的能力. 能够分析类能力的程序成为反射(Reflective).反射机制的功能极其强大…
关于异常 异常? 异常就是一种程序中没有预料到的问题,既然是没有预料到的,就可能不在原有逻辑处理范围内,脱离了代码控制,软件可能会出现各种奇怪的现象.比如:android系统常见异常现象有应用无响应.应用停止运行.冻屏.重启.死机等,这些异常系统有统一的异常处理机制,出现异常系统就会执行相应的操作,最终有相应的现象体现出来.另外,一些不在预料之中的界面显示问题,操作问题,运行卡顿问题等也可以归于异常,只不过这种异常是人为逻辑缺陷,对系统来说是正常的,但这些缺陷在异常现象中占比却相当大,直接体现出…
代码在运行中发生的问题就是异常 java中把多种异常封装多个类,当程序出现问题时候,就会创建异常类对象并且抛出相关信息 异常体系: Throwable类是Java中所有错误或异常的父类 Throwable的子类Error类是所有错误的父类 Throwable的另一个子类Exception类是所有异常的父类 在开发中,相对来说,我们并不关心错误,而更关心异常 异常和错误的区别(通俗解释): 异常:相当于一个人感冒了,吃药睡觉等进行相应的操作即可痊愈,不修改代码处理掉异常,程序还可以执行 错误:相当…
由于之前学JAVA SE数组时习惯了数组括号的写法,到了Web这里写了有点不太习惯了,赶快写篇博客加深一下印象哈 一. java和java web中的数组的不同 java: int[] arr = new arr[4]; arr = {1,2,3,4}; web: var arr = new Array(4); arr = [1,2,3,4]; 刚开始写的时候主要还是括号老是写混,以后还得多多注意…
1 函数 1.1  数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表现形式则称作函数. 练习:把两个整数相加: public class FunctionDemo1{ public static void main(String[] args){ /* int a = 4+5; System.out.println("a="+a); int b = 3+9…
java.net.SocketException:Software caused connection abort: recv failed 异常分析 分类: 很多的技术 2012-01-04 12:54 8004人阅读 评论(6) 收藏 举报 socket服务器bufferstring网络java 第 1个异常是java.net.BindException:Address already in use: JVM_Bind.该异常发生在服务器端进行new ServerSocket(port)(p…
Java ConcurrentModificationException 异常分析与解决方案http://www.2cto.com/kf/201403/286536.html java.util.ConcurrentModificationException 解决办法 http://blog.csdn.net/lipei1220/article/details/9028669 原因:Iterator做遍历的时候,HashMap被修改(bb.remove(ele), size-1),Iterato…
Java 异常分析 本文是对以下内容的分析: Java异常设计 Java 异常分类 Java异常可以告诉什么问题 Java异常处理最佳实践 Java Exception 是为了处理应用程序的异常行为而创建的类.在本文中,将解释如何使用 Java Exception 类以及如何在考虑现有 Java Exception 设计的情况下创建异常结构.Java 异常概念是 Java 中的重要里程碑之一,每个开发人员都必须知道它. Java 异常体系结构 基本结构如下图: Throwable 是所有异常的父…