这篇文章没有摘要
package top.qaqaq.java.P434; /** * @author RichieZhang * @create 2022-10-20 下午 10:32 */ /** * 使用同步代码块解决继承Thread类的方式的线程安全问题 * * 例子:创建三个窗口买票,总票数为100张. 使用继承Thread类的方式 * * 在继承Thre…
package top.qaqaq.java.P432; /** * 例子:创建三个窗口买票,总票数为100张. 使用实现Runnable接口的方式 * * 1.问题:卖票过程中,出现了重票、错票 -->出现了线程的安全问题 * 2.问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与进来,也操作车票。 * 3.如何解决:当一个…
线程的生命周期
Thread类中的常用的方法: * 测试Thread中的常用方法: * 1. start():启动当前线程; 调用当前线程的run() * 2. run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 * 3. currentThread(): 静态方法,返回执行当前代码的线程 * 4. getName(): 获…
创建多线程的两种方式 说明两个问题: 问题一:我们启动一个线程,必须调用start(),不能调用run()的方式启动线程。 问题二:如果再启动一个线程,必须重新创建一个Thread子类的对象,调用此对象的start(). 两种方式的对比: * 开发中:优先选择:实现Runnable接口的方式 * 原因:1. 实现的方式没有类的单继承性的局限性 * …
程序、进程、线程的理解 进程可以细化为多个线程。 每个线程,拥有自己独立的:栈、程序计数器 多个线程,共享同一个进程中的结构:方法区、堆
1. 谈谈你对程序、进程、线程的理解 程序:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程:是程序的一次执行过程,或是正在运行的一个程序。 线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。 2. 代码完成继承Thread的方式创建分线程,并遍历100以内的自然数 3. 代码完成实现Runnable…
package top.qaqaq.java.P425; /** * 例子:创建三个窗口买票,总票数为100张. 使用实现Runnable接口的方式 * * @author RichieZhang * @create 2022-10-20 下午 6:18 */ class Window1 implements Runnable{ private i…
package top.qaqaq.java.P424; /** * 创建多线程的方式二:实现Runnable接口 * 1. 创建一个实现了Runnable接口的类 * 2. 实现类去实现Runnable中的抽象方法:run() * 3. 创建实现类的对象 * 4. 将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象 * 5.…
package top.qaqaq.java.P423; /** * 例子:创建三个窗口买票,总票数为100张. 使用继承Thread类的方式 * * 存在线程的安全问题,待解决。 * * @author RichieZhang * @create 2022-10-20 下午 5:31 */ class window extends Thread{…
package top.qaqaq.java.P421; /** * 测试Thread中的常用方法: * 1. start():启动当前线程; 调用当前线程的run() * 2. run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 * 3. currentThread(): 静态方法,返回执行当前代码的线程 …
package top.qaqaq.java.P420; /** * 创建两个分线程,其中一个线程遍历100以内的偶数,另一个线程遍历100以内的奇数 * * @author RichieZhang * @create 2022-10-20 下午 3:46 */ public class ThreadDemo { public static voi…
package top.qaqaq.java.P418; /** * 多线程的创建,方式一:继承于Thread类 * 1. 创建一个继承于Thread类的子类 * 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中 * 3. 创建Thread类的子类的对象 * 4. 通过此对象调用start() * <p> *…
1 IDEA 2020.1 以上 1.1 Win 语法: %APPDATA%\JetBrains\<product><version> Win上的APPDATA默认位置如下: C:\Users\用户名\AppData\Roaming 例子: C:\Users\用户名\AppData\Roaming\JetBrains\Int…
查看安装目录结构 bin:容器,执行文件和启动参数等help:快捷键文档和其他帮助文档jre64:64 位java 运行环境lib:idea 依赖的类库license:各个插件许可plugin:插件其中:bin 目录下: 这里以我的电脑系统(64 位 windows7,16G 内存)为例,说明一下如何调整 VM 配置文件: 大家根据电脑系统的位数,…
项目-项目三TSUtility和Data类的说明、项目三中Equipment及其实现类的完成、项目三中Employee及其子类的实现、项目三NameListService属性和构造器的实现、项目三NameListService中两个方法及TeamException的完成、项目三测试NameListService的getAllEmployees()、…
1. SELECT Sno, Sname FROM Student 2. SELECT Sname,Sno,Sdept FROM Student 3. SELECT * FROM Student 4. SELECT Sname, 2022 - Sage FROM Student 5. SELECT Sname, '出生年份', 2022 - Sag…
1.1 进位与借位进位与借位是无符号数而言的。 进位:无符号数相加时,最高有效位向更高位进位,表示无符号数运算发生上溢出。借位:无符号数相减时,最高有效位向更高位借值,表示无符号数运算发生下溢出。ARM状态寄存器CPSR的C位表示进位或非借位标志(Carry/borrow flag) 加法指令中(包括比较指令CMN,根据两数相加结果进行比较),当结…
世界上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离; 世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己; 世界上最真情的相依,是你在try我在catch。无论你发神马脾气,我都默 默承受,静静处理。到那时,再来期待我们的finally。