前几天写过一篇文章,讨论重写服务后,用ab进行压力测试,发现使用NIO后没提高什么性能,只是CPU使用率提高了,内存占用降低了. 之前的NIO实现模式,主要参考(基于事件的NIO多线程服务器)http://www.ibm.com/developerworks/cn/java/l-niosvr/ 实现方式:把[读],[写]放在不同的线程中运行,主线程(Selector)中我使用了ConcurrentLinkedQueue队列, //准备写 public static void readyWrite…
Windows cmd 批处理(cmd/bat)文件的简单使用介绍 前言 如果你想我一样,要每天都需要在cmd上,用键盘去敲击相同的命令,时间一长,你就觉得很无聊.有没有什么比较高效的方法,让我们不用每天都做这种重复性的工作. 如果能将所有的命令写到一个文件里,然后在cmd中执行这个文件,就相当于执行了这个文件里的所有命令了. 批处理(cmd/bat)文件 没错,这种文件是存在的,它的名字叫做:批处理文件. 批处理(batch ),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理.…
下面的命令会查看到按照RAM和CPU降序方式的前最高几名进程的列表: [root@iZ25pvjcsyhZ ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head PID PPID CMD %MEM %CPU 1 0 /sbin/init 0.1 0.0 2 0 [kthreadd] 0.0 0.0 3 2 [migration/0] 0.0 0.0 4 2 [ksoftirqd/0] 0.0 0.0 5 2 [stopper/0] 0.0 0…
Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算 转 http://www.cnblogs.com/lidabo/p/4738113.html目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件 procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法 实验数据…
Linux平台Cpu使用率的计算 proc文件系统 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为内核与进程提供通信的接口.用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的. /proc目录中有一些以数字命名的目录,它们是进程目录.系统中当前运行的每一个进程在/proc下都对应一个以进程号…
上次给大家演示了Charles中通过Map Local功能来提高测试效率,Charles还有另外一个强大的功能,Rewrite,这次也给大家演示一下. Charles中的Rewrite功能非常强大,可以重写接口所有元素的内容,主要可以对某些匹配请求的header.host.url.path.query param.response status.body进行rewrite. 我们直接用网页搜索豆瓣电影热映: https://movie.douban.com/subject/3097572/?fr…
导言 写一个Windows平台下的应用程序大多时候都是离不开读写文件,网络通信的. 比如一个服务应用程序来说,它可能从网络适配器接受用户的请求,对请求进行处理计算,最终将用户端所需的数据返回,中间可能还涉及到对磁盘的读写,这些都是I/O操作,所以,要设计一个稳健的,高效的,伸缩性好的应用程序,就必须将Windows的I/O机制搞清楚.一. 两种 读/写 机制 输入Input / 输出Output,有两种机制,他们是: 1 同步I/O: 线程执行一个输入输出函数时,输入输出工作执行完毕后,函数返回…
串口采集数据 本文档介绍的是如何获取串口原始数据并将原始数据解析成可处理或可展示的数据. 一.串口采集有很多方式: 1).MFC有一个专门的控件,直接编程采集,一个控件只能采集一个串口,而且串口名字比如是COM20可能就打不开(这里我没有实践,师兄给这样说的),波特率太高读数会出错. 2).利用Windows API通信函数(该工程里面就采用的这种方式) 3).利用Visual C++的标准通信函数_inp._inpw._inpd._outp等直接对串口进行操作. 4).第三方编写的通信类. 二…
Set不安全  package com.kuang.unsafe; ​ import java.util.*; import java.util.concurrent.CopyOnWriteArraySet; ​ /**  * 同理可证:ConcurrentModificationException并发修改异常  * 解决方法:  * //1.Set<String> set = Collections.synchronizedSet(new HashSet<>());工具类的写法 …
随着互联网的蓬勃发展,越来越多的互联网企业面临着用户量膨胀而带来的并发安全问题.本文着重介绍了在java并发中常见的几种锁机制. 1.偏向锁 偏向锁是JDK1.6提出来的一种锁优化的机制.其核心的思想是,如果程序没有竞争,则取消之前已经取得锁的线程同步操作.也就是说,若某一锁被线程获取后,便进入偏向模式,当线程再次请求这个锁时,就无需再进行相关的同步操作了,从而节约了操作时间,如果在此之间有其他的线程进行了锁请求,则锁退出偏向模式.在JVM中使用-XX:+UseBiasedLocking pac…