JAVA高级知识点总结

一.集合框架

  • List:有序/可重复
    - ArrayList:长度可变的数组,便于查找和随机访问
    - LinkedList(Node):双向链表,便于插和删除
  • Set:无序/唯一
    - HashSet:HashMap的key(由HashCode()和equals()方法共同保证不重复),常用于去重
  • Map:底层是Entry<K,V>键值对
  • 遍历:
    - List:fori,增强for,迭代器
    - Set:增强for
    - Map:entrySet(),keySet(),values();
  • 泛型:限定了集合类型的输入和输
  • 常用方法:
    - add()/put();
    - remove();
    - set();/put();
    - get(下标)/get(key);
    - Collection:CompareAble/new CompareTo{int compare(){}}

二.实用类

  • 包装类:基本是数据类型的表示法,主要用于泛型的使用,且常用于与字符串类型的转换
    - 装箱:将基本数据类型变为包装类型
    - 拆箱:把包装类型转为基本数据类型
    - Integer a=1;//自动装箱
    - int b=new Integer(12);//自动拆箱
  • Math类:基本为数学公式
  • Random类:各种随机数
  • 枚举类:特殊的类,私有构造,直接写的值都是当前类型
  • String类:底层是字符数组常量,不可改变,更安全
    - 常用方法:indexOF,split,charAt,substring,toCharArray,getBytes
  • StringBuffer类:底层是字符数组变量,初始长度为16,线程安全,运行相对较慢
    - 常用方法:append(),toString()
  • Stringbuilder类:单线程,运行相对较快
  • Date类:UTC时间
  • SimpleDateFormat类:“yyyy-MM-dd HH:mm:ss”

三.I/O流:InputStream/OutputStream/Reader/Writer

  • 普通流:FileInputStream/FileOutputStream/FileReader/FileWriter

  • 转换流:InputStreamReader/OutputStreamWriter,转换流以及字符编码

  • 高级流:
    - 缓冲流:把流在闲时先一步读取进缓存
    BuffereReader、BuffereWriter
    - 二进制流:相对来说安全,先把要传输的图片、音频、视频等先放入文件流
    DataInputStream、DataOutputStream
    - 对象流:对象要现实性Serializable接口(序列化)
    ObjectInputStream、ObjectOutputStream

  • 读取过程:
    - 把文件放入文件输入流中
    - read(),read(b)…
    - 关闭流

  • 写入过程:
    - 把文件输出路径放入输出流中
    - Writer()
    - 关闭流

四.多线程

  • 继承Thread类的、实现Runnable接口
  • 实现Callable接口:call()方法是由返回值的(泛型)
    - FutureTask task=new FutureTask(Callable接口的实现类的对象);
    - Thread t=new Thread(task);
    - t.start();
    - task.get();//获取返回值

五.反射

  • 运行时获取对象及操作对象及其内容及其属性和方法(唯一不生效的是枚举)
  • 获Class对象的三种方式:类型.class、对象.getClass()、Class.forName(“类的全路径”);
  • 获取构造方法: (getDeclaredConstructor())newInstance()
  • 设置权限:setAccessible(true);
  • 调用方法:(getDeclaredMethod(“方法名”,“参数类型”))invoke()
  • 设置属性:(getDeclaredField(“属性名”))set()

六.XLM/JSON

  • xml格式:<?xml version="1.0" charsrt="UTF-8"?>
    - 根标签、一一对应(有开头、有结束)
  • xml作用:传输数据(基本不用了)、配置文件
  • DOM:
    - DocumentBuilderFactoryfactory=DocumentBuilderFactory.newDocumentBuilderFactory();
    - DocumentBuilder builder=factory.newDocumentBuilder();
    - Docment document=builder.parrse(“xml路径”);
    - Element e=document.getElementByName(“标签名称”);
    - e.item(0);
  • 保存
    - TransformFactory f=TransformFactory.newInstance();
    - Transform tf=f.newTransform();
    - DomSource s=new DomSource();
    - StreamResult sr=new StreamResult(writer对象装入目标地址);
    - tf.tranform
  • JSON:对象要实现Serializable接口
    - 对象转json格式字符串:JSON.toJSONString(对象)
    - json字符串转json:JSON.parseObject(json串);
    - json转对象:JSON.toJavaObject(json对象,java对象类型.class);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值