JavaSE
文章平均质量分 69
Janathon_L
这个作者很懒,什么都没留下…
展开
-
Think In Java 笔记9 String
String 1. Objects of the String class are immutable:所有的String对象都是不可变的,每次使用String的方法其实都是new 出了一个新的String 2. StringBuilder VS + 两个都可以实现字符串连接 但是如果你的字符串是在循环中的连接的话推荐使用StringBuilder,因为如果使用+号来连接,编译器自动优化原创 2016-08-05 12:22:43 · 296 阅读 · 0 评论 -
Think In Java 笔记1 initialization & Cleanup
垃圾回收机制adaptive:从stack or heap 中去找reference 然后通过reference 找到所有被引用的对象,这些对象是活的,其他是dead。回收第一种策略(第一阶段)是 stop and copy,先系统暂停,然后把活的对象拷贝到新的一块heap中,之后old heap 清空,效率太低,有些jvm使用的机制是把heap开在chunk中,之后直接从一个chunk复制到另原创 2016-08-02 23:01:03 · 318 阅读 · 0 评论 -
Think In Java 笔记2 Access control
Access Control 1. 一个.java中只能有一个public 类,其他类都是package内访问的 2. package 文件夹名 这样的定义一定要放在程序的非注释的第一行 3. package 命名一般来说是用逆序的域名,如果没有就要自己特殊组合想一个 4. import package是JDK是通过查找系统环境变量里的CLASSPATH找的 5. 如果两个pac原创 2016-08-02 23:04:29 · 310 阅读 · 0 评论 -
Think In Java 笔记3 Reusing Classes
Reusing Classes 通过创建新的类,不是从头创建,可以用现有的类 用这个类但是不污染这个类的已存在的code达到这个目的的方法有两种 1. 组合(composition):创建这个类通过创建已有的类的对象,这个类就相当于之前的类的组合 2. 继承(inheritance):创建这个类继承已有的类 父类(基类base class)的方法必须是public或者是private的原创 2016-08-02 23:05:19 · 328 阅读 · 0 评论 -
Think In Java 笔记4 Polymorphism
Polymorphism 1. Early binding 就是在程序运行之前就把方法和对象进行绑定 2. Late binding 就是在程序运行的时候进行绑定,又叫动态绑定和runtime binding 3. 如果一个方法是static或者final修饰的,或者是private的方法,它自动加上final,这会告诉编译器,不要动态binding,这会提升一定的效率,但是不明显,还是原创 2016-08-02 23:06:03 · 307 阅读 · 0 评论 -
Think In Java 笔记5 interface
Interface 1. Abstract class: 如果一个类中有abstract function那么这个类一定要被定义为抽象类,不然编译器报错 2. 抽象类不能被用于直接创建对象,因为编译器知道它不完整 3. 派生类继承抽象类一定要先实现它所有的抽象方法不然它也还是抽象类要加上abstract 4. Interface 类比抽象类更进一步,所有的方法都是抽象的,都是没有实现原创 2016-08-02 23:07:08 · 293 阅读 · 0 评论 -
Think In Java 笔记6 Inner Classes
Inner Classes 这个inner classes的作用 1. Hiding code 2. 可以知道它周围的class也就是在它外部的那个class,可以和它沟通。 3. 内部类可以不需要加任何说明就访问外部这个类的对象和方法,C++中这个类没有这个特性 4. 把接口的实现隐藏了,每次返回的都是实现接口的一个对象 5. 普通的class不能被private或者prot原创 2016-08-02 23:08:28 · 371 阅读 · 0 评论 -
Think In Java 笔记7 Holding Your Objects
Collection 1. Collection是所有一串序列的容器的root interface,比如list,Collection<Integer> c = new ArrayList<Integer>();类型有ArrayList<String>()LinkedList<String>()HashSet<String>()TreeSet<String>()LinkedHashS原创 2016-08-02 23:09:51 · 412 阅读 · 0 评论 -
Think In Java 笔记8 Error Handling with Exceptions
Error Handling with Exception 1. 有了这个Exception handler那么我们就可以把处理错误的代码和业务代码更好地分开,也不用自己去check每一个点用if语句(这样会降低可读性) 2. 当一个Exception被throw出来了,那么你就要终止当前context这部分的代码然后去high context进行处理。 3. Exception han原创 2016-08-02 23:10:32 · 514 阅读 · 0 评论