摘要: File类的概念 java.ioFile类是文件和目录路径名的抽象表示,主要用文件和目录的创建,查找和删除等操作 它的构造方法 public File( String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的FIle实例 public File( String pare 阅读全文
posted @ 2022-07-08 20:49 ja不会va 阅读(28) 评论(0) 推荐(0)
摘要: 有参数有返回值的练习(自定义接口) public interface Calculator { //定义一个计算两个int整数和的方法并返回结果 public abstract int day01(int a,int b); //测试 public static void main(String[] 阅读全文
posted @ 2022-07-08 15:59 ja不会va 阅读(30) 评论(0) 推荐(0)
摘要: 无参数无返回值练习 //定义Cook接口 public interface Cook { public abstract void food(); } //测试 public static void main(String[] args) { //调用Cook方法,参数Cook接口,传递Cook接口 阅读全文
posted @ 2022-07-08 15:52 ja不会va 阅读(22) 评论(0) 推荐(0)
摘要: Lambda表达式的标准格式: 由三部分组成 a.—些参数 b.一个箭头 c.一段代码格式:(参数列表)->{一些重写方法的代码} 解释说明格式: ():接口中抽象方法的参数列表,没有参数,就空着;有参数就写出参数,多个参数使用逗号分隔 ->:传递的意思,把参数传递给方法体{} {}:重写接口的抽象 阅读全文
posted @ 2022-07-08 15:46 ja不会va 阅读(28) 评论(0) 推荐(0)
摘要: 冗余的Runnable代码当需要启动一个线程去完成任务时,通常会通过java.lang.nabe接口来定义任务内容, 并使用ava.lang. Thread类来启动该线程。代码如下: 本着一切皆对象的思想,这种做法是无可厚非的:首先创建一个 Runnable接口的匿名内部类对象来指定任务内容,再将其 阅读全文
posted @ 2022-07-08 15:39 ja不会va 阅读(51) 评论(0) 推荐(0)
摘要: 线程池的代码实现 public class RunnabImpl implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName()); } } //测试publ 阅读全文
posted @ 2022-07-08 15:27 ja不会va 阅读(33) 评论(0) 推荐(0)
摘要: 吃货类测试 public class ChiHuo extends Thread{ /* 消费者(吃货)类:是一个线程类,可以继承Thread设置线程任务(run):吃包子 对包子的状态进行判断 false:没有包子 吃货调用wait方法进入等待状态 true:有包子 吃货吃包子吃货吃完包子 修改包 阅读全文
posted @ 2022-07-08 15:08 ja不会va 阅读(32) 评论(0) 推荐(0)
摘要: 等待唤醒机制案例需求分析 代码实现包子类和包子铺类 生产者包子铺)类:是一个线程类,可以继承 Thread 设置线程任务(rwn):生产包子 对包子的状态进行判断 true:有包子包子铺调用wit方法进入等待状态 false:没有包子包子铺生产包子增加一些趣味性:交替生产两种包子有两种状态(i2=0 阅读全文
posted @ 2022-07-08 14:34 ja不会va 阅读(24) 评论(0) 推荐(0)
摘要: 线程间通信 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。 比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作 一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。. 为什么要处理线程间通信? 多个线程并发执行时,在 阅读全文
posted @ 2022-07-08 13:45 ja不会va 阅读(45) 评论(0) 推荐(0)
摘要: 等待唤醒案例:线程之间的通信 创建一个顾客线程(消费者):告知老板要的包子的种类和数量,调用wait方法,放弃cpu的执行,进入到wAITING状态(无限等待) 创建一个老板线程(生产者):花了5秒做包子,做好包子之后,调用notify方法,唤醒顾客吃包子 注意: 顾客和老板线程必须使用同步代码块包 阅读全文
posted @ 2022-07-08 13:30 ja不会va 阅读(93) 评论(0) 推荐(0)
摘要: 线程状态的概述 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。 在线程的生命周期中,有几种状态呢?在AP中java.lang. Thread. State这个枚举中给出了六种线程状态这里先列出各个线程状态发生的条件,下面将会对每种状态进行详细解析 线程状态理解:我们 阅读全文
posted @ 2022-07-08 11:42 ja不会va 阅读(46) 评论(0) 推荐(0)
摘要: 静态同步方法 public class SynchronizedStatic implements Runnable { static boolean staticFlag = true; public static synchronized void test0(){ for(int i=0;i< 阅读全文
posted @ 2022-07-08 11:22 ja不会va 阅读(78) 评论(0) 推荐(0)
摘要: .同步技术原理 解决线程安全问题的一种方案:使用同步代码块格式: synchronized(锁对象){ 可能会出现线程安全问题的代码(访问了共享数据的代码) } 注意: 1.通过代码块中的锁对象,可以使用任意的对象 2.但是必须保证多个线程使用的锁对象是同一个 3.锁对象作用: 把同步代码块锁住,只 阅读全文
posted @ 2022-07-08 11:08 ja不会va 阅读(25) 评论(0) 推荐(0)
摘要: 线程安全问题产生的原理 解决线程安全问题——同步代码块 当我们使用多个线程访问同一资源的时候,且多个线程中对资源有写的操作,就容易出现线程安全问题。 要解决上述多线程并发访问一个资源的安全性问题:也就是解决重复票与不存在票问题,Java中提供了同步机制(synchronized)来解决。 publi 阅读全文
posted @ 2022-07-08 10:45 ja不会va 阅读(35) 评论(0) 推荐(0)
摘要: 线程安全问题 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。 程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 我们通过一个案例,演示线程的安全问题电影院要卖票,我们模拟电影院的卖票过程。 假设要播放的电影是“葫芦娃大战奧特曼″,本次电 阅读全文
posted @ 2022-07-08 10:37 ja不会va 阅读(44) 评论(0) 推荐(0)
摘要: Thread和Runnable的区别 如果一个类继承 Thread,则不适合资源共享。但是如果实现了 Runable接口的话,则很容易的实现资源共享 总结:实现 Runnable接口比继承 Thread类所具有的优势 :1.适合多个相同的程序代码的线程去共享同一个资源。 2.可以避兔java中的单继 阅读全文
posted @ 2022-07-08 10:21 ja不会va 阅读(25) 评论(0) 推荐(0)
摘要: Thread的常用方法sleep sleep:sleep方法可以让线程进入到Waiting状态,并且不占用CPU资源,但是不释放锁,直到规定时间后再执行,休眠期间如果被中断,会抛出异常并清除中断状态。 publc static void sleep( Long millis):使当前正在执行的线程以 阅读全文
posted @ 2022-07-08 10:08 ja不会va 阅读(52) 评论(0) 推荐(0)
摘要: Thread类的常用方法获取线程名的方法 /** * 获取线程的名称: * 1.使用 Thread类中的方法 getname() * string getname()返回该线程的名称 * 2.可以先获取到当前正在执行的线程,使用线程中的方法getname()获取线程的名称 * static Thre 阅读全文
posted @ 2022-07-08 09:47 ja不会va 阅读(30) 评论(0) 推荐(0)
摘要: 多线程原理_随机性打印结果Java的线程调度为抢占式调度,打印出来的多线程为随机性打印结果.下面我们解释一下多线程情况下的随机性打印结果:当我们运行程序时,JVM找OS开辟一条main方法通向cpu的路径,这条路径叫主线程,cpu通过主线程执行main方法.而main方法中我们创建了新的线程,新线程 阅读全文
posted @ 2022-07-08 09:24 ja不会va 阅读(46) 评论(0) 推荐(0)
摘要: 主线程 主线程:执行main方法的线程 单线程程序:java程序中只有一个单线程 执行main方法开始,从上倒下依次执行 当一个Java程序启动的时候,会有一个线程立即开始运行,这个线程通常被我们叫做程序中的主线程,因为它是在我们程序开始的时候就被执行的线程。 子线程都从该线程中被孵化 通常它都是最 阅读全文
posted @ 2022-07-08 09:16 ja不会va 阅读(31) 评论(0) 推荐(0)