刷新
一个经典案例深入剖析Java并发中的“可见性”陷阱

博主头像 “你以为程序按顺序执行,但CPU和JVM说:不,我们有自己的想法。” 一起来解剖一段看似简单、实则暗藏玄机的Java代码。它只有20行,却浓缩了多线程编程中最经典、最易被忽视的陷阱——可见性(Visibility)问题与指令重排序(Reordering)。 它来自《Java并发编程实战》(JCIP) ...

浅谈java中的悲观锁,乐观锁以及CAS操作

博主头像 了解volatile的同学一定知道,volatile 可以保证可见性,但是它无法保证原子性。 所谓原子性,就是一个(一系列)操作,要么全都执行,要么全都不执行,不能执行到中间某种状态就结束,同时对于外界(其它)来看,要么就是看到执行前的结果,要么就是执行后的结果,不能看到中间状态。举一个经典的例子: ...

keycloak~登录时将请求头里某个属性放入UserSessionModel

博主头像 UserSessionModel做为用户登录过程中的一个会话,可以用来跨flow使用数据,这些数据被保存到内存里,在认证过程中可以被使用,今天的一个需求要求在登录时从请求头获取IP所在地并写到kafka里,要想实现这个需求,你可以在现有认证流程中修改代码,但不建议这样做,因为这种修改对原始逻辑会有破 ...

技术面:SpringBoot(springboot的类加载和传统的双亲委派有什么区别、如何按顺序实例化Bean)

博主头像 前言 在SpringBoot中,类加载机制与Java的传统双亲委派类加载机制是有一定区别。主要体现在自定义类加载器与fat jar(可执行jar)的加载方式上。 Java的传统双亲委派模型 Java传统类加载机制,遵循双亲委派模型,核心规则:类加载请求优先由父类加载器处理,只有父加载器无法加载时才由 ...

告别Minio管控繁琐!这款Java开源管理工具太香了

博主头像 MFile是一款基于Java开发的Minio资源管理开源工具,通过标准化接口封装解决了Minio原生SDK集成复杂、管理繁琐的问题。该系统采用前后端分离架构,后端使用SpringBoot构建核心业务逻辑,前端基于Vue实现直观交互界面,支持文件全生命周期管理和精细化权限控制。MFile显著降低了Mi... ...

每日一题:第474场周赛 Q1. 找出缺失的元素

Q1. 找出缺失的元素 给你一个整数数组 nums ,数组由若干 互不相同 的整数组成。 数组 nums 原本包含了某个范围内的 所有整数 。但现在,其中可能 缺失 部分整数。 该范围内的 最小 整数和 最大 整数仍然存在于 nums 中。 返回一个 有序 列表,包含该范围内缺失的所有整数,并 按从 ...

keycloak~keycloak14.0源代码二次开发

博主头像 本地调试入口 编译keycloak源代码某个包 mvn package -Denforcer.skip=true -Dmaven.test.skip=true mvn clean install -Dskip=true 部署到私服,建议源码修改后,应该部署到私服,这样其它应用在部署时,也有可以使用修 ...

keycloak~关于iframe方式对接keyclock的注意事项

博主头像 keycloak作为统一的认证中心,提供了单点登录的能力,一般可以通过超链的方式打开keycloak登录页,这对于不同域名来说,是没有任何问题的;第二种对接方式是通过iframe方式,当你的网站与keycloak不同域名时,在iframe方式对接时,会有cookie Partitioned向的分区限 ...

java并发性能陷阱--伪共享

博主头像 缓存可以说是计算机领域最伟大的发明之一,经常会有人问,缓存是越多越好么?一般人们都会斩钉截铁的回答不是。至于为什么?往往无法直觉回答了,可能会从缓存一致性,空间占用等几个角度逐一分析。今天就来看看由于一致性导致的缓存问题。在之前的文章中,我们聊过JMM java的内存模型(一定要有所了解,不太清楚的 ...

使用 Word 模板占位符生成文档的技术方案实践

博主头像 使用 Word 模板占位符生成文档的技术方案实践 作者:古渡蓝按 个人微信公众号:微信公众号(深入浅出谈java) 感觉本篇对你有帮助可以关注一下,会不定期更新知识和面试资料、技巧!!! 这篇文章是代码具体实践,感兴趣可以看看 基于 Word 模板占位符的动态文档生成实践(源码+保姆版) - ...

基于 Word 模板占位符的动态文档生成实践(源码+保姆版)

博主头像 一、基于 Word 模板占位符的动态文档生成技术 作者:古渡蓝按 个人微信公众号:微信公众号(深入浅出谈java) 感觉本篇对你有帮助可以关注一下,会不定期更新知识和面试资料、技巧!!! 简介 在企业业务系统中,合同、工单、报告等 Word 文档往往格式固定但内容动态。传统硬编码方式开发 ...

Mybatis使用简述

博主头像 什么是 MyBatis? MyBatis 是一款优秀的 Java 持久层框架,它通过 XML 或注解的方式将 Java 对象与数据库中的记录进行映射。与传统的 JDBC 相比,MyBatis 极大地简化了数据库操作代码,让开发者能够更专注于业务逻辑而不是繁琐的数据访问细节。 MyBatis 的核心特 ...

解决Java项目在复杂网络环境下访问外网不通的问题

博主头像 解决Java项目在复杂网络环境下访问外网不通的问题 问题描述 在企业内部或本地开发环境中,Java项目经常遇到无法访问外网API或资源的情况。这是由于复杂的网络环境导致的,常见的网络限制包括: 防火墙策略限制 代理服务器配置 网络隔离策略 解决方案 通过在JVM启动时添加代理参数,可以强制Java应 ...

<1···345···58>