javase-review

1. 命名
  • 包com.cy.pj.sys.dao com.cy.pj.common.util
  • 类SysNotice.java
  • 方法selectNotice
  • 变量id
  • 常量ID_CHECKS
2. 数据类型
  • byte 1 short 2 int 4 long 8 float 4 double 8 char 2 boolean 1
  • Integer.MIN_VALUE new Scanner(System.in).nextInt();
  • new Random().nextInt(10)
3. 运算符

/ % ! == = ?: || &&

4. 分支

if(){}else{} switch(){case v:m;break; default:m; }

5. 循环

for(){} while(){} do{}while() for(){for(){}} 外层行内存列

6. break continue return
7. 资源

类 抽象类 接口 枚举类 , 成员变量 局部变量 常量 , 静态方法 构造方法 方法 , 静态代码块 构造代码块 局部代码块

8. 方法

重载overload

9. 数组
int[] a = new int[9];
int[] a = {1,2,3,4};
int[] a = new int(){1,2,3,4,4};
内存: 堆  栈     java.lang.ArrayIndexOutOfBoundsException
Arrays toString sort copyOf
10. 封装 private
11. 继承 extends @override
12. 多态 父类引用指向子类对象
13. 异常: 继承RuntimeException
void m() throws Exception{}
try{}catch(Exception e){e.PrintStackTrace;throw new RuntimeException();}finally{try{conn.close}catch(Exception e){e.PrintStackTrace;}}
try catch finally throw
14. 单例模式
饿汉式: 占用内存
懒汉式: 线程安全(共享资源的使用) 加锁
15. api
String/StringBuilder/StringBuffer
    a. 执行速度 StringBuilder > StringBuffer > String
    b. 线程安全: StringBuilder不安全 StringBuffer安全-使用了同步锁
    c. 试用场景: String-少量字符操作 , StringBuilder-单线程下载字符缓冲区大量字符操作 , StringBuffer-多线程下字符缓冲区打了字符操作
Integer
        new Integer()  intValue()    valueOf() parseInt()        -128~127
        Integer a = new Integer("123"); Integer b = new Integer("123");     --false
        Integer c = 123; Integer d = 123;                                   --true
        Integer e = 500; Integer f = 500;                                   --false
        Integer g = new Integer("123"); int h = 123;                        --true
        Integer i = 500; int j = 500;                                       --true
BigDecimal
        divide
16. stream
File   new File(String path)
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(path));
BufferedReader br = new BufferedReader(new FileReader(path)) = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
BufferedWriter bw = new BufferedWriter(new FileWriter(path)) = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path)));
InputStreamReader isr = new InputStreamReader(new FileInputStream(path,"Unicode/utf-8"));
OutputStreamReader osr = new OutputStreamReader(new FileOutputStream(path))
Serializable  serialVersionUID
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path));
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path));
17. 泛型

泛型类 , 泛型方法 集合中使用的泛型多Map<String,Object> 类型擦除(泛型编译时检查类型,运行时.class是都是Object类型)

18.集合
Collection
    List : 有序 有索引  可重复  多个null
        ArrayList : 数组 查询快
        LinkedList : 链表 增删快
    Set : 无序 无索引  不可重复  只能一个null
        HashSet : HashMap中的key
    add remove iterator
Collections
Map<K,V>
    HashMap<K,V>
    put  get
    迭代:
    Map<String,Object> m = new HashMap<>();
        Connection<V> con = m.values();
        Set<K> set = m.keySet();
        Set<Map.Entry<String,Object> s = m.entrySet();
    Map<String,Object> 结果集中把一条记录放在map中
    List<Map<String,Object>> 把所有的map放在list集合中 形成大的结果集
19. 线程
进程: 程序的运行需要依赖进程    线程:是进程最小的运作单位      一个程序运行需要多个进程,一个进程需要多个线程
并发: 多个线程抢占一个cpu   并行: 为每一个线程分配一个cpu,排队
多线程: 继承Thread类   实现Runnable接口   实现Callable接口   线程池
    1. A extends Thread{ run(){ sout }}    创建对象执行start方法   A t1 = new A();
    2. B implements Runnable{ run(){ sout } } B b = new B();  Thread t = new Thread(b,"123");
    3. C implements Callable{ call(){ }}   Thread t = new Thread(new FutureTask(new C()),"123");
    4. ((ThreadPoolExecutor)(Executors.newFixedThreadPool(12))).execute(new D());
20. 锁
异步锁: 多线程抢占资源的效果, 线程间互相不等待 互相抢占资源,
同步锁: 排队的效果, 同一时刻只能有一个线程独占资源,  安全效率低
        同步方法, 同步代码块
悲观锁: 排他锁  互斥锁
乐观锁: 读写锁
21. 注解 annotation
  • @Annotation
  • @Target @Retention String value() default “吕晶”;
22. 反射reflection
  • Class.forName(“完整路径”); LvJing.class; new LvJing().getClass();
  • 创建对象
  1. Class.forName("").newInstance();无参构造
  2. clazz.getDeclaredConstructor(String.class).newInstance(“jin”);
  • 执行方法 invoke();
  • 设置私有可用 setAccessible(true)
23. 内部类
  • 内部类 局部内部类 匿名对象
24. 套接字编程
  • socket
25. 序列化
  • implements Serializable
26. 正则表达式
  • 定义一个表达式
  • 判断要使用的资源是否符合 定义的表达式格式

String regex="\d{17}[0-9X]"; input.matches(regex)

27. ocp原则
  • 开闭原则 open closed principe
  • 软件实体应该对扩展开放, 对修改关闭
28. 枚举
public enum Weekday {
    SUN,MON,TUS,WED,THU,FRI,SAT
}
public enum Weekday {
    MON(1),TUS(2),WED(3),THU(4),FRI(5),SAT(6),SUN(0);
    private int value;
    private Weekday(int value){
        this.value = value;
    }
}
Weekday sun = Weekday.SUN;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值