
面试
文章平均质量分 94
码农阿豪@新空间
滴水穿石,毅力成就非凡,持之以恒,成功指日可待。
商务合作请联系工作室微信15279484656;
需要技术交流,面试分享,工作吐槽,答疑解惑,可加我进群唠嗑,里面都是各行程序员大佬
展开
-
《JVM由浅入深学习九】 2024-01-15》JVM由简入深学习提升分(生产项目内存飙升分析)
在Java生产项目中,内存飙升是一个复杂而常见的问题,需要我们深入分析和解决。通过本文的案例分析,我们希望能够帮助大家更好地理解和应对Java项目中的内存问题。**如果您有任何问题或想分享更多经验,请在评论区留言。原创 2024-01-15 15:31:13 · 73693 阅读 · 191 评论 -
《ArrayList & HashMap 源码类基础面试题 2023-12-19》面试官们最喜欢问的ArrayList & HashMap源码类初级问,你都会了?
初始化的时候,使用无参构造,创建的数组是空数组,没有长度,是在第一次放入元素,才会进行第一次扩容,第一次扩容的大小为 10 个 ,后面加入元素超过10个,会进行1.5 的扩容,也就是10个->15个。LinkedList底层是数组加链表,增删只需两步,1、找到元素,2、调整节点,即可,但是链表的查询就很慢了,不管是哪个数,链表都要从头遍历,很慢,不如数组。(6)默认的加载因子是0.75,也就是初始容量为16,当数据到12个时触发扩容,变为32,代码为位运算,每次扩容左移一位,也就是2倍扩容。原创 2023-12-19 09:19:15 · 13379 阅读 · 4 评论 -
《volatile使用与学习总结:2023-12-17》多层面分析学习java关键字--volatile
volatile是java中提供的一种轻量级的同步机制,相比于synchronized更加轻量,因为volatile避免了线程频繁的上下文切换和调度,但是也有缺点,同步性差并且使用起来易出错。原创 2023-12-18 15:15:58 · 60827 阅读 · 81 评论 -
《ThreadLocal使用与学习总结:2023-12-15》史上最详细由浅入深解析ThreadLocal
线程并发:在多线程并发的场景下使用传递数据:我们可以通过ThreadLocal在同一线程,不同组件中传递公共变量线程隔离:每个线程的变量都是独立的,不会相互影响。原创 2023-12-17 19:51:13 · 61576 阅读 · 150 评论 -
深入解析 Kubernetes Pod 初始化异常:Init 容器卡在 Running 状态的原因与解决方案
Init 容器是 Kubernetes 中一种特殊的容器,它在 Pod 的主容器启动之前运行。Init 容器可以有一个或多个,它们会按照顺序依次执行,只有当前一个 Init 容器成功完成后,下一个 Init 容器才会启动。所有 Init 容器都成功完成后,Pod 的主容器才会启动。Init 容器卡在Running状态是 Kubernetes 中常见的问题之一,可能由多种原因导致。通过本文的分析和排查方法,我们可以快速定位问题并采取相应的解决方案。优化 Init 容器任务:确保任务逻辑简洁高效,避免耗时操作。原创 2025-03-18 08:30:00 · 3051 阅读 · 2 评论 -
在 CentOS 上解压 JAR 包的完整指南
JAR 文件是 Java 平台的标准文件格式,用于将多个 Java 类文件、资源文件(如图片、配置文件)以及元数据(如清单文件)打包成一个文件。分发 Java 应用程序或库。减少文件数量,便于管理和传输。支持签名和版本控制。JAR 文件基于 ZIP 格式,因此可以使用标准的 ZIP 工具进行解压。然而,由于 JAR 文件可能包含特殊的元数据(如),在某些情况下,使用 Java 提供的jar工具可能更为合适。在 CentOS 上解压 JAR 文件是一个常见的操作,可以使用unzip或jar。原创 2025-03-08 11:18:27 · 2545 阅读 · 2 评论 -
初级Java经典面试题汇总
## 初级Java经典面试题汇总### Java基础1. Java中的基本数据类型有哪些? - byte, short, int, long, float, double, char, boolean。2. String、StringBuilder和StringBuffer的区别是什么? - String是不可变的,StringBuilder和StringBuffer是可变的。 - StringBuilder是非线程安全的,StringBuffer是线程安全的。原创 2025-03-05 08:00:00 · 2793 阅读 · 11 评论 -
招聘一个1-3年经验的Java工程师:企业视角的技能与素质要求
随着互联网和科技行业的飞速发展,Java作为一种历史悠久且稳定的编程语言,依然在企业级开发和大数据处理等领域占据重要地位。然而,尽管市场对Java工程师的需求依然强劲,当前的就业行情却并不乐观。越来越多的计算机专业毕业生涌入市场,加上企业对人才的要求不断提升,使得Java工程师的求职竞争异常激烈。当前,许多企业在招聘Java工程师时,不仅看重候选人的技术能力,还关注他们的综合素质,如学习能力、团队合作能力和职业素养等。因此,尽管市场需求大,但只有那些能够全面满足企业要求的候选人才能脱颖而出。原创 2024-07-06 14:02:34 · 36821 阅读 · 0 评论 -
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
该篇博客接着《面试专题-----经典高频面试题收集三》,如需了解之前的blog可前往主页面试专栏查阅。原创 2024-01-24 09:56:22 · 29781 阅读 · 10 评论 -
《JVM由浅入深学习【八】 2024-01-12》JVM由简入深学习提升分(JVM的垃圾回收算法)
标记-清除算法分为“标记”和“清除”两个阶段:首先标记出所有从根集合(如线程栈、静态字段等)可达的对象,然后清除未被标记的对象。当这一块内存用完时,程序就将所有存活的对象复制到另一块内存中,然后清除当前块的所有对象。类似于标记-清除算法,但在清除阶段不直接释放未被标记的对象,而是将所有存活的对象都向一端移动,然后清理掉边界以外的内存。各代的垃圾回收过程:分别展示年轻代使用复制算法,老年代使用标记-清除或标记-整理算法的过程。步骤1(标记):显示内存堆中的对象,用不同颜色标记可达和不可达的对象。原创 2024-01-12 14:14:36 · 25510 阅读 · 2 评论 -
《JVM由浅入深学习【七】 2024-01-11》JVM由简入深学习提升分享
亲爱的读者们,欢迎来到本篇博客,这是JVM第七次分享,下面是七个JVM常用常面的分享,请笑纳。原创 2024-01-11 10:38:24 · 25828 阅读 · 24 评论 -
《JVM由浅入深学习【六】 2024-01-10》JVM由简入深学习提升分享
当Java应用程序运行时,它在堆内存中分为新生代(Young Generation)、老年代(Old Generation)和持久代(Permanent Generation,Java 8之后被元数据区替代)等几个区域。新生代主要用于存放新创建的对象,而垃圾回收主要集中在新生代进行。新生代的垃圾回收主要通过Minor GC来清理Eden空间和Survivor空间,快速回收短时间内创建的对象。而Full GC则是针对整个堆内存进行的,较为耗时。原创 2024-01-10 11:26:38 · 26793 阅读 · 6 评论 -
《JVM由浅入深学习【五】 2024-01-08》JVM由简入深学习提升分享
在Java中,堆内存溢出指的是当应用程序在堆内存中创建的对象无法被垃圾回收器有效回收,导致堆内存不足。这是一种常见的内存问题,经常会导致程序的崩溃。在Java中,垃圾回收机制是一项重要的特性,它通过判断对象的可达性来自动管理内存,确保程序运行时不会因为内存泄漏而导致性能问题。了解对象何时成为不可达对象,以及垃圾回收的基本原理,对于编写高效的Java程序至关重要。通过本文的介绍,我们深入了解了JVM如何判断对象是否可以回收,以及可达性分析的基本思路。原创 2024-01-08 22:50:17 · 25970 阅读 · 10 评论 -
《JVM由浅入深学习【四】 2023-12-24》JVM由简入深学习提升分享
哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程 ID、偏向时间戳。原创 2024-01-02 21:22:30 · 15604 阅读 · 0 评论 -
《面试专题-----经典高频面试题收集三》解锁 Java 面试的关键:深度解析并发编程基础篇高频经典面试题(第三篇)
进程 : 本质上是⼀个独⽴执⾏的程序,进程是操作系统进⾏资源分配和调度的基本概念,操作系统进⾏资源分配和调度的⼀个独⽴单位线程 : 是操作系统能够进⾏运算调度的最⼩单位。它被包含在进程之中,是进程中的实际运作单位。⼀个进程中可以并发多个线程,每条线程执⾏不同的任务,切换受系统控制。原创 2023-12-24 20:03:20 · 15344 阅读 · 0 评论 -
《JVM由浅入深学习【三】 2023-12-23》JVM由简入深学习提升
这部分是第三期JVM学习分享,欢迎大家讨论学习分享,你的三连是我最大的动力,第四期会马上出哦,敬请期待。原创 2023-12-23 20:34:58 · 14332 阅读 · 2 评论 -
《面试专题-----经典高频面试题收集一》解锁 Java 面试的关键:深度解析常见高频经典面试题(第一篇)
大家好,我是码农阿豪,一位热爱 Java 编程的程序员。今天我想和大家分享一些常见的 Java 面试题,通过收集解析这些问题,希望能够帮助大家更好地准备面试,突破技术瓶颈。原创 2023-12-22 10:00:32 · 113954 阅读 · 289 评论 -
《JVM由浅入深学习【二】 2023-12-20》JVM由简入深学习提升
(1)继承CLassLoader(2)重写loadClass方法 或者 重写findClass方法原创 2023-12-21 14:52:37 · 14265 阅读 · 1 评论 -
《JVM由浅入深学习【一】 2023-12-19》JVM由简入深学习提升(类加载过程+父子类加载过程+类加载器+双亲委派机制)
在类 加载 阶段,通过 一个类的全限定名 来获取 描述该类的二进制字节流的这个动作 的代码被称为 类加载器,该动作可以自定义。分两大类:(四层结构 启动类加载器–》拓展类加载器–》应用程序加载器–》自定义加载器)启动类加载器(Bootstrap ClassLoader)由C++实现,是虚拟机自身的一部分其他类加载器:主要是由java实现的,独立于虚拟机之外的,都继承自抽象类(java.lang.ClassLoader)原创 2023-12-20 22:17:50 · 60938 阅读 · 74 评论 -
【面试高频 time: 2023-07-21】关于MYsql性能优化的理解
分为四个部分硬件和操作系统层面的优化架构设计层面的优化MySQL程序配置的优化SQL执行的优化详细分析硬件和操作系统层面的优化从硬件层面上来讲:影响Mysql的效率主要因素是CPU,可用内存大小,磁盘读写速度,网络带宽;从操作系统层面上来讲:应用文件句柄数,操作系统的网络配置这些都会影响Mysql的性能,这部分的优化一般是由运维,DBA去完成的,在硬件基础资源的优化中,我们重点关注的应该是服务本身承载的体量,然后提出合理的指标要求,避免出现资源浪费的一个现象,架构设计层面的原创 2023-07-21 17:25:27 · 13144 阅读 · 0 评论