推荐小册
最新文章

接口隔离原则
2020-12-26 16:15:28
0赞
0踩
149阅读
定义:用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口一个类对一个类的依赖应该建立在最小的接口上建立单一接口,不要建立庞大臃肿的接口尽量细化接口,接口中的方法尽量少注意适度原则,

单一职责原则
2020-12-26 16:13:59
0赞
0踩
214阅读
不要存在多于一个导致类变更的原因如果一个类有多个职责,可能出现这样的情况:职责一的功能需要改变,修改职责一可能会导致职责二的功能改变,即两个职责的改变都会改变类解决:两个职责分别建两个类一个类/接口/

依赖倒置原则
2020-12-26 16:09:40
0赞
0踩
145阅读
定义:高层模块不应该依赖低层模块,两者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象即:针对接口编程,不要针对实现编程优点:可以减少类间的耦合性,提高系统稳定性,提高代码可读性和可维护性,可降低

开闭原则
2020-12-26 16:00:16
0赞
0踩
152阅读
设计原则不是强制需要遵守的,而是一种指导方案,实际工作中需要讲求取舍平衡开闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭通俗讲就是:用抽象构建框架,用实现扩展细节。抽象相对来说是稳定的

visualVm 离线安装 VisualGC 插件
2020-12-26 15:10:20
0赞
0踩
136阅读
因为众所周知的原因,visualvm 无法直接下载插件,只能用离线安装的方式到 visuamvm 插件 选择与你对应的 jdk 版本点击进入后,下载 Visual GC在 VisualVm 菜单栏,

java 虚拟机 jvm 底层原理分析
2020-12-26 14:50:25
0赞
0踩
170阅读
java 之所以是跨平台的,在于jvm 从软件层面屏蔽不同操作系统在底层硬件与指令上的区别通过 javac 编译出来的 class 字节码可以在不同平台运行jvm 内部由哪些功能组成,以装载 java

idea debug 断点调试技巧
2020-12-25 22:10:47
0赞
0踩
140阅读
正所谓源码之下无密码,调试代码是每个程序员都必备的技能,Idea 这款神器已经集成了超级强大的 debug 功能,善于利用工具,才能更好地窥探源码的秘密,让潜藏在阴暗角落的 bug 无处藏身Debug

代码优化的建议
2020-12-25 13:28:37
0赞
0踩
140阅读
尽可能使用局部变量调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中。速度较快,其他变量,如静态变量、实例变量等,都在堆中创建,速度较慢。另外,栈中创建的变量,随着方法的运行结束,这些内容就没

JVM 字节码解读
2020-12-25 11:45:19
0赞
0踩
157阅读
对于程序本身的优化,可以借鉴很多前辈们的经验,但是有些时候,在从源码角度方面 分析的话,不好鉴别出哪个效率高,如对字符串拼接的操作,是直接“+”号拼接效率高还 是使用StringBuilder效率高这

可视化GC日志分析工具
2020-12-25 11:00:54
0赞
0踩
177阅读
GC 日志打印的相关参数-XX:+PrintGC 输出GC日志-XX:+PrintGCDetails 输出GC的详细日志-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式

G1 垃圾收集器
2020-12-25 10:48:22
0赞
0踩
155阅读
G1的设计原则就是简化JVM性能调优,开发人员只需要简单的三步即可完成调优:第一步,开启G1垃圾收集器第二步,设置堆的最大内存第三步,设置最大的停顿时间G1中提供了三种模式垃圾回收模式,Young G

java 垃圾收集器以及内存分配
2020-12-25 10:46:17
0赞
0踩
182阅读
有了垃圾回收算法,还需要有具体的实现,在jvm中,实现了多种垃圾收集器,包括:串行垃圾收集器、并行垃圾收集器、CMS(并发)垃圾收集器、G1垃圾收集器串行垃圾收集器串行垃圾收集器,是指使用单线程进行垃

java 的垃圾回收机制及常见算法
2020-12-24 22:02:36
0赞
0踩
168阅读
什么是垃圾回收程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了在C/C++语言中,没有自动垃圾回收机制,是通过ne

VisualVM工具的使用
2020-12-24 21:44:30
0赞
0踩
181阅读
VisualVM,能够监控线程、内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)VisualVM使用简单,几乎0

jstack 的使用
2020-12-24 21:36:34
0赞
0踩
158阅读
有些时候我们需要查看下jvm中的线程执行情况,比如,发现服务器的CPU的负载突然增高了、出现了死锁、死循环等,我们该如何分析呢由于程序是正常运行的,没有任何的输出,从日志方面也看不出什么问题,所以就需