首页
学习
活动
专区
工具
TVP
发布

业余草

专栏作者
563
文章
1175575
阅读量
42
订阅数
MySQL 面试高频一百问
本文主要受众为开发人员,所以不涉及到 MySQL 的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水。
业余草
2021-12-06
7941
面试官:G1 GC 是什么?
从内存区域的角度,G1 同样存在着年代的概念,但是与前面在堆内存划分中讲的很不一样,其内部是类似棋盘状的一个个 region 组成,请参考下面的示意图。
业余草
2021-12-06
2.3K0
好险!一入职,就遇到MySQL这么大Bug!差点背锅走人
群里一网友这两天刚入职新公司,遇到一个重启 MySQL 服务后,自动增长值丢失问题,差点背锅走人。下面我们一起来回顾一下这个问题。
业余草
2021-12-06
9290
面试官:说说如何打破或违反双亲委派!
SPI的全名为Service Provider Interface,主要是应用于厂商自定义组件或插件中,在java.util.ServiceLoader的文档里有比较详细的介绍。简单的总结下java SPI机制的思想:我们系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块、xml解析模块、jdbc模块等方案。面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需要替换一种实现,就需要修改代码。为了实现在模块装配的时候能不在程序里动态指明,这就需要一种服务发现机制。Java SPI就是提供这样的一个机制:为某个接口寻找服务实现的机制。有点类似IOC的思想,就是将装配的控制权移到程序之外,在模块化设计中这个机制尤其重要。
业余草
2021-12-06
1.4K0
同事使用 Dubbo 传输文件,被点名批评!
公司之前有一个 Dubbo 服务,其内部封装了腾讯云的对象存储服务 SDK,目的是统一管理这种三方服务的SDK,其他系统直接调用这个对象存储的 Dubbo 服务。这样可以避免因平台 SDK 出现不兼容的大版本更新,从而导致公司所有系统修改跟着升级的问题。
业余草
2021-12-06
3470
Spring解决循环依赖的思路竟然来自于一道算法题
「Spring」如何解决的循环依赖,是近两年流行起来的一道 Java 面试题。我今年也面试过很多自称“高级”的 Java 工程师,对循环依赖的回答多数都不是很理想,今天我们一起来学习学习它。
业余草
2021-12-06
4320
出大事了,涛哥你们Java应用GC后不释放内存
公司众多系统中有一个系统使用的是 CMS 垃圾回收器,JVM 初始堆内存不等于最大堆内存,但通过监控信息发现:在经过一次 FullGC 之后,服务器物理内存剩余空间并未提升,运维同事告诉我说,有内存泄露,因为 GC 了之后,内存并没有被释放。按照大部分人的理解,FullGC 之后 JVM 进程会释放的内存一部分还给物理内存,下面通过几个实验来对比验证一下 CMS 和 G1 的物理内存归还机制。
业余草
2021-12-06
4.1K0
群友总结的一点Controller规范
我见过很多同事除了代码对不齐,还存在 Service 层掉 Controller,甚至是 Dao 层掉用 Controller。除此之外,Controller 还经常会存在一大堆业务逻辑。
业余草
2021-12-06
4250
一个工具类搞定CRUD的创建人,修改人,时间等字段赋值
数据库设计过程中,我们往往会给数据库表添加一些通用字段,比如创建人、创建时间、修改人、修改时间,在一些公司的设计过程中有时会强制要求每个表都要包含这些基础信息,以便记录数据操作时的一些基本日志记录。按照平常的操作来说,通用做法是输写 sql 时,将这些信息和对象的基本属性信息一起写入数据库,当然,这也是大家习以为常的操作,这种写法无可厚非,但是对于一个高级开发人员来说,如果所有的表都进行如此操作,未免显得有点啰嗦,而且数据表多的话,这样写就有点得不偿失了。其实还有一种更简便的做法,Spring 框架大家应该是比较熟悉的,几乎每个公司都会用到,其中 aop 思想(切面编程)的经典应用场景之一就是日志记录,本文结合 aop 思想,着重介绍下 Springboot 框架下如何利用切面编程思想实现将创建人、创建时间、更新人、更新时间等基础信息写入数据库。
业余草
2021-12-06
5550
还在用 Random生成随机数了?试试 ThreadLocalRandom 安全还好用!
最近在写一些业务代码时遇到一个需要产生随机数的场景,这时自然想到 jdk 包里的 Random 类。但出于对性能的极致追求,就考虑使用 ThreadLocalRandom 类进行优化,在查看 ThreadLocalRandom 实现的过程中,又追了下 Unsafe 有部分代码,整个流程下来,学到了不少东西,也通过搜索和提问解决了很多疑惑,于是总结成本文。
业余草
2021-12-06
3900
Spring Boot整合ELK 处理为服务日志,妙!
在排查线上异常的过程中,查询日志总是必不可缺的一部分。现今大多采用的微服务架构,日志被分散在不同的机器上,使得日志的查询变得异常困难。工欲善其事,必先利其器。如果此时有一个统一的实时日志分析平台,那可谓是雪中送碳,必定能够提高我们排查线上问题的效率。本文带您了解一下开源的实时日志分析平台 ELK 的搭建及使用。
业余草
2021-12-06
6360
为什么 StringBuilder 不是线程安全的?
在这之前我只记住了 StringBuilder 不是线程安全的,StringBuffer 是线程安全的这个结论,至于 StringBuilder 为什么不安全从来没有去想过。
业余草
2021-12-06
3400
面试官:从源码角度讲讲ReentrantLock及队列同步器(AQS)
JDK 中独占锁(排他锁)的实现除了使用关键字 synchronized 外,还可以使用ReentrantLock。虽然在性能上 ReentrantLock 和 synchronized 没有什么大区别,但 ReentrantLock 相比 synchronized 而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。
业余草
2021-12-06
2450
面试官:Nginx如何限流?我得问问运维!
流量限制(rate-limiting),是 Nginx 中一个非常实用,却经常被错误理解和错误配置的功能。我们可以用来限制用户在给定时间内 HTTP 请求的数量。请求,可以是一个简单网站首页的 GET 请求,也可以是登录表单的 POST 请求。
业余草
2021-12-06
2.9K0
万字长文带你彻底搞懂什么是 DevOps
DevOps 日渐成为研发人员耳熟能详的一个组合词,但什么是 DevOps,为什么 DevOps 对于互联网企业如此重要,真正将其思考透彻的人却不多,带着这些困惑,本文将带你一探 DevOps 的起源、原则和实践,让你搞清楚到底何为 DevOps。
业余草
2021-12-06
5850
MySQL 8.0 的 5 个新特性,太实用了!
MySQL 8.0 当前已经被众多国内公司使用了。本文介绍几个 8.0 在关系数据库方面的主要新特性。
业余草
2021-12-06
1.4K0
HttpClient 设置不当引发的一次雪崩!
我最近运维了一个网上的实时接口服务,最近经常出现Address already in use (Bind failed)的问题。
业余草
2021-12-06
5410
国产最强开源 API 网关,没有之一,不接受任何反驳!
本文主要分析了 NGINX、Kong、APISIX、Tyk、Zuul、Gravitee 几个开源 API 网关架构及基本功能,测试了一定场景下各个 API 网关的性能。
业余草
2021-12-06
3.1K0
Spring中bean的作用域与生命周期
在 Spring 中,那些组成应用程序的主体及由 Spring IoC 容器所管理的对象,被称之为 bean。简单地讲,bean 就是由 IoC 容器初始化、装配及管理的对象,除此之外,bean 就与应用程序中的其他对象没有什么区别了。而 bean 的定义以及 bean 相互间的依赖关系将通过配置元数据来描述。
业余草
2021-12-06
7070
为什么索引可以让查询变快,你有思考过吗?
由于是个人凭着自己理解总结的,因此可能不一定精确,但是毋庸置疑的是,在当代,各大公司机构部门的数据都是维护在数据库当中的。数据库作为数据存储介质发展的最新产物,必然是具有许多优点的,其中一个很大的优点就是存储在数据库中的数据访问速度非常快。数据库访问速度快的一个很重要的原因就在于索引index的作用。也就是这篇文章的主要想介绍的内容,为什么索引可以让数据库查询变快?
业余草
2021-12-06
6990
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档