![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试常见
大魔王King
这个作者很懒,什么都没留下…
展开
-
数据结构之二叉树(扫盲)
本文主要介绍的是一些常用二叉树的概念扫盲解析,只做简要分析,后续会持续更新 树的基本概念 树是一种数据结构,树有多个节点(node),用以储存元素。某些节点之间存在一定的关系,用连线表示,连线称为边(edge)。边的上端节点称为父节点,下端称为子节点。本文主要介绍的是二叉树,二叉树(binary)是一种特殊的树,它是每个节点最多有两个子树的树结构,通常子树被称作是 "左子树" 和 "右...原创 2020-03-23 16:51:55 · 199 阅读 · 0 评论 -
String,StringBuffer,StringBuilder的区别联系
String,StringBuffer,StringBuilder的知识点,现在整理一下。 他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.String <(StringBuffer,StringBuilder)的原因 Strin...原创 2018-07-17 16:21:28 · 184 阅读 · 0 评论 -
Java的类加载过程
我们从微观的角度深入了解一下类加载的过程,这样我们才能从宏观角度理解java程序。 使用java编译器可以把java代码编译为存储字节码的Class文件,使用其他语言的编译器一样可以把程序代码翻译成Class文件,java虚拟机不关心Class的来源是何种语言。 在Class文件中描述的各种信息,最终都需要加载到虚拟机中才能运行和使用。那么虚拟机是如何加载这些Class文件的呢? J...原创 2018-08-01 18:51:46 · 161 阅读 · 1 评论 -
Java垃圾回收算法
GC垃圾收集器,需要做的三件事情: 1.哪些内存需要回收? 2.什么时候回收? 3.如何回收? 垃圾回收算法都是基于这三点,现在的垃圾回收基本都采用分代收集算法,所有java堆可以细分为:新生代和老年代。下面对各种算法做简单介绍 1.引用计数法(Reference Counting Collector) 给对象添加一个引用计数器,当有地方引用它时,计数器加1,;当引用失效时(对象...原创 2018-08-02 11:26:44 · 202 阅读 · 0 评论 -
Java中的volatile
volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性。这就是说线程能够自动发现 volatile 变量的最新值。volatile 变量可用于提供线程安全,但是只能应用于非常有限的一组用例:多个变量之间或者某个变量的当前值与修改后值之间没有约束。因此,单独使用 volatile 还不足以实现计数器、互斥锁或任何具有与多个变量相关的不变式(Invari...原创 2018-08-03 10:55:08 · 165 阅读 · 0 评论 -
mybatis中 # 和 $的区别
一、具体分析 动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个重要原因。mybatis 在对 sql 语句进行预编译之前,会对 sql 进行动态解析,解析为一个 BoundSql 对象,也是在此处对动态 SQL 进行处理的。在动态 SQL 解析阶段, #{ } 和 ${ } 会有不同的表现。 #{ }:解析为一个 JDBC 预编译语句(prepared st...原创 2018-11-23 11:55:37 · 118 阅读 · 0 评论