提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本周学习了注解、反射、内部类Lambda表达式、多线程、网络编程,并且还要考核
写代码时好出现问题。
一、学习内容
本周学习的知识都很浅,在平时还不咋用,容易忘记.
1.多线程:
3.多线程的安全问题及解决
出现问题原因:有共享数据,数据被多条语句操作了
解决:同步代码
同步代码块
锁多条语句操作共享数据,使用同步代码块实现
格式:
synchronized(任意对象){
多条语句操作共享数据的代码
}
这就相当于给代码加锁了,任意对象就可以看成一把锁同步
好处和弊端:优点:解决了线程安全问题
缺点:当线程过多时,每个线程都会去判断同步上的锁,耗费性能
同步方法:普通方法直接加上synchronized关键字,锁对象为this
静态方法也直接加上synchronized,锁对象时类名.class
Lock锁:Lock提供了获得锁和释放锁的方法
void lock():获得锁
void unlock():释放锁
Lock是一个接口不能直接实例化,采用它的实现类ReentrantLock来创建.
2.反射
概述:负责将class文件加载到内存中,生成Java.lang.Class对象
类加载器对象:ClassLoder
类加载机制:全盘负责、父类委托、缓存机制
二、自定义一个管理项目
写代码时容易出现bug,改代码花费的时间比写的时间还多,改来改去越来越烦.
所以开始写的时候,一定要想好思路和步骤,每一个代码都要符合标准.
我的仓库地址
https://gitee.com/zhaohaiyangzxc/git-xm.git
有兴趣的可以看看
总结
我很好!!!