码迷,mamicode.com
首页 > 其他好文 > 详细

基础复习

时间:2019-12-25 23:45:19      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:full gc   完成   属性   系统默认   pre   步骤   io流   class   创建对象   

垃圾回收:
  垃圾回收分为年轻代,年老代,持久代。
  新创建的对象属于年轻代,有A、B区,A区满了,就会调用垃圾回收机制,通过引用计数法或者引用可达法就行筛选,没有的进行回收,有用的进行复制,复制到B区。
  B区满了,再重复以上操作。
  循环15次之后,就会属于年老代,进入年老区,C区,当C区达到一定比例之后,也会进行一次垃圾回收,跟年轻区的垃圾回收有些差别,具体差别还不太清楚。
  当年老区满了,则进行全盘清理,Full Gc。

能够触发执行全盘清理的四个条件:
  年老区满了。
  持久区满了。
  调用System.gc()显性方法
  上次全盘清理之后....(这个不太懂)

容易造成内存泄漏的操作:
  创建大量无用对象。eg:对于一个需要很多次拼接的字符串,使用String,而不是StringBuilder
  创建大量静态集合类
  不关闭连接。eg:数据库连接、IO流
  监听器的使用。

传递参数其实就是值传递,值得是将值进行复制,而不是将原值给它。但是需要注意引用对象的传递,当将一个引用对象给定另外一个值时,就相当于将该对象的地址给了另外一个值,所以两个值只要有一
个改变对象,那么对象就会被改变。

创建对象的步骤
  先分配内存空间,并完成成员变量的初始化或者默认值。
  执行属性值的显示初始化(系统默认的无参构造器就是隐式的,不是系统默认的就是显示的)
  执行构造方法
  返回对象的地址给对象

 

基础复习

标签:full gc   完成   属性   系统默认   pre   步骤   io流   class   创建对象   

原文地址:https://www.cnblogs.com/qcq0703/p/12099354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!