自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(841)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java 8 lambda的一个编译bug

最近利用github action向Maven中央仓库发布编译的环境是应该是递归引用导致OOM了,但是仔细REVIEW了代码并没有发现问题。困扰了一个多月。根本的原因在于上面的静态变量。在中,被标记的静态属性初始化时如果在字符串拼接中使用了lambda流操作,可能导致javac递归,最终堆栈溢出。该问题在得到了修复Bug报告:https://bugs.openjdk.org/browse/JDK-8077605。

2023-11-24 14:36:27 642

原创 防止某个分支被合并提交

通过git hook 防止开发人员推送test代码到远端。

2023-09-01 08:41:23 340

原创 企业微信 Java 开发包 WECOM-SDK 1.1.1 发布

wecom-sdk是开源的企业微信开放 API 的 Java 实现,是目前开最完整的 Java 开源实现。

2023-07-06 08:33:44 747

原创 开源企业微信 Java 开发包 wecom-sdk 发布 1.0.12、1.0.13版本

是开源的企业微信开放 API 的 Java 实现。经过近三年的迭代,目前已经实现了企业微信通讯录管理、上下游、客户管理、微信客服、素材管理、消息推送 、企微机器人、 身份验证 、 应用管理 、OA 办公相关接口,开发人员不需要很高的学习成本就能快速优雅地接入企业微信。欢迎交流学习。

2023-06-01 00:07:19 478

转载 青藤CEO张福:要实现云安全,先要“业安融合”

在青藤近日举行的“云时代,安全变了”云安全高峰论坛上,青藤CEO张福在开场致辞中就抛出了这两个所有企业都密切关注的安全问题:•云时代,安全究竟发生了哪些变化?•安全到底应该怎么做?云计算高速发展,企业安全遭遇新挑战事实有目共睹,近几年我国的云计算产业一直处于高速发展时期。从“十二五”规划到“十三五”规划、“十四五”规划,云计算的重要性不断被强调,且日益凸显。越来越多的企业为了实现数字化转型...

2023-04-25 19:41:38 1984 1

原创 Spring Boot 3.0 正式发布,这份升级指南必须收藏

Spring Boot 3.0 现已正式发布,它包含了 12 个月以来 151 个开发者的 5700 多次代码提交。这是自 4.5 年前发布 2.0 以来,Spring Boot 的第一次重大修订。它也是第一个支持 Spring Framework 6.0 和 GraalVM 的 Spring Boot GA 版本,同时也是第一个基于Java 17的Spring Boot版本,以Jakarta E...

2022-11-25 14:16:08 21482 8

原创 一周发布30多个版本,Spring 6.0开始爆发

从Spring Framework 6.0正式发布开始,Spring团队开启了“爆兵模式”,近一周发布了30多个版本近期Spring发布计划基本上每个组件都多版本同时发布,18日Spring Data系列竟然发布了三个新版本;而昨天应该是版本发布最密集的一天,Spring Amqp、Spring Kafka、Spring Restdocs、Spring Security等都是多版本齐发。就在刚刚 ...

2022-11-22 21:44:00 692

原创 Spring 6.0已发布,AOT和Native Image成为新亮点

最新的6.0文档已经更新Spring Framework 6.0 上周末已经正式发布。接下来Spring的一系列项目都会以6.0为基准发布新版本,至此Spring家族正式进入6.0时代。Spring 6.0的基准线为Java 17、Jakarta EE 9和 Jakarta EE 10,你要尝鲜的话需要第一时间升级你的JDK。Spring 6.0还兼容了最新的Servlet Web容器 Tomc...

2022-11-21 07:40:28 930

原创 文末下载方式 | Jetbrains的下一代IDE工具Fleet公测

之前胖哥介绍了Jetbrains的下一代IDE工具Fleet,激起了很多同学的兴趣。如果你还不知道Fleet是什么就去看下这一篇文章。Fleet是Jetbrains新出品的一款分布式多语言编辑器和 IDE。它是 IntelliJ 平台在后端从头建立起来的,采用全新的用户界面和分布式架构。不少同学参与了Fleet内测或者通过改配置,尝鲜了新的UI。现在Fleet全面公测了,所有人都可以使用它。Jet...

2022-10-13 12:52:47 1958

原创 Java 19 正式发布,改善多线程、并发编程难度

