java
三三三思
持续性奋斗,间接性懒惰
展开
-
并发修改异常的原理是是什么
并发修改异常的原理是是什么当我们是使用遍历集合(List、Set、Map)的时候,获取当前集合的迭代对象,迭代器包含迭代器的remove()和集合本身的remove()。如果使用集合本身调用remove方法就会出现发修改异常,但用迭代器本身调用是没有问题的。ConcurrentModificationException:并发修改异常 Collection collection = new ArrayList(); collection.add(1); collecti原创 2021-03-17 14:05:47 · 626 阅读 · 0 评论 -
java使用Random取指定范围的随机数
Random:获取的是0-1的随机数。(包含0不包含1)下面的代码是获取的5-15之间的随机数:System.out.println(5+Math.random()*(15-5));总结公式:(Math.random()*(max-min)+min)原创 2021-03-15 20:24:26 · 2404 阅读 · 0 评论 -
冒泡排序、选择排序、快速排序原理与代码
冒泡排序:图片展示 for(int i = 0;i<ary.length-1;i++){ for(int j = 0;j<ary.length-i-1;j++){ count++; //相邻两个数比较,把大的数放在后面 if(ary[j]>ary[j+1]){ int temp = ary[j];原创 2021-03-14 12:17:09 · 236 阅读 · 0 评论 -
hashCode函数、equals函数、toString函数的作用
hsahCode函数:hashCode()方法返回一个int数,在Object类中的默认实现是“将该对象的内部地址转换成一个整数返回”。 确定对象的内存地址。equals函数:String类对equals方法进行了重写,用来比较指向的字符串对象所存储的字符串内容是否相等。不能作用于基本数据类型的变量。如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址。toString函数:toSting方法通常返回的是 全限定为+@+16进制内存地址。返回字符串。而toSt原创 2021-03-13 23:27:22 · 171 阅读 · 0 评论 -
String为什么用final修饰
1、为了实现字符串连接池final可以修饰类方法和变量,被final修饰的类不能被继承。String被final所修饰主要是为了“安全性”和“效率”。final修饰String代表String不可继承,final修饰的char[]数组存储的数据是可以改变的。 char[] a={'h','e','l','l','o'}; a[2] = 'w'; System.out.println(Arrays.toString(a));//[h, e, w, l, o]2、为原创 2021-03-13 20:57:46 · 1129 阅读 · 0 评论 -
“==”与equals的区别
“==”与equals的区别 String string1 = "ssss"; String string2 = "ssss"; String string4 = new String("ssss"); System.out.println(string1 == string2);//true System.out.println(string1 == string4);//false System.out.println原创 2021-03-13 17:15:44 · 79 阅读 · 0 评论 -
String类的特点
String中“==”与equal的区别“==”:主要功能是进行数值相等判断的,如果用在了String对象上,表示的是内存地址数值的比较。equals:是String所提供的,专门用来字符串的内容进行比较。 String string1 = "ssss"; String string2 = "ssss"; String string4 = new String("ssss"); System.out.println(string1 == strin原创 2021-03-13 14:31:54 · 101 阅读 · 0 评论 -
二分法查找的代码及原理
基本原理:首先对这个数组进行从小到大的升序排序。然后确定一个你需要找的key值。找到数组中间的那个数,与key进行比较。如果小于key,则取数组的后半段继续查找。如果大于key,则取数组的前半段继续查找。如果等于key,就返回。代码:public class demo { public static void main(String[] args) { int[] arrays = {9,84,561,5,46,5,89,8,54,6,65,4,46};原创 2021-03-13 13:29:11 · 629 阅读 · 1 评论 -
为什么Integer a = 127,b = 127;时a==b为true,而Integer c = 128,d = 128;时a==b为false?
如下图:为什么Integer a = 127,b = 127;时ab为true,而Integer c = 128,d = 128;时ab为false?其中==为比较这两个数是否相等,而在比较引用数据类型时比较的是他们的内存地址。而当我们用Integer表示int类型的时候,就会调用静态方法valueOf,如图:而在这段代码中明确的写着Integer的取值范围,是-128~127;所以当超过这个范围的时候就会重新在堆内存当中new一个新的Integer对象。这个时候内存地址的值不再相同所以就会返回原创 2021-03-12 19:45:39 · 764 阅读 · 0 评论 -
为什么float类型4字节比long类型8字节范围大?
为什么float类型4字节比long类型8字节范围大?因为整数和小数底层二进制存储的结构不同其中float的取值范围是:-3.4×10的-38次方至3.4×10的-38次方long的取值范围是:-9223372036854775808~9223372036854775807所以float大于long的范围通过一段代码证明:System.out.println(Float.MAX_VALUE - Long.MAX_VALUE);结果为:...原创 2021-03-12 19:19:51 · 200 阅读 · 0 评论 -
java中常用final修饰的类有哪些?
java.long包中有Boolean Byte Short Character Integer Long Float Double(八大基本数据类型的包装类)String StringBuffer StringBilder(字符串)Math StrictMath(系统)java.util包中有Scanner Arraysjava.lang.reflect包中有Array Constructor Field Parameterjava.net包中有URLEncoder URL URI原创 2021-03-12 19:00:43 · 749 阅读 · 0 评论 -
Java跨平台原理与JVM
Java跨平台原理在操作系统上安装该操作系统所识别的java虚拟机(JVM),从而使用java虚拟机(JVM)来执行.class文件。图解:JVM虚拟机原创 2020-12-24 14:24:30 · 78 阅读 · 0 评论 -
JDK、JRE、JVM的区别
JRE(Java Runtime Environment)是Java运行时环境,包含java虚拟机和java程序的一些核心类库。JDK(Java Development Kit)是java开发工具包,是整个java开发的核心。JVM(Java Virtual Machine)是java虚拟机,认识aaa.class文件。三者为嵌套关系:JDK>JRE>JVM...原创 2020-12-22 16:26:26 · 257 阅读 · 0 评论 -
javaScript使用for循环写水仙花数
js写三位数的水仙花数规则100–999的水仙花数:举例:153:是水仙花数,集中153=111+555+333原创 2020-11-26 10:09:26 · 1298 阅读 · 0 评论