自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员志哥的博客

一个仍在一线努力coding的码农

  • 博客(102)
  • 收藏
  • 关注

原创 JVM系列(十一) -GC日志分析

在之前的文章中,我们介绍了 JVM 的垃圾收集器相关知识,那么如何分析当前虚拟机性能呢?其中 GC 日志起到至关重要的作用。

2024-10-22 15:13:02 1124 1

原创 JVM系列(十) -垃圾收集器介绍

如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。不同的虚拟机所提供的垃圾收集器可能会有很大差异,以 HotSpot 虚拟机为例,所包含的垃圾收集器可以用如下图来概括。

2024-10-22 15:10:01 876

原创 JVM系列(九) -垃圾对象的回收算法介绍

在之前的文章中,我们介绍了 JVM 内部布局、对象的创建过程以及运行期的相关优化手段。今天通过这篇文章,我们一起来了解一下对象回收的判定方式以及垃圾对象的回收算法等相关知识。

2024-10-17 11:51:37 1260

原创 JVM系列(八) -运行期的几种优化技术

在之前的文章中我们谈到过,相比 C/C++ 语言,Java 语言在运行效率方面要稍逊一些,因为 Java 应用程序是在虚拟机上运行,而 C/C++ 程序是直接编译成平台相应的机器码来运行程序。从虚拟机对外发布开始,开发团队一直在努力试图缩小 Java 与 C/C++ 语言在运行效率上的差距。从实际的结果来看,确实成果显著。本文就来聊聊 HotSpot 虚拟机为了提升 Java 程序的执行效率,都实现了哪些激动人心的优化技术。

2024-10-15 15:46:26 1082

原创 JVM系列(七) -对象的内存分配流程

在之前的文章中,我们介绍了类加载的过程、JVM 内存布局和对象的创建过程相关的知识。本篇综合之前的知识,重点介绍一下对象的内存分配流程。

2024-10-15 15:44:37 1068

原创 JVM系列(六) -对象的创建过程

在之前的文章中,我们介绍了类加载的过程和 JVM 内存布局相关的知识。本篇我们综合之前的知识,结合代码一起推演一下对象的真实创建过程,以及对象创建完成之后在 JVM 中是如何保存的。

2024-10-14 15:16:53 1306

原创 JVM系列(五) -内存相关的调优参数

今天这篇文章,并结合之前的介绍知识,一起了解一下 JVM 内存相关的调优参数。

2024-10-14 14:45:59 1354

原创 JVM系列(四) -内存布局详解

熟悉 Java 语言特性的同学都知道,相比 C、C++ 等编程语言,Java 无需通过手动方式回收内存,内存中所有的对象都可以交给 Java 虚拟机来帮助自动回收;而像 C、C++ 等编程语言,需要开发者通过代码手动释放内存资源,否则会导致内存溢出。

2024-10-11 11:58:59 977

原创 JVM系列(三) -类加载器及双亲委派模型介绍

在之前的文章中,介绍了类的加载过程中,我们有提到在加载阶段,通过一个类的全限定名来获取此类的二进制字节流操作,其实类加载器就是用来实现这个操作的。

2024-10-11 11:55:10 1124

原创 JVM系列(二) -类的加载过程介绍

今天我们就一起来了解一下,虚拟机是如何加载类文件的。

2024-10-10 14:17:46 995

原创 JVM系列(一) -浅谈虚拟机的成长史

众所周知,Java 经过多年的发展,已经从一门单纯的计算机编程语言,发展成了一套成熟的软件解决方案。从互联网到企业平台,Java 是目前使用最广泛的编程语言。

2024-10-10 14:13:43 1119

原创 单例设计模式详解

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,属于创建型模式的一种,它提供了一种创建对象的最佳方式。

2024-09-30 16:47:51 537

原创 XML解析系列(四) -DOM4J 技术解析实现介绍

本篇介绍第四种解析技术:DOM4J 解析!

2024-07-30 13:47:24 644 1

原创 XML解析系列(三) -JDOM 技术解析实现介绍

本篇介绍第三种解析技术:JDOM 解析!

2024-07-30 13:44:39 390

原创 XML解析系列(二) -SAX 技术解析实现介绍

本篇介绍第二种解析技术:SAX 解析!

2024-07-25 11:01:20 340

原创 XML解析系列(一) -DOM 技术解析实现介绍

XML,一种可扩展标记语言,通常被开发人员用来传输和存储数据,定义也比较简单,通常如下方式开头,用来表述文档的一些信息。

2024-07-25 10:57:38 346

原创 如何在 SpringBoot 中优雅的做参数校验?

关于参数合法性验证的重要性就不多说了,即使前端对参数做了基本验证,后端依然也需要进行验证,以防不合规的数据直接进入服务器,如果不对其进行拦截,严重的甚至会造成系统直接崩溃!

2024-07-24 10:38:53 1243

原创 SpringBoot+ Sharding Sphere 轻松实现数据库字段加解密

在实际的软件系统开发过程中,由于业务的需求,在代码层面实现数据的脱敏还是远远不够的,往往还需要在数据库层面针对某些关键性的敏感信息,例如:身份证号、银行卡号、手机号、工资等信息进行加密存储,实现真正意义的数据混淆脱敏,以满足信息安全的需要。

