Javase
Vince_Wang1
What hurts more? The pain of hard-working or the pain of regret?
展开
-
HashMap JDK1.7和1.8区别(完整版)
不说废话了,开门见山,看网上的总结都比较片面,整个全乎的。存储方式这点大家耳熟能详,JDK1.7采用的是数组+链表的形式,而JDK1.8在数组容量大于64且链表长度大于8的情况下会使用红黑树。源码里也有很详细的解释,这里不过多赘述。详情可以参考我另一篇博客HashMap部分源码的理解初始化方式在JDK1.7中,table数组默认值为EMPTY_TABLE,在添加元素的时候判断tabl...原创 2020-05-07 23:06:13 · 5790 阅读 · 1 评论 -
关于iterator迭代器是fail-fast机制
没弄清楚到底是结构发生改变还是元素改变抛出异常故做以下验证public static void main(String[] args) { Person p1 = new Person(10, "xl"); Person p2 = new Person(11, "xm"); Person p3 = new Person(12, "xs"); ...原创 2020-03-25 11:14:23 · 413 阅读 · 0 评论 -
HashMap源码学习
带着几个问题:众所周知在jdk 1.8 hashmap的数据结构变成了链表+数组+红黑树,那么相比于原本的链表和数组的结构,优点在哪?哈希碰撞如何解决?扩容时机和扩容原理?ConcurrentHashMap是如何实现线程安全的?直接看代码吧几个参数:static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //默认初始容...原创 2020-03-05 14:48:37 · 753 阅读 · 0 评论 -
String,String builder,StringBuffer面试题总结
问:下面程序的运行结果是什么?答:注释 1 打印为 false,主要考察 String 的 equals 方法,String 源码中 equals 方法有对参数进行 instance of String 判断语句,StringBuffer 的祖先为 CharSequence,所以不相等; 注释 2 打印为 false,因为 StringBuffer 没有重写 Object 的 equals 方...原创 2020-02-01 17:05:08 · 428 阅读 · 0 评论 -
JavaSE多态
多态性在java中的体现:1.方法重写和重载2.对象的多态性–可以直接应用在抽象类和接口上java引用变量有两种类型,编译时类型和运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际复制给该变量的对象决定两者不一致就会出现多态判断是否为多态存在“is-a”规则,他表明子类的每个对象也是父类的对象例如Employee e=new Employee();Employee...原创 2020-01-27 17:25:49 · 303 阅读 · 0 评论 -
JDBC步骤详解
因为学习理解Mvc 用到了大量数据库的连接 特此来巩固一下jdbc安装之类的就不说了 自行百度 从具体使用jdbc开始复习第一步 加载Class.forName("com.mysql.jdbc.Driver");//利用反射在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String cla...原创 2020-01-16 16:36:46 · 206 阅读 · 0 评论 -
JDK8新增getOrDefault使用方法
上源码Method ReturnsThe getOrDefault() method returns the value to which the specified key is mapped, or defaultValue if this map contains no mapping for the key.直译一下就是当HashMap集合中有这个key时,如果存在则return ...原创 2020-01-07 09:47:33 · 804 阅读 · 0 评论 -
java栈中的push,add,peek,pop
栈遵循先进后出,相当于压子弹进入弹膛再打出去,最先进去的最后被打出去。下面是我最近用到的栈的几个方法及通过LinkedList的一些表示。push:public void push(Hero h) {heros.addLast(h);}1、void push()方法----将元素"压入"栈中,入栈操作。2、新入栈的元素会在栈顶(栈中第一个元素)pop:public Hero po...原创 2019-12-29 13:45:22 · 2403 阅读 · 0 评论 -
关于多线程的两种创建方式的用法和选择
本文分别说明的继承Thread类和Runnable接口的两种方式。仅为个人见解,如有不妥还清指出。先说一下并发和并行,并行:多个任务可以同时做,常用与任务之间比较独立,互不影响。相当于很多人做很多件事(例学校篮球场,很多学生在不同的场地打球)并发:相当于很多人在一个篮球场打球,只能轮着上因为只有一片场地。首先第一种是继承Thread类的方法直接上代码,实现的是火车票卖票的问题第二...原创 2019-12-26 12:02:23 · 186 阅读 · 0 评论 -
为什么要有无参构造方法和无参构造的原理
下午跟着码项目的时候发现每一个构造器都输入了shift+alt+s了一个无参构造诸如此类就自己做了个实验共有 GrandPa、Father和Son 3个类,我现在在 main方法里 执行这条语句。Son son = new Son(); 控制台的输出结果如下:由结果可知,一定不断的回溯到了Object,只不过是没有打印语句而已。若我们不指定调用父类的哪个构造方法。就会调用默认的无参...原创 2019-12-26 11:52:44 · 1488 阅读 · 3 评论 -
intellij cpu占有高解决办法(亲测有效!)
File—Settings—Inspections—把勾都去掉或者选自己需要的部分。原创 2019-12-26 12:08:11 · 672 阅读 · 0 评论 -
获取两个字符串中最大相同子串
前提是str1和str2不等于null原创 2019-12-26 11:54:15 · 238 阅读 · 0 评论