Java
文章平均质量分 55
Java技术
666技术站
Java后端技术
展开
-
Java中Lambda表达式的正确使用姿势
Java8 Lambda使用技巧原创 2022-02-08 23:04:06 · 375 阅读 · 0 评论 -
Spring Cloud Ribbon的应用
Spring Cloud Ribbon原创 2022-01-27 22:24:49 · 402 阅读 · 0 评论 -
SpringBoot打包排除依赖的jar包,并引入外部Jar启动
通常情况下,将SpringBoot项目使用mvn package命令打成可启动的jar包后(比如是demo-0.0.1-SNAPSHOT.jar),所有的字节码文件和依赖包都存在demo-0.0.1-SNAPSHOT.jar 中,体积是比较大的。那么我们如何将依赖的jar包和可启动的jar包分离呢,很简单,进行如下配置即可: 在pom文件中配置插件 <build> <plugins> <plu...原创 2021-10-20 23:23:11 · 1963 阅读 · 0 评论 -
windows环境中docker中部署的SpringBoot应用访问宿主机的mysql、redis连接不上问题解决方案
将Spring Boot应用打成jar包,再使用Dockerfile打成镜像,如果你的springboot配置文件中mysql和redis访问IP写的是127.0.0.1或localhost 是不行的。 因为docker中的127.0.0.1和localhost是它docker本地的,映射不到宿主机。 如果是windows环境,使用host.docker.internal去访问宿主机,例如:jdbc:mysql://127.0.0.1:3306/in...原创 2021-07-15 17:49:39 · 1268 阅读 · 5 评论 -
从宏观角度分析Spring源码之AOP
众所周知,Spring容器的三大核心功能是IOC、DI和AOP,前面我们已经对IOC和DI的理论做了浅析,这篇文章将从AOP的概念、设计思路、应用场景、Spring AOP的源码分析四方面入手,理解下AOP究竟是个神马东东。1、概念AOP的英文全称是Aspect Oriented Programming,即面向切面编程。借鉴一下维基百科中对AOP相关概念的描述:Aspect是一种新的模块化机制,从关注点中分离出横切关注点是面向切面编程的核心概念。分离关注点使得解决特定领域问题的代码从业务逻辑中独原创 2020-05-18 15:36:00 · 1149 阅读 · 0 评论 -
从宏观角度分析Spring源码之DI
111原创 2020-05-07 23:37:08 · 641 阅读 · 1 评论 -
从宏观角度分析Spring源码之IOC
今天是5月3号,烈日似火,热的让人喘不过气来。就在这个让人燥热的时刻我准备开始着手写Spring源码分析一系列文章。一是巩固自己的知识体系,二是分享一些技术心得给铁子们,让Spring技术原理通俗易懂的展现在大家面前,从此让世界上不再有不懂Spring原理的Java程序猿,让世界从此没有回答不上来的Spring技术面试。这篇文章我们从Spring核心IOC切入,分析一下Spring中的IOC机...原创 2020-05-03 17:17:41 · 1036 阅读 · 0 评论 -
在Spring MVC或Spring Boot中使用Filter打印请求参数问题
使用Spring MVC或Spring Boot中打印或记录日志一般使用AOP记录Request请求和Response响应参数,在不使用AOP的前提下,如果在Filter中打印日志,在打印或消费请求类型为Content-Type:application/json的请求时,会出现严重的问题。在Spring体系中,过滤器的定义我们一般采用继承OncePerRequestFilter的方式,当然也...原创 2020-04-29 11:43:36 · 2637 阅读 · 2 评论 -
浅析缓存和数据库数据一致性的高深学问
如今在Web系统中,缓存的应用是保证系统吞吐量必不可少的技术。好多开发者认为,缓存太简单啦,一顿set和get操作就完事了,真的是很Soeasy!听到这些话,我笑了~~我为什么笑呢,有缓存使用经验的老铁们可能会明白,系统缓存和数据库数据一致性问题一直是技术界讨论的话题,现在我们就讨论下,系统和数据库如何才能保证数据一致性呢?首先大家要明白不使用更新缓存,而是使用删除缓存策略这句话,这里不...原创 2020-04-26 11:01:16 · 360 阅读 · 1 评论 -
Netty采用NIO而非AIO的理由
1、Netty不看重在Windows系统上的应用,而在Linux系统上AIO的底层实现仍使用EPOLL模型,没有很好的实现AIO,因此性能上没有明显的优势,而且被JDK封装一层也不容深度优化。2、Netty整体架构是Reactor模型,而AIO是Proactor模型,混合在一起会非常的混乱。3、AIO有个缺点是接收数据需要预先分配缓存,而不是NIO那种需要接收时才需要分配缓存,所以对连接数...原创 2019-12-31 16:32:28 · 513 阅读 · 1 评论 -
浅谈Java领域中的SPI扩展机制
在Java领域,有一种重要的服务扩展机制,即SPI,它在编写框架和项目应用中起着重要的作用。SPI的英文全称为service provider interface,即服务提供接口,在JDK、Spring和Dubbo中是不可或缺的。一、JDK在JDK的java.util包下有一个非常显眼的类,即ServiceLoader。不妨打开该类的源码,看到注释的第一行是A simple service...原创 2020-04-28 11:33:46 · 704 阅读 · 0 评论