摘要: 传输层协议:UDP,非面向连接的协议,只管把数据按照指定的地址发出去。 一般过程:DatagramSocket和DatagramPacket配合,通过send,reseive,发出接收数据包。 传输过程: 发送端: 1、使用DatagramSocket指定端口,创建发货地址。 2、把要传输的数据打包 阅读全文
posted @ 2022-11-17 18:52 在博客做笔记的路人甲 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Vue新老系统切换 1- 卸载node.js 2- https://github.com/coreybutler/nvm-windows/releases 下载nvm 3.. 安装后cmd nvm-v 4.cmd里输入 nvm install 16.14.2等待下载完 输入 nvm install 阅读全文
posted @ 2022-11-17 11:43 在博客做笔记的路人甲 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 可重入锁是指同一个线程可以多次获取同一个对象的锁。实现是在锁内部加一个计数器,若是同一个对象来获取则给与锁,并计数器加一。 JDK中已经实现的一个可重入锁:Java.util.concurrent.locks.ReentrantLock。 概论 一个线程获取了某个对象的锁,那么它可以再次获得此对象的 阅读全文
posted @ 2022-11-14 09:38 在博客做笔记的路人甲 阅读(221) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal指的是每个线程使用的区域独立,互不干扰。 它的子类InheritableThreadLocal可以把数据传递给子线程。 一般创建为对象的静态属性。 常用方法: set (value) get(value) 子类的initialValue(),用于设置初始值。 示例 代码: pu 阅读全文
posted @ 2022-11-14 00:39 在博客做笔记的路人甲 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 听说当两条指令互相不依赖的时候,在cpu或者jvm那儿可能会为了提高性能而进行指令重排。 数据依赖 比如下面两条代码就没有数据依赖: int a = 5; int b= 2; 这两条指令先后顺序并不影响程序运行逻辑,理论来说重排是没有问题的。 例子 但是,在多线程的时候就会出现问题,单个线程有依赖可 阅读全文
posted @ 2022-11-13 23:28 在博客做笔记的路人甲 阅读(163) 评论(0) 推荐(0) 编辑
摘要: Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。 导入并构建运行环境 简单示例 一个简单的quartz任务调度例子,实现了在1秒后执行HelloJob。 SimpleExample.java import static or 阅读全文
posted @ 2022-11-13 16:34 在博客做笔记的路人甲 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 通过定时调度器可以对线程进行定时开启,周期性地开启,基本步骤: 1、创建一个调度器 new Timer(); 2、准备任务。 继承TimerTask类,重写run方法. 3、确定规则,开始执行。 由Timer对象调用schedule(TimerTask子类对象,线程开始时间,运行周期)方法或者sch 阅读全文
posted @ 2022-11-13 11:24 在博客做笔记的路人甲 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 概述 schedule关注执行间隔(大混子),scheduleAtFixedRate关注执行时间(守信的人)。 例子 schedule( task ,1000L ,2000L) 1秒后开始执行task线程,循环:每过2秒执行一次。 scheduleAtFixedRate( task ,1000L , 阅读全文
posted @ 2022-11-13 11:19 在博客做笔记的路人甲 阅读(1340) 评论(0) 推荐(0) 编辑
摘要: 概论 举个例子:有一个固定容量的货架,生产者放商品进来,消费者拿商品出去,为了保证正常放入和正常拿出(数据的正确性,不会出现超过容量的存放,拿到空气)。使用同步块中的 wait 和 notifAll 方法进行控制。 形如 synchronized (被锁的对象) { 被锁的对象.wait(); // 阅读全文
posted @ 2022-11-12 20:59 在博客做笔记的路人甲 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 代理模式:由代理对象来帮你忙前忙后,你负责出现一下就好了。 静态代理模式:代理对象不可变,已经确定了的。 需要: 1.实现相同的接口。 2.真实角色。 3.代理角色,组合了真实角色(在代理角色里面加一个属性为真实对象,通过构造器获取)。 4.代理角色在共同的方法中调用真实角色的方法。 例子: /** 阅读全文
posted @ 2022-11-11 21:42 在博客做笔记的路人甲 阅读(169) 评论(0) 推荐(0) 编辑