![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
I am zzxn
https://github.com/zzxn
展开
-
Windows下关闭JShell窗口不会停止死循环
Oracle Java 11.0.5版本中,在Windows下打开jshell并输入一个死循环,例如while(true),然后关闭jshell窗口,该无限循环不会被终止,而是一直执行,这应该是个bug。 ...原创 2020-04-19 00:34:48 · 294 阅读 · 0 评论 -
Java中TreeMap、TreeSet存储对象和ArrayList.sort()的对象需要实现equals方法吗
不需要,只需实现Comparable或者传入Comparator即可,但是这样是不好的,除非是局部临时使用,应当避免。 不需要的原因是TreeMap、TreeSet、ArrayList.sort()都只是用compareTo()方法,而不会使用equals()和hashcode()方法。特别地,ArrayList.sort()内部使用的是Arrays.sort(),而Arrays.sort()对于...原创 2020-04-11 18:34:29 · 288 阅读 · 0 评论 -
Java9中字符串内部改变浅析
Java8及以前,String内部使用一个char[]保存UTF-16格式字符串,但是这样做有几个问题: 如果字符串中主要是ASCII字符,那么用16位的char来保存指利用了8位的ASCII字符相当于浪费了一半的空间 在Java起源时,1个16位的char可以完美表示1个16位的UTF-16字符,但是,2^16 = 65536个字符显然无法表示世界上所有奇奇怪怪的字符,包括很多汉字,因此UTF...原创 2020-04-10 02:24:50 · 390 阅读 · 0 评论 -
从Math.round(-1.5)的结果起讨论Java中整数和浮点数的转换
Math.round(-1.5)结果是-1,但是为什么是-1网上居然众说纷纭,其实只需要看一看源码的javadoc就知道了(jdk11): /** * Returns the closest {@code long} to the argument, with ties * rounding to positive infinity. * * <p&...原创 2020-04-10 01:09:17 · 402 阅读 · 0 评论