摘要: 线程分为用户线程和守护线程 用户线程:虚拟机必须确保用户线程执行完毕 守护线程:虚拟机不需要等待守护线程执行完毕 package StateThread; // 测试守护线程 public class TestDaemon { public static void main(String[] arg 阅读全文
posted @ 2024-04-09 13:21 纲炮 阅读(14) 评论(0) 推荐(0)
摘要: 线程调度器按照优先级决定应该调度哪个线程来执行,优先级高的只是获得调度的概率增加了,不一定每次都调度优先级高的 线程的优先级用数字来表示,范围是(1~10) Thread.MIN_PRIORITY=1; Thread.MAX_PRIORITY=10; Thread.NORM_PRIORITY=5; 阅读全文
posted @ 2024-04-09 13:10 纲炮 阅读(31) 评论(0) 推荐(0)
摘要: NEW:尚未启动的线程处于此状态 RUNNABLE:执行的线程处于此状态 BLOCKED:被阻塞等待时锁定的线程处于此状态 WAITING:正在等待另一个线程执行特定的线程处在此状态 TIMED_WAITNG:正在等待另一个线程执行动作达到指定等待时间的线程处于此状态 TERMINATED:已退出的 阅读全文
posted @ 2024-04-08 21:32 纲炮 阅读(11) 评论(0) 推荐(0)
摘要: 线程礼让,让当前正在执行的线程暂停,但不阻塞 将线程从运行状态转为就绪状态 让CPU重新调度,礼让不一定成功,只要还是看CPU的调度。 package StateThread; public class TestYield { public static void main(String[] arg 阅读全文
posted @ 2024-04-08 19:37 纲炮 阅读(17) 评论(0) 推荐(0)
摘要: Sleep指定当前线程阻塞的毫秒数; Sleep存在异常InterruptedException; Sleep时间达到后线程进入就绪状态; 每个对象都有一把锁,Sleep不会释放锁; 以下代码为利用Sleep进行模拟倒计时 package StateThread; //模拟倒计时 public cl 阅读全文
posted @ 2024-04-08 15:34 纲炮 阅读(15) 评论(0) 推荐(0)
摘要: 函数式接口的定义:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。 对于函数式接口,我们可以通过Lambda表达式来创建该接口的对象。 注意 1.Lambda表达式只有一行代码的情况下才能简化成一行,如果有多行就需要用代码块包裹。 2.使用Lambda前提,接口必须是函数式接口 3. 阅读全文
posted @ 2024-03-29 20:29 纲炮 阅读(10) 评论(0) 推荐(0)
摘要: ![image](https://img2024.cnblogs.com/blog/3399144/202403/3399144-20240322202752546-1103548263.png) 阅读全文
posted @ 2024-03-22 20:27 纲炮 阅读(10) 评论(0) 推荐(0)
摘要: 封装 高内聚,低耦合 高内聚:类内部操作自己完成,不允许外部干涉。 低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏)通常应禁止直接访问一个对象中数据的实际表达,而应该通过操作接口来访问,这称为信息的隐藏。 封装的特点 1.提高程序的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口 4. 阅读全文
posted @ 2024-03-21 18:53 纲炮 阅读(121) 评论(0) 推荐(0)
摘要: 使用new关键字创建对象 创建时除了分配内存空间外,还会给创建好的对象进行默认的初始化以及类中构造的调用 构造器 构造器也称为构造方法,是进行创建对象的时候必须要调用的 特点: 1.必须和类的名字相同 2.必须没有返回值,也不能写void 作用: 1.new本质是在调用构造方法 2.初始化对象的值 阅读全文
posted @ 2024-03-19 14:43 纲炮 阅读(17) 评论(0) 推荐(0)
摘要: Scanner对象: 基本语法:new Scanner(System.in); 通过scanner类的next和nextLine()方法输入字符串,在读取中我们一般使用hasNext()方法与hasNextLine()判断是否还有输入数据。 next()方法: 1.对输入有效字符之前遇到的空白,ne 阅读全文
posted @ 2024-03-07 21:51 纲炮 阅读(93) 评论(0) 推荐(0)