牛客网错题——Day13

“~”

计算机中以补码存储。
正数的补码是他本身,复数的补码是等于其对应的正数的反码加一

10的存储为00000000 00000000 00000000 00001010
~10的原码为11111111 11111111 11111111 11110101(10取反)

~10的反码为10000000 00000000 00000000 00001010(最高位符号位,不变,其余位取反)

~10的补码为10000000 00000000 00000000 00001011(负数的补码=反码+1)

有个公式,~n = -n -1 , ~10 = -11

GC

Java中,堆划分为老年代(Old)和新生代(Young)。Young又分为:Eden、From Survivor、To Survivor。
所有创建的对象都创建在Eden区,当Eden区满了触发新生代的Minor GC,将Eden区和非空闲区Survivor区存活的对象直接复制到另一个空闲的Survivor。新生代的Minor GC就是在Form Survivor和To Survivor之间相互复制存活的对象,知道Survivor满为止。

当Survivor满了之后就通过Minor GC复制到老年代,如果老年代也满了就会触发Full GC,针对整个栈区进行垃圾回收。

如果持久代满了也会触发 Full GC

多线程和多进程

子进程会获得父进程的所有堆和栈的数据;

线程与同进程的其它线程共享数据,拥有自己的栈空间。

线程在同一个地址空间内。

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页