java 日期转换校验
/** * 测试字符串转换日期(严格模式) * * Lenient => 宽容 * */ @Test public void testExactingDateFormat() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //S …… 阅读全文
/** * 测试字符串转换日期(严格模式) * * Lenient => 宽容 * */ @Test public void testExactingDateFormat() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //S …… 阅读全文
前两天测试问了个问题,就是内存爆掉,排查原因是因为缓存东西太多,而他把缓存的东西读取到list中,每请求一次读取一次,没有释放掉导致内存溢出,本来还以为是请求过多是nio的原因。后来经过nio的socketChannel 和 ServerSocketChannel测试, 在配置jvm参数(-Xmx100M -Xms100M -Xmn30M)发现在客户端有5000不到的空连接的时候,会出现内存溢出, …… 阅读全文
标准IO 是通过new File的方式访问, 这种方式的访问会先把磁盘的文件缓存到操作系统层面,再有操作系统缓存到应用程序层面(Java程序层面),这种访问最慢。直接IO是略过操作系统层面,直接访问文件进行文件的读写,减少了磁盘缓冲到操作系统层面。Java中是由DirectByteBuffer,但是这种机制的缺点也是有的,对于没有做好一个好的程序缓存管理,或者一直需要读取新的文件的时候,还是需要直接 …… 阅读全文
粘包/拆包解决思路我采用的是分割符的方法,后面固定”\r\n”,为分割符,,这样每一次读取到“\r\n”字符,就处理这个命令。如果本次读取的内容最后不是以”\r\n”结尾的呢,我会认为这个命令还没有完,用map保存本次的客户端地址与这次剩余的请求的映射关系,这样下次这个客户端再来请求的时候我会把这个请求拼接上去。具体实现可以看源码: https://github.com/wuhulala/nett …… 阅读全文
本文主要讲load,store,const,push等字节码的实例即应用。声明局部变量并赋值源程序 int x = 2; int y = 3;字节码0 iconst_2 将常量(2)压入操作数栈中1 istore_1 将操作栈的值弹出,即常量(2)并赋值给第1个局部变量x2 iconst_3 将常量... …… 阅读全文
1.顺序表中按位置随机访问的时间复杂度为O(1);2.顺序表中的在给定位置插入或者删除需要移动差不多一半的以上的元素,所以时间复杂度为O(n);3.存储密度=数据占用的存储量/整个结点占用的存储量。根据这个公式可以得出顺序表的存储密度为1;所以可以得出以下结论:线性表一般作为查询频繁,插入或者删除比较少的场景下使用。空间使用率上面是比较高的。下面直接上代码举例说明:publ …… 阅读全文