Java 19 在数分钟前正式发布,这是一关非 LTS(长期支持)版本,已进入第二个也是最后一个候选版本阶段。该版本的七项功能包括结构化并发、记录模式、外部函数和内存 API 的预览,以及对开源 Linux/RISC-V 指令集架构 (ISA) 的支持。新特性JEP 405 Record Patterns (预览)JEP 422 Linux/RISC-V PortJEP 424 Foreign F...

2022-09-21 00:20:35 14543 23

转载 【收藏备用】15大超全应用场景总结,进阶主机安全

随着业务数字化转型,企业的业务变得越来越开放和灵活,面临的安全挑战也日益增加。在这种多变、开放的场景下,无论安全边界怎么做,都无法阻挡黑客打破边界进入企业内部来窃取核心资产。当下安全对抗以及安全管理的核心,正逐渐从边界转移到核心服务器系统上。当然,聚焦于主机安全领域的厂商,也受到了资本疯狂追捧。例如全球市值最高的网络安全公司CrowdStrike,年营业额约50亿人民币,当前市值却高达4000亿人...

2022-09-14 07:40:43 916

转载 聊聊数据库建表的15个小技巧

前言对于后端开发同学来说,访问数据库,是代码中必不可少的一个环节。系统中收集到用户的核心数据,为了安全性,我们一般会存储到数据库,比如:mysql,oracle等。后端开发的日常工作,需要不断的建库和建表,来满足业务需求。通常情况下,建库的频率比建表要低很多,所以,我们这篇文章主要讨论建表相关的内容。如果我们在建表的时候不注意细节,等后面系统上线之后,表的维护成本变得非常高,而且很容易踩坑。今天就...

2022-09-13 22:42:14 619

转载 StoneDB 为何敢称业界唯一开源的 MySQL 原生 HTAP 数据库?

近些年,HTAP 正在受到人们越来越多的关注,Gartner 在 2014 年提出了HTAP这个术语和它的定义:Hybrid transaction/analytical processing (HTAP) is an emerging application architecture that "breaks the wall" between transactio...

2022-07-29 08:09:02 741

原创 21天,胖哥亲自带你玩转OAuth2

参与Spring‍ Security与OAuth2专栏限定免费学习群,请从阅读原文扫描第三个专栏学习群二维码入群!关于21天学习挑战赛活动细节,请点击‍阅读原文了解。作者介绍码农小胖哥,Spring Contributor,同时也是一名热衷于技术分享、拥抱开源的技术博主。在CSDN等各大技术平台都有原创技术创作,目前主要的技术栈是Java、Python、Golang等语言...

2022-07-26 19:58:51 1276

原创 胖哥亲自带你玩转Spring Security OAuth2

码农小胖哥,SpringContributor,同时也是一名热衷于技术分享、拥抱开源的技术博主。在CSDN等各大技术平台都有原创技术创作,目前主要的技术栈是Java、Python、Golang等语言,擅长的二次开发。Spring Security与OAuth2是我在对深度解读基础上,对OAuth2这一流行授权框架的的特别补充,包含了对Spring生态相关组件进行了解读和实践讲解,并紧跟前沿,对进行了源码分析。以解决OAuth2上手难度的问题。.........

2022-07-26 15:09:51 1796 1

原创 Maven依赖的作用域你到底用对了没有

Maven是目前Java开发主要使用的依赖管理构建工具之一,但是很多人在引用依赖的时候直接引用坐标,而没有考虑依赖的作用范围,结果导致出现这样和那样的问题。今天胖哥就来说明一下Maven引用依赖的一个要点概念——作用域。要选择正确的scopescope是Maven坐标的一个关键字,它主要来限制依赖的作用域。它有五种类型:Maven依赖的作用域选择合理的作用域,能够避免一些...

2022-07-25 07:22:10 611

原创 POJO、Java Bean是如何定义的

之前介绍过DTO、PO、VO的转换,在日常开发中还有一些类经常被人叫做POJO,还有的人叫它们Java Bean。这些概念都是在特定场景下引入,用来表明它们的特性的。那这些称呼都是啥意思,有啥标准和特征呢?今天就来分享一下这些没用的知识。POJOPOJO是 Plain Old Java Object 的简写,大概意思就是“淳朴的Java对象”。这个词是国外一家外包公司的员...

2022-07-20 07:40:03 607

原创 分享搭建脚手架的一些经验

印象中有些日子没有写文章了,最近一直在放飞自我,今天和大家分享的一些在搭建脚手架和编程中的一些实践原则。所有目标都是“清晰架构分层”。使用统一的依赖管理这种方式是基于我多年来的实践。最开始我也将项目类库及其版本随意的管理,大部分情况下它们能够正常的工作,遇到版本升级和依赖冲突就很头疼。于是模仿一些知名开源的依赖的管理,定制自己的BOM,就像这样:<dependenc...

