草庐IT

【Java面试】大厂裁员,小厂倒闭,如何搞定面试官Java SPI是什么?有什么用?

“JavaSPI是什么?有什么用?”这是阿里p6面试过程中,第二面的时候遇到的一个真实的问题。如果你不理解SPI,建议你看完整个视频。大家好,我是Mic,一个工作了14年的Java程序员这道面试题的文字版我已经整理在20万字的文档里了,有需要的可以在文章尾端领取下面来看看这个问题考察的目的考察目标这道题考察难度偏中等,对于没怎么去研究过源码的同学来说,SPI是非常陌生的概念考察人群主要还是3到5年比较多。3~5年属于中高端Java开发人群,因此考察目的也很明显:了解求职者对于技术领域的理解程度实现高级开发的人才选拔Java这个行业没有人才评级标准,所以在面试的时候,面试官也比较难去界定你的职级

第01篇:系统化学习, 搞定Spring容器管理

公众号:西魏陶渊明CSDN:https://springlearn.blog.csdn.net天下代码一大抄,抄来抄去有提高,看你会抄不会抄!目录介绍一、前言二、BeanFactory工厂2.1什么是Bean?2.2如何使用Bean工厂2.3BeanFactory的体系2.3.1BeanFactory2.3.2HierarchicalBeanFactory2.3.3ListableBeanFactory2.3.4ConfigurableBeanFactory2.3.5AutowireCapableBeanFactory2.3.6ConfigurableListableBeanFactory三、

第01篇:系统化学习, 搞定Spring容器管理

公众号:西魏陶渊明CSDN:https://springlearn.blog.csdn.net天下代码一大抄,抄来抄去有提高,看你会抄不会抄!目录介绍一、前言二、BeanFactory工厂2.1什么是Bean?2.2如何使用Bean工厂2.3BeanFactory的体系2.3.1BeanFactory2.3.2HierarchicalBeanFactory2.3.3ListableBeanFactory2.3.4ConfigurableBeanFactory2.3.5AutowireCapableBeanFactory2.3.6ConfigurableListableBeanFactory三、

扔掉工具类!MyBatis 一个简单配置搞定加密、解密,不能太方便了~!

来源:juejin.cn/post/6963811586184052767前言:介绍一个简单的MyBatis加解密方式,日常学习工作中提及这种方法的比较少,所以拿来说说,如果已经知道这种方法的忽略本文!一、背景在我们数据库中有些时候会保存一些用户的敏感信息,比如:手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。假如:黑客黑进了数据库,或者离职人员导出了数据,那么就可能导致这些敏感数据的泄漏。因此我们就需要找到一种方法来解决这个问题。二、解决方案由于我们系统中使用了Mybatis作为数据库持久层,因此决定使用Mybatis的TypeHandler或Plugin来解决。Type

扔掉工具类!MyBatis 一个简单配置搞定加密、解密,不能太方便了~!

来源:juejin.cn/post/6963811586184052767前言:介绍一个简单的MyBatis加解密方式,日常学习工作中提及这种方法的比较少,所以拿来说说,如果已经知道这种方法的忽略本文!一、背景在我们数据库中有些时候会保存一些用户的敏感信息,比如:手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。假如:黑客黑进了数据库,或者离职人员导出了数据,那么就可能导致这些敏感数据的泄漏。因此我们就需要找到一种方法来解决这个问题。二、解决方案由于我们系统中使用了Mybatis作为数据库持久层,因此决定使用Mybatis的TypeHandler或Plugin来解决。Type

一分钟搞定Netty 三大组件,如果搞不定,再看3遍

1.三大组件简介Channel与BufferJavaNIO系统的核心在于:通道(Channel)和缓冲区(Buffer)。通道表示打开到IO设备(例如:文件、套接字)的连接。若需要使用NIO系统,需要获取用于连接IO设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理简而言之,通道负责传输,缓冲区负责存储常见的Channel有以下四种,其中FileChannel主要用于文件传输,其余三种用于网络通信FileChannelDatagramChannelSocketChannelServerSocketChannelBuffer有以下几种,其中使用较多的是ByteBufferByte

一分钟搞定Netty 三大组件,如果搞不定,再看3遍

1.三大组件简介Channel与BufferJavaNIO系统的核心在于:通道(Channel)和缓冲区(Buffer)。通道表示打开到IO设备(例如:文件、套接字)的连接。若需要使用NIO系统,需要获取用于连接IO设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理简而言之,通道负责传输,缓冲区负责存储常见的Channel有以下四种,其中FileChannel主要用于文件传输,其余三种用于网络通信FileChannelDatagramChannelSocketChannelServerSocketChannelBuffer有以下几种,其中使用较多的是ByteBufferByte

Spring Boot 日志脱敏,3 步搞定!So easy~!

本文地址:https://blog.csdn.net/qq_40885085在我们写代码的时候,会书写许多日志代码,但是有些敏感数据是需要进行安全脱敏处理的。对于日志脱敏的方式有很多,常见的有①使用conversionRule标签,继承MessageConverter②书写一个脱敏工具类,在打印日志的时候对特定特字段进行脱敏返回。两种方式各有优缺点:第一种方式需要修改代码,不符合开闭原则。第二种方式,需要在日志方法的参数进行脱敏,对原生日志有入侵行为。自定义脱敏组件(slf4j+logback)一个项目在书写了很多打印日志的代码,但是后面有了脱敏需求,如果我们去手动改动代码,会花费大量时间。如

Spring Boot 日志脱敏,3 步搞定!So easy~!

本文地址:https://blog.csdn.net/qq_40885085在我们写代码的时候,会书写许多日志代码,但是有些敏感数据是需要进行安全脱敏处理的。对于日志脱敏的方式有很多,常见的有①使用conversionRule标签,继承MessageConverter②书写一个脱敏工具类,在打印日志的时候对特定特字段进行脱敏返回。两种方式各有优缺点:第一种方式需要修改代码,不符合开闭原则。第二种方式,需要在日志方法的参数进行脱敏,对原生日志有入侵行为。自定义脱敏组件(slf4j+logback)一个项目在书写了很多打印日志的代码,但是后面有了脱敏需求,如果我们去手动改动代码,会花费大量时间。如

一个注解搞定接口数据脱敏,太强了!

来源:juejin.cn/post/7110110794188062727下午惬意时光,突然产品小姐姐走到我面前,打断我短暂的摸鱼time,企图与我进行深入交流,还好我早有防备没有闪,打开瑞star的点单页面,暗示没有一杯coffee解决不了的需求,需求是某些接口返回的信息,涉及到敏感数据的必须进行脱敏操作,我思考一反,表示某问题,马上安排。思路1.要做成可配置多策略的脱敏操作,要不然一个个接口进行脱敏操作,重复的工作量太多,很显然违背了“多写一行算我输”的程序员规范,思来想去,定义数据脱敏注解和数据脱敏逻辑的接口,在返回类上,对需要进行脱敏的属性加上,并指定对应的脱敏策略操作。2.接下来我只