Java知识点(三):JVM内存结构,包装类与异常
2018-06-02 23:09
190 查看
1.JVM内存结构
三大区域:方法区:用来存储程序运行所需的类信息
如String.class,静态方法,常量池(存整数)
堆:所有引用类型的对象信息(实例)
栈:存储方法的参数以及方法内的局部变量(方法结束释放)
--栈帧:在栈中,JVM会给每一个方法单独分配空间
此空间用来存储方法内的所有变量(局部/全局)
此方法结束后,栈帧消失,内存释放
垃圾回收机制:(GC)
不定时的检查堆里的对象,是否被变量所引用
如果发现这个对象没有被引用,就会处理这个对象
System.gc();
2.API(程序应用接口)
全称:Application Programming Interface就是封装了已经写好的类型
包含了常用的类型,String,Date,
Exception,IO等等
3.字符串
String--不可变的定长字符串StringBuffer--效率低,线程安全
StringBuilder--效率高,线程不安全
String类重写了Object的
equals方法和toString()方法
StringBuffer和StringBuilder
没有重写equals方法
4.Object(所有引用类型的父类)
这个类时引用类型的最顶端包括Leo自定义创建的类,也是class Person extends Object
系统默认没写而已。
boolean equals(Object obj):
return this==obj;
比较的是地址信息
String toString():返回了对象的一串字符:
所以在定义类时,
都会重写equals和toString
@Overwrite
equals用来比较两个对象的内容
1、先判断传进来的参数是不是this
2、判断参数是不是null
3、判断参数是不是同一类型
toString用来描述对象的内容
5.包装类
装箱->与
<-拆箱
byte --- Byte
short ---- Short
int --- Integer
long --- Long
float --- Float
double --- Double
char ---- Character
boolean --- Boolean
1.使用构造器进行装箱
int n = Integer.parseInt("123L");
//java.lang.NumberFormatException
/**出现数值格式异常*/
2.自动装箱
jdk1.5之后 支持
Integer a = 5;---装箱
int b = a;----拆箱
包装类的整数常量池:
在自动装箱时,如果值在-128到127范围内
Integer a = 5;
Integer b = 5;
sys.out.pln(a==b); //返回true
此时,先去常量池中查找是否有与5
值相等的对象,如果有,就不再创建
直接引用常量池中的,
如果没有,就会创建,然后存入常量池。
6.异常
Throwable(所有异常&错误的父类)1).无法修改的错误(系统性的)-- Error
2).可以处理的异常 -- Exception
按照编译器是否检查分类
检查性异常
非检查性异常 /**代码健壮性不强,逻辑写错了*/
按照jvm运行时分类运行时异常:也叫非检查性异常
编译期异常:检查性异常
异常的抛出与声明:
try{
可能会出现异常的代码块
将try抓到的异常信息封装成
异常对象
}catch(Exception e){
将地址信息给e
}finally{
通常进行一些流的关闭操作
(必然执行的代码块)
}
多个catch的写法:
从上到下、从小到大。
从上往下处理的异常可以是
同级别的异常类型,或者
是子父关系
子->子->子->子->父(从上到下排)
子类重写父类的方法时,
如果父类的方法有声明(throws)异常
子类的方法可以不声明;
也可以声明同一个类型或者是
异常的子类型
阅读更多
相关文章推荐
- Java知识点(七)JVM内存结构(一张图搞定)
- JVM-自动内存管理机制之Java内存区域与内存溢出异常
- JVM内存结构 VS Java内存模型 VS Java对象模型
- Java核心知识点-JVM结构和工作方式
- Android 精进之简述 JVM 基础(二):Java内存区域与内存溢出异常
- Java JVM:内存结构与参数设置
- JVM之---Java内存结构(第二篇)
- java中OutofMemoryError和JVM内存结构
- 学习JVM之java内存区域与异常
- JVM之Java内存区域与内存溢出异常
- java的线程安全、单例模式、JVM内存结构等知识学习和整理
- 深入理解JVM虚拟机 第二章笔记 Java内存区域与内存溢出异常
- [课本划重点]深入理解jvm-第2章 java内存区域与内存溢出异常(1)
- 深入理解JVM——java内存区域与内存溢出异常
- 转:JAVA常见错误处理方法 和 JVM内存结构
- jvm学习记录 -- Java内存区域与内存溢出异常
- Java学习(一):JVM内存区域与内存溢出异常
- 【JVM】Java内存区域与内存溢出异常
- Java内存区域与内存溢出异常(JVM学习系列1)
- 深入理解JVM(一)--Java内存区域与内存溢出异常