摘要: 1、java-ssist是什么? 2、java-ssist有什么用? 3、原理是什么? 4、动手实践 阅读全文
posted @ 2020-06-25 23:51 VING_963 阅读(277) 评论(0) 推荐(0)
摘要: 1、java agent是什么? 》对用户透明,不侵入用户业务代码。让java虚拟机加载agent jar 2、java agent有什么用? >应用场景例如:调用链追踪项目,在用户无感知的情况下,记录日志。目前业内使用该技术的有,SkyWalking,Pinpoint(这个监控的粒度更小) -各个 阅读全文
posted @ 2020-06-25 22:27 VING_963 阅读(446) 评论(0) 推荐(0)
摘要: 1、什么情况下要重构? 当你有空的时候就可以对你的代码进行重构。而不是等到代码烂到一定程度的情况下,才开始动手去重构代码。(从心理学的角度看,当代码烂到一定的程度,人们会出现一种“破窗理论”,破罐子破摔,由于技术的更新,人员的流动,于是不断有人往项目里面对切烂代码,最终的结果就是不得不去重写项目)。 阅读全文
posted @ 2020-06-04 20:15 VING_963 阅读(625) 评论(0) 推荐(0)
摘要: 1、里氏替换原则和继承有什么区别? 里氏替换原则,是指导设计子类用的原则,而继承是面向对象编程的四大特性之一,是一种代码实现的思路。 里氏替换原则,更加强调子类替换父类之后,不能改变原来的逻辑和原来的正确性 2、有什么情况是违背了里氏替换原则?下面罗列三种情况 2.1 子类违背父类生命要是实现的功能 阅读全文
posted @ 2020-05-18 20:03 VING_963 阅读(200) 评论(0) 推荐(0)
摘要: 1、如何判断某个类是否足够职责单一? 下面是几个小技巧 1.1 类中的代码是否太多了,建议200行以内 1.2 类中的方法,属性,是否太多 1.3 给类起名字的时候,是否想不出叫什么名称?只能用笼统的词语来表达的时候,就要注意了 1.4 类中大量的方法都是集中操作类中的某几个属性 2、类中的职责是否 阅读全文
posted @ 2020-05-15 19:41 VING_963 阅读(256) 评论(0) 推荐(0)
摘要: 本文是用guava 18.0,本文讨论com.google.common.cache下的Cache 1、是什么?有什么用? Cache是guava提供的一个工具缓存类。我们可以利用他缓存一些信息到本机的内存中。在框架,组件中会经常用到这个功能。例如,缓存一些用户信息 2、怎样用? 3、简易源码分析 阅读全文
posted @ 2020-05-14 21:03 VING_963 阅读(452) 评论(0) 推荐(0)
摘要: 1、继承的缺点是什么?为什么不推荐使用继承? 如果滥用继承,会导致继承层次过深,复杂的继承关系。导致维护性降低。(如果继承关系层次少,不fu) (继承是面向对象的四大特性之一,用来表示类之间的 is a 关系,可以解决代码复用的问 题。虽然继承有诸多作用,但继承层次过深、过复杂,也会影响到代码的可维 阅读全文
posted @ 2020-05-12 19:53 VING_963 阅读(676) 评论(0) 推荐(0)
摘要: 1、抽象类 1.1 不能被实例化 1.2 能定义属性 1.3 能定义实现方法 1.4 能定义抽象方法 2、接口 2.1 不能被实例化 2.2 不能定义属性 2.3 不能定义实现方法 2.4 能定义抽象方法 3、抽象类和接口存在的意义 抽象类是对成员变量和方法的抽象,是一种is a关系,是为了解决代码 阅读全文
posted @ 2020-05-11 20:11 VING_963 阅读(133) 评论(0) 推荐(0)
摘要: 文本是在window下搭建单机版的ELK,ES用到的版本是2.4.0(为什么用这个版本,很大一个原因是能直接用自带插件工具去下载es_head插件,非常方便),logstash用的版本是7.6.2(亲自踩坑2.4.0,足足花了一个早上,发现用2.4.0报缺少log4j和无法读取日志文件),kiban 阅读全文
posted @ 2020-05-10 22:10 VING_963 阅读(181) 评论(0) 推荐(0)
摘要: 1、面向过程编程和面向对象编程的区别? 1.1 面向过程编程,将某一些简单的业务逻辑,顺序性地翻译成程序,组织形式为线性的,面条式的编程风格。而面向对象,则是 将业务逻辑先翻译成类 ,在组织这些类去完成业务逻辑,组织形式为类。两者在思考的思维模式上是很大的区别。(很大习惯了CRUD的程序员,很容易使 阅读全文
posted @ 2020-05-10 00:52 VING_963 阅读(437) 评论(0) 推荐(0)