自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 JAVA中栈的使用

本文介绍了Java中栈(Stack)的实现方式及最佳实践。栈是遵循LIFO原则的线性数据结构,Java提供两种实现:遗留类java.util.Stack(线程安全但效率低,不推荐)和推荐的Deque接口实现(如ArrayDeque)。文章详细对比了两种实现的核心操作方法,包括入栈(push)、出栈(pop)、查看栈顶(peek)等操作的行为差异,重点推荐使用Deque实现栈功能。通过代码示例展示了ArrayDeque的基本用法,并指出空栈操作时的异常处理建议(使用pollFirst/peekFirst替代p

2026-02-14 10:31:05 311

原创 Java中Arrays静态方法

Java的Arrays工具类提供了一系列静态方法用于数组操作,主要包括排序、比较、填充、复制、查找和转换等功能。核心方法包括:sort()进行升序排序(支持基本类型和对象数组),equals()/deepEquals()比较数组内容(后者支持多维数组),fill()填充数组元素,toString()/deepToString()转换为字符串,copyOf()/copyOfRange()复制数组,以及binarySearch()在已排序数组中快速查找。特别要注意asList()转换的List不可修改大小,bi

2026-02-13 15:14:54 336

原创 Java中Set特性与常用方法

Java中的Set是Collection的子接口,核心特性包括元素唯一性(基于equals()和hashCode())、无序性(除LinkedHashSet和TreeSet外)和允许null值(TreeSet除外)。主要实现类有:HashSet(哈希表,快速查找)、LinkedHashSet(保持插入顺序)、TreeSet(红黑树,自动排序)和线程安全的CopyOnWriteArraySet。常用操作包括添加/删除元素、集合运算(并/交/差集)及遍历。使用时需注意正确重写hashCode()和equals(

2026-02-10 17:14:21 329

原创 JAVA中Map的核心方法

本文介绍了Java Map接口的核心方法,包括参数类型、返回类型及功能说明。重点方法如put()用于添加/更新键值对,get()和getOrDefault()用于安全获取值,remove()删除键值对,以及containsKey()检查键是否存在。此外,还讲解了keySet()、values()和entrySet()等集合视图方法,其中entrySet()是遍历Map的最优方式。通过示例代码演示了entrySet()遍历和getOrDefault()避免空指针的实际应用。这些方法围绕键(K)操作,返回类型依

2026-02-09 21:34:22 410

原创 类加载过程详解

JVM类加载过程分为三个阶段:1)加载阶段通过类加载器读取字节码到内存,采用双亲委派机制避免重复加载;2)链接阶段包括验证字节码安全性、为静态变量分配内存(赋默认值)以及将符号引用转为直接引用;3)初始化阶段执行静态代码块和赋值操作,该过程是线程安全的,确保每个类只初始化一次。类加载完成后即可正常使用,不用的类可能被卸载。

2025-09-04 15:39:18 329

原创 JVM:程序计数器

在 JVM 里,。。执行引擎在运行时,就是依靠程序计数器来“知道下一步该去哪条指令”。

2025-09-04 15:23:50 294

原创 哈希算法以及面试答法

哈希是一种将任意长度输入映射为固定长度输出的算法,分为一般哈希(用于数据结构)和安全哈希(用于加密)。它具有确定性、高效性、均匀性等特点。安全哈希强调不可逆性和抗碰撞性,如MD5、SHA系列。哈希冲突可通过链地址法或开放定址法解决。应用广泛,包括数据结构、密码存储、文件校验和分布式系统等。安全存储密码时需加盐增强防护。

2025-09-04 15:14:19 420

原创 tomcat 为啥能一直运行?不像方法那样结束?

Tomcat 之所以能“一直运行”,和普通方法执行完就退出不一样,核心原因在于。

2025-09-03 10:06:40 752 2

原创 守护线程与非守护线程

线程分为守护线程和非守护线程,非守护线程决定进程存活,当最后一个非守护线程结束时,所有守护线程会被强制终止。守护线程适合执行日志轮转、缓存清理等非关键任务,而关键操作如文件写入应使用非守护线程。在Java和Python中,守护线程属性需在线程启动前设置,且不保证执行finally块或I/O刷新。建议核心业务使用非守护线程,辅助任务用守护线程,并注意通过join()确保关键任务完成。

2025-09-03 10:03:13 404

原创 常见GC算法与垃圾回收器

本文介绍了JVM垃圾回收的核心算法和主流收集器。常见GC算法包括引用计数、标记-清除、复制、标记-整理和分代收集,各具特点。HotSpot JVM提供了多种收集器:Serial/ParNew(基础型)、Parallel(吞吐优先)、CMS(低延迟但已弃用)、G1(JDK9+默认)、ZGC/Shenandoah(超低延迟)。文章对比了各收集器的代际支持、算法特点和适用场景,建议根据应用需求选择:小应用用Serial,批处理用Parallel,服务端选G1,超大堆低延迟场景考虑ZGC/Shenandoah。

2025-09-01 17:15:00 794

原创 指令重排序详解

指令重排序 (Instruction Reordering) 是 JVM(Just-In-Time 编译器,JIT)和 CPU 在执行代码时进行的优化行为。它允许对源代码的指令序列进行调整,以提高性能(如利用 CPU 流水线、减少等待),但前提是不改变单线程内的语义。在多线程环境下,如果不加控制(如 volatile 或锁),重排序可能导致可见性或一致性问题(如 DCL 单例中的半初始化对象)。

2025-08-27 14:08:09 976

原创 Volatile在java实际开发中的使用

摘要: Java中的volatile关键字通过确保变量的可见性和禁止指令重排序来优化多线程并发,适用于状态标志位、单写多读等场景(如服务停止控制、双重检查锁定单例)。其优势是轻量级(读性能接近普通变量,写需刷新主存),但不支持复合操作的原子性(如i++)。需注意:不能替代锁(无互斥)、数组元素不保证可见性,且在Java5+内存模型下更可靠。与synchronized和Atomic类相比,volatile更适合低竞争、高读场景的性能敏感代码。

2025-08-27 10:48:00 524

原创 JVM-运行时数据区不同版本区别

JDK8之前的JVM运行时数据区主要包括方法区、堆、栈、程序计数器和本地方法栈。方法区存储类元数据和常量池,堆存放对象实例,栈处理线程方法调用,程序计数器跟踪指令执行,本地方法栈支持本地代码调用。其中方法区使用固定大小的永久代(PermGen),容易引发内存溢出。JDK8改用元空间(Metaspace)替代永久代,将类元数据存储在本地内存中,解决了内存限制问题。各内存区域分工明确,共同支撑Java程序的运行。

2025-08-19 09:48:53 978

原创 ConcurrentHashMap 如何保证线程安全的?

常见面试问题Concurrent

2025-08-15 16:39:21 1761

原创 黑马微服务延迟订单作业参考

前几天将黑马的RabbitMQ看完,最后留了个作业,做了大概一个晚上,其中遇到了一些问题也给大伙分享分享。先叠个甲,有些用词可能不是很专业,请大家见谅哈,记得先把延迟消息的插件给下好。

2023-11-15 15:09:22 805 9

原创 微服务使用OpenFeign遇到类型不匹配

比如我们在Order类里面我们调用了MybatiePlus中的Iservice中的方法,他默认是获得此微服务中的类的,所以我们需要在Iservice中改变OrderDetail的引入。我们经常会创建一个Common类用来存放一些公共的类,顺便可以删除在Order中的Orderdetail,防止出现两个一样的类。在微服务中我们经常会使用Opnefeign用于在不同为服务之间的互相调用,但是这样可能就会导致一些方法出现。还是一个比较基础的问题,哈哈哈哈主要是记录一下。

2023-11-14 20:11:26 403 1

原创 关于Vue3使用element-plus表单组件无法修改的问题

可能是我的理解不太行吧。

2023-05-18 21:24:28 710 2

原创 关于Vue3使用本地图片显示错误

查了很多资料,各式各样的说法都有,有的人说vue3不能使用require,但是事实并非如此,经过我的实验,发现好像只能使用require才能将本地图片显示在网页上这也是困扰我的一个问题,比如我cosnt一个url然后直接放在require。

2023-05-09 15:42:39 1564 5

原创 黑马最新2023 Javaweb P150图片上传的问题

但是可以上传到阿里云,postman显示也是sucess,很奇怪,但是换一张几十k的就能显示了,且编辑新增员工都是正常的。遇到了一个很奇怪的问题,就是有一些图片可以上传,但是有一些传不上去,发现一个规律是因为。不知道有小伙伴有没有遇到这个问题并且解决的。

2023-04-11 19:04:07 164

原创 黑马最新2023Javaweb 139p案例 修改部门

黑马最新2023Javaweb 139p案例 修改部门(自己实现部分)

2023-04-08 14:52:26 3963 45

原创 洛谷P1786(Java题解)帮贡排序

洛谷P1786(Java题解)帮贡排序

2022-12-10 16:46:57 383 1

原创 洛谷P1130 红牌(Java解法)

洛谷P1130 红牌(Java解法)

2022-12-01 17:31:51 294 1

原创 洛谷P2895 [USACO08FEB]Meteor Shower S(JAVA解法)

洛谷P2895 java解法

2022-11-23 14:35:28 630 1

原创 洛谷 P1249 最大乘积 题解(JAVA解法)

洛谷 P1249 最大乘积 题解(JAVA解法)

2022-11-03 15:17:35 508 4

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除