加入收藏 | 设为首页 | 会员中心 | 我要投稿 莆田站长网 (https://www.0594zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

“扶不起”的5G?

发布时间:2021-01-31 16:48:31 所属栏目:评论 来源:互联网
导读:发现机器磁盘确实耗费的比较严重,因为大促期间请求量比较多,于是我们最先开始怀疑是不是日志太多了,导致磁盘耗

发现机器磁盘确实耗费的比较严重,因为大促期间请求量比较多,于是我们最先开始怀疑是不是日志太多了,导致磁盘耗尽。

这里插播一个背景,我们的线上机器是配置了日志的自动压缩和清理的,单个文件达到一定的大小,或者机器内容达到一定的阈值之后,就会自动触发。

但是大促当天并没有触发日志的清理,导致机器磁盘一度被耗尽。

经过排查,我们发现是应用的某一些Log文件,占用了极大的磁盘空间,并且还在不断的增大。
 

本文要介绍的是一个发生在我们线上环境的真实案例,问题发生在某次大促期间,对我们的线上集群造成了比较大的影响,这篇文章简单复盘一下这个问题。

为了方便大家理解,实际排查和解决过程可能和本文描述的并不完全一致,但是思路是一样的。

问题过程

某次大促期间,某一个线上应用突然发生大量报警,提示磁盘占用率过高,一度达到了80%多。

这种情况我们第一时间登录线上机器,查看线上机器的磁盘使用情况。使用命令:df查看磁盘占用情况。
 

输出的结果是:true

从上面的代码中,单例实例被延迟加载,只要真正需要用到的时候才会实例化一个对象交给自己使用。

三、总结

本文主要介绍了this关键字、单例模式。

this关键字可以为调用了方法的那个对象生成相应的地址,从而获得了对调用本方法的那个对象的引用。当方法需要访问类的成员变量时,就可以使用this引用指明要操作的对象。

单例模式是一个类当中只有一个实例,并且提供一个访问它的全局访问点。通过饿汉式和懒汉式案例来理解这个单例模式的用法。希望大家通过本文的学习,对你有所帮助!
 

输出的结果是:true

从上面的代码中,声明静态私有类变量,并且立马实例化,实例化一次。类的构造方法中使用private修饰,这样就不能在类的外部使用new来创建实例化对象。私有的构造方法,是为了防止外部实例化,如果想让类的外部获取类的实例对象,提供public中的getInstance()方法获取单例实例。

4.懒汉式单例就是延迟加载,等到需要使用的时候去创建实例,不是主动创建。

懒汉式单例案例
 

上面代码中,在实例化Person2对象后,调用了两个有参的构造方法,在这个方法中调用了无参的构造方法,并打印出”无参构造方法被调用....”,在实例化Person2对象中传入了参数的值,最后输出”你好!我叫李华今年19岁!”,这两个构造方法都被调用了。

二、单例模式

1.什么是单例模式

单例模式是:一个类当中只有一个实例,并且提供一个访问它的全局访问点。

2.单线程中,单例模式根据实例化对象时机不同,由两种经典实现分别是饿汉式单例和懒汉式单例。

3.饿汉式单例定义类的静态私有变量同时进行实例化

饿汉式单例案例:

(编辑:莆田站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读