• Upcast永远是成功的,但Downcast不是,记得做instanceof判断
  • 仅抛不同异常,而返回值相同的重载是不可以的
  • static import只会import静态类
  • static method内不能使用this和super,不能用super!
  • 只有static nested class能有静态成员,其它nested不能有,且静态嵌入类可以访问外围类的私有成员但仅限于静态成员
  • 不可以在enums前使用new(因为其构造函数是私有的)
  • 枚举默认且只能为public static final,所以不能继承
  • 接口里面的变量必须被初始化,而且是final的
  • 接口里面不能有BODY,全部为public abstract
  • 接口可以有nested interface,这时的内嵌的接口可以为private/protected or public
  • is-a (实现/继承) is-like-a(接口),has-a(组合)
  • 泛型不支持协变,again, List<SuperT> lst = new List<T>() 会出错
  • <? extends T> 指必须在T的scope内,相当于c#的(?), <? super T> 指的是T必须为继承了T,比如<? super Path>
  • 没有泛型异常这回事,即没有这种东西 -> GenericExeption<T> extends Throwable
  • 泛型类型不可以为primitive
  • 使用HashSet/HashMap时要重写hashCode()和equals()
  • 关于泛型呢,因为是type erasure所以没有预先定义这回事,所以静态泛型(static T xxx) 是不存在的,
  • %o: octual 八进制  %x: hexadecimal 16进制
  • Watch service不会递归watch子目录,需要自己resursively register watch key
  • If the JDBC API is not able to locate the JDBC driver, it will throw a SQLException. If there are jars for the drivers available, they need to be included in the classpath to enable the JDBC API to locate the driver

  • ResultSet一开始游标指向的是第一条前面,所以必须运行.next()拿到第一条

  • RowSet是种特殊的支持JavaBean组件的ResultSet
        JdbcRowSet: 
        CachedRowSet: disconnected ResultSet
            WebRowSet: CachedRowset + XML (没有说这个是JSON格式喔)
                JoinRowSet: WebRowset + SQL join
                FilteredRowSet: WebRowset + filtering

  • JDBC 4.1 introduces the capability to use try-with-resources statement to close resources (Connection, ResultSet,and Statement) automatically.

  • try-catch的异常如果类似而且处理方式也类似的话,可以考虑使用multi-catch块

  • 即使在catch中return了,也还是会执行到finally的,除非执行的是system.exit(n), 因为这个是停掉所有包括其它的

  • static initialization block cannot throw any checked exceptions. now-static initialization blocks can. however, all the constructors should declare that exception in their throws clause

  • 重写的方法中throw的异常只能比父类的异常更具体,而不能更宽泛,或者不throws也是可以的

  • 如果方法在实现的多个接口中都存在且抛出的异常不同,则实现的方法应该同时抛出这些异常

  • 自定义exception最后继承于Exception或RuntimeException,而不要直接继承Throwable,这个是JVM预留的

  • bundlename_language_country_#script.properties

  • Format (抽象类)
        NumberFormat
        DateFormat - 大写W/D/F(day of week)的是in year, 小写w/d/f的是in month,大写S是毫秒,大写K是am/pm小时数,小写k是hour (1-24), H是(0-23)
            SimpleDateFormat

  • sleep(): 不会release the lock,会hold on to the lock

  • join(): wait for another thread to terminate

  • 仍然不懂的:


  • static method 不可以被override

  • 接口里的方法只能为public & abstract,否则会出编译错“Illegal modifier for the interface method say; only public & abstract are permitted”

    接口里面的field只能为public, final & static,否则会出编译错“Illegal modifier for the interface field Foo.iVisual; only public, static & final are permitted”

  • 前期绑定和后期绑定

  • static block: A constructor will be invoked when an instance of the class is created, while the static block will be invoked when the program initializes

  • 抽象类可以有静态类
  • static的目标不可以使用this,因为它不属于任何一个实例
  • 静态方法里面不可以使用super.StaticMethod(),既然它不可以被继承,也不能使用super了
  • nested class:
    如果内嵌方法是static的,则使用new A.B()
    如果外围方法是static的,则使用new A().B()
    new A().B().C();
    抽象类中的内嵌方法,因为没有实例,所以可以直接A.new B()或A.this.method();
    记住实例方法一定要有实例,否则要new()
    没有static外围类这回事内部类自动拥有对其外围类的所有成员的访问权, 如果内部类和外部类成员的名字完全相同,则在内部类方法中要访问外部类成员(即使是private的),
    内部类必须声明为protected, default, public才对外围类可见(private则会编译错显示为is not visible),
  • a. 内部类可以访问private
    b. 内部类成员可以与外围类同名
  • 内部类不可以有static变量但可以有常量即static final
  • 内部方法类的参数只能为final
  • 匿名类一定是定义在实例化后的对象内的,即 Foo f = new Foo(){ public void say(){ .. } }; 或Foo f {return new Foo(){ public void say(){};}}
  • 匿名类没有显式构造函数,也不能有构造函数
  • Enum类型的constructor只能被定义为private
  • Enum类型的enum常量的定义必须是在第一行...
  • Enums被隐式定义为public, static, final,不可被继承
  • 所有enum都会被转换为类:所以TryEnums.SomeEnum.valueOf("TEST1").getClass()
  • 所有enum类型都继承于java.lang.Enum,每个enum元素都会被转换为enum类的常量,见enum定义 TryEnums.SomeEnum et = TryEnums.SomeEnum.TEST1;
  • 接口内部类自动都是public static的,相当于为接口定义了一种变量类型

  • TryEnums.SomeEnum et = TryEnums.SomeEnum.TEST1;

    System.out.println(et.TEST2); // et定义为一个静态类的常量后,仍然可以用et.TEST2来取到TEST2的常量

  • 因为enum是final static public的,所以不能定义在local inter class中

  • FileWriter fw = FileWriter(path, boolean isAppend)
    fw.append("test001");
    fw.close();
    如果没有第二个boolean参数,默认为覆盖写。

  • A setAutoCommit (False) method invocation starts a transaction context.

  • 看一下正则表达式
    \\s* matches 0 or more occurrences of whitespaces.

  • ScheduledExecutorService

  • The method used to obtain the Executor determines how many Threads are used to execute tasks.

  • 看集合类图,象Q144

  • Class Hashtable extends Dictionary implements Serializable, Cloneable, Map。

    Interface SortedMap extends Map

  • Change FileReader to BufferReader.

    public class BufferedReader extends Reader

    Read text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.

    The buffer size may be specified, or the default size may be used. The default is large enough for most purposes.

  • ThreadLocalRandom.current().nextInt(1, 101);

