排序
Java三大特性:封装、继承、多态
封装 高内聚,低耦合 高内聚:类内部操作自己完成,不允许外部干涉。 低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏)通常应禁止直接访问一个对象中数据的实际表达,而应该通过操作接...
解决非Spring Bean访问Spring Bean的问题:实用指南
在非SpringBean类里获取SpringBean,会是什么情况? case1 下面这段代码中,PlainClass 表示一个普通Java类: public class PlainClass { public void foo1() { TheOtherBean bean = SpringCont...
关于Java Chassis 3的契约优先(API First)开发
本文分享自华为云社区《Java Chassis 3技术解密:契约优先(API First)开发》,作者: liubao68。 契约优先(API First)开发是指应用程序开发过程中,将API设计作为第一优先级的任务。契约优...
泛型无界通配符的思考
起因:无界通配符<?>作为参数可以接受任意类型参数,入参的具体类型在调用方法时并不需要确定,联想到泛型方法中参数的类型是在调用方法时被定义,实践探究二者异同。 public class Gener...
SoftReference 到底在什么时候被回收 ? 如何量化内存不足 ?
本文基于 OpenJDK17 进行讨论,垃圾回收器为 ZGC。 提示: 为了方便大家索引,特将在上篇文章 《以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的》 中讨论的众多主题独立出来。 大家在网...
工作总结!日志打印的11条建议
前言 大家好,我是 JavaPub。日志是我们定位问题的得力助手,也是我们团队间协作沟通(甩锅)、明确责任归属(撕B)的利器。没有日志的程序运行起来就如同脱缰的野。打印日志非常重要。今天我们...
@ComponentScan注解的实现,Spring扫描包的过程
相信接触过spring做开发的小伙伴们一定使用过@ComponentScan注解 @ComponentScan('com.wangm.lifecycle') public class AppConfig { } @ComponentScan指定basePackage,将包下的类按照一定规则...
6-HashSet底层结构和源码分析
6-HashSet底层结构和源码分析 介绍汇总: HashSet的全面介绍 HashSet底层机制说明 HashSet实践练习 1-HashSet的全面介绍 HashSet 实现了 Set 接口 HashSet 实际上是 HashMap(源码) public Has...
中外程序员到底有啥区别?
中国程序员的特点 中国程序员的最大优点是非常勤奋。中国互联网行业有句话叫:“they earn a lot of money but die early”(赚得多死得早)。由于工作强度大,经常有程序员突然去世的新闻报道...
keycloak~关于社区登录的过程说明
keycloak将第三方登录(社区登录)进行了封装,大体主要会经历以下三个过程: 打开社区认证页面,输入账号密码或者扫码,完成社区上的认证 由社区进行302重定向,回到keycloak页面 keycloak与社...
同事写了一条 SQL,把 MyBatis 都干翻了。。
作者:Lxlxxx 链接:https://juejin.cn/post/7221461552343072828 前言 继上次线上CPU出现了报警,这次服务又开始整活了,风平浪静了没几天,看生产日志服务的运行的时候,频繁的出现OutOfMemor...
OAuth 2.0(Open Authorization 2.0)授权框架入门介绍
拓展阅读 OAuth 2.0-01-Overview OAuth2-02-java 整合 OAuth2-03-springboot 整合 oauth2 是什么? OAuth 2.0(Open Authorization 2.0)是一种授权框架,允许第三方应用程序访问用户在另一个服...













