notify()和 notifyAll()有什么区别? 答: 两概念:Java中的 等待池、锁池。 等待池:假设一个线程A调用了某个对象的wait()方法,线程A就会释放该对象的锁后,进入到了该对象的等待池中。等待池中的线程不会去竞争该对象的锁。 锁池:只有获取了对象的锁,线程才能执行对象的 syn ...
分类:
其他好文 时间:
2020-05-02 12:05:12
阅读次数:
67
在项目中,当程序处于长时间停顿的时候,可以使用java提供的jstack命令跟踪正在执行方法的堆栈情况,jstack能够生成虚拟机当前时刻的线程堆栈情况。主要,监控线程的状态,判断出线程停顿的原因。例如,死锁,死循环,多个线程等待等等。线程的状态包括NEW,RUNNABLE,BLOCKED,WAIT ...
分类:
编程语言 时间:
2020-05-01 23:58:48
阅读次数:
148
There are some situations where you want to focus your tests on a particular component and not any of its children. There are other situations where y ...
分类:
其他好文 时间:
2020-05-01 01:32:17
阅读次数:
93
ORACLE 11G 搭建dataguard详细步骤(所有操作总结) Oracle 作者:ljerom 时间:2017-10-31 15:06:29 5290 0 序言: DATAGUARD是通过建立一个PRIMARY和STANDBY组来确立其参照关系。 STANDBY一旦创建,DATAGUARD就 ...
分类:
数据库 时间:
2020-04-30 15:45:23
阅读次数:
82
你可能会问,为什么不直接进入 CLOSED 状态,而要停留在 TIME_WAIT 这个状态? 划重点,2MSL 的时间是从主机 1 接收到 FIN 后发送 ACK 开始计时的;如果在 TIME_WAIT 时间内,因为主机 1 的 ACK 没有传输到主机 2,主机 1 又接收到了主机 2 重发的 FI ...
分类:
其他好文 时间:
2020-04-30 13:32:56
阅读次数:
51
我们经常会遇到在服务器上看到大量的TIME_WAIT,它们占用进程不释放,最后会导致所有进程数被耗完,服务器负载增高等生产事故,具体是什么原因导致的呢?我们先来看看TCP的三次握手四次挥手都是怎样的一个过程。 TCP三次握手 三次握手的过程如下图: 具体的过程如下:(1)、客户端主动发起连接,向服务 ...
分类:
系统相关 时间:
2020-04-30 09:35:58
阅读次数:
125
使用Python监控Linux系统Linux下有许多使用Python语言编写的监控工具,如inotify-sync,dstat和glances.此外,如果要根据业务编写简单的监控脚本,很多工程师也会选择Python语言。Python语言是一门简单易学/语法清晰/表达能力强的编程语言,非常适合于编写监控程序的场景。使用Python语言编写监控程序具有以下几个优势:Python语言开发效率高。Pyth
分类:
编程语言 时间:
2020-04-29 23:42:12
阅读次数:
87
表现 前端页面,封装到html里的中文可以显示,和后台相关的中文显示都是 ??? 。查看network请求,传参正常。 查看mysql编码,是utf8。再看连接数据库的JDBC设置,也是utf8。 解决 问了同事,把 /etc/mysql/conf.d/mysql.cnf 填充以下内容即可 ...
分类:
数据库 时间:
2020-04-29 23:40:45
阅读次数:
91
一、线程通信 多线程之间是可以相互通信的,当一个线程使用 阻塞当前线程时,另一个线程可以用 或 方法来唤醒正在阻塞的线程,从而实现线程通信。 示例: 使用两个线程打印 1~100 中的数字,实现交替打印,即先线程1打印,在线程2打印,再线程1,再线程2... 以此类推。 代码如下: public c ...
分类:
编程语言 时间:
2020-04-29 20:24:40
阅读次数:
67
一、概述 1、指的是针对网络的IO。 2、常见的会产生网络IO阻塞的状态:accept,recv(recvfrom)。 3、接收数据的两个阶段:操作系统等待对方数据传过来的wait_data(waiting for the data to be ready)和操作系统将数据从内核拷贝到进程的copy ...
分类:
其他好文 时间:
2020-04-29 00:50:03
阅读次数:
66