知识体系

2019-03-31  本文已影响0人  watermountain

介绍一下PostgreSQL?

PostgreSQL 与 Mysql 的比较?

Integer 和 int 两者的区别? IntegerCache的实现(私有静态内部类)

如何判断一个字符串是否是一个数字?JDK中是如何实现的?

基本类型、引用类型

new Object() 创建一个对象的过程

1. new 类名

2. 根据new 的参数在常量池中定位一个类的符号引用

3. 如果没有找到这个符号引用,说明类还没有被加载,则进行类的加载、解析、初始化

4. 虚拟机为类对象分配内存(位于堆中)

5. 将分配的内存初始化为零值(不包括对象头)

6. 调用对象的<init>方法。

Java 对象的内存构成。

1. 对象头

    1. 存储对象自身的运行时数据,

    哈希码、GC分代年龄、锁状态标识、线程持用的锁

    类型指针

2. 实例字段

3. 对齐填充字段

Java的基本类型一定存放在栈中吗?

void func () {

    int a = 3;

}

局部变量存在栈里

class A {

    int a = 3;

}

对象的实例变量存在堆

堆是线程共享的内存区域,栈是线程私有的。

局部变量在栈上创建,随方法结束,帧出栈,相应的内存释放。

1. 函数中定义的一些基本类型的变量和对象的引用变量在栈上分配内存

2. 由new创建的对象和数组。在堆中产生了一个数组或者对象。在栈上分配对象引用,指向堆上分配内存的首地址。

Byte、Short、Integer、Long、Character、Boolean。这5种包装类实现了相应类型的缓存数据。默认是[-128, 127]。但是超出此范围仍然会去创建新的对象。 两种浮点数类型的包装类Float,Double并没有实现常量池技术

上一篇下一篇

猜你喜欢

热点阅读