Java基础
Table of Contents

之前也是太navie,觉得java基础没什么用。但最近在做项目的时候的确感受到自己基础不是很牢。所以在这里记录下java的基础,以后找工作也能用得上。

Java有哪些优点?

为什么Java会比较慢?

float和double的区别?

StringBuilder和StringBuffer的区别?

静态块

一个Java文件中是否可以有多个类?

怎么复制一个对象?

深拷贝例子:

@Override
    protected Object clone() throws CloneNotSupportedException {
        TestClass testClass = null;
        testClass = (TestClass) super.clone();
        testClass.obj = (Obj) obj.clone();
        return testClass;
    }

什么是面向对象?

面向对象的特征?

那么为什么要用面向对象开发?

抽象类和接口有什么不同。

final、finally、finalize的区别?

static关键字有啥用?

位运算

char变量中是否可以存储一个汉字

“==”“equal”“hascode”

socket

序列化

JVM是怎么加载类的?

GC(垃圾回收器)

既然有了GC,那Java也还是会有内存泄漏

堆和栈有什么区别

TreeSet你听说过吗?

HashMap的实现原理

LinkList和Vector

使用ToStringBuilder

ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);

使用这种方法有两个好处。第一是,PO属性有变化的时候,不需要变动toString方法。第二是,普通的toString方法都是用+号来连接的,这种方式会产生大量的String对象,导致消耗的内存增加。使用这种方式则可以避免这种问题。