代码: https://files.cnblogs.com/files/cx2016/effective-java-3e-source-code.zip 1. 总之,静态工厂方法和公共构造方法都有它们的用途,并且了解它们的相对优点是值得的。通常,静态工厂更可取,因此避免在没有考虑静态工厂的情况下提供 ...
分类:
编程语言 时间:
2020-07-10 13:38:34
阅读次数:
69
● finalize是一个方法,属于0bject类的一 个方法,而Object类是所有类的父类,该方法一般由垃圾回收器来调用,当我们调用system. gc()方法的时候,由垃圾回收器调用finalize() ,回收垃圾,一个对象是否可回收的最后判断。当然,这里的调用sysytem.gc() 只是建 ...
分类:
其他好文 时间:
2020-07-06 18:16:35
阅读次数:
57
Object类的使用 Object类是所有Java类的根父类;如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 仅提供空参构造器 成员方法 finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。子类重写 f ...
分类:
其他好文 时间:
2020-06-13 12:47:28
阅读次数:
55
#用构造器确保初始化 在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。 #方法重载 方法名,返回值都相同,参数列表不同的类称为重载。 ##区分重载方法 Java是如何区分方法名都相同的方法的?其实规则很简单:每一个重载的方法都必须有一个独一无二的参数列表。 ##涉及基本类型的重 ...
分类:
其他好文 时间:
2020-06-10 22:44:55
阅读次数:
91
final:修饰符(关键字)有三种用法:如果一个类被声明为 final,意味 着它不能再派生出新的子类,即不能被继承,因此它和 abstract 是反义词。将 变量声明为 final,可以保证它们在使用中不被改变,被声明为 final 的变量必须 在声明时给定初值,而在以后的引用中只能读取不可修改。 ...
分类:
其他好文 时间:
2020-06-05 19:32:42
阅读次数:
87
异常 74. throw 和 throws 的区别? throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。而throw则是指抛出的一个具体的异常类型。 75. final、finally、finalize 有什么区别? f ...
分类:
编程语言 时间:
2020-05-19 01:08:49
阅读次数:
58
避免使用finalize方法 1. Java对象回收与finalize方法 Java虚拟机使用 可达性分析算法(Reachability Analysis) 判断对象是否可回收。事实上, 即使对象被判定为不可达,最终也不一定会被回收 。 对象被判定为不可达后,Java虚拟机将检查是否有必要执行对象的 ...
分类:
其他好文 时间:
2020-05-18 22:47:14
阅读次数:
93
类和对象 参考资料:《Java从入门到精通》/明日科技编著. 4版. 北京:清华大学出版社,2016 一、面向对象概述 面向对象是一种开发思想,它将所有预处理的问题抽象成对象,同时了解这些对象具有哪些相应的属性和行为,以解决这些对象面临的实际问题。 1、对象 对象是指事实存在的 实体 ,如桌子、电脑 ...
分类:
编程语言 时间:
2020-05-16 17:18:50
阅读次数:
75
标记 清除算法 “标记 清除”算法是最基础的垃圾收集算法,如同它的名字一样,算法的工作过程可以分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,然后统一回收所有被标记的对象。 标记待回收对象:使用可达性分析算法筛选出所有没有可达链的对象。若对象覆盖了finalize方法且虚拟机还没有调用 ...
分类:
编程语言 时间:
2020-05-14 01:14:23
阅读次数:
61
新版的yoga直接在gradle中就可以导入了 gradle配置: implementation 'com.facebook.yoga.android:yoga-layout:1.16.0' implementation 'com.facebook.soloader:soloader:0.9.0' ...
分类:
移动开发 时间:
2020-04-25 01:26:06
阅读次数:
275