2024-07-22 11:23:13 1432

原创 excel系列(三) - 利用 easyexcel 快速实现 excel 文件导入导出

本篇我们继续深入介绍另一款更优秀的 excel 工具库:easyexcel 。

2024-07-19 09:57:53 2259

原创 3分钟带你掌握Spring Boot中的定时调度服务

在实际的业务开发过程中,我们经常会需要定时任务来帮助我们完成一些工作,例如每天早上 6 点生成销售报表、每晚 23 点清理脏数据等等。

2024-07-19 09:54:03 872

原创 excel系列(二) - 利用 easypoi 快速实现 excel 文件导入导出

本篇我们继续深入介绍另一款优秀的 excel 工具库:easypoi。

2024-07-15 16:41:50 2426

原创 excel系列(一) - 利用 apache poi 实现 excel 文件导入导出

在平时的业务系统开发中,少不了需要用到导出、导入excel功能,今天我们就一起来总结一下,如果你正为此需求感到困恼,那么阅读完本文,你一定有所收获!

2024-07-15 16:36:53 1099

原创 如何设计一套单点登录系统 ?

在企业发展初期,使用的后台管理系统还比较少,一个或者两个。以电商系统为例,在起步阶段,可能只有一个商城下单系统和一个后端管理产品和库存的系统。

2024-07-12 10:05:32 783

原创 3分钟搞懂双亲委派机制

在 Java 虚拟机中,任何一个类由加载它的类加载器和这个类一同来确立其唯一性。

2024-07-12 10:03:03 940

原创 深入理解 Java 中的 try with resources

try-with-resources是 JDK 7 中引入的一个新的异常处理机制,它能让开发人员不用显式的释放try-catch语句块中使用的资源。

2024-07-10 10:31:47 2054 1

原创 利用SpringBoot+rabbitmq 实现邮件异步发送,保证100%投递成功

在之前的文章中,我们详细介绍了 SpringBoot 整合 mail 实现各类邮件的自动推送服务。但是这类服务通常不稳定,当出现网络异常的时候,会导致邮件推送失败。

2024-07-10 09:57:12 1117

原创 手把手带你使用JWT实现单点登录

JWT(英文全名:JSON Web Token)是目前最流行的跨域身份验证解决方案之一,今天我们一起来揭开它神秘的面纱!

2024-07-02 14:53:15 913

原创 SpringBoot+mail 轻松实现各类邮件自动推送

在实际的项目开发过程中,经常需要用到邮件通知功能。例如,通过邮箱注册,邮箱找回密码,邮箱推送报表等等,实际的应用场景非常的多。

2024-07-02 14:49:16 1335

原创 手撕一个简易版springMVC框架

今天我们要介绍的主角就是SpringMVC框架,刚开始玩这个的时候,给我最直接的感觉就是,真好用!

2024-06-27 18:17:59 835

原创 Java中的程序异常处理介绍

异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。

2024-06-27 17:57:21 929

原创 深入解析Java反射

反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。

2024-06-20 14:17:37 965

原创 利用LinkedHashMap实现一个LRU缓存

LRU是 Least Recently Used 的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。

2024-06-19 17:38:55 845

原创 SpringBoot 整合 EasyExcel 实现自由导入导出,太强了

今天我给大家推荐一款性能更好的 Excel 导入导出工具:EasyExcel,希望对大家有所帮助!

2024-06-19 17:33:12 1188

原创 盘点 Spring Boot 解决跨域请求的几种方法

同源策略,简单的说就是当浏览器访问 web 服务器资源时,只有源相同才能正常进行通信,即协议、域名、端口号都完全一致,否则就属于跨域请求。

2024-06-17 10:09:25 1118

原创 为什么都喜欢采用 Spring Boot 来开发软件系统?

熟悉企业级开发框架的同学,对 SpringBoot 可能并不陌生,它是一款非常优秀的开箱即用的开发框架,开发者可以使用它来快速的构建一个可独立运行的 Java 应用程序。

2024-06-17 09:54:18 1033

原创 什么是泛型?

在软件设计的过程中经常会用到容器类,容器类代码都一样只是数据类型不同,如果能够让一种类型容纳所有类型,就可以实现代码重用,但是没有一种类型可以容纳所有类型,为了解决容器的问题,由此就产生了泛型设计。

2024-06-15 17:10:55 625

原创 手把手带你开发一套用户权限系统,精确到按钮级

在实际的软件项目开发过程中,用户权限控制可以说是所有运营系统中必不可少的一个重点功能,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围绕着用户、角色、菜单这三个部分展开。

2024-06-15 16:47:21 882

原创 什么是断言?

断言是为了方便调试程序,并不是发布程序的组成部分。理解这一点是很关键的。

2024-06-14 16:20:46 424

原创 ==和equals,到底有啥区别?

==和equals都可以用来判断两个对象的地址是不是相等,它们之间到底有啥区别呢?通过这篇文章,我们一起来看看!

2024-06-14 16:17:18 675

原创 hashCode和equals方法,有啥区别?

hashCode() 的作用是获取哈希码,也称为散列码,它实际上是返回一个int整数。

2024-06-14 16:06:09 789

空空如也

空空如也

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

TA关注的人

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