技术面:SpringBoot(springboot的类加载和传统的双亲委派有什么区别、如何按顺序实例化Bean)
前言
在SpringBoot中,类加载机制与Java的传统双亲委派类加载机制是有一定区别。主要体现在自定义类加载器与fat jar(可执行jar)的加载方式上。
Java的传统双亲委派模型
Java传统类加载机制,遵循双亲委派模型,核心规则:类加载请求优先由父类加载器处理,只有父加载器无法加载时才由子加载器尝试。
1、JDK 1.8及更早版本采 ...
【行业案例】借助Vaadin全栈Java Web框架,实现仓储物流管理系统(WMS)现代化升级
导语: 在仓储与物流行业中,软件系统的性能、灵活性与安全性决定了企业的运营效率。总部位于欧洲的 IFD Engineering 自 1993 年成立以来,凭借创新的软件解决方案,在仓储管理系统(WMS)领域建立了卓越口碑。其核心产品 StoreIT 已成为行业内广泛应用的仓储管理平台。 为适应不断演进的技术环境 ...
告别Minio管控繁琐!这款Java开源管理工具太香了
一、简介
在对象存储领域,Minio凭借高可用、易扩展的特性成为众多企业的首选,但用过的开发者和运维人员都懂两个痛点:登录后台操作流程繁琐,缺乏业务化管控逻辑;二次开发需熟练掌握SDK,集成成本居高不下。今天给大家推荐一款彻底解决这些问题的开源神器——MFile,一款基于Java开发的Minio资源文件管理服务系统,让 ...
keycloak~关于跨域的iframe对接keycloak的分析
几个cookie下面元素
AUTH_SESSION_ID 会话级的session_state
AUTH_SESSION_ID_LEGACY 在http中可见的AUTH_SESSION_ID
KEYCLOAK_SESSION 带有效期的session_state
KEYCLOAK_SESSION_LEGACY 在http中可见的KEYCLOAK_SESSION
KEYCLOAK_IDENTITY 用户完成认证后,在cookie记录用户和session_state的jwt token
KEYCLOAK_IDENTI ...
国产化Excel处理控件Spire.XLS教程:如何使用 Java 将 TXT 文本转换为 Excel 表格
在数据处理和分析中,TXT 文件常被用作一种简单的数据存储格式,但它们缺乏结构化布局和强大的数据分析功能。与此相比,Excel 文件具有更高的可操作性,支持更丰富的数据分析、排序、过滤及图表功能。因此,将 TXT 文件转换为 Excel 格式,能够使数据更加易于管理和分析。
本文将介绍如何使用 Java 和 Spire.XLS for J ...
每日一题:第474场周赛 Q1. 找出缺失的元素
Q1. 找出缺失的元素
给你一个整数数组 nums ,数组由若干 互不相同 的整数组成。
数组 nums 原本包含了某个范围内的 所有整数 。但现在,其中可能 缺失 部分整数。
该范围内的 最小 整数和 最大 整数仍然存在于 nums 中。
返回一个 有序 列表,包含该范围内缺失的所有整数, ...
keycloak~keycloak14.0源代码二次开发
本地调试入口
编译keycloak源代码某个包
mvn package -Denforcer.skip=true -Dmaven.test.skip=true
mvn clean install -Dskip=true
部署到私服,建议源码修改后,应该部署到私服,这样其它应用在部署时,也有可以使用修改后的代码了
$ mvn deploy -Denforcer.skip=true -Dmaven.test.skip=true
当用户已经在浏览器登录 ...
keycloak~关于iframe方式对接keyclock的注意事项
keycloak作为统一的认证中心,提供了单点登录的能力,一般可以通过超链的方式打开keycloak登录页,这对于不同域名来说,是没有任何问题的;第二种对接方式是通过iframe方式,当你的网站与keycloak不同域名时,在iframe方式对接时,会有cookie Partitioned向的分区限制。
一 Partitioned Cookie
Partitioned Cookie 的作用
P ...
java并发性能陷阱--伪共享
缓存可以说是计算机领域最伟大的发明之一,经常会有人问,缓存是越多越好么?一般人们都会斩钉截铁的回答不是。至于为什么?往往无法直觉回答了,可能会从缓存一致性,空间占用等几个角度逐一分析。今天就来看看由于一致性导致的缓存问题。在之前的文章中,我们聊过JMM java的内存模型(一定要有所了解,不太清楚的同学可以 ...
使用 Word 模板占位符生成文档的技术方案实践
使用 Word 模板占位符生成文档的技术方案实践
💡 作者:古渡蓝按
个人微信公众号:微信公众号(深入浅出谈java)
感觉本篇对你有帮助可以关注一下,会不定期更新知识和面试资料、技巧!!!
这篇文章是代码具体实践,感兴趣可以看看
基于 Word 模板占位符的动态文档生成实践(源码+保姆版) - 古渡蓝按 - 博客园
在企业级 ...
基于 Word 模板占位符的动态文档生成实践(源码+保姆版)
一、基于 Word 模板占位符的动态文档生成技术
💡 作者:古渡蓝按
个人微信公众号:微信公众号(深入浅出谈java)
感觉本篇对你有帮助可以关注一下,会不定期更新知识和面试资料、技巧!!!
📝 简介
在企业业务系统中,合同、工单、报告等 Word 文档往往格式固定但内容动态。传统硬编码方式开发效率低、维护成本高。
本文 ...
Mybatis使用简述
什么是 MyBatis?
MyBatis 是一款优秀的 Java 持久层框架,它通过 XML 或注解的方式将 Java 对象与数据库中的记录进行映射。与传统的 JDBC 相比,MyBatis 极大地简化了数据库操作代码,让开发者能够更专注于业务逻辑而不是繁琐的数据访问细节。
MyBatis 的核心特点:
简化了 JDBC 的复杂操作
支持动态 SQL,能够根据条件灵 ...
【金融行业案例】基于Vaadin全栈Java框架重构内部系统,全面提升开发效率与用户体验
导读:
在数字化转型的浪潮中,非洲领先金融机构 BCI银行(Banco Comercial e de Investimentos) 通过采用 Vaadin全栈Java框架,成功将内部遗留系统升级为现代化、响应式的企业级应用平台。新的内部流程管理系统(Process Manager)不仅简化了开发流程、提升了新员工的上手效率,更让银行内部工具焕发出焕 ...
解决Java项目在复杂网络环境下访问外网不通的问题
解决Java项目在复杂网络环境下访问外网不通的问题
问题描述
在企业内部或本地开发环境中,Java项目经常遇到无法访问外网API或资源的情况。这是由于复杂的网络环境导致的,常见的网络限制包括:
防火墙策略限制
代理服务器配置
网络隔离策略
解决方案
通过在JVM启动时添加代理参数,可以强制Java应用通过指定的代理服务器 ...
完全开源!一款基于 SpringBoot + Vue 构建的社区平台!
大家好,我是 Java陈序员。
在如今互联网时代,拥有一个个人专属的社区平台,用于技术交流或者兴趣分享圈子,是一件很酷的事~
今天,给大家介绍一款基于 SpringBoot + Vue 构建的社区平台,帮助你快速构建个人社区平台!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
...
easy-query暴打efcore(包括其他所有orm),隐式Group看我如何在子查询做到极致的性能天花板
easy-query暴打efcore(包括其他所有orm),隐式Group看我如何在子查询做到极致的性能天花板
介绍
文档地址 https://www.easy-query.com/easy-query-doc/
GITHUB地址 https://github.com/dromara/easy-query
GITEE地址 https://gitee.com/dromara/easy-query
标题为什么这么自信,eq做了很多ORM这么多年都没有解决的子查询性 ...
Spring Cloud Gateway网关路由配置
Spring Cloud Gateway 配置使用 lb:// 协议时,需依赖以下组件:
核心依赖
Spring Cloud Gateway 依赖
需添加 spring-cloud-starter-gateway 依赖,用于启用网关功能。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</ ...
WebSocket
maven坐标
<!-- websocket: 提供了对 WebSocket 协议的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
简单的前后端WebSocket连接示例
WebSocket 连接完整流程
连接建立阶段
前端初始化:
后端接收连接:
@OnOpen
pub ...
深入理解Java线程
引言:为什么我们需要关注线程?
在多核处理器成为主流的今天,我们手中的手机、电脑甚至智能家居设备都拥有多个计算核心。这意味着,如果我们的程序只能在一个核心上运行,就相当于让其他核心"闲置",无法充分发挥硬件性能。想象一下,一个餐厅只有一个服务员,即使厨房有多个厨师,顾客仍然需要排队等待服务——这就 ...
生产事故-Caffeine缓存误用之临下班的救赎
入职多年,面对生产环境,尽管都是小心翼翼,慎之又慎,还是难免捅出篓子。轻则满头大汗,面红耳赤。重则系统停摆,损失资金。每一个生产事故的背后,都是宝贵的经验和教训,都是项目成员的血泪史。为了更好地防范和遏制今后的各类事故,特开此专题,长期更新和记录大大小小的各类事故。有些是亲身经历,有些是经人耳传口 ...