第一阶段总结(二)

第一阶段总结(二)

常用类:

Object类

hashcode()
toString()
clone()
getClass()
notify()
wait()
equals  

Math类:常见的数学运算

Random类:生成随机数 UUD

File类:创建文件 查看文件 修改文件 删除文件

包装类:自动装箱和拆箱

Date类:

Date
SimpleDateFormat
Calendar(建议使用)

String类 : 不可变性 final 操作量较少

StringBuffer: 可变长 append() 多线程数据量较大 效率低 安全

StringBuilder:可变长 单线程数据量较大 效率高 不安全

集合框架

Collection:

List:(有序 可以重复)
     ArrayList:  add  remove  contains size
     LinkedList: getFirst()  getLast() removeFirst()  addFirst() ...
     Vector
     Stack
Set:(无序 不可重复)
    HashSet(常用)
    TreeSet
Iterator:迭代器

Map:

HashMap(重点,面试高频问点):
                         JDK1.7:数组+链表
                         JDK1.8:hash表 = 数组 + 链表 + 红黑树
TreeMap

Collections :工具类

泛型<>:约束,避免类型转换之间的问题

IO流:

字节流:
    InputStream:输入
    OutputStream:输出
字符流:
    Writer
    Reader
节点流: CharArrayReader CharArrayWriter CharArrayOutputstream CharArrayInputstream
        StringReader StringWriter 
        pipe(管导流) PipedOutStream
        File(...)
        
处理流:
    buffer: bufferInputStream  bufferOutputStream bufferReader bufferWriter
    序列化  反序列化 Serializable transient(透明的)
    filter
    Object
    Data:DataInputStream  DataOutputStream 
    转换流: InputstreamReader  OutputStreamWriter
    Print:PrintWriter PrintStream
    

多线程

进程和线程

run(), start()

线程创建的方式:

Thread: start() 本地方法:java无权调用,交给底层c处理 private native void start();
Runnable:函数式接口 lambda
Callable:可以有返回值

静态代理: new Thread(Runnable).start();

Lambda表达式:函数式编程

​ 避免内部类定义过多

​ new Thread(()->{System.out.println();}).start();

线程的状态: 新建状态 就绪 运行 阻塞 死亡

常用的方法:

sleep
join
yield
isLive
start
setPriority
interrupt()

线程同步:多个对象操作同一个资源 ,并发问题

​ 队列 + 锁

​ Synchronized:

​ 同步方法 弊端:锁太多

​ 同步代码块(常用)

​ 第一个线程进来拿到锁,后面就要排队了,直到这个人释放锁,后面拿到锁才能进去。

​ 死锁:两个人都抱着对方的锁。

​ 互斥

​ 请求与保持

​ 不剥夺条件

​ 循环等待条件

​ Lock:ReentrantLock(优先级高)

​ lock

​ trylock

​ unlock

线程通信

缓冲区:消息队列

信号灯(标志位)

wait();

notifyall();

线程池

池化技术

池的大小

最大连接数

保持时间

网络编程

IP

端口

Socket编程

TCP: 三次握手 四次挥手 面向连接

UDP:无连接 Packet

URL

初始Tomcat

聊天通信

文件上传

GUI:

AWT:
    Frame
    监听事件:
           鼠标
           键盘
           窗口
           文本框
           动作事件
Swing:
        文本框
        标签
        按钮
        文本域
        面板
        布局方式
        关闭窗口
        列表
贪吃蛇:
        Timer
        键盘监听
        游戏帧的概念
        

注解和反射

注解:
    元注解
    内置注解
    自定义注解
    反射读取注解
 反射:
    Class类 : newInstance()
    类加载机制
    Method  :invoke(user3,"秦疆")
             存在重载,也需要写参数类型
    Field:set(user4,"秦疆")
    Construct: newInstance
               获取的时候需要传递参数的class类型
   破坏私有关键字  setAccessible(true); 
   性能分析:  正常>检测关闭的反射>默认的反射
   反射获得注解,泛型..  

猜你喜欢

转载自blog.csdn.net/doudoutj/article/details/113871011