2022-07-18 07:55:09 720

转载 并发编程的核心问题

并发编程并不是一项孤立存在的技术,也不是脱离现实生活场景而提出的一项技术。相反,并发编程是一项综合性的技术,同时,它与现实生活中 的场景有着紧密的联系。并发编程有三大核心问题:分工问题同步问题互斥问题本文就对这三大核心问题进行简单的介绍。1分工问题关于分工,比较官方的解释是:一个比较大的任务被拆分成多个大小合适的任务,这些大小合适的任务被交给合适的线程去执行。分工强调的...

2022-07-15 23:23:50 597

转载 利用Sharding-JDBC 实现Mysql读写分离

为什么要读写分离?读写分离则是将事务性的增、改、删操作在主库执行,查询操作在从库执行。一般业务的写操作都是比较耗时,为了避免写操作影响查询的效率,可以使用读写分离。当然读写分离并不是万能的,还有前面的分库分表方案。读写分离如何搭建?MySQL搭建读写分离非常简单,一般有一主一从、一主多从,对于MySQL的主从的相关概念这里就不再详细介绍了。下面陈某就以MySQL5.7为例...

2022-07-07 23:35:36 837

转载 多个线程之间如何协同

1. CountDownLatch 计数器在多线程协作完成任务的时候,有时候需要等待其他线程完成任务后,主线程才能继续执行,我们可以使用Thread类的join()方法,让主线程等待被 join 的线程执行完毕主线程再执行。当然也可以通过线程的消息通信实现,但是今天我们 的并发包里面有一个工具,十分方便的完成这个任务。举个通俗的例子,二狗子带兵打仗,一共 6 个小...

2022-07-06 23:04:38 929

转载 有没有完全自主的国产化数据库技术

前段时间的俄乌冲突,Oracle 宣布“暂停在俄罗斯的所有业务”,相信大家的心情绝不是隔岸观火,而是细思恐极。数据库号称 IT 领域三大核心之一(其他两个是 CPU 和操作系统),一直以来都被国际巨头垄断,人家控制着核心,想什么时候锁喉就什么时候锁,你一点办法都没有。现在解决这个问题的办法只能是自强,将数据库核心技术掌握在自己手里,做属于自己的国产数据库。其实,这个事我国...

2022-07-04 08:37:28 887

转载 Git的一些常用概念

git思维导图Git工作区域 为了说明我们日常开发中执行的一系列Git命令的作用是什么,我们需要了解Git的工作区域的概念,几乎每一个常见的Git命令操作都可以通过工作区域来解释。Git本地有四个工作区域:工作区(Working Directory):在git init之后的本地的文件目录下,也就是大家写代码的地方暂存区(Staged/Index):修改了代码之后,需要先...

2022-07-03 22:53:43 556

转载 福利抽奖 | 开源企业级监控Zabbix6.0都有哪些亮点

Zabbix是企业级开源监控解决方案,支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标,提供跨平台支持。Zabbix完全开源免费,社区十分活跃,生态建设良好,插件也十分的丰富,是企业级监控的重要技术选型之一。文末胖哥将抽出五本Zabbix相关的技术书籍,可以去试试手气哦。Zabbix版本一直在不断升级,以满足日益增长的用户需求,支持高可用HA,K8S、指标t...

2022-06-29 10:11:43 755

转载 并发请求下如何防重复提交

沉寂了几天,开工!前言最近测试给我提了一个bug,说我之前提供的一个批量复制商品的接口,产生了重复的商品数据。追查原因之后发现,这个事情没想象中简单,可以说一波多折。1. 需求产品有个需求:用户选择一些品牌,点击确定按钮之后,系统需要基于一份默认品牌的商品数据,复制出一批新的商品。拿到这个需求时觉得太简单了,三下五除二就搞定。我提供了一个复制商品的基础接口,给商城系统调用...

2022-06-28 22:56:28 786

原创 在OAuth2授权流程中实现联合身份认证

很多同学都知道第三方登录,也都对接过微信、QQ、钉钉等三方登录,但是联合身份认证(Federated Identity)这个概念应该只有少数人了解过,包括胖哥也是一年前才知道这个概念。既然追求刺激,那就贯彻到底!胖哥花了点时间,在OAuth2授权流程中实现了联合身份认证,今天就分享一些骚操作。联合身份模式将身份验证委托给可信任的身份提供者(IDP),包含自有平台和第三方,...

