Java高级特性知识框架

1、集合框架
	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();
			查:get();
	Collections:CompareAble,new CompareTo{int compare(){}}
2、实用类
	包装类:方便泛型使用,与String类型的转换
		装箱:把基本数据类型变为包装类型
		拆箱:把包装类型转换为基本数据类型
		Integer a=1;//自动装箱
		int b=new Integer(12);//自动拆箱
	Math类:数学公式类
	Random类:各种随机数
	枚举类:特殊的类,私有构造,直接写的值都是当前类型,唯一防反射
	String:底层是字符数组常量,不可改变
		indexOf();split();charAt();subString();toCharArray();getBytes();
	StringBuffer:线程安全,较慢
		append();toString();
	StringBuilder:单线程(线程不安全),较快
	Data:UTC时间
	SimpleDataFormat:"yyyy-MM-dd HH:mm:ss"
3、io流:InputStream、OutputStream、Reader、Writer
	普通流:FilInputStream,FileOutputStream,FileReader,FileWriter
	转换流:InputStreamReader,OutputStreamWriter\转换流即字符编码
	高级流:
		缓冲流:把(字符)流在闲时先一步读取缓存
		BufferedReader,BufferedWriter
		二进制流:
			先把要传输的图片、音频、视频等先放入文件流
			把文件流装入DataInputStream...
		对象流:
			对象要先实现Serializable接口
			ObjectInputStream,ObjectOutputStream
	读取过程:
		1.把文件放入文件输入流中
		2.read(),read(b)...(放入字符串)
		3.关闭流
	写入过程:
		与上一步基本类似
4、多线程
	继承Thread类、实现Runnable接口
	star()和run()的区别:star()是真正实现多线程的方法
	实现Callable接口:call()方法有返回值(泛型)
		FutureTask task=new FutureTask(Callable接口的实现类的对象);
		Thread t=new Thread(task);
		t.start();
		task.get();		//获取返回值
5、反射:运行时获取对象、操作对象及其属性和方法
	获取类的三种方法:
		类型.class;
		对象.getClass();
		Class.forName("类的全路径");
	获取方法或属性:
		构造方法 (getDeclaredConstructor()) newInstance();
		普通方法 (getDeclaredMethod("方法名",参数列表)) invoke();
		属性 (getDeclaredField("属性名")) set();
	权限不够的需要执行 setAccessible(true);
6、xml和json 
	xml格式:
		<?xml version="1.0" charset="UTF-8"?>
		根标签、一一对应(有开头、有结束)
	xml作用:传输数据、配置文件
	DOM获取:
		1. DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance;
		2. DocumentBuilder builder=factory.newDocumentBuilder();
		3. Document document=builder.parse("xml路径");
		4. Element e=document.getElementsByName("标签名称");
		5. e.item(0);
	保存:
		1. TransformFactory f=TransformFactory.newInstance();
		2. Transform tf=f.newTransform();
		3. DomSource s=new DomSource(document);
		4. StreamResult sr=new StreamResult(writer对象装入目标地址);
		5. tf.tranform(s,sr);
		
	json:对象要实现Serializable接口(序列化)
		对象转字符串:JSON.toJSONString(对象);
		对象转json:JSON.parseObject(json串);
		json转对象:JSON.toJavaObject(json对象,java对象类型.class);
7、正则表达式(规则表达式)
	匹配规则
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值