Java
小葱ban豆腐g
这个作者很懒,什么都没留下…
展开
-
Java并发编程实战之 取消与关闭、线程池的使用
第六章 取消与关闭6.1 任务取消协作机制能设置某个标志位,任务会定期查看这个标志,如果设置了标志,那么任务将提前结束。如果外部代码能在某个操作正常完成之前将其置入“完成”状态,那么这个操作就可以称为可取消的。如何取消一般有两种方法:使用状态变量。线程中循环遍历状态变量,检测是否需要结束当前线程。使用中断。系统提供的大多数阻塞方法会相应中断Thread.interrupt:清除中断状态Thread.isinterrupted;抛出InterruptedException异常;表示阻塞操作由于中原创 2020-07-22 09:33:48 · 503 阅读 · 0 评论 -
Java并发编程实战之 基础模块构建、任务执行
基础构建模块委托是创建线程安全类的一个最有效的策略:只需让现有的线程安全类管理所有的状态即可。本章主要介绍一些比较有用的并发构建模块,特别是在 Java 5.0 和 Java 6.0 中引入的一些新模块,以及在使用这些模块来构造应用程序时的一些常用模式。同步容器类最早出现的同步容器类是Vector和Hashtable,在 JDK 1.2 及之后,又提供了一些功能类似的封装器类,这些同步容器类是由 Collections.synchronizedXxx 等工厂方法创建的。其实现线程安全的方式是:将它原创 2020-07-10 19:52:14 · 264 阅读 · 0 评论 -
Java并发编程实战之 线程安全性、对象的共享、对象的组合
线程安全性当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误。有三种方式修复这个问题:不在线程之间共享该状态变量将状态变量修改为不可变类型在访问状态变量时使用同步内置锁Java 提供了一种内置的锁机制来支持原子性:同步代码块(Synchronized Block)。同步代码块包括两部分:一个作为锁的对象引用,一个作为由这个锁保护的代码块。synchroized (lock) { // 访问或修改由锁保护的共享状态}每个 Java 对象都可以用做一原创 2020-07-07 13:58:28 · 588 阅读 · 0 评论 -
Spring 之 深入理解 Spring IoC
IoC 是什么Ioc—Inversion of Control,即“控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。它不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解“控制反转”好呢?理解好它的关键在于我们需要回答如下四个问题:谁控制谁控制什么为何是反转哪些方面反转了在回答这4个问题之前,我们先看 IOC 的定义:所谓 IOC ,就是由 Spring IO原创 2020-07-03 13:54:36 · 169 阅读 · 0 评论 -
踩坑日记1——Java字符串 == 与 equals
Java字符串 == 与equals某天正在刷力扣,遇到一道需要判断字符串是否相等的题目,死活没找到问题所在,后来才发现是==与equals的问题for (int i = 0; i < len; i++) { // WRONG!会始终为 false 因为两个字符串存储地址不同 // if (words[i] == word1) w1 = i; if (words[i].equals(word1)) w1 = i; ...}推荐阅读:Hollis:图说:原创 2020-06-12 17:01:55 · 1447 阅读 · 2 评论 -
Java核心技术 卷 I 读书笔记
Java基础Java位运算符与(&)、或(|)、非(~)、异或(^)与(&):两个操作数中位都为1,结果才为1,否则结果为0或(|):两个位只要有一个为1,那么结果就是1,否则就为0非(~):如果位为0,结果是1,如果位为1,结果是0异或(^):两个操作数的位中,相同则结果为0,不同则结果为1public class Count{ public static void main(String[] args){ int a=129; // a转换为二进制是100原创 2020-06-08 08:39:30 · 329 阅读 · 0 评论