摘要: 一、简介 1、I/O I/O指的是计算机与外部世界,或者程序与计算机其他部分的接口,即输入/输出。 在JAVA中,通常都以流的方式完成I/O,通过一个Stream对象操作。这种操作方法是堵塞的,无法移动读取位置的(只能一直往下读,不能后退),并且效率较低。JAVA为了提高I/O效率,在1.4之后,推 阅读全文
posted @ 2017-11-11 21:21 kejicjk 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 一、数据库隔离级别 数据库有四种隔离级别,从低到高,分别是: 未提交读(Read uncommitted):即一个事务能读到另一个事务未提交的数据。 提交读(Read committed):即当事务对数据所做的修改还未提交时,其他事务都只能读到老的数据。 可重复读(Repeated Read):即当 阅读全文
posted @ 2017-10-27 21:27 kejicjk 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 一、创建和销毁对象 1.考虑用静态工厂方法代替构造器 静态工厂方法有名称,可以指示产生对象的特点。 静态工厂方法屏蔽了内部的实现。比如:对于不可变对象,可以返回相同的引用;将对象缓存起来,重复利用。 静态工厂方法可以根据参数,返回原类型任意需要的子类型。 服务提供框架 服务接口:服务的通用接口。(C 阅读全文
posted @ 2017-07-10 09:20 kejicjk 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 一、先看jdk中对Cloneable接口和clone方法的解释 Cloneable接口 一个类声明实现了Cloneable接口,就是表示Object中实现域值复制的clone()方法可以合法调用。假如一个类在没声明实现Cloneable接口的情况下,直接调用clone()方法,将会抛出CloneNo 阅读全文
posted @ 2017-06-18 17:37 kejicjk 阅读(858) 评论(0) 推荐(0) 编辑
摘要: 1. 如果一个操作是未获支持的,那么实现接口的时候就会导致UnsupportedOperationException异常。最常见的未获支持的操作,都来源于背后大小固定,不可更改的数据结构支持的容器。比如:Arrays.asList()方法产生的的List。任何会引起List的大小发生变化的操作(比如 阅读全文
posted @ 2017-06-17 13:11 kejicjk 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 1、方法一次返回多个结果的实现方法: 构建一个类 使用泛型,创建多元组 2、泛型也可以应用于接口,例如生成器。 3、java泛型的一个局限性,基本类型无法作为参数类型。不过,java SE5具备了自动打包和自动拆包的功能。 4、泛型方法:是否拥有泛型方法,与其所在的类是否是泛型没有关系。注意:如果使 阅读全文
posted @ 2017-06-17 12:42 kejicjk 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 1、java主要有两种方式在运行时识别对象和类的信息:RTTI和“反射”机制。 2、类加载器系统实际上可以包含一条类加载器链,但是只有一个原生态加载器,它是JVM实现的一部分。原生态加载器加载的是所谓的可信类,包括Java API,它们通常都是从本地盘加载的。在这条链中,通常不需要添加额外的类加载器 阅读全文
posted @ 2017-06-17 12:28 kejicjk 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1、String对象是不可变的,String类中每一个看起来修改String值得方法,实际上都是创建了一个全新的对象,以包含修改后的字符串内容。 2、显式地创建StringBuilder还允许你为其指定大小。如果预先知道拼接后的字符串长度,可以预先指定大小从而避免多次重新分配缓存。 3、String 阅读全文
posted @ 2017-06-17 12:27 kejicjk 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1. 当抛出异常后,首先同Java中其他对象的创建一样,将使用new在堆上创建一个异常对象;然后,当前执行路径被终止,并且从当前环境中弹出对异常对象的引用。此时,异常处理机制接管程序,并开始寻找异常处理程序处理这个异常对象。 2. 所有标注异常类都有两个构造器:一个是默认构造器,另一个是接受字符串作 阅读全文
posted @ 2017-06-17 12:25 kejicjk 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 1、Collection的构造器可以接受另一个Collection,用它来进行自身的初始化。但是,Collection.addAll()方法运行起来要快得多,而且构建一个不包含元素的Collection,然后调用Collection.addAll()这种方式很方便,因此这种方式是首选。 2、Arra 阅读全文
posted @ 2017-06-17 12:15 kejicjk 阅读(137) 评论(0) 推荐(0) 编辑