12 2022 档案
摘要:功能:模拟网站的登录,客户端录入账号密码,然后服务端进行验证。 功能分解1:单项通讯 功能:客户端发送一句话到服务器: 【1】客户端 package com.msb.test02; import java.io.DataOutputStream; import java.io.IOException
阅读全文
摘要:【1】InetAddress --》封装了Ip package com.msb.test01; import java.net.InetAddress; import java.net.UnknownHostException; /** * @author : liu * 日期:09:55:44 *
阅读全文
摘要:更改 代码: package com.msb.test12; import jdk.nashorn.internal.objects.annotations.Constructor; import java.util.concurrent.locks.Condition; import java.u
阅读全文
摘要:【1】 【2】 package com.msb.test11; /** * @author : liu * 日期:15:42:06 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Product {//商品类 //品牌 private String brand
阅读全文
摘要:【1】利用同步代码块解决问题 package com.msb.test10; import com.sun.media.sound.RIFFInvalidDataException; /** * @author : liu * 日期:16:02:52 * 描述:IntelliJ IDEA * 版本:
阅读全文
摘要:package com.msb.test10; /** * @author : liu * 日期:15:42:06 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Product {//商品类 //品牌 private String brand; //名字 p
阅读全文
摘要:应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,知道仓库中再次放入产品为止 代码结果展示 代码: 1.商品:属性:品牌,名字 2线程1:生产者 3线程2:消费者
阅读全文
摘要:【1】对比: 线程安全效率低 线程不安全,效率高 【2】可能造成死锁 死锁 》不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 》出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续 【3】代码演示 package com.
阅读全文
摘要:【1】Lock锁引入: JDK1.5后新增新一代的线程同步方式:Lock锁 与采用synchronized相比,lock可提供多种锁方案,更灵活 synchronized是JAVA中的关键字,这个关键字的识别是靠JVM来识别完成的。是虚拟机级别的。 但是Lock锁是API级别的,提供了相应的接口和对
阅读全文
摘要:【1】代码展示: package com.msb.test03; import sun.security.krb5.internal.Ticket; /** * @author : liu * 日期:10:38:04 * 描述:IntelliJ IDEA * 版本:1.0 */ public cla
阅读全文
摘要:package com.msb.test03; import sun.security.krb5.internal.Ticket; /** * @author : liu * 日期:10:38:04 * 描述:IntelliJ IDEA * 版本:1.0 */ public class BuyTic
阅读全文
摘要:【1】出现问题: (1)出现了2个10张票或者3个10张票 (2)0,-1,-2可能: 上面的代码出现的问题:出现了重票,错票, 》线程安全引起的问题 原因:多个线程,在争抢资源的过程中,导致共享的资源出现问题。一个线程还没执行完,另一个线程就参与进来了,开始争抢。 解决: 在我的程序中,加入“锁”
阅读全文
摘要:package com.msb.test08; /** * @author : liu * 日期:11:08:48 * 描述:IntelliJ IDEA * 版本:1.0 */ public class Demo { //这是一个main方法:是程序的入口 public static void ma
阅读全文
摘要:【1】设置伴随线程 将子线程设置为主线程的伴随线程,主线程停止的时候,子线程也不要继续执行了 案例:皇上--》驾崩--》妃子陪葬 结果: package com.msb.test08; /** * @author : liu * 日期:10:58:59 * 描述:IntelliJ IDEA * 版本
阅读全文
摘要:【1】sleep:人为的制造阻塞事件 public class Test01 { //这是一个main方法:是程序的入口 public static void main(String[] args) { try { Thread.sleep(3000); } catch (InterruptedEx
阅读全文