编程语言:Java
抖音 Android 性能优化系列:Java OOM 优化之 NativeBitmap 方案
作为 Android 开发者,相信大家都碰到过 Java OOM 问题,导致 OOM 的原因可能是应用存在内存泄漏,也可能是因为手机的 heapsize 比较小不能满足复杂应用对内存资源的大量需求。对于 Java 内存泄漏治理,业界已经有比较成熟的方案,这里不做介绍,本文主要针对第二点尝试进行分析和优化。
举个例子:我们在监控平台查看稳定性数据,发现 heapsize=256M 的设备发生的 OOM 崩溃最多,而 heapsize=512M 的设备很少发生 OOM 崩溃。且除此之外,还有一个特点:OOM 崩溃绝大多数发生在 Android 8.0 之前的设备。
Java应用结构规范
本文提供一种基于领域模型的轻量级应用分层结构设计。
什么是好的错误消息? 讨论一下Java系统中的错误码设计
网上有不少关于错误提示和错误码设计的文章,说明这个问题比较重要,这篇文章就讨论错误消息和错误码的设计,算是抛砖引玉。
猪八戒网DevOps之Java组件安全检测
应用安全一直是一个非常重要的课题,2021年12月7日Log4j2爆出核弹级漏洞,Log4j2作为一款优秀的日志框架,其高使用率加上此漏洞利用难度低,导致企业安全风险剧增。那么猪八戒网是如何应对此类漏洞的呢?
此文主要讲述猪八戒在Java组件安全方面实施的防护措施,如何阻断存在安全漏洞的Java应用上线,在出现类似Log4j2这样的漏洞后如何及时发现哪些应用存在安全风险,同时也为猪八戒的研发小伙伴解惑,我们是如何扫描出你代码中的漏洞组件的。
向工程腐化开炮:Java代码治理
优酷腐化治理系列文章第三篇。
教你用Java开发一个简单的JVM
几年前,接到一个开发任务:用Java开发能运行Java智能合约的虚拟机。在开发Java智能合约时,只能使用智能合约SDK提供的类和一些Java常用类(8种基本数据类型包装类;String、BigInteger、BigDecimal、List、Map、Set 相关的类)。
完整的Java智能合约虚拟机比较复杂,且要保存Java智能合约状态。这篇文章仅介绍一个简单JVM实现,支持少量字节码。参考 Java 虚拟机规范(Java SE 8),里面写到:要正确实现 Java 虚拟机,只需能够读取class文件格式并正确执行其中指定的操作。为了简化实现,使用了 ASM解析class文件。
Java依赖冲突高效解决之道
通过此文和大家分享一下我们积累的一些复杂依赖有效治理的经验。
字节跳动应用性能监控帮助客户Java OOM崩溃率下降80%
本文将会从Java内存基础开始,详细介绍“基于Hprof内存快照的线上Java OOM归因方案”的底层原理与技术细节,欢迎接入MARS-APMPlus 应用性能监控使用。
Java微基准性能测试:数字转字符串方式哪家强?JMH来帮忙
目前各大互联网公司都开始注重代码质量,在我司,单元测试已经在进行全面推广和覆盖中,这次,我们通过一起实际的例子,聊一聊另一种非常重要的测试,也就是微基准性能测试。
hadoop任务常见的OOM问题及解决方案
本文我们主要介绍在使用MapReduce计算框架时发生java.lang.OutOfMemoryError的处理方式。
怎么做好Java性能优化
性能优化是一个很复杂的工作,且充满了不确定性。它不像Java业务代码,可以一次编写到处运行(write once, run anywhere),往往一些我们可能并不能察觉的变化,就会带来惊喜/惊吓。
基于Java的全链路追踪解决方案
在云原生的时代下,传统的运维提供的告警、概况,依据无法满足企业对应用的诊断和分析,应用的可 观测性建设越来越被重视。本文将分享天眼在应用的可观测性建设上的最佳实践。
Java 代码实现——使用 IK 分词器进行词频统计
如何通过 IK 分词器进行词频统计?
打通JAVA与内核系列之一ReentrantLock锁的实现原理
本文主要是对JAVA中的ReentrantLock.lock流程进行了自上而下的梳理。
Java内存模型(Java Memory Model,JMM)
通过对JSR133规范的解读,详细的介绍JMM的核心理论。
重新认识 Java 中的内存映射(mmap)
mmap 是一种内存映射文件的方法,即将一个文件映射到进程的地址空间,实现文件磁盘地址和一段进程虚拟地址的映射。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页到对应的文件磁盘上,即完成了对文件的操作而不必再调用 read,write 等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享。