博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2,对象与内存控制
阅读量:5783 次
发布时间:2019-06-18

本文共 1373 字,大约阅读时间需要 4 分钟。

hot3.png

由于jvm的垃圾回收机制由一条后台线程完成。如果不考虑内存管理,会出现以下问题:

1,不断分配内存使得系统的内存减少,从而降低程序运行的性能,

2,大量已经分配的内存的回收使得垃圾回收负担加重,降低程序的运行的性能。

Java中的变量:

1,变量可以分为成员变量和局部变量。

        局部变量分为,形参(方法签名中使用的局部变量),方法内的局部变量,代码块内的局部变量。

        类体内定义的变量成为成员变量,如果由static修饰,则称之为静态变量或者类变量。如果没有修饰那么就是非静态变量或者实例变量。

        同一个jvm中,每一个类只有一个class对象,但是可以创建多个java对象,因此类对象只需要创建一次,但是程序需要几个实例,那么实例变量就需要几块内存空间。

例变量的初始化时机:程序会先执行非静态代码块然后再执行构造函数。假如非静态代码块中有对成员函数赋值的操作,那么赋值操作的结果和程序的源码的顺序有关。

public static void main(String[] args) {  Cat catt=new Cat("kobe");  System.out.println(catt);   }  public static class Cat{  String name;  double weight=2.3;  public Cat(String name){   System.out.println("执行构造器");   this.name=name;  }  {   System.out.println("非晶态代码狂");   weight=2.0;  }    public String toString(){   return name+weight;  }   }

非晶态代码狂

执行构造器
kobe2.0

public static void main(String[] args) {  Cat catt=new Cat("kobe");  System.out.println(catt); } public static class Cat{  String name;  public Cat(String name){   System.out.println("执行构造器");   this.name=name;  }  {   System.out.println("非晶态代码狂");   weight=2.0;  }  double weight=2.3;  public String toString(){   return name+weight;  }   }

非晶态代码狂

执行构造器
kobe2.3
 类变量的初始化。1,定义类变量的时候进行初始化。2,静态初始化块中对类变量指定初始值。这两种方式得执行顺序和它在源代码中的执行顺序相同。

关于父类构造器;

创建任何java对象得时候,总是先依次调用每个父类的非静态初始化块,父类构造器(总是从object开始),最后才调用本类的非静态代码块。

(this()和super()只能在构造器中使用,而且他们都必须作为构造器的第一行代码)

 

转载于:https://my.oschina.net/u/2480757/blog/515707

你可能感兴趣的文章
数据解码互联网行业职位
查看>>
我所见的讲的最容易理解,逻辑最强的五层网络模型,来自大神阮一峰
查看>>
vue-cli项目打包需要修改的路径问题
查看>>
js实现复选框的操作-------Day41
查看>>
数据结构化与保存
查看>>
[SpringBoot] - 配置文件的多种形式及优先级
查看>>
chrome浏览器开发者工具之同步修改至本地
查看>>
debian7 + wheezy + chromium + flashplayer
查看>>
AOP
查看>>
进阶开发——文档,缓存,ip限速
查看>>
vue中子组件需调用父组件通过异步获取的数据
查看>>
uva 11468 - Substring(AC自己主动机+概率)
查看>>
Mysql 数据备份与恢复,用户创建,授权
查看>>
沉思录
查看>>
Angular.js中的$injector服务
查看>>
构建之法读书笔记01
查看>>
linux - lsof 命令最佳实践
查看>>
kafka性能测试
查看>>
现实世界的Windows Azure:h.e.t软件使用Windows Azure削减50%的成本
查看>>
深入.net框架
查看>>