java基础
@会飞的鱼≯
对的时间遇上对的人
展开
-
使用java模拟生产者消费者问题
解决生产者消费者问题一共有三种方法 方法1:** 使用wait()和notify(),当容器满了之后,生产者需要暂时停止生产,直到容器非满,当容器空了之后,消费者需要暂时停止消费,直到容器非空,缓冲区为满和为空时都调用wait()方法等待,直到生产者生产了一个产品或者消费者消费了一个产品之后才会唤醒所有线程。 方法2: await()与signal()方法,即线程锁的方式。 可重入锁(ReentrantLock)的实现。 可重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该原创 2020-07-17 20:00:54 · 551 阅读 · 0 评论 -
java中的反射机制
反射 将类的各个组成(属性、构造函数、方法等)部分封装成其他对象,这就是反射机制 反射的优点 可以在程序运行的时候创建对象 可以实现代码解耦 获取字节码对象(Class)的三种方式 通过Class.forName(“全类名”)方法; 多用于读取配置文件,根据配置文件的信息创建对象 通过类名.class获取 多作为参数传递 通过对象.getClass()获取 用于有对象的时候获取字节码对原创 2020-07-07 08:12:36 · 75 阅读 · 0 评论 -
==与equals区别
== 与 equals区别 == 是一个比较运算符,可以直接对两个相同(或兼容)数据类型的进行运算。可以比较基本类型和引用类型,对于基本数据类型,比较的是变量中的值,且基本类型只能使用 == 比较;对于引用数据类型比较的是引用变量中对象的地址,如果要要判断两个对象是否是同一对象,可以使用==。 equals是Object中的一个方法,是针对引用类型进行比较的方法。在Object中默认实现是比较hashCode地址,即比较的是对象的地址。如果想要比较对象的内容,就需要重写equals方法。 有一些类已原创 2020-07-05 13:23:02 · 76 阅读 · 0 评论