Java基础
EclipseO2
这个作者很懒,什么都没留下…
展开
-
Java中Integer的装箱、拆箱
一、关于拆箱和装箱装箱 就是自动将基本数据类型转换为包装器类型;拆箱 就是自动将包装器类型转换为基本数据类型 基本数据类型 包装器类型 int(4子节) Integer byte(1子节) Byte short(2子节) Short long(8子节) Long float(4子节) Float double...原创 2018-08-22 13:08:54 · 5382 阅读 · 1 评论 -
为什么重写了equals方法后还需要重写hashCode方法
分析假如我们创建了一个 People 类,并且重写了其中的 equals 方法public class People { private Integer age; private String name; // getter/setter方法 .... @Override public boolean equals(Object obj) ...原创 2019-03-16 21:47:04 · 3222 阅读 · 2 评论 -
Java泛型擦除和转换
一、泛型擦除在编译期间,所有泛型信息都会被擦除掉,在生成的字节码中是不包括泛型中的类型信息的直接举个例子public class Main2<T> { public static void main(String[] args) { List<String> list = new ArrayList<>(); li...原创 2018-10-06 20:15:59 · 8254 阅读 · 1 评论 -
System.arraycopy()和Arrays.copyof()
因为在看集合源码的时候经常会看到这两个方法,以前也没怎么接触过,导致傻傻分不清楚,这里正好记录下1.System.arraycopy()该方法是本地方法public static void arraycopy(Object src, int srcPos, ...原创 2018-09-10 13:41:26 · 268 阅读 · 0 评论 -
Java编译时类型和运行时类型
一、前言最近在做笔试题的时候,才看到有这么一个知识点,查了好几篇博客,在这里记录一下二、是什么Java引用变量有两个类型,一个是编译时类型,还有一个是运行时类型。编译时类型是由声明该变量时使用的类型所决定,运行时类型是由该变量指向的对象类型决定如果两种类型不一致,就会出现多态,因此就会将子类对象之间赋值给父类引用变量,称为向上转型,而不用进行类型转换。如 Animal ...原创 2018-09-03 21:44:22 · 4235 阅读 · 0 评论 -
Java多态深入
一、前言Java 多态的3个必要条件是:1.要有继承;2.要有方法的重写;3父类引用指向子类的对象我对这三点深信不疑。但是,很多博客都说多态分为两种,一种是编译时多态,还有一种是运行时多态。其实多态用的最多的还是运行时多态,也称作动态绑定,既然很多地方都提到了这两种,那就都来总结一下二、编译时多态方法重载都是编译时多态,根据实际参数的数据类型、个数和次序,Java在编译时能...原创 2018-09-03 21:33:20 · 345 阅读 · 0 评论 -
Java中String和StringBuilder
做了好几天的面试题,发现 String 类的题目一直是个大头,看似简单,实则不然,牵扯到很多底层的东西。接下来我就跟着源码和题目来分析一下把一、String的对象不可变public final class String implements java.io.Serializable, Comparable&amp;amp;amp;amp;lt;String&amp;amp;amp;amp;gt;, CharSequence {...原创 2018-08-21 15:23:18 · 22791 阅读 · 3 评论 -
Java值传递和引用传递
通过这两天的实习面试,发现自己的基础实在烂的不行,先不打算投简历了,安安心心的在家学了几个月,把最基本的东西全部搞懂再说。之前看到别人也在写类似的模块,觉得挺好的,因此我打算每天(也有可能几天..)整理一个常考的知识点,帮助自己整理和巩固,加油把前言无论是面试的时候,还是刷笔试题目的时候,这种类型的题目是考的是很多的,因为设计到栈和堆的一些东西,所以需要好好理解一下值传递...原创 2018-08-20 10:35:24 · 1443 阅读 · 2 评论 -
Java集合中的fail-fast快速失败机制
一、什么是 fail-fast 机制fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生 fail-fast 事件。例如:当某一个线程A通过 iterator 去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛 ConcurrentModificationException 异常,产...原创 2019-04-03 20:40:31 · 1733 阅读 · 1 评论