2022-06-16 15:10:50 1056 2

原创 甭管什么登录都给你接入到项目中去

上次我们把验证码登录、小程序登录优雅地集成到了Spring Security,很多同学大呼过瘾,相比较一些传统玩法高级了很多。胖哥就赶紧抓住机会举一反三,把微信、企业微信的三方登录也优雅地接了进来。只需要通过下面几行简单的代码就可以完成集成:@BeanDelegateClientRegistrationRepositorydelegateClientRegis...

2022-06-15 00:00:23 756 3

转载 快过期的红包封面

2022-06-13 23:46:39 462

转载 5 张图带你理解 RocketMQ 延时消息机制

大家好,今天来聊一聊 RocketMQ 的延时消息是怎么实现的。延时消息是指发送到 RocketMQ 后不会马上被消费者拉取到,而是等待固定的时间,才能被消费者拉取到,而不是立刻被消费。延时消息的使用场景很多,比如电商场景下关闭超时未支付的订单,某些场景下需要在固定时间后发送提示消息。1 生产者首先看一个生产者发送延时消息的官方示例代码:publicstaticvoi...

2022-06-13 23:46:39 538

原创 微信官方你真的懂OAuth2?Spring Security OAuth2整合企业微信扫码登录

❝企业微信扫码登录DEMO参见文末。现在很多企业都接入了企业微信,作为私域社群工具,企业微信开放了很多API,可以打通很多自有的应用。既然是应用,那肯定需要做登录。正好企业微信提供了企业微信扫码授权登录功能,而且号称使用了OAuth,正好拿这个检验一下Spring Security OAuth2专栏的威力。正当我兴致勃勃打开文档学习的时候,脸上笑容逐渐消失,这确定是OAu...

2022-06-10 16:07:53 1343

原创 收藏备用 | 关于OAuth2的一些常见问题总结

关于OAuth2相信很多初学者都有一些疑问,胖哥趁着Spring Security OAuth2专栏写完的间隙将这些疑问一一收集了起来做成了QA,或许能帮助OAuth2学习者,这个必须收藏备用。OAuth2相关的QA❝Q:OAuth2 的一些常用场景?A: OAuth2主要用于API授权,是跨API服务之间授权的解决方案。它适用于单点登录(SSO)、微服务之间的授权鉴权、...

2022-06-08 17:20:50 987

原创 新的Spring Security OAuth2源码解读完成

昨天一口气把Spring Authorization Server最后的和OIDC相关的几个规范写完了,到此Spring Security OAuth2专栏算是告一段落。❝当然还没有彻底结束,以后只要有新功能都会第一时间通过专栏进行补充。历程Spring Security OAuth2专栏目前为止一共包含了50篇系列图文,这50篇图文涵盖了JOSE、OAuth2 Clie...

2022-06-07 12:16:16 918

原创 49-OAuth2授权码中PKCE的配置

PKCE这个词在OAuth2相关的教程中出现的越来越频繁了,它是 Proof Key for Code Exchange的缩写。OAuth2公共客户端非常容易遭受授权码拦截攻击,PKCE技术可以抵御该类型的攻击。

2022-06-06 23:32:54 1609 6

原创 48-OIDC OP配置信息端点

在OAuth2AuthorizationServerMetadataEndpointFilter一文中专门提到一个对外提供授权服务器元信息的端点,遵循RFC8414相关的规范。 在OIDC 1.0中同样也有这样一个端点来提供类似的功能,相关的规范为OpenID Provider Configuration Request。...

2022-06-06 17:31:27 1227

原创 47-Spring Authorization Server对OIDC客户端动态注册的实现

在46-OIDC客户端动态注册中对OIDC协议中的动态注册客户端的定义进行了讲解,今天我们来看看Spring Authrization Server中是如何实现该功能的。

2022-06-06 13:42:02 1462

转载 这几个Java工具类确实好用

前言在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下:1. Collections首先出场的是java.util包下的...

2022-06-05 22:29:43 1007

原创 46-OIDC动态注册客户端

在OAuth2框架中,OAuth2客户端需要注册到授权服务器,但是并没有规定如何注册到授权服务器。而在OIDC规范中明确定义了RP如何动态向OP进行注册,也就是说在OIDC中是可以直接通过调接口的方式添加一个新的OAuth2客户端的。相关协议具体的信息请参照相关规范。注册客户端必然需要定义个可以注册的客户端,OIDC明确规定了定义OAuth2客户端的元数据,所有规定的属性如下图所示:属性虽然比较多,但是大都是可选的。在Spring Authorization Server中客户端元数据被封装为了。这里的配

