- 博客(5)
- 收藏
- 关注
原创 gc垃圾回收
什么时候出发GC? 手动触发:当前程序去调用System.gc()的时候出发。注意:Gc回收的时候程序会停止运行,同时回收的过程中,会消耗大量的系统性能,所以,一般情况下我们不会主动的去调用gc回收方法。 自动触发: 根据Eden区和Form Space区的内存大小来决定。当内存大小不足时,则会启动GC线程并停止应用线程 程序再申请内存的时候,系统(jvm)发现内存不足,这个时候就会触发GC。 GC回收的算法? 标记清除 分为两个步骤,第一个步骤就是标记,也就是标记处所有需要回收的对象,标记完成后就进行统一
2021-05-28 19:57:56 95
翻译 java的内存分配
java中的内存划分需要划分为五个部分: 1. 栈(stack) 方法的运行一定要在栈中,存放的都是方法中的局部变量。 局部变量:方法的参数,护着方法内部的变量 作用栈:一旦超出作用域,立刻从栈内存中消失。 2. 堆(heap) 凡是new出来的东西都在堆当中,堆内存里面的东西都一个地址值:16进制。 堆内存里面的数据都有默认值。其规则为: 如果是整数,默认为0。 如果是浮点数,默认为0.0. 如果是字符,默认为'u000'。 如果是布尔值,默认为false。 如果是引用类型,默认为
2021-05-27 20:46:13 50
原创 2021-05-26
Android 内部类 一 、内部类是什么? Java类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根据定义的方式不同,内部类分为静态内部类,成员内部类,局部内部类,匿名内部类四种。 Java为什么要引入内部类这个概念呢? 原因在于,内部类定义在类的内部,可以方便访问外部类的变量和方法,并且和其它类进行隔离。 二、静态内部类(不依赖外部类) 定义在类内部的静态类,就是静态内部类。 静态内部类可以访问外部类所有的静态变量和方法,即使是private的也一样。静态.
2021-05-26 20:52:17 44
原创 2021-05-25
sleep的作用 sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件事恢复线程执行。 wait的作用 调用wait方法将会将调用者的线程挂起,直到其他线程调用同一个对象的notify方法才会重新激活调用者。 sleep与wait差异总结 1、来自不同的类:sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。 2、有没有释放锁(释放资源):sle
2021-05-25 21:33:20 64
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人