摘要:
如果异常没有被捕获该线程将会停止执行。Thread.UncaughtExceptionHandler 是用于处理未捕获异常造成线程突然中断情况的一个内嵌接口。当一个未捕获异 常将造成线程中断的时候 JVM 会使用 Thread.getUncaughtExceptionHandler() 来查询线程的 阅读全文
posted @ 2020-06-21 12:40
咔啡
阅读(247)
评论(0)
推荐(0)
摘要:
参考 java 中的阻塞队列的内容吧,直接实现有点烦 阅读全文
posted @ 2020-06-21 12:35
咔啡
阅读(508)
评论(0)
推荐(0)
摘要:
最大的不同是在等待时 wait 会释放锁,而 sleep 一直持有锁。Wait 通常被用于线 程间交互,sleep 通常被用于暂停执行。 直接了解的深入一点吧: 在 Java 中线程的状态一共被分成 6 种: 初始态:NEW 创建一个 Thread 对象,但还未调用 start()启动线程时,线程处 阅读全文
posted @ 2020-06-21 12:32
咔啡
阅读(144)
评论(0)
推荐(0)
摘要:
在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么排序,它需要满足以下两个条件: 在单线程环境下不能改变程序运行的结果;存在数据依赖关系的不允许重排序 需要注意的是:重排序不会影响单线程环境的执行结果,但是会破坏多线程的执行语义。 阅读全文
posted @ 2020-06-21 12:18
咔啡
阅读(202)
评论(0)
推荐(0)
摘要:
volatile 保证内存可见性和禁止指令重排。 volatile 用于多线程环境下的单次操作(单次读或者单次写)。 阅读全文
posted @ 2020-06-21 12:17
咔啡
阅读(218)
评论(0)
推荐(0)
摘要:
ThreadLocal 是 Java 里一种特殊的变量。每个线程都有一个 ThreadLocal 就是每 个线程都拥有了自己独立的一个变量,竞争条件被彻底消除了。它是为创建代价 高昂的对象获取线程安全的好方法,比如你可以用 ThreadLocal 让 SimpleDateFormat 变成线程安全的 阅读全文
posted @ 2020-06-21 12:15
咔啡
阅读(176)
评论(0)
推荐(0)
摘要:
Java API 强制要求这样做,如果你不这么做,你的代码会抛出 IllegalMonitorStateException 异常。还有一个原因是为了避免 wait 和 notify 之间产生竞态条件。 阅读全文
posted @ 2020-06-21 12:05
咔啡
阅读(424)
评论(0)
推荐(0)
摘要:
一个很明显的原因是 JAVA 提供的锁是对象级的而不是线程级的,每个对象都有 锁,通过线程获得。由于 wait,notify 和 notifyAll 都是锁级别的操作,所以把他 们定义在 Object 类中因为锁属于对象。 阅读全文
posted @ 2020-06-21 12:00
咔啡
阅读(281)
评论(0)
推荐(0)
摘要:
notify() 方法不能唤醒某个具体的线程,所以只有一个线程在等待的时候它才有 用武之地。而 notifyAll()唤醒所有线程并允许他们争夺锁确保了至少有一个线程 能继续运行。 阅读全文
posted @ 2020-06-21 11:57
咔啡
阅读(187)
评论(0)
推荐(0)
摘要:
在两个线程间共享变量即可实现共享。 一般来说,共享变量要求变量本身是线程安全的,然后在线程内使用的时候,如果有对共享变量的复合操作,那么也得保证复合操作的线程安全性。 阅读全文
posted @ 2020-06-21 11:55
咔啡
阅读(584)
评论(0)
推荐(0)
摘要:
ConcurrentHashMap 把实际 map 划分成若干部分来实现它的可扩展性和线程安 全。这种划分是使用并发度获得的,它是 ConcurrentHashMap 类构造函数的一 个可选参数,默认值为 16,这样在多线程情况下就能避免争用。 在 JDK8 后,它摒弃了 Segment(锁段)的概 阅读全文
posted @ 2020-06-21 11:52
咔啡
阅读(246)
评论(0)
推荐(0)
摘要:
在 java.lang.Thread 中有一个方法叫 holdsLock(),它返回 true 如果当且仅当当前线程拥有某个具体对象的锁。 阅读全文
posted @ 2020-06-21 11:47
咔啡
阅读(522)
评论(0)
推荐(0)
摘要:
使当前线程从执行状态(运行状态)变为可执行态(就绪状态)。 当前线程到了就绪状态,那么接下来哪个线程会从就绪状态变成执行状态呢?可 能是当前线程,也可能是其他线程,看系统的分配了。 阅读全文
posted @ 2020-06-21 11:44
咔啡
阅读(308)
评论(0)
推荐(0)
摘要:
创建线程要花费昂贵的资源和时间,如果任务来了才创建线程那么响应时间会变 长,而且一个进程能创建的线程数有限。为了避免这些问题,在程序启动的时候 就创建若干线程来响应处理,它们被称为线程池,里面的线程叫工作线程。从 JDK1.5 开始,Java API 提供了 Executor 框架让你可以创建不同的 阅读全文
posted @ 2020-06-21 11:34
咔啡
阅读(750)
评论(0)
推荐(0)
摘要:
同步集合与并发集合都为多线程和并发提供了合适的线程安全的集合,不过并发 集合的可扩展性更高。在 Java1.5 之前程序员们只有同步集合来用且在多线程并发 的时候会导致争用,阻碍了系统的扩展性。Java5 介绍了并发集合像 ConcurrentHashMap,不仅提供线程安全还用锁分离和内部分区等现 阅读全文
posted @ 2020-06-21 11:32
咔啡
阅读(261)
评论(0)
推荐(0)
摘要:
处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条 件,程序就会在没有满足结束条件的情况下退出。 阅读全文
posted @ 2020-06-21 11:20
咔啡
阅读(304)
评论(0)
推荐(0)
摘要:
读写锁是用来提升并发程序性能的锁分离技术的成果。 阅读全文
posted @ 2020-06-21 11:01
咔啡
阅读(215)
评论(0)
推荐(0)
摘要:
阻塞式方法是指程序会一直等待该方法完成期间不做其他事情,ServerSocket 的 accept()方法就是一直等待客户端连接。这里的阻塞是指调用结果返回之前,当前 线程会被挂起,直到得到结果之后才会返回。此外,还有异步和非阻塞式方法在 任务完成前就返回。 阅读全文
posted @ 2020-06-21 10:35
咔啡
阅读(503)
评论(0)
推荐(0)
摘要:
一个数字字符串,只能包含数字,如 0 到 9 以及 +、- 开头,通过这个信息, 你可以下一个如下的正则表达式来判断给定的字符串是不是数字。 首先要 import java.util.regex.Pattern 和 java.util.regex.Matcher public boolean isN 阅读全文
posted @ 2020-06-21 10:34
咔啡
阅读(545)
评论(0)
推荐(0)
摘要:
Spring 核心容器 – 该层基本上是 Spring Framework 的核心。它包含以下模块: Spring Core Spring Bean SpEL (Spring Expression Language) Spring Context 数据访问/集成 – 该层提供与数据库交互的支持。它包 阅读全文
posted @ 2020-06-21 10:32
咔啡
阅读(1155)
评论(0)
推荐(0)
摘要:
控制反转(IOC)是 Spring 框架的核心思想,用我自己的话说,就是你要做一件 事,别自己可劲 new 了,你就说你要干啥,然后外包出去就好 依赖注入(DI) 在我浅薄的想法中,就是通过接口的引用和构造方法的表达,将 一些事情整好了反过来传给需要用到的地方 阅读全文
posted @ 2020-06-21 10:30
咔啡
阅读(589)
评论(0)
推荐(0)
摘要:
虽然两者都是构建工具,都用于创建 Java 应用,但是 Maven 做的事情更多, 在基于“约定优于配置”的概念下,提供标准的 Java 项目结构,同时能为应用自 动管理依赖(应用中所依赖的 JAR 文件),Maven 与 ANT 工具更多的不同之 处请参见答案。 这就是所有的面试题,如此之多,是不 阅读全文
posted @ 2020-06-21 10:13
咔啡
阅读(433)
评论(0)
推荐(0)
摘要:
如果两个对象彼此有关系,就说他们是彼此相关联的。组合和聚合是面向对象中 的两种形式的关联。组合是一种比聚合更强力的关联。组合中,一个对象是另一 个的拥有者,而聚合则是指一个对象使用另一个对象。如果对象 A 是由对象 B 组合的,则 A 不存在的话,B 一定不存在,但是如果 A 对象聚合了一个对象 B 阅读全文
posted @ 2020-06-21 10:09
咔啡
阅读(579)
评论(0)
推荐(0)
摘要:
rm rm -r rmdir 阅读全文
posted @ 2020-06-21 10:08
咔啡
阅读(254)
评论(0)
推荐(0)
摘要:
cp cp -r 阅读全文
posted @ 2020-06-21 10:05
咔啡
阅读(280)
评论(0)
推荐(0)
摘要:
Mybatis 仅支持 association 关联对象和 collection 关联集合对象的延迟加 载,association 指的就是一对一,collection 指的就是一对多查询。在 Mybatis 配置文件中,可以配置是否启用延迟加载 lazyLoadingEnabled=true|fa 阅读全文
posted @ 2020-06-21 10:02
咔啡
阅读(344)
评论(0)
推荐(0)
摘要:
有联合查询和嵌套查询。联合查询是几个表联合查询,只查询一次,通过在 resultMap 里面的 collection 节点配置一对多的类就可以完成;嵌套查询是先查 一个表,根据这个表里面的 结果的外键 id,去再另外一个表里面查询数据,也是通过 配置 collection,但另外一个表的查询通过 s 阅读全文
posted @ 2020-06-21 09:59
咔啡
阅读(150)
评论(0)
推荐(0)
摘要:
ps -ef (system v 输出) ps -aux bsd 格式输出 ps -ef | grep pid 阅读全文
posted @ 2020-06-21 09:52
咔啡
阅读(337)
评论(0)
推荐(0)
摘要:
job -l 阅读全文
posted @ 2020-06-21 09:50
咔啡
阅读(318)
评论(0)
推荐(0)
摘要:
接口绑定,就是在 MyBatis 中任意定义接口,然后把接口里面的方法和 SQL 语句绑 定, 我们直接调用接口方法就可以,这样比起原来了 SqlSession 提供的方法我们可 以有更加灵活的选择和设置。 接口绑定有两种实现方式,一种是通过注解绑定,就是在接口的方法上面加上 @Select、@Up 阅读全文
posted @ 2020-06-21 09:44
咔啡
阅读(1541)
评论(0)
推荐(0)
摘要:
端到端测试验证了工作流中的每个流程都正常运行。这可确保系统作为一个整体 协同工作并满足所有要求。 通俗地说,你可以说端到端测试是一种测试,在特定时期后测试所有东西。 阅读全文
posted @ 2020-06-21 09:42
咔啡
阅读(389)
评论(0)
推荐(0)
摘要:
非确定性测试(NDT)基本上是不可靠的测试。所以,有时可能会发生它们通过, 显然有时它们也可能会失败。当它们失败时,它们会重新运行通过。 从测试中删除非确定性的一些方法如下: 1、 隔离 2、 异步 3、 远程服务 4、 隔离 5、 时间 6、 资源泄漏 阅读全文
posted @ 2020-06-21 09:40
咔啡
阅读(178)
评论(0)
推荐(0)
摘要:
持续监控深入监控覆盖范围,从浏览器内前端性能指标,到应用程序性能,再到主机虚拟化基础架构指标。 阅读全文
posted @ 2020-06-21 09:37
咔啡
阅读(236)
评论(0)
推荐(0)
摘要:
一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格) 阅读全文
posted @ 2020-06-21 09:35
咔啡
阅读(577)
评论(0)
推荐(0)
摘要:
ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持崩溃恢复的原子广 播协议。 ZAB 协议包括两种基本的模式:崩溃恢复和消息广播。 当整个 zookeeper 集群刚刚启动或者 Leader 服务器宕机、重启或者网络故障导 致不存在过半的服务器与 Leader 服务器保持正常通信 阅读全文
posted @ 2020-06-21 09:33
咔啡
阅读(115)
评论(0)
推荐(0)
摘要:
Zookeeper 本身也是集群,推荐配置不少于 3 个服务器。Zookeeper 自身也要保 证当一个节点宕机时,其他节点会继续提供服务。 如果是一个 Follower 宕机,还有 2 台服务器提供访问,因为 Zookeeper 上的数 据是有多个副本的,数据并不会丢失; 如果是一个 Leader 阅读全文
posted @ 2020-06-21 09:31
咔啡
阅读(696)
评论(0)
推荐(0)
摘要:
dubbo://(推荐) rmi:// hessian:// http:// webservice:// thrift:// memcached:// redis:// rest:// 阅读全文
posted @ 2020-06-21 09:24
咔啡
阅读(418)
评论(0)
推荐(0)
摘要:
两个方法都可以向线程池提交任务,execute()方法的返回类型是 void,它定义在Executor 接口中。 而 submit()方法可以返回持有计算结果的 Future 对象,它定义在ExecutorService 接口中,它扩展了 Executor 接口,其它线程池类像ThreadPoolE 阅读全文
posted @ 2020-06-21 09:21
咔啡
阅读(2556)
评论(0)
推荐(0)
摘要:
Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才会执行。 阅读全文
posted @ 2020-06-21 09:17
咔啡
阅读(1006)
评论(0)
推荐(0)
摘要:
-Xss 每个线程的栈大小 阅读全文
posted @ 2020-06-21 09:06
咔啡
阅读(364)
评论(0)
推荐(0)

浙公网安备 33010602011771号