java web,ssm,菜鸟程序员
寂寞&土豆
代码洁癖患者
展开
-
java 序列化,流,二进制的区别和联系
今天对流的概念有了更深的理解。下面谈一谈:1 首先是序列化和反序列化,一般是用来对java bean进行操作,以提供远程接口调用。2 可能在不同机器上有不同的操作系统。在反序列化的时候就必然会有一些不确定性。3 而流则分为字符流和字节流。字符流为两个字节,字节流为1unicode,4 对象序列化与反序列化:将Java对象转变成字节流存储,称之为对象序列化。从字节流中恢复一个Ja原创 2018-01-21 10:14:11 · 1613 阅读 · 0 评论 -
纠正hashset顺序不一致误区
public void fset(){ HashSet<String> set1 = new HashSet<String>(); set1.add("London"); set1.add("English"); set1.add("China"); set1.add("England");原创 2018-02-25 12:19:33 · 3199 阅读 · 0 评论 -
Java 中 Vector、ArrayList、List 使用深入剖析
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。 Collection├List│├LinkedList│├ArrayLi...转载 2018-02-25 12:44:40 · 161 阅读 · 0 评论 -
spring框架不使用注解实现注入
首先是目录结构代码部分。配置信息 <bean id ="testIoc" class = "springtest.UserServiceImpl"> <property name="userDao" ref ="dao"></property> </bean> <bean原创 2018-03-24 23:43:59 · 2169 阅读 · 0 评论 -
多线程读取数据库300万数据,写入到redis
先说一下业务场景。mysql单表300w条的数据,需要读取到rediis中。如果全部采用单线程的话效率过低,无法接受,因此考虑多线程并发处理。期间踩了好多坑。小伙伴们应该很好奇效率到底差多少,贴一下实验数据。/** * 单线程读取300w数据库时间为 15s 添加链表中总时长17s * 四线程读取300w数据库时间为 31ms左右 且添加链表总时长8s * ...原创 2018-05-27 19:23:33 · 9833 阅读 · 3 评论 -
记一次内存泄漏误诊
问题场景:压测时产生大量日志文件,导致free -m命令中的free参数指标飙升。只有删除该日志文件,free参数恢复正常。项目中使用logback作为日志框架,操作系统是SUSE SP12版本,最开始误以为是logback日志在该系统下存在内存泄漏,观察堆栈信息,都没有发现任何异常,发现free所占内存并非java应用所持有。所以从linux内核找原因,深入了解了一下fr...原创 2019-09-02 14:43:21 · 699 阅读 · 0 评论