
Java基础
文章平均质量分 96
青花锁
大吉大利,青花科技
展开
-
简化 Hello World:Java 新写法要来了!!
这个提案主要是引入 “灵活的 Main 方法和匿名 Main 类” ,希望 Java 的学习过程能更平滑,让学生和初学者能更好地接受 Java。原创 2024-04-26 13:40:14 · 5719 阅读 · 6 评论 -
怎么拿Offer拿到手软?JVM、高并发、Spring、Netflix、Spring Cloud都要强化了解
在实际面试过程中,面试官通常会在短短两小时内对面试者知识体系的广度和深度进行全面了解,面试者在回答问题时如果拖泥带水且不能直击问题的本质,在问题的周围“打转”,则很难充分表现自己,最终影响面试结果。针对这种情况,本书在讲解知识点时不拖泥带水,力求精简,详细介绍了Java面试中常被问及的核心知识点。原创 2023-11-29 13:57:23 · 13134 阅读 · 229 评论 -
【JVM面试题】JVM分代年龄为何是15次?能设置为16吗?
本章节从GC方面、对象头设置、Minor GC(新生代GC)设计角度这3个方面,解析了JVM分代年龄为何是15次。 有兴趣的同学还可以扩展下,Minor GC(新生代GC)、Full GC的频率,什么条件触发?有哪些垃圾回收算法?等等。原创 2023-10-17 08:49:09 · 5010 阅读 · 35 评论 -
【JVM面试】从JDK7 到 JDK8, JVM为啥用元空间替换永久代?
本文章从内存控制、gc以及Oracle对于JVM的规划三方面入手,阐述了为何在JDK8, JVM为啥用元空间替换永久代。通过本文的分析,我们也可以看到,JVM的不断升级,给开发者带来了很多便利,也使得Java应用的性能越来越稳定,不管是内存控制,还是gc性能,都比以前得到了很大的提升。原创 2023-10-16 11:18:31 · 3542 阅读 · 13 评论 -
JVM系列 运行时数据区
JVM(Java虚拟机)运行区是Java程序在运行过程中被JVM所管理的内存区域。它包括了Java程序运行时的堆(Heap)、栈(Stack)、方法区(Method Area)、本地方法栈(Native Method Stacks)、程序计数器和直接内存(Direct Memory)等部分。原创 2023-09-11 20:07:37 · 1067 阅读 · 34 评论 -
[JDK8下的HashMap类应用及源码分析] 数据结构、哈希碰撞、链表变红黑树
HashMap是一种基于数组和链表(或红黑树)的数据结构,它通过哈希函数将键映射到数组的一个位置,并在该位置存储一个键值对的节点。HashMap的put方法在插入数据前,首先要计算键的哈希值(hash(key))和索引,然后在相应的位置插入或更新节点,如果节点数超过阈值(threshold),就会进行扩容(resize())或树化。HashMap的get方法主要是根据键的哈希值和索引,找到对应的位置,然后遍历链表或红黑树,返回匹配的值。原创 2023-08-30 19:49:09 · 2218 阅读 · 98 评论 -
[JDK8环境下的HashMap类应用及源码分析] capacity实验
通过HashMap的有参构造函数,修改默认capacity,观察此时添加元素时的容量、元素数据、容器数据、下一次修改的阙值等数据原创 2023-08-28 22:43:37 · 2188 阅读 · 115 评论 -
[JDK8环境下的HashMap类应用及源码分析] 看源码了解HashMap的扩容机制
- 使用空构造函数实例化HashMap- 使用Java的反射机制,去获取threshold 、 loadFactor 、capacity值- 打印刚初始化的HashMap的元素数量、阈值、容量- 添加1条数据之后打印HashMap的元素数量、阈值、容量- 添加到11条数据之后打印HashMap的元素数量、阈值、容量- 添加到12条数据之后打印HashMap的元素数量、阈值、容量- 添加到13条数据之后打印HashMap的元素数量、阈值、容量原创 2023-08-23 21:49:52 · 1085 阅读 · 80 评论 -
[JDK8环境下的HashMap类应用及源码分析] 空构造函数初始化
本章节我们创建一个HashMap对象,并打印2个信息:map里元素的长度、map所占的空间大小、扩容阙值原创 2023-08-14 17:05:11 · 502 阅读 · 20 评论 -
【Java基础】第四章 Object 类应用
Java中的Object类是所有类的根类,它位于Java类层次结构的顶部。每个类都隐式地直接或间接地继承自Object类。Object类提供了一些通用的方法,可以在所有的Java对象中使用。除了上述方法之外,Object类还提供了一些其他的通用方法,如clone()、finalize()、getClassLoader()等。由于所有类都直接或间接继承自Object类,因此Object类的方法可以在任何对象上使用。原创 2023-07-15 13:30:57 · 653 阅读 · 12 评论 -
[Java基础] StringBuffer 和 StringBuilder 类应用及源码分析
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象;StringBuffer是线程安全的,StringBuilder不是;扩容规则会根据新值+旧值的长度计算;原创 2023-07-08 00:41:12 · 1382 阅读 · 28 评论 -
【Java基础】数组应用及源码分析
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。本教程将为大家介绍 Java 数组的声明、创建和初始化,并给出其对应的代码。原创 2023-07-07 13:15:49 · 581 阅读 · 1 评论 -
[Java基础] String,分析内存地址,源码
字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。原创 2023-07-05 19:40:15 · 702 阅读 · 12 评论