2022-06-05 22:13:01 1206

原创 Spring宣布旧的Spring Security OAuth彻底停止维护,连文档仓库都没了

Spring Security团队正式宣布Spring Security OAuth终止维护,到达生命的终点。目前官网的主页已经高亮提醒彻底停止维护。旧的Spring Security OAuth项目终止到2.5.2.RELEASE版本,该项目将不会再进行任何的迭代,包括Bug修复,之前胖哥已经提醒该项目即将停止维护,有心的同学已经进行了迁移。2020年就已经宣布了EOL...

2022-06-02 10:56:28 1866

原创 是时候为Spring Boot 3.0做准备了

2018年2月28日Spring Boot进入2.0时代,距今已经超过4年了。2022 年11月Spring Boot 3.0将正式发布,它将基于Spring Framework 6.0,并且需要 Java 17 或更高版本,同时它也将是Jakarta EE 9的第一个Spring Boot版本。还有六个月的时间留给开发者来过渡到Spring Boot 3.0,今天胖哥将...

2022-05-31 08:31:28 1015

原创 45-Spring Authorization Server中OIDC用户信息端点配置

在OIDC核心一文中对OIDC的协议簇和一些要点进行了简单的解读,今天我们回到Spring Authorization Server中去,看看Spring Authorization Server中的OIDC是如何配置的。本文基于Spring Authorization Server 0.3.0。OidcConfigurerSpring Authorization Server的OIDC配置都在OidcConfigurer这个配置类中,该配置类更像一个适配器,它并不直接提供配置,而是聚合了OIDC

2022-05-29 23:48:21 2199

R2DBC_Paluch_Folien.pdf

Spring 官方在 Spring 5 发布了响应式 Web 框架 Spring WebFlux 之后急需能够满足异步响应的数据库交互 API 。 由于缺乏标准和驱动,Pivotal(Spring 官方) 团队开始研究反应式关系型数据库连接(Reactive Relational Database Connectivity),并提出了 R2DBC 规范 API 以评估可行性并讨论数据库厂商是否有兴趣支持反应式的异步非阻塞驱动程序。最开始只有 PostgreSQL 、H2、MSSQL 三家,现在 MySQL 也加入了进来。R2DBC 最新版本是0.8.1.RELEASE。除了驱动实现外还提供了 R2DBC 连接池 和 R2DBC 代理。除此之外还支持云原生应用

2020-06-28

kotlin 官方文档

学习kotlin 的权威文档 Kotlin 非常适合开发服务器端应用程序,允许编写简明且表现力强的代码, 同时保持与现有 基于 Java 的技术栈的完全兼容性以及平滑的学习曲线: 表现力:Kotlin 的革新式语言功能,例如支持类型安全的构建器和委托属性,有助于构建 强大而易于使用的抽象。 可伸缩性:Kotlin 对协程的支持有助于构建服务器端应用程序, 伸缩到适度的硬件要求 以应对大量的客户端。 互操作性:Kotlin 与所有基于 Java 的框架完全兼容,可以让你保持熟悉的技术栈,同时 获得更现代化语言的优势。 迁移:Kotlin 支持大型代码库从 Java 到 Kotlin 逐步迁移。你可以开始用 Kotlin 编写新代 码,同时系统中较旧部分继续用 Java。 工具:除了很棒的 IDE 支持之外,Kotlin 还为 IntelliJ IDEA Ultimate 的插件提供了框架特 定的工具(例如 Spring)。 学习曲线:对于 Java 开发人员,Kotlin 入门很容易。包含在 Kotlin 插件中的自动 Java 到 Kotlin 的转换器有助于迈出第一步。Kotlin 心印 通过一系列互动练习提供了语言主要 功能的指南。

2018-12-14

IDE Support V2.0.9

JS chrome 调试插件

2017-02-12

spring boot 参考指南

非常不错 参考指南

2016-10-16

spring4 中文API

版权归原作者所有

2016-10-08

百度 echarts 数据图形渲染技术学习指南

基于h5的图形化技术

2016-10-08

spring-mvc4.2.4.RELEASE中文API官方原版翻译

基于4.2.4版本 版权归原作者所有

2016-10-08

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

TA关注的人

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