Java面试题 GC机制 垃圾回收需要完成两件事:找到垃圾,回收垃圾。 找到垃圾一般的话有两种方法: 引用计数法: 当一个对象被引用时,它的引用计数器会加一,垃圾回收时会清理掉引用计数为0的对象。但这种方法有一个问题,比…
Redis 核心原理:基于事件的处理流程
本文介绍了 Redis 核心原理和架构:基于事件驱动的模型。事件模型是构成 Redis 内核的引擎,Redis 的丰富功能和组件都是构建在这个模型上的。如果你使用过 Redis,那么本文可以为你打开一道进入 Redis …
高性能网络编程(一)----accept建立连接
编写服务器时,许多程序员习惯于使用高层次的组件、中间件(例如OO(面向对象)层层封装过的开源组件),相比于服务器的运行效率而言,他们更关注程序开发的效率,追求更快的完成项目功能点、希望应用代码完全不关心通讯细节。他们更喜…
好家伙,原来Java四大引用是这样子~
本文会按照以下思路进行: (1)Java的四种对象引用的基本概念 (2)四种对象引用的差异对比 (3)对象可及性的判断以及与垃圾回收机制的关系 (4)引用队列ReferenceQueue的介绍 Java的四种对象引用的基…
"=="和Equal的区别
String 类和常量池 1 String 对象的两种创建方式:
HotSpot VM
提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。 但不一定所有人都知道的是,这个目前看起来“血统纯正”的虚拟机在最初并非由S…
一文让你读懂Java类加载机制!
【转载】一文让你读懂Java类加载机制! 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装…
程序员必须掌握哪些算法?附“互联网公司最常见的算法面试题”
01 算法与数据结构 算法与数据结构是面试考察的重中之重,也是同学们日后刷题时需要着重训练的部分。简单的总结一下,大约有这些内容: 算法 - Algorithms 排序算法:快速排序、归并排序、计数排序 搜索算法:回溯、…
深入理解JVM—JVM内存模型
我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CP…