jdk版本管理利器-sdkman 后端

jdk版本管理利器-sdkman

1.什么是sdkman? sdkman是一个轻量级、支持多平台的开源开发工具管理器,可以通过它安装任意主流发行版本(例如OpenJDK、Kona、GraalVM等等)的任意版本的JDK。通过下面的命令可以轻易安装sdkman: 2.安装 curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init...
阅读全文
全网最全!彻底弄透Java处理GMT/UTC日期时间 后端

全网最全!彻底弄透Java处理GMT/UTC日期时间

你好,我是A哥(YourBatman)。本系列的目的是明明白白、彻彻底底的搞定日期/时间处理的几乎所有case。上篇文章 铺设所有涉及到的概念解释,例如GMT、UTC、夏令时、时间戳等等,若你还没看过,不仅强烈建议而是强制建议你前往用花5分钟看一下,因为日期时间处理较为特殊,实战必须基于对概念的了解,否则很可能依旧雾里看花。 说明:日期/时间的处理是日常开发非常常见的老大难,究其原因就是对日期时...
阅读全文
千万用户的人群过滤,做好这几个点,竟然支持亿级流量 Java

千万用户的人群过滤,做好这几个点,竟然支持亿级流量

Hi,大家好,我是东东拿铁,一名95后奶爸程序员。 背景 一天,产品来到我的面前,对我说,“拿铁啊,你给我实现一个功能,在亿级用户情况下,根据用户id,过滤出这个人是否在我们的指定人群下面,不同人群组合,有大概1000个左右,并且性能一定要够好哦。”   what???亿级?过滤?这么大的数据,怎么存,存了,怎么用,你倒是提完需求,拍拍屁股走人了,留下我自己在电脑...
阅读全文
如何优雅的判断一个对象是否为空? Java

如何优雅的判断一个对象是否为空?

我们在刚开始学习Java的时候,遇到过最多的异常肯定是臭名昭著的空指针异常(NullPointerException),可以说它陪伴了我们整个初学阶段。字符串、对象、集合等等一不留神就容易出现空指针异常! 那么如何优雅的判断一个对象是否为空并且减少空指针异常呢? 今天来介绍一个容器类——Optional Optional介绍 Optional是一个容器类,它只有两种情况: ...
阅读全文
Java8 parallelStream流--线程数的控制 Java

Java8 parallelStream流--线程数的控制

Java 8 并行流(parallel stream)采用共享线程池,对性能造成了严重影响。底层使用通用的 fork/join 池来实现,该池是所有并行流共享的。默认情况,fork/join 池会为每个处理器分配一个线程。 public static void main(String[] args) throws Exception { List<String> list =...
阅读全文
WebSecurity和HttpSecurity的关系 Java

WebSecurity和HttpSecurity的关系

前几天有粉丝私信我:WebSecurity和HttpSecurity啥关系?当时给我问住了,我大概只知道它们之间的关系类似TypeScript和JavaScript的关系,但是具体的细节确实不太清楚。因此就在周末简单研究了一下。 HttpSecurity的本质 前几天在Spring Security 5.4的新玩法中介绍了一种新的配置HttpSecurity的方式: @Bean Secur...
阅读全文
SpringSecurity 配置permitAll之后仍然会走自定义过滤器Filter的问题 Java

SpringSecurity 配置permitAll之后仍然会走自定义过滤器Filter的问题

项目场景: 在使用SpringSecurity的过程中,我们一般会定义一个自定义过滤器来进行一些权限校验或者其他的操作,当然有某些特定的URL我们并不希望它们被过滤器拦截,那么我们会在SpringSecurity的Config中配置白名单来让我们的部分接口不需要token也可以访问 问题描述 在今天debug接口的时候,我发现了虽然我的白名单接口是可以正常获取到结果的,但是在我观察conso...
阅读全文
spring高版本循环依赖报错问题 Java

spring高版本循环依赖报错问题

解决升级 Spring Boot 2.6后,因循环引用导致启动时报错的问题 Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a la...
阅读全文
解析一下transient关键字 Java

解析一下transient关键字

在Java序列化机制中,transient这个关键字非常有用,本篇文章就来带解析一下transient关键字。 1、transient关键字的定义 定义:transient只能用来修饰成员变量(field),被transient修饰的成员变量不参与序列化过程。 简析:Java中的对象如果想要在网络上传输或者存储在磁盘时,就必须要序列化。Java中序列化的本质是Java对象转换为字节序列。...
阅读全文
Loading...