上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页
摘要: JVM内存模型 堆: 新生代 老年代 常量池 字符串常量池 运行时常量池 虚拟机栈: 栈帧 方法区: 元空间 本地方法栈: 程序计数器: java内存结构(JMM内存模型) 主内存: 工作内存: java线程 高速缓存 操作变量时的规则: Java内存模型规定了所有的变量都存储在主内存 线程的工作内 阅读全文
posted @ 2023-11-30 23:22 轻寒 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 三大特性 原子性 定义:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 Java中的原子性 在Java中,对基本数据类型的变量的读取和赋值操作是原子性操作,即这些操作是不可被中断的,要么执行,要么 不执行。 x = 10; //语句1 y = x; //语句2 阅读全文
posted @ 2023-11-29 23:16 轻寒 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 设计规范 由于物联网的环境是非常特别的,所以MQTT遵循以下设计原则:(1)精简,不添加可有可无的功能;(2)发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递;(3)允许用户动态创建主题,零运维成本;(4)把传输量降到最低以提高传输效率;(5)把低带宽、高延迟、不稳定的网络等因素考虑在内; 阅读全文
posted @ 2023-11-28 22:43 轻寒 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 线程不安全 例如:线程不安全的HashMap在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。例如,执行以下代码会引起死循环。 final HashMap<String, String> map = new HashM 阅读全文
posted @ 2023-11-27 23:43 轻寒 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 线程安全 一些线程安全的容器在复合操作下可能不是线程安全的 例:同步容器Vector1.Vector这样的同步容器的所有公有方法全都是synchronized的,也就是说,我们可以在多线程场景中放心的使用【单独】这些方法,因为这些方法本身的确是线程安全的2.由于,不同线程在同一时间操作同一个Vect 阅读全文
posted @ 2023-11-26 23:29 轻寒 阅读(4) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch(闭锁) 1.CountDownLatch是一个同步的辅助类,允许一个或多个线程一直等待,直到其它线程完成它们的操作。 2.它常用的API其实就两个:await()和countDown()。 3.count初始化CountDownLatch,然后需要等待的线程调用awai 阅读全文
posted @ 2023-11-25 21:28 轻寒 阅读(2) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal类(用于创建一个线程本地变量) 在Thread中有一个成员变量ThreadLocals,该变量的类型是ThreadLocalMap,也就是一个Map,它的键是threadLocal,值就是变量的副本。通过ThreadLocal的get()方法可以获取该线程变量的本地副本,在ge 阅读全文
posted @ 2023-11-24 23:24 轻寒 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 尽管线程池对于构建多线程应用是个很强大的机制,但它也不是没有缺点的。使用线程池构建的应用会面临其他多线程应用所面对的一样的并发风险,比如同步错误和死锁,此外线程池还有其他的一些特有缺陷,比如 线程池-关联 死锁,资源不足,还有线程泄漏。 死锁 任何多线程应用都会面临死锁的风险。彼此双方都在等待一个事 阅读全文
posted @ 2023-11-23 23:32 轻寒 阅读(20) 评论(0) 推荐(1) 编辑
摘要: 常用线程池 Executors提供四种线程池: 1.newCachedThreadPool :缓存线程池,如果线程池长度超过处理需要,可回收空闲线程,若无可回收,则新建线程。 2.newFixedThreadPool : 定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 3.newSch 阅读全文
posted @ 2023-11-22 23:21 轻寒 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 线程和进程 1.进程是系统进行资源分配和调度的独立单位,每一个进程都有它自己的内存空间和系统资源 2.进程实现多处理机环境下的进程调度,分派,切换时,都需要花费较大的时间和空间开销 3.为了提高系统的执行效率,减少处理机的空转时间和调度切换的时间,以及便于系统管理,所以有了线程,线程取代了进程了调度 阅读全文
posted @ 2023-11-21 22:50 轻寒 阅读(6) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 14 下一页