java基础
riabai
Practice makes perfect
展开
-
子类继承父类创建实例初始化顺序
package com.example.mybatis.test;public class TestExtendSequence { public static void main(String[] args) { new Son(); }}class Father{ static { System.out.println("父类静态代码块初始化"); } { System.out.println("父类代码块.原创 2020-12-28 16:54:05 · 210 阅读 · 0 评论 -
List去除重复数据(保留顺序)的两种简便方式
偶然看到了一些比较有意思的文章,记录一下:1.使用LinkedHashSet删除arraylist中的重复数据LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复数据 保持添加到其中的数据的顺序 Java示例使用LinkedHashSet删除arraylist中的重复项。在给定的示例中,numbersList是包含整数的arraylist,其中一些是重复的数字。例如1,3和5.我们将列表添加到Lin原创 2020-11-19 10:28:54 · 4379 阅读 · 0 评论 -
Java Enumeration接口
Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素。这种传统接口已被迭代器取代,虽然Enumeration 还未被遗弃,但在现代代码中已经被很少使用了。尽管如此,它还是使用在诸如Vector和Properties这些传统类所定义的方法中,除此之外,还用在一些API类,并且在应用程序中也广泛被使用。 下表总结了一些Enumeration声明的方法:1 boolean hasMoreElements( ) 测试此枚举是否包含更多的元素。 2.转载 2020-06-12 10:38:04 · 110 阅读 · 0 评论 -
HashMap初始化容量应该设置成多少合适?
当HashMap内部维护的哈希表的容量达到75%时(默认情况下),会触发rehash,而rehash的过程是比较耗费时间的。所以初始化容量要设置成expectedSize/0.75 + 1的话,可以有效的减少冲突也可以减小误差。...原创 2020-06-11 15:51:49 · 2303 阅读 · 0 评论 -
X % 2^n = X & (2^n - 1)
定理:2^n表示2的n次方,也就是说,一个数对2^n取模 == 一个数和(2^n - 1)做按位与运算 。假设n为3,则2^3 = 8,表示成2进制就是1000。2^3 -1 = 7 ,即0111。此时X & (2^3 - 1) 就相当于取X的2进制的最后三位数。从2进制角度来看,X / 8相当于 X >> 3,即把X右移3位,此时得到了X / 8的商,而被移掉的部分(后三位),则是X % 8,也就是余数。转载自:http://www.hollischuang.co.转载 2020-06-11 14:37:50 · 1235 阅读 · 0 评论 -
switch支持哪些数据类型(jdk1.8测试)
required: 'char, byte, short, int, Character, Byte, Short, Integer, String(补充jdk>1.7), or an enum'原创 2020-01-08 17:09:51 · 4417 阅读 · 0 评论 -
遍历Map的四种方法(转载自https://www.cnblogs.com/XQiu/p/5087961.html)
public static void main(String[] args) { // 构建一个Map 初始值为3条数据 Map<String, String> map = new HashMap<String, String>(); map.put("1", "xiaqiu"); map.put("2", "pangzi"); map.put(&q转载 2019-02-27 10:27:52 · 162 阅读 · 0 评论 -
BigDecimal判断两值是否相等(转载)
我的情况是从一个对象中获得一个price(BigDecimal类型),然后判断是否为0,代码如下if(price1 == null|| price1==BigDecimal.Zero){}但是我发现每次都不会进入到这个判断内部,因为这么写是错误的,并且这个错误还是特别低级。首先要知道BigDecimal不是基本类型,它只是把你的数值(基本类型)封装到了intCompact(Long类...转载 2019-03-01 18:46:53 · 9498 阅读 · 0 评论 -
JAVA中循环删除list中元素的方法总结(转载)
转载自:https://www.cnblogs.com/pcheng/p/5336903.htmlJAVA中循环删除list中元素的方法总结 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区。下面就来讲一讲。。伸手党可直接跳至文末。看总结。。 JAVA中循环遍历list有...转载 2019-02-27 15:59:41 · 255 阅读 · 0 评论 -
简单记忆线程安全的集合类
喂,SHE!喂是vector,s是stack,h是hashtable,e是enum。。。转载 2018-08-21 12:02:04 · 215 阅读 · 0 评论 -
java中构造器、初始化块、静态初始化块的执行顺序
父类静态初始化块>子类静态初始化块>父类初始化块>父类构造器>子类初始化块>子类构造器原创 2018-08-20 14:29:50 · 162 阅读 · 0 评论 -
正则和JavaScript,用函数判断第二个日期比第一个日期大,用正则初步粗略判断日期格式是否符合yyyy-MM-dd
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <scri转载 2018-08-03 17:13:57 · 367 阅读 · 0 评论 -
垃圾收集器
垃圾收集器的主要特点有: 1.垃圾回收器的工作目标是回收已经无用的对象的内存空间,从而避免内存渗漏体的产生,节省内存资源,避免程序代码的崩溃。2.垃圾回收器判断一个对象的内存空间是否无用的标准是:如果该对象不能再被程序中任何一个"活动的部分"所引用,此时我们就说,该对象的内存空间已经无用。所谓"活动的部分",是指程序中某部分参与程序的调用,正在执行过程中,尚未执行完毕。转载 2017-10-08 16:31:19 · 290 阅读 · 0 评论 -
取整
Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板,该方法就表示向下取整,Math.ceil(11.6)的结果为11,Math.ceil(-11.6)转载 2017-09-30 11:34:03 · 272 阅读 · 0 评论 -
循环的终止操作
循环的终止操作(break,continue,lable,return)break是跳出一层循环,continue是结束一次循环,return是结束所有层循环。一般我们都使用break和continue关键字来结束循环,其中break关键字用来终止整个循环,跳出循环,执行循环后的操作;continue关键字用来终止当次循环,进行下一次循环。若是循环嵌套,break和contin翻译 2017-09-30 09:31:56 · 4948 阅读 · 1 评论 -
猴子分桃子
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?自己的代码:package com.ytzl.test;public class Monkey {p原创 2017-09-30 10:47:47 · 1180 阅读 · 0 评论 -
Java代码性能优化
代码性能优化的重要性: 代码优化具有很重要的意义,大家都知道,网站本身非常希望获得很多的流量,这会决定他们的价值,而面对众多的人流量和大量的信息收集和处理,不仅需要优秀的服务器同时对程序本身也有很高的要求。也许一个小小的改善在一个人访问时不会有什么明显差别,但是当人流量多时,就会积少成多,产生质变,极大的提高服务器处理信息的效率,给用户带来更好的体验,形成良性循环。转载 2017-10-08 16:25:44 · 198 阅读 · 0 评论