Java学习录

诚邀您关注微信公众号:Java学习录,免费领取2000GJava学习资源,每日精彩内容推送。

Linux常用命令速查-系统监控

本文涉及:Linux中进程管理命令:ps、pstree、grep、vmstat、进程树及进程搜索,查看系统负载命令uptime,查看内存信息free命令,常用工具top命令,磁盘监控df、du命令 ◆ 进程管理 ◆ 查看进程 1ps 常用参数: -A 列出所有的行程 -u 指定用户的进程 -ef 所有进程以及启动命令 -aux 显示所有包含其他使用者的行程 查看进程树 1pstree......

基于注解的SpringAOP源码解析(二)

在上篇文章 中我们搭建了一个阅读源码的demo工程,然后简单介绍了一下@EnableAspectJAutoProxy注解,这个注解最重要的功能就是为向Spring中注入了一个beanAnnotationAwareAspectJAutoProxyCreator,本篇文章就继续来撸AOP的源码 前文已经简单提到了这个类的功能,不过这里还是要先看一下这个类的继承图 观察类图可知,Annotati......

基于注解的SpringAOP源码解析(一)

准备工作 本文会分析Spring的AOP模块的整体流程,分析过程需要使用一个简单的demo工程来启动Spring,demo工程我以备好,需要的童鞋自行在下方链接下载: 1https://github.com/shiyujun/spring-framework Demo工程示例代码 本文源码分析基于Spring5.0.0,所以pom文件中引入5.0的依赖 1234567891011121314......

Prometheus-Operation钉钉报警

本篇文章基于Prometheus-Operation,收集Redis、MySQL、RabbitMQ的监控信息并报警 Redis钉钉报警 数据收集 首先启动一个Redis的信息收集的应用程序 1docker run -d --name redis_exporter -e REDIS_ADDR="redis://172.16.40.170:6379" -e REDIS_PASSWORD="......

Java中的代理模式

代理模式:通过某种方式给某个对象提供一个代理对象,在不改变原有对象代码的前提下对方法的增强。 在Java中我们最熟悉的使用场景就是SpringAOP,本篇文章即是SpringAOP源码分析的前置文章 为什么要使用代理模式 首先我们知道,在项目中如果需要打印方法入参及出参时、需要记录方法执行时间时、需要验证权限时、需要统一异常处理时等等各种场景是不是都是使用拦截器呀过滤器呀啥的。 这些拦截......

SpringIOC源码解析(基于注解)

注意,看完这篇文章需要很长很长很长时间。。。 准备工作 本文会基于注解的方向分析SpringIOC模块的整体流程,在阅读本篇文章之前建议您先阅读基于XML分析的两篇文章: SpringIOC源码解析(上),SpringIOC源码解析(下) Demo工程 本次源码分析的demo工程我已经准备好了,大家可自行前往以下地址下载 1https://github.com/shiyujun/spri......

SpringIOC源码解析(下)

注意,看完这篇文章需要很长很长很长时间。。。 本篇文章是SpringIOC源码解析(上)的续集,上一篇文章介绍了使用XML的方式启动Spring,然后追踪了BeanFactory容器的创建、配置文件的解析、Bean的注册等。 12. finishBeanFactoryInitialization() 前方超长篇幅预警。。。 刚才我们提到了bean还没有初始化。这个方法就是负责初始化所有的......

SpringIOC源码解析(上)

注意,看完这篇文章需要很长很长很长时间。。。 准备工作 本文会分析Spring的IOC模块的整体流程,分析过程需要使用一个简单的demo工程来启动Spring,demo工程我以备好,需要的童鞋自行在下方链接下载: 1https://github.com/shiyujun/spring-framework Demo工程示例代码 本文源码分析基于Spring5.0.0,所以pom文件中引入5......

五大基础排序算法

选择排序 假如我们现在要排序的数组为[3,1,0,2,8,4,2]。那么选择排序的排序流程为: 在这个数组中找出最小值与第一个元素交换,现在数组为[0,1,3,2,8,4,2] 在这个数组中除了第一个位置的元素外找出最小值与第二个元素交换,因为第二个元素就是最小的所以此次没有发生变化。现在数组为[0,1,3,2,8,4,2] 在这个数组中除了第一个、第二个位置的元素外找出最小值与第三个元素......

漫谈性能调优

作为一名高级工程师,性能调优是必不可少的技能,本篇文章是性能调优系列文章的第一篇 导致性能瓶颈的几点原因 CPU:如果系统中存在视频分析、3D渲染、大量计算这样的应用时,大量的CPU资源的竞争就会引起性能瓶颈 内存:一般来说内存不会成为性能瓶颈,为啥人家redis快,就是因为是基于内存的。但是呢内存资源不够用确实是个很致命的问题,就像Java中的OOM大部分都是因为内存资源不够引起的 磁盘......