java
yahahassr
这个作者很懒,什么都没留下…
展开
-
java socket 大数据传输丢失的问题
最近遇见一个问题。利用java 的socket进行数据传输时,当数据量过大,比如4w个字节。这时候我在客户端输出流将数据发送给服务器。服务器如果利用数组接收时(即is.read(byte[])方法),接收到的数据不全。网上解决方法。一. 分批发送,分批读取,并不要直接读取,将输入输出流利用BufferedInputStream包装。实测这种方法不能根本上解决问题,治标不治本。还是会有概率丢失。二.实际上,数据是不会丢失的。即使输入数据过大导致溢出。数据也不会丢失。根据观察,应该只是数据还没有传输过来,但原创 2020-05-08 19:45:04 · 3177 阅读 · 3 评论 -
java new String("a")创建了几个对象
因为看见网上解释的有点歧义。一开始我也被误导了,这里记录以下。首先答案是两个,分别放在StringTable(字符串常量池),和堆中原因:注意,不是new String()创建了两个对象,其实是"a"创建了一个对象放入了常量池。new String()创建了一个对象放入了堆中。故而new String(“a”)创建了两个对象。其实你执行System.out.println(“a”);也会创...原创 2020-03-13 16:14:50 · 903 阅读 · 0 评论 -
ArrayList源码分析(jdk12)
1. 成员变量//默认初始容量private static final int DEFAULT_CAPACITY = 10;//共享空实例对象,用这个表示数组为空private static final Object[] EMPTY_ELEMENTDATA = {};//共享空实例对象,用这个表示该ArrayList对象是调用默认构造方法创建数组容器private static fin...原创 2020-03-10 13:40:16 · 190 阅读 · 0 评论 -
Hashtable和HashMap的比较
hashTable和hashMap有许多相似的地方,不过因为用的也不多,这里就关注一些和HashMap的区别1. 构造方法构造方法也是3个,关键的构造方法如下public Hashtable(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new Il...原创 2020-03-10 12:09:45 · 190 阅读 · 0 评论