nio 使用的都是直接内存吗?

前两天测试问了个问题,就是内存爆掉,排查原因是因为缓存东西太多,而他把缓存的东西读取到list中,每请求一次读取一次,没有释放掉导致内存溢出,本来还以为是请求过多是nio的原因。后来经过nio的socketChannel 和 ServerSocketChannel测试, 在配置jvm参数(-Xmx100M -Xms100M -Xmn30M)发现在客户端有5000不到的空连接的时候,会出现内存溢出, …… 阅读全文

Java 标准IO、直接IO、内存映射的访问磁盘区别点

标准IO 是通过new File的方式访问, 这种方式的访问会先把磁盘的文件缓存到操作系统层面,再有操作系统缓存到应用程序层面(Java程序层面),这种访问最慢。直接IO是略过操作系统层面,直接访问文件进行文件的读写,减少了磁盘缓冲到操作系统层面。Java中是由DirectByteBuffer,但是这种机制的缺点也是有的,对于没有做好一个好的程序缓存管理,或者一直需要读取新的文件的时候,还是需要直接 …… 阅读全文

原生NIO粘包拆包的一种解决方案

粘包/拆包解决思路我采用的是分割符的方法,后面固定”\r\n”,为分割符,,这样每一次读取到“\r\n”字符,就处理这个命令。如果本次读取的内容最后不是以”\r\n”结尾的呢,我会认为这个命令还没有完,用map保存本次的客户端地址与这次剩余的请求的映射关系,这样下次这个客户端再来请求的时候我会把这个请求拼接上去。具体实现可以看源码: https://github.com/wuhulala/nett …… 阅读全文

JVM 字节码 (一) 加载和存储指令

本文主要讲load,store,const,push等字节码的实例即应用。声明局部变量并赋值源程序 int x = 2; int y = 3;字节码0 iconst_2 将常量(2)压入操作数栈中1 istore_1 将操作栈的值弹出,即常量(2)并赋值给第1个局部变量x2 iconst_3 将常量... …… 阅读全文

Python一个命令开启http下载服务器

下载并安装Python,例如这里想把命令E:\easytest作为提供下载的目录,那么在cmd里cd到该目录下,并执行命令:python.exe -m SimpleHTTPServer如果提示错误:No module named SimpleHTTPServer则试一下命令:python.exe -m http.server以下是命令执行记 …… 阅读全文

python编程常用模板总结

在我们编程时,有一些代码是固定的,例如Socket连接的代码,读取文件内容的代码,一般情况下我都是到网上搜一下然后直接粘贴下来改一改,当然如果你能自己记住所有的代码那更厉害,但是自己写毕竟不如粘贴来的快,而且自己写的代码还要测试,而一段经过测试的代码则可以多次使用,所以这里我就自己总结了一下python中常用的编程模板,如果还有哪些漏掉了请大家及时补充哈。一、读写文件1、读文件 …… 阅读全文

Python利用Requests库写爬虫(一)

基本Get请求:#-*- coding:utf-8 -*-import requestsurl = 'http://www.baidu.com'r = requests.get(url)print r.text带参数Get请求:#-*- coding:utf-8 -*-import requestsurl = 'http://www.baidu.com'paylo …… 阅读全文

Python 主要模块和常用方法简览

原文地址:http://blog.csdn.net/hwhjava/article/details/22284399[python]view plaincopy********************PY核心模块方法********************os模块:os.remove()删 …… 阅读全文