
Java小知识
少加点香菜
座中泣下谁最多 江州司马青衫湿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Java全栈知识体系】
Java全栈知识体系必看原创 2021-03-04 11:42:22 · 2709 阅读 · 2 评论 -
【Java小知识】switch支持String类型的背后原理?
前言大家都知道,从JDK 1.7开始,switch表达式开始支持String字符串,那么它是怎么实现的呢?今天来一探究竟分析首先写一个小demo,如下所示,一个简单的switc语句:public class test { public static void main(String[] args) { test("a"); } publi...原创 2020-01-10 10:50:06 · 1899 阅读 · 0 评论 -
【Java小知识】垃圾回收GC你不得不知道的事情
前言前面我们讲了关于JVM内存模型中,Java堆是内存中最大的一块区域,几乎存放着所有的对象实例。可参考:JVM内存模型关于垃圾回收时我们在思考什么:哪些内存需要回收?什么时候回收?如何回收?判定对象是否存活在进行垃圾回收之前,当然第一件事就是确定这些对象之中哪些还“存活”着,哪些已经“死去”,死去意味着不可能再被使用的对象。那么Java是通过什么来判断对象是否存活呢?引...原创 2020-01-08 17:34:06 · 7055 阅读 · 0 评论 -
【Java小知识】JVM内存模型的理解和总结
前言JVM内存模型几乎是面试必备,个人认为也是对于如何更深入的理解Java程序的运行,包括实际应用场景中Java内存问题的处理都有极大的帮助。运行时的数据区域划分JVM会在执行Java程序的过程中把它所管理的内存划分为若干个不同的数据区域,见下图:程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。如果执行的是一个Java方法,用于记录正...原创 2020-01-07 19:49:58 · 6857 阅读 · 0 评论 -
【Java小知识】按值传递还是引用传递?
前言之前一直有疑惑,Java到底是按值传递还是按引用传递,大家都知道基本数据类型是按值进行传递,那么对象是怎么传递的呢?概念我们先下简单过一下,这两个概念:按值调用(call by value):表示方法接收的是调用者提供的值。按引用调用(call by reference):表示方法接收的是调用者提供的变量地址。按值调用,也就是说方法得到的所有参数值的一个拷贝,特别是,方法不...原创 2020-01-07 12:02:40 · 1601 阅读 · 0 评论 -
【Java小知识】try-catch-finally执行顺序
前言try-catch-finally的执行顺序,你知唔知,如果包含return呢?try-catch-finally执行顺序正常的顺序我们都清楚,先执行try里面的语句,如果跑出异常再执行catch里面的语句,最终执行finally语句。如果try-catch-finally里面包含return呢?实例一: public static int test() { ...原创 2020-01-06 10:37:01 · 1566 阅读 · 0 评论 -
【Java小知识】StringBuilder为什么线程不安全?
前言我们都知道,String是不可变的,所以在字符串操作比较频繁的时候使用StringBuilder和StringBuffer运行效率更高。StringBuilder和StringBuffer的区别在于是StringBuilder是线程不安全的,而StringBuffer是线程安全的。为什么呢,今天通过源码来一探究竟…小试验写一个小demo,开启10个线程,拼接字符串,并最终输出字...原创 2020-01-04 18:53:24 · 2588 阅读 · 0 评论 -
【Java小知识】字符串String的理解
前言String是我们接触和使用最多的,也是最基础的Java对象,相信大家都不陌生,我们先来看两个小问题:1.new String(“abc”)创建了几个对象?2.String s = “abc” ; String s1 = “ab” + “c”; System.out.println(s==s1);输出结果是什么?所以答案是什么呢,见下分晓字符串创建和存储的机制字符串的初始化有两...原创 2020-01-04 17:20:37 · 1606 阅读 · 0 评论 -
【Java小知识】final关键字的理解
面试的过程中,可能会被问到一些小问题,如:请说说你对final关键字的理解?从细节处经常能反应一个人的基础和对问题是否有刨根究底的精神。final关键字的作用众所周知:被final修饰的类不可以被继承;被final修饰的方法不可以被重写;被final修饰的变量不可以被改变;前2点都很容易理解,第3点呢?被final修饰的变量不可以被改变,究竟是变量的引用不能被改变,还是变量的...原创 2020-01-03 20:36:10 · 1592 阅读 · 0 评论 -
【Java小知识】Java程序的初始化
类初始化顺序:静态变量大于非静态变量,父类大于子类;全局变量初始化可以不赋值,局部变量初始化必须赋值。原创 2020-01-02 23:39:58 · 1779 阅读 · 0 评论