Skip to main content

[转]怎么回答面试官:你对Spring的理解?

Java面试中不可避免的都会问到Spring相关的问题,经常会遇到的就是IOC、AOP、Bean的实例化等,虽然有时候我们能回答上这些问题,但是如果没有从源码中领悟Spring的架构原理,也就不知道spring背后做了哪些事,我们项目中会遇到哪些问题。本文作者bravo1988从BeanDefinition和BeanPostProcessor层面阐述了spring中的设计思想以及spring核心原理。

继续阅读

那些年我们写过的Java代码

1.优化System.currentTimeMillis()高并发性能问题
2.使用推特的雪花算法Twitter_Snowflake生产唯一序列码
3.如何将数据库和中间件的密码加密,在使用时自动解密
4.通过ApplicationListener实现初始化完成后的事件操作
5.如何优雅停机
6.Redis加锁和解锁的正确姿势
7.多数据源的自动切换
8.记录dubbo调用日志
9.Dubbo接口的验证器实现及全局异常拦截
10.异常CODE的封装
11.核心数据的压缩和解压缩

继续阅读

Fastdfs上传文件报错 recv package size -1!=10

使用 Fastdfs 作为文件存储系统,Java 客户端单个上传文件没什么问题,在并发300的时候就会出现异常,部分上传失败。

客户端是自己封装的 spring-boot-starter-fastdfs,引用的核心库是 happyfish100大神的 java 版客户端,该库的 github 地址是 https://github.com/happyfish100/fastdfs-client-java。SpringBoot 的版本是 2.0.3.RELEASE。

项目中引入编译好的 fastdfs-client-java jar lib。

继续阅读

解决Alpine缺少字体的问题

公司POC业务使用的是K8S集群,开发过程中我们使用 com.spotify:dockerfile-maven-plugin:1.4.9 插件集成 springboot ,在 mvn compiler deploy 阶段将其构建为 docker 镜像并且推送到自建镜像仓库中。

在 k8s 集群中通过编写 deploymeny yaml 文件部署整个集群。web 应用使用 kaptcha 的验证码,在调用 API 的时候发现接口报错,查看日志发现下面的错误信息。

继续阅读

Netty在AI质检引擎中的实践

实时质检的复杂度在于外呼系统数据流的边界切割,为了便于和催收平台对接,我们重新设计了接口,把音频流的切割放在AI平台,外呼系统仅需要将音频流数据通过socket推送到AI质检系统即可。

尽管如此,依然无法完全解决产品需求,Socket Header不能携带更多的质检配置信息,亦不能在数据流中既推送文本配置信息(比如授权、规则集等)又推送流媒体,因此,我们又鉴于此设计了Http接口,上传需要本次催收通话中语音质检的配置信息。

继续阅读