1.foreach:只能用于数组与容器

2.this指针:内部有个指针指向自己

3.super指针:内部有个指针指向父类部分

4.方法存放于代码区:方法调用时,a.fun()可能会被转换为fun(a),以此将对象传递给函数,同时方法知道调用者是对象a

5.static方法:没有this指针

6.finalize():GC回收前先调用一次本方法,下次才进行内存回收,可以用于终结条件(如:判断文件是否安全关闭)

7.GC:找到存活对象

 ①引用计数:无法解决对象互相引用问题

 ②从堆栈或者静态存储区进行扫描:引用链--由于访问过的对象为活的,同时形成了树状结构,不会重复计算已引用对象,同时找到的对象必定存活,没有互相引用问题

8.GC:处理存活对象

 ①停止-复制:复制对象到另一个堆,并保持内存连续,未被复制的对象为垃圾(复制后引用需要修正)

  缺点:①需要维护两个堆,造成资源浪费②程序稳定后,仍然需要复制,造成性能低

 ②标记-清扫:根据思路6-②,标记活对象,标记完,释放死对象,整理活对象,适用于垃圾较少的时刻(程序稳定)

 ③自适应、分代的、停止-复制、标记-清扫式垃圾回收器

  JVM监视GC效率:效率低时候采用标记清扫,碎片多采用停止-复制

9.JIT编译器技术:将程序全部或部分编译为本地机器码(本为JVM功能)以增加效率

10.对象创建过程:

 ①定位class文件;

 ②载入class文件,创建Class对象,执行静态初始化块或者域静态初始化;---证明静态成员内存并不是位于堆区

 ③在堆上分配存储空间;

 ④内存清0;

 ⑤按域声明顺序执行域初始化动作;

 ⑥执行构造器;

11.classpath:指定类目录

12.可变参数列表:参数类型需要统一


13.java会为每个class生成一个.class文件

14.package与import:对命名空间进行切割

15.通过import不同的package,可以实现条件编译,如开发与测试版本

16.单例模式(此处恶汉式为线程安全)

 ①只有一个默认构造器,并且为private

 ②类有一个static对象

 ③提供getInstance方法,返回此对象的引用

public class SingleObject {

   //创建 SingleObject 的一个对象
private static SingleObject instance = new SingleObject(); //让构造函数为 private,这样该类就不会被实例化
private SingleObject(){} //获取唯一可用的对象
public static SingleObject getInstance(){
return instance;
} public void showMessage(){
System.out.println("Hello World!");
}
}
public class SingletonPatternDemo {
public static void main(String[] args) { //不合法的构造函数
//编译时错误:构造函数 SingleObject() 是不可见的
//SingleObject object = new SingleObject(); //获取唯一可用的对象
SingleObject object = SingleObject.getInstance(); //显示消息
object.showMessage();
}
}

懒汉式线程安全版本见:

https://blog.csdn.net/cselmu9/article/details/51366946

最新文章

  1. SQL Server 数据库分离与附加
  2. Android中top命令字段含义
  3. HTML 标准属性 和 事件属性
  4. 再议extern和include的作用
  5. g++安装 Gnome/Gtk+开发库 的 环境安装(安装widgets的必要条件)
  6. 对C++ Primer的10.3.9单词转换的思考
  7. Java基础加强学习笔记(二)
  8. Git学习笔记01--初始化设置
  9. Objective-C中的property
  10. Sping Boot入门到实战之实战篇(一):实现自定义Spring Boot Starter——阿里云消息队列服务Starter
  11. 从fastjson多层泛型嵌套解析,看jdk泛型推断
  12. 推荐!PlayGround:可视化神经网络
  13. Android——Service介绍与例子
  14. Android Framework源码反编译
  15. 根域名服务器(root DNS Servers)会被DDoS打垮么?
  16. tomcat localhost
  17. 使用layui 和 jquery 问题小结
  18. linux下的shell操作mysql
  19. Confluence 6 导入 Active Directory 服务器证书 - Mac OS X
  20. HTML图片热区map area的用法

热门文章

  1. 洛谷P1086 花生采摘【模拟】
  2. poj3613 Cow Relays【好题】【最短路】【快速幂】
  3. 使用djiango 创建网站
  4. new malloc 区别
  5. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的实时运行状态?
  6. EF Code First模型约束
  7. charles4.2下载与破解方法以及配置https
  8. LeetCode 762 Prime Number of Set Bits in Binary Representation 解题报告
  9. nodejs prefix(全局)和cache(缓存)windows下设置
  10. java 网络编程(三)简单的即时通讯(UDP传输)