java集合

Set接口中的容器类,不允许存储重复的元素 且元素可以是无序的

List接口中的容器类,元素是有序的 允许存在重复的元素

单态设计模式:饿汉模式和懒汉模式  推荐使用饿汉模式

如果在类中定义抽象方法,那么类就必须定义为抽象类

一个类如果要继承类,有要实现接口,那么继承在前,实现在后



ctrl+shift+/:多行注释  导入包:ctrl+shift + o  取消注释:ctrl+shift+\  用户体验非常重要
alt + / 代码提示  
ctrl + alt + 下键  向下复制
ctrl + alt + 上键  向上复制

alt + 下键  向下移动
alt + 上键  向上移动

F3 查看源代码
F4 查看定制类的成员

ctrl + o 查看代码结构

导包:ctrl+shift+o
大--->小写切换:ctrl+shift+y
小--->大写切换:ctrl+shift+x

线程
Thread类
setName()设置当前线程名字
getName()获取线程名字
currentThread()获取当前线程的名字

start() 启动一个线程
Runnable接口
创建线程 Thread th = new Thread(new 实现Runnable接口的类())

线程启动以后,不能使用setDaemon()方法设置线程类型

java程序-->数据源:输出流
java程序<--数据源:输入流

按流向:分输入、输出流
按传输单位:分字节、字符流
按功能:节点流\过滤流

IO流操作文件的一般步骤:
1.创建连接到指定数据源的IO流对象
2.利用io流类提供的方法进行数据的读取或者写入.在整个过程中都需要IOException异常 当想输出流中写数据的时候,写完以后记得调用flush()方法来强制写出所有的缓冲流的数据
3.操作完毕后,记得调用close()方法来关闭io流对象


ctrl+t  接口里查看实现类

ctrl+shift+f  自动格式化


缓存机制:享元模式   Map<> map
if(map.get(key) == null){
map.put(key,value);
}

在Set中  添加两个对象只有当对象的equals()方法和hashCode()方法返回值都相等时才是同一个对象
在一个类中如果重写了equals()方法,也应该重写hashCode()方法,其规则是:如果两个对象实例
通过equals()方法返回true时,这两个对象的hashCode()方法返回值也应该相等

final 修饰变量:被赋值以后不能对它重新赋值  修饰类变量时实际上是在静态初始化块中赋初值,修饰实例变量则是在构造器中被赋初值
修饰方法:修饰的方法不能被重写
修饰类:修饰的类不能派生子类 即最终类

宏替换:在定义实例变量,类变量,局部变量是就初始化
被匿名内部类中访问的局部变量,应该加final修饰符,普通静态内部类、非静态内部类不可能访问方法体内的局部变量



注释:文中的快捷键是在eclipse中的一些快捷键