WebFlux 静态资源处理教程

herman 2个月前 (02-26) 256浏览

关于 WebFlux 的教程方面的内容我已经持续写过很多内容了。包括前面的这篇《WebFlux 整合 thymeleaf 教程》文章,对静态资源的处理,提到的都非常的少。今天我抽个时间专门把 WebFlux 对静态资源的映射来写一写! ...

Java 中的 @Immutable、@ThreadSafe、@NotThreadSafe、@GuardedBy 注解

herman 2个月前 (02-25) 323浏览

最近,我们的电商项目中需要一个限流功能,我打算使用令牌桶实现。 然后,我就网上查了一些关于令牌桶算法的文章,用 Java 实现了一个。但是其中有一点问题,所以,我就想参考一下 guava 中 RateLimiter 的实现。但是发现 com...

Spring IOC 容器为什么不使用 Class.forName 加载类

herman 2个月前 (02-22) 146浏览

很多人看过 Spring 的源码,但但他们都是为了看源码而看!并没有读懂 Spring 的设计思想,也没有思考过为什么要这样设计! 我在这篇文章《程序员如何阅读源码?大牛是如果形成的?》中,已经写到了如何阅读源码。而我的同事按照上面的步骤并...

电商系统中的线程隔离技术

herman 2个月前 (02-21) 134浏览

别被标题迷糊了,隔离技术不光在电商系统中使用,而是大量的在各分布式系统中存在。今天我们就一起来聊一个最简单的线程隔离技术。 线程隔离技术,也称是线程池隔离技术。最著名的使用者算 Hystrix 了。Hystrix 提供了两种隔离策略,分布式...

Java HTTP Host 头攻击原理以及如何防御

herman 2个月前 (02-20) 175浏览

很对微信群里的网友,我都称他们为老铁,从来不称兄道弟的,因为我觉得不真实。不向某东,说一套做一套。 其实你只要认真对待大家,大家都会看在心里,你们说是不是! 对于 Java 程序员来说,一个服务器上跑多个程序是非常常见的现象。...

MongoDB 中没有连接池?别再错下去了!

herman 2个月前 (02-20) 134浏览

Java 在使用 MongoDB 的时候,看起来和使用 MySQL 有些不一样。 在用 MySQL 的时候,通常我们会创建一个连接池。每次增删改查都会从池子里获取一个已经存在的连接,这样做会减少新建连接而造成的资源浪费。 在 Mong...

从程序员找女朋友来讲状态模式和策略模式的区别

herman 2个月前 (02-19) 123浏览

最近,我看到了一篇非常优秀的文章在讲解状态模式和策略模式的区别以及联系,用的例子非常的好,也非常的搞笑,所以就想转过来,分享给大家! 再开始之前,我们先看一下策略模式的类图。 关于状态模式,可以先回顾一下我的这篇文章《从电商系...

WebFlux 之 Mono API 教程

herman 2个月前 (02-19) 349浏览

前面写了一些 WebFlux 方面的教程,发现很多人搜索到了我的文章,希望我能继续写一些教程。于是便有了本文。 关于 WebFlux 前面我已经反复强调过,它是一种新的编程趋势,未来会越来越流行。所以,很有必要认真的学习学习! ...

浅谈 Java 中的字节流与字符流

herman 2个月前 (02-15) 138浏览

最近,我写的都是一些基础知识。一些人不屑于看,看了标题就私信我“能不能写点高级的,看了这标题我就知道内容了,在这样我就取关了!” 但是也有人表示喜欢看。“内容虽然基础,但是看完后我有了新的认知!&rdqu...

毁三观的 Java for 循环语句优化!

herman 2个月前 (02-15) 187浏览

据说,这是一道谷歌的面试题。 就是有 3 个 for 循环,有的程序员会把 3 个一样的 for 循环合成一个来写,有的把一个 for 循环,扯成 3 个来写。比如下面的这道题。 //第一种情况 for(int i=0;i<1...

Servlet是如何运行的?Servlet的本质是什么?

herman 2个月前 (02-14) 128浏览

现在还有人在用 Servlet 吗?如果没有人用,但是面试中遇到了怎么办? 最近,微信群里就有好友私信我:“Servlet是如何运行的?Servlet的本质是什么?”,今天我就来献丑回答一下! 我先来说一下 S...

一文看懂竞态条件、竞态资源、临界区、互斥锁、同步锁、临界区、互斥量、信号量、自旋锁等专有名词!

herman 2个月前 (02-14) 207浏览

关于线程安全的专有名词有一大堆。你们突然之间问我这个名词是什么意思,那个名词是什么意思我还真不一定能给你准确的回答。这还别说一门语言一堆名词。其实有些名词叫法不同,实际上就是一个意思。 A 语言有这个名词,B 语言就起另外一个名词。不能大胆...