【老杜JAVA基础视频笔记05】

多线程

1. start()方法的作用

在这里插入图片描述

2. 调运start后jvm中内存分配情况

在这里插入图片描述

3. 创建线程的方式

在这里插入图片描述

4. sleep方法

在这里插入图片描述
线程对象.interrupt()方法,干扰,让线程终止睡眠状态,不是终止线程。
sleep方法不会释放锁,wait方法释放锁。

5. 强制终止一个线程

方法一:线程对象.stop()方法,终止当前线程,但是可能出现数据丢失,该方法已过时。
方法二:改标记,设置一个标记flag,为true线程就继续执行,为false就终止执行,先保存数据,然后直接return。

6. 线程安全问题
什么时候存在线程安全问题?
  1. 多线程并发;
  2. 有共享数据;
  3. 共享数据有修改行为。
怎么解决线程安全问题?

线程排队执行(不能并发),线程同步机制。

(异步就是并发,同步就是排队)

7. 守护线程

java语言中线程分为两类:用户线程和守护线程。
用户线程一旦结束,守护线程自动结束。
守护线程如垃圾回收线程。
语法格式是:在.start()之前将线程利用.setDeamon(true)方法设置为守护线程。

8. wait()和notify()
  1. 任何一个java对象都有wait()和notify()方法
  2. wait()方法作用:
    wait()会释放o对象上的锁
    在这里插入图片描述
  3. notify()方法作用:
    notify不会释放锁。
    在这里插入图片描述
9. 生产者消费者

反射机制

10. 反射机制
  1. 反射机制有什么用?
    通过java语言中的反射机制,可以读和修改字节码文件。
  2. 反射机制的相关类在哪个包下?
    java.lang.reflect.*;
  3. 反射机制相关的重要类有哪些?
    java.lang.Class:代表整个字节码,代表整个类
    java.lang.reflect.Method:代表字节码中的方法字节码,代表类中的方法
    java.lang.reflect.Constructor:代表字节码中的构造方法字节码,代表类中的构造方法
    java.lang.reflect.Field:代表字节码中的属性字节码,代表类中成员变量(静态变量+实例变量)
  4. 获取class
    第一种方法:forName方法
    在这里插入图片描述
    第二种方法:java中任何一个对象都有个方法 getClass()
    在这里插入图片描述
    在这里插入图片描述
    第三种方法:Java语言中任何一种类型,包括基本数据类型,都有.class属性
    在这里插入图片描述
11. 通过反射实例化对象

通过Class的newInstance()方法实例化对象,newInstance()方法内部实际上调用了无参数构造方法,必须保证User这个类的无参构造存在。
反射机制更灵活
在这里插入图片描述

12. Class.forName()发生了什么

如果只希望某个类的静态代码块执行,可以采用Class.forName()的方式。
因为Class.forName()会导致类加载,类的静态代码块在类加载的时候执行。
在这里插入图片描述

13. 获取类路径下文件的绝对路径(背会)

下面代码获取绝对路径是通用的,但是有个前提,就是你要获取的这个资源(这里是classinfo2.properties),一定要在类路径下才行(就是src路径下),逃出src就不行了。在这里插入图片描述
在这里插入图片描述
必须从类的根路径下作为起点开始
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14. 资源绑定器

在这里插入图片描述

15. 补充

在这里插入图片描述

16. 反射属性Field

获取类中public修饰的属性:类名.getFields(),返回值类型是Field[]。
获取类中所有属性:类名.getDeclaredFields,返回值类型是Field[]。
获取类中属性类型:.getType()在这里插入图片描述
获取类中修饰符:.getModifiers
在这里插入图片描述

17. 通过反射机制 访问对象属性Field

在这里插入图片描述
在这里插入图片描述

18.

可变长参数:int... args
在这里插入图片描述
可变长度参数必须在参数列表中的最后一个,且只能有一个。
在这里插入图片描述

18. 反射Method(了解即可)

在这里插入图片描述
在这里插入图片描述

19. 通过反射机制怎么调一个对象的方法(重点!掌握掌握!!!)

.invoke()方法一定要记住
在这里插入图片描述

20. 通过反射机制调用constructor构造方法实例化java对象(了解)在这里插入图片描述
21. 类的父接口和父类

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值