YM Blog

Thinking will not overcome fear but action will.

缓存优化策略

缓存优化策略 随着数据量的不断累积,存储和查询数据的成本日益增加,在提升系统性能的同时降低维护成本,就需要考虑缓存优化策略了。缓存优化主要涉及两个方面:==存储和耗时==。 问题与难点 优化策略 缓存架构 数据存储 读取效率 问题与难点 缓存优化的目的主要是降低存储消耗,提高读取效率,保证系统的稳定性和数据的准确性。宏观上选择合适的缓存架构,微观上...

IDEA通过PlantUML插件绘制类图

UML基础介绍 UML(Unified Modeling Language)统一建模语言,是一种用于软件系统分析和设计的语言工具,他用于帮助软件开发人员进行思考和记录思路的结果。 UML图的分类 用例图 静态结构图:类图、对象图、包图、组件图、部署图 动态行为图:交互图、状态图、活动图 安装PlantUML插件及Graphviz软件 PlantUML插...

JAVA IO系统

Java IO系统 Java类库中的I/O类分成输入和输出两部分,通过继承,任何自InputStream或Reader派生而来的类都含有名为read()的基本方法,同样,任何自OutputStream或Writer派生而来的类都含有名为write()的基本方法。Java中“流”类库让人迷惑的主要原因在于:创建单一的结果流,却需要叠合多个对象来提供所期望的功能。 设计Reader和Wri...

设计模式

设计模式 六大原则 开闭原则 当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 通过 “抽象约束、封装变化” 来实现开闭原则,即通过接口或者抽象类为软件实体定义一个相对稳定的抽象层,而将相同的可变因素封装在相同的具体实现类中。 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建...

树莓派系统安装教程

树莓派4B系统安装 软件准备 树莓派官方系统(Raspbian) SD Card Formatter Win32 Disk Imager Putty Vnc Viewer 系统安装与远程连接 第一步:准备SD卡以及读卡器,用于系统软件烧录,通过SD Card Formatter格式化存储卡; 第二步:通过Win32 Disk Imager软件将Raspbia...

极简主义桌面分享

极简主义桌面分享 Simplicity is the ultimate sophistication. 至繁归于至简。 – Steve Jobs 作为一名初入社会家里又没矿的宅男程序猿,舒服的办公环境是必须的。崇尚极简主义...

synchronized的实现原理

实现原理 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性。 Java中每一个对象都可以作为锁,这是synchronized实现同步的基础: 普通同步方法,锁是当前实例对象 静态同步方法,锁是当前类的class对象 同步方法块,锁是括号里面的对象 当一个线程访问同步代码块时,它首...

简单的线上CPU100%排查

引言 在招聘面试过程中,时不时会遇到“CPU100%异常警告,如何定位问题所在?”的面试问题。接下来给出简单的问题排查过程,以后再给出详细的排查过程。 查找消耗CPU最高的进程PID 根据PID查找消耗CPU最高的线程号TID 根据线程号TID找到对应的Java线程,进行处理。 实际问题 在Intellij IDEA中运行一段死循环程序,如下 public clas...