转载于:https://www.cnblogs.com/syveen/p/3267075.html

读Java 804 - Quick refresher相关推荐

  1. 大家一起读Java美文

    作为一个程序员,我们的休息时间在哪里?当你感到疲惫的时候,不妨静下心来,看一看别人写的代码,或者优秀程序员的杰作,可以说是另一种好的放松方式. 虽然Java没有文学那么优美,用文字来表达情感,但Jav ...

  2. 12月18日云栖精选夜读 | Java 中创建对象的 5 种方式!...

    作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法,我们会在这篇文章中学到. Java中有5种创建对象的方式,下面给出它们的 ...

  3. java大文件读,java 读大文件报错

    代码: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import ...

  4. 读Java核心技术36讲有感——谈谈对Java的理解,谈谈Exception和Error

    读过杨晓峰老师的36讲之后,想总结下自己的感想,写下来也有助于记忆,方便以后面试查阅和复习.题目所提到的话题本来是两讲,但是由于感想篇幅较短,所以合成一篇来写. 一.谈谈对Java平台的理解: 1.J ...

  5. 8月22日云栖精选夜读 | Java开发者必看!机器学习开发库精选!

    本文将介绍一些目前流行的.强大的基于Java的机器学习库. 热点热议 Java开发者必看!机器学习开发库精选! 作者:[方向] 学界 | 不!机器学习才不只是统计学的美化! 作者:技术小能手  发表在 ...

  6. 读Java并发编程实践记录_原子性_锁_同步容器详解_任务执行

    原子性: 单独的,不可分割的操作 不要使用过期状态值来决策当下的状态, 一定要先检查再执行(不检查, 将引发数据修改,丢失) 避免延迟初始化(懒加载: 先查看对象 == null, 然后new), 有 ...

  7. java文件怎么一行一行读,Java 读文件内容如何显示在一行上

    public class FileMessage2 { public static void main(String[] args) throws Exception { File file = ne ...

  8. practical of programming 第二章 java的quick sort

    import java.util.Random; class Quicksort { //随机数的生成 static Random rgen = new Random(); //Quicksort.r ...

  9. Mac下使用Eclipse读java源码

    Mac下java默认是没有附带源码的,到苹果开发者网站也没找到,就尝试了一下使用Window下的源码包,过程只需两步: 拷贝java在windows安装路径下的src.jar到你的Mac系统,在Max ...

  10. 挑灯夜读——Java(一):类与对象

    Java之路(OOP基础) 学习java的起因 大家在浏览了我以前的学习文章就大概知道学习总结主要是围绕无人驾驶相关介绍,当然其使用的语言多为python和c++等语言,之所以学习java,当然是都想 ...

最新文章

  1. 有人说 Maven 很简单,我却被 伤害 过
  2. 十步图解CSS的position
  3. 【JAVASCRIPT】jquery实现新闻滚动效果
  4. 【 MATLAB 】sort ( Sort array elements )
  5. 血泪总结!5000字产品需求写作方法论
  6. 转载:力扣:整数翻转(难点:整数溢出)
  7. 如何利用云原生技术构建现代化应用
  8. backend system available odata service detection
  9. HDU 1248 寒冰王座(完全背包问题另类解法)
  10. mac 连接百度云服务器地址,教你怎么在 Mac 下把百度网盘映射到另一个文件夹
  11. 由pthread_create引起的段错误
  12. linux工程师如何查询时间,查询Linux系统最后重启时间的三个方法
  13. maven创建java,Maven创建Java项目
  14. 自动基线校正 python_安全运维中基线检查的自动化之ansible工具巧用
  15. Xmind模板文档分享——生活计划(3)
  16. 【机器学习】【决策树】自己动手用Python实现一个类:in样本集,out特征分布、概率密度、熵、条件熵、信息增益、信息增益比
  17. ACM到底该不该坚持??
  18. 单源最短路径的迪克斯特拉(Dijkstra)算法
  19. Python递归获取指定文件夹下的所有文件夹、文件
  20. 什么是SSL证书它有什么作用?

热门文章

  1. 安装pandas库报错_Pandas1.0.3安装失败module 'pandas' has no attribute 'plotting
  2. c语言异形图片,“异形”二字描述了他的一生
  3. win10怎么更新显卡驱动_如何更新电脑的显卡驱动(驱动精灵)
  4. PLSQL代码调试Oracle dbms_utility返回错误
  5. Swift --- 下标(subscript)
  6. selenium不定位元素直接操作键盘之Keys.CONTROL
  7. c++中的trivial
  8. #年轻人找工作应该把钱放第一位吗#
  9. 找不到服务器或dsn错误,win10系统找不到服务器或dns错误的解决步骤
  10. python控件布局常用三种方法_控件布局