JavaSE
ChuckLin
轮子爱好者与总结狂热分子
展开
-
synchronized
synchronizedsynchronized修饰词用于锁定一段代码或者一个对象,在某个线程执行该段代码或对象时,其他线程必须等待。这个线程执行完成才能进入该段代码或对象。但只用synchronized修饰某个方法或某段代码是起不了效果的,修饰词用于锁定一个对象或者一段代码,所以必须保证线程竞争进入的是同一个对象或是同一个 类。以下这两个例子都无法实现锁定 ,原因在于new出来的每个MyTh...原创 2019-02-17 12:36:02 · 86 阅读 · 0 评论 -
finalize
finalize当某个类重载finalize()方法后,该类的实例对象在没被引用而被GC清理时会执行finalize()方法。文档原文:Called by the garbage collector on an object when garbage collectiondetermines that there are no more references to the object.A...原创 2019-02-17 12:39:19 · 5145 阅读 · 0 评论 -
i++和++i
i++:先运算再自加赋值++i:先自加赋值再运算由于java虚拟机由c实现,而c的类实现i++和++i是由性能差别的i++ 取出i 复制i 副本i自加 返回副本i++i 取出i i自加 返回i而i++需要副本的原因可能是i要先运算,而一旦运算i会被引用,因此需要复制i以重新建立一个对象,此时性能肯定会下降一点点,但不影响程序,除非整个程序都是i++。...原创 2019-02-17 12:39:08 · 614 阅读 · 0 评论 -
编码字符集与字符集编码
编码字符集与字符集编码编码字符集ASCII:最先出现的编码字符集,包含了大小写的从A到Z和符号,用8位表示,共258个字符,老美一开始只固定了前127个字符(称为半角),而后面127个字符是在计算机在其他欧美国家开始使用时扩展的,是扩展字符集(全角)。GB2312和GBK:当中国开始使用计算机表示汉字时,ASCII已经没有空间可以给汉字字符填充,所以中国索性把两个连在一起的大于127...原创 2019-02-17 12:38:57 · 3378 阅读 · 0 评论 -
反射之parameterType
ParameterizedType 参数化类型指的是泛型接口在被继承时泛型的类型;如interface InterfaceSecond extends OriginClassSecond在继承OriginClassSecond接口时未将泛型参数化依旧是T类型,即此时InterfaceSecond的父类型为非参数化类型的OriginClassSecond;而KidClass implements...原创 2019-02-17 12:38:39 · 660 阅读 · 0 评论 -
各种方法
钩子方法抽象父类提供一个已经实现的方法,而在子类中是否使用这个方法由子类决定,若子类使用这个方法,则子类必须重载这个方法。Abstract class AbstractClass{ abstract boid primitiveOperation1(); abstract boid primitiveOperation2(); Final void method(){ I...原创 2019-02-17 12:38:19 · 111 阅读 · 0 评论 -
各种类
#各种类顶级类定义在class文件中并且声明不出现在其他类中,而且一个class文件中只能有一个顶级类有public修饰嵌套类声明在其他类中出现静态嵌套类加了static修饰的嵌套类,相当于一个顶级类,无法直接调用外部类的成员内部类不加static的嵌套类,可以直接调用外部类的成员实例化内部类必须先实例化该内部类的外部类,然后使用这样的语法OuterCla...原创 2019-02-17 12:38:05 · 196 阅读 · 0 评论 -
克隆
对象的克隆创建一个对象的副本并返回这个副本,而java中的对象克隆是浅复制,即只是创建了一个新的实例对象但该对象内字段的值或是引用都是引用自被克隆的对象如何实现对某个类的对象的克隆?有两个逻辑要求:①对象的克隆对象不等于对象但相当于该对象x.clone()!=x && x.clone.equals(x)②对象和对象的克隆对象的类型一样x.getClass()=x...原创 2019-02-17 12:37:40 · 342 阅读 · 0 评论 -
序列化
序列化简单来说就是有选择地将某个对象某个时刻的某些状态信息以文件形式保存在本地附上官方文档概念:Object Serialization produces a stream with information about the JavaTM classes forthe objects which are being saved.I.Java中主要的序列化方法有两种:将类继承Ser...原创 2019-02-17 12:36:42 · 120 阅读 · 0 评论 -
异常体系
java异常体系ThrowableException出现时若不处理就无法继续往下执行的异常,不处理时虚拟机会中止线程并直接抛出异常到控制台RuntimeException:运行时才会出现的异常常见的有:算术异常,空指针异常,数组越界等Others除RuntimeException外的异常:编译时会出现的异常Error出现程序员无法预料的错误如虚拟机错误等,直接中止线程j...原创 2019-02-17 12:36:16 · 126 阅读 · 0 评论 -
continue和break新用法
Continue和break我们都很熟悉continue和break关键字的作用:continue:跳出本次循环,继续下次循环,局部变量的值不变。break:跳出循环结构,结束循环,局部变量失效。但最近查看源码的时候发现了continue和break的另一种用法:在某段代码前用标识字符串标志,使用continue:标识字符串可以跳回这段代码之前继续执行,同理,使用break:标...原创 2019-02-17 12:39:30 · 1269 阅读 · 0 评论