上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 35 下一页
摘要: Lock版的生产者消费者的实现及问题 方法功能对应 synchronized Lock Condition wait() await() notifyAll() signalAll() package com.example.juc; import java.util.concurrent.lock 阅读全文
posted @ 2021-11-29 11:16 Oh,mydream! 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 传统的生产者消费者问题,防止虚假唤醒 注意点:wait需要被放进while代码块中,防止虚假唤醒 存在虚假唤醒代码: package com.example.juc; public class TestPc { public static void main(String[] args) { A a 阅读全文
posted @ 2021-11-27 18:00 Oh,mydream! 阅读(28) 评论(0) 推荐(0) 编辑
摘要: Lock vs synchronized Synchronzied 和 Lock 的主要区别如下: 存在层面:Syncronized 是Java 中的一个关键字,存在于 JVM 层面,Lock 是 Java 中的一个接口 锁的释放条件:1. 获取锁的线程执行完同步代码后,自动释放;2. 线程发生异常 阅读全文
posted @ 2021-11-27 16:41 Oh,mydream! 阅读(24) 评论(0) 推荐(0) 编辑
摘要: lock锁 三个实现类 可重入锁(普通)ReentrantLock 读锁ReentrantReadWriteLock.ReadLock 写锁ReentrantReadWriteLock.WriteLock fair和unfair 公平锁:严格执行先来后到 非公平锁:可以插队(默认) 默认非公平锁:如 阅读全文
posted @ 2021-11-27 16:19 Oh,mydream! 阅读(81) 评论(0) 推荐(0) 编辑
摘要: OOP思想实践-线程就是一个资源类,没有任何附属操作 不要把Ticket 写成一个Runnable接口的实现,最好用lambda表达式 package com.example.juc; public class SaleTicket { public static void main(String[ 阅读全文
posted @ 2021-11-27 11:23 Oh,mydream! 阅读(32) 评论(0) 推荐(0) 编辑
摘要: OOP七大原则 开闭原则:对扩展开放,对修改关闭 (如果增加模块,需要在原有设计上进行扩展,而不是直接修改) 里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立(子类不应重写父类的属性和方法,而应该添加新的方法和属性) 依赖倒置原则:要面向接口编程,不要面向实现编程 (大佬写接口,开发将接口 阅读全文
posted @ 2021-11-27 10:27 Oh,mydream! 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 基础简介 sleep() 方法让当前线程停止运行一段时间,到期自动继续执行。 wait() 方法让线程停止运行,在 notify() 或 notifyAll() 后继续执行。 相同 sleep() 和 wait() 调用都会暂停当前线程并让出 CPU 不同 定义位置不同:sleep() 是线程类(T 阅读全文
posted @ 2021-11-26 21:48 Oh,mydream! 阅读(24) 评论(0) 推荐(0) 编辑
摘要: GUI编程 本来听完面试的时候不会用到,就想跳过,结果说到为什么学习,又把我留住了。 简介 GUI的核心技术:Swing/AWT, java 做GUI没有流行起来,这两个技术也没有流行起来 因为页面不美观 需要jre环境 80兆左右大小 为什么要学习:了解mvc的思想,了解监听 AWT Awt介绍 阅读全文
posted @ 2021-11-23 11:29 Oh,mydream! 阅读(42) 评论(0) 推荐(0) 编辑
摘要: URL下载 java里面什么东西都是流,文件流、输入流、输出流 URL (Uniform Resource Locator) 统一资源定位符 定位网络资源 DNS 域名解析:将域名解析为ip 格式 协议://ip地址:port/项目名/文件 URL类 package com.example.netw 阅读全文
posted @ 2021-11-20 11:26 Oh,mydream! 阅读(281) 评论(0) 推荐(0) 编辑
摘要: UDP实现聊天 虽然不完美。但基本实现通信 TalkSender.java package com.example.network; import lombok.SneakyThrows; import java.io.BufferedReader; import java.io.InputStre 阅读全文
posted @ 2021-11-20 10:33 Oh,mydream! 阅读(41) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 35 下一页