一点打log的个人经验
如果log打的好,会对我们排查问题非常有帮助。如果log打的不好,一方面会增加我们排查问题时候的噪音,另一方面也会白白浪费系统资源,降低代码的可读性。 我想通过三个方面来讲,我认为什么样的log是好的,什么样的log是不好的。
如果log打的好,会对我们排查问题非常有帮助。如果log打的不好,一方面会增加我们排查问题时候的噪音,另一方面也会白白浪费系统资源,降低代码的可读性。 我想通过三个方面来讲,我认为什么样的log是好的,什么样的log是不好的。
公司有个项目,正常发版的过程中,有个自动化测试的流程,如果测试不通过,就会导致发版失败。为了测试方便,项目中留有内部访问的 REST API,仅供相关的测试代码调用。近期发版非常不稳定,经常报这些测试相关的 API 502 Bad Gateway,并且同时可能出现 Canary 实例的 OOM 报警。
Java一直被认为是一门啰嗦的语言,有个段子是调侃一个小项目,用Java写就会变成大项目。但Java同时也使用广泛,工程性强,写Java的人也是最多。对Java的这些特点,在没写过太多其他语言之前,我的认识很肤浅,有点人云亦云的感觉。在最近因为工作原因写了大量go、Javascript、TypeScript代码之后,再回头来看Java,居然没有像常见到的那些写了go就不想碰Java的观点一样感到轻松,而是十分怀念…
JVM 规范中没有限制对象在内存中是怎么表示的,具体的设计方式取决于各 JVM 实现,我们就以最常见的 HotSpot 为例来说明。 HotSpot JVM 是用一种叫做 Ordinary Object Pointer(OOP)的数据结构来表示指向对象的指针。在 OOP 中,最重要的是 mark word 和klass word: