面试题:Java对象的内存分配过程是如何保证线程安全的?

herman 4周前 (03-10) 90浏览

有一个高级群,群里不少人的上进心都是非常强烈的。有时候,我会主动发一些面试题,会得到非常多的意想不到且完美的答案! 今天,我照例在群里发了一道面试题:Java对象的内存分配过程是如何保证线程安全的?不少人都回答正确了。 面试题:Java...

3 招搞定 SpringBoot 打包 jar 变 war

herman 4周前 (03-07) 129浏览

SpringBoot 默认的方式就是打 jar 包,但是在一些特殊场景,我们需要把 SpringBoot 打成 war 包。 比如,一些客户需要 class 增量升级,虽然 jar 也可以做到,但是过程太过复制。这个时候如果直接打成 war ...

超赞,44 页的 JVM 生态报告,附 PDF 文档!

herman 1个月前 (03-05) 95浏览

Java 是一门语言,​JVM 是一个生态!​ 当下,有越来越多的语言选择 JVM 作为虚拟机。比如我们熟知的:Scala、Kotlin、Ceylon、Xtend、Groovy、Clojure、Fantom等。但是在这众多语言中,使用 Jav...

canal-adapter趟坑记录

herman 1个月前 (02-28) 174浏览

用过 canal 的都知道,canal 现在坑非常的多,本文记录一个我遇到的坑之一! canal-adapter目前支持rdb、es、kafka、hbase等多个目标端的同步,最近几篇我会记录一下我在使用adapter向这些目标端同步时,是如...

从零开始彻底搞懂OAuth 2.0

herman 1个月前 (02-28) 104浏览

OAuth 2.0授权框架支持第三方支持访问有限的HTTP服务,通过在资源所有者和HTTP服务之间进行一个批准交互来代表资源者去访问这些资源,或者通过允许第三方应用程序以自己的名义获取访问权限。 为了方便理解,可以想象OAuth2.0就是在用...

Java 锁粗化与循环

herman 1个月前 (02-28) 71浏览

锁粗化(Lock Coarsening)。锁粗化是合并使用相同锁对象的相邻同步块的过程。如果编译器不能使用锁省略(Lock Elision)消除锁,那么可以使用锁粗化来减少开销。 众所周知,Hotspot 确实进行了锁粗化优化,可以有效合并几...

JVM 垃圾回收实战

herman 1个月前 (02-27) 89浏览

本文我们来学习下 GC 的实战内容,主要包括以下几点 JVM 参数简介发生 OOM 的主要几种场景及相应解决方案OOM 问题排查的一些常用工具GC 日志格式怎么看jstat 与可视化 APM 工具构建再谈 JVM 参数设置 JVM 参数...

Unauthorized grant type: client_credentials

herman 1个月前 (02-26) 76浏览

最近在做 OAuth2 开放平台,遇到了这个问题。今天我整理一下,我的解决方案,和产生这个问题的原因。 SpringBoot + OAuth2 曝出这个错误:Unauthorized grant type: client_credential...

咱们从头到尾说一次 Java 垃圾回收

herman 1个月前 (02-25) 80浏览

之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员。 Java 与 C 的区别 确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的专注,很多初学者不懂 GC...

面试题:Redis的SDS和C中字符串相比有什么优势?

herman 1个月前 (02-23) 108浏览

众所周知,Redis 是现在最火的 nosql 系统。面试必备,面试必会。今年情况特别特殊,困难重重,前段时间群里刮起了一阵学习 Redis 源码的风。刚好最近有网友面试遇到了,Redis 的 SDS 和 C 中字符串相比有什么优势?本文来简单的说...

WebFlux之Flux、Mono自定义统一返回消息

herman 2个月前 (02-18) 348浏览

在 SpringBoot 中,我们通常会对项目中封装一个消息返回对象。使用统一的编码,这个返现消息体是在 HTTP 的状态码上又包装了一层。如下所示: { code:996, msg:"www.xttblog.com", ...

WebFlux 之 Flux 和 Mono 常用方法总结

herman 2个月前 (02-18) 452浏览

最近发现越来越多的网友再使用 WebFlux,本文介绍几个 Flux 和 Mono 常用的方法。 在 Reactor 中,数据流发布者(Publisher)由 Flux 和 Mono 两个类表示,它们都提供了丰富的操作符(operator)。...