
内存优化
Bert.King
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Synchronized方法or代码块?
疾风知劲草,板荡识诚臣, 勇夫安识义,智者必怀仁. 无论是开发还是面试,作为自认为不再是菜鸟的我们,在并发编程中,我们会理所当然地认为: synchronized关键字所修饰的区域应该是越小越好.(synchronized是互斥锁,即重量级锁,相对开销 会比较大) 有兴趣的读者,可以参看本人的这篇博客: 关于synchronized的面试题 能坚持读到这里的朋友,此时心中肯定会有疑问: 莫非我错了? 这里暂且不论对错,先继续往下看… 1. synchronized修饰方法 /** * @A.原创 2020-08-06 23:26:47 · 433 阅读 · 0 评论 -
Java 对象内存模型系列-3rd
志不立,如无舵之舟,无衔之马,漂荡奔逸,终亦何所底乎。 通过前面的文章,我们知道,Java对象主要分为下面几个部分: 对象头 1. mark word 2. class pointer 实例数据 对齐填充 数组长度(仅适用于数组对象) 对象头分为Mark word和 Class Pointer两部分。 2,3,4的内容都相对简单,我们可以一笔带过。但是对于对象头的其中两部分内容,有点丈二和尚之感。 今天我们就来聊一聊他们。 1. 透过Object的定义看对象头 首先我们先来通过源代码来大概看一下.原创 2020-08-05 23:56:33 · 240 阅读 · 0 评论 -
巧证默认构造函数的存在性
今日之失,未必不为后日之得。 Java编程语言的『面向对象』已经深入人心。自然而然,构造器(构造函数)作为类和对象的桥梁,深刻地理解它的重要性不言而喻。 构造器是用来初始化对象的。 一般而言,我们都会将Class理解为蓝图(blueprint)亦或是模板。而对象则是Class概念下更加具体化的东西。 对于动物这个概念而言,我们可以将其作为Class类存在,那么具体的动物(老虎,大象,狮子.ie)就可以被看成对象。 这篇文章的重点在于构造器,所以关于Class(类) 和 对象(Object) 的关系就不详.原创 2020-08-04 08:56:13 · 253 阅读 · 0 评论 -
Java 对象内存模型系列-2nd
知行合一:知之真切笃实处即是行,行之明觉精察处即是知。 从上一篇文章中我们搞明白对象的组成及其所占内存大小。口说无凭,事实为证。有些朋友希望能亲自验证结论是否正确。 安排,今天他来了 一. JOL(Java Object Layout) 1.1 JOL(Java Object Layout)的简介 深入了解的请移步至:JOL的官方地址 引用其介绍的一段话: JOL (Java Object Layout) is the tiny toolbox to analyze object layout.原创 2020-07-30 23:59:54 · 210 阅读 · 0 评论 -
Java 对象内存模型系列-1st
此心光明,亦复何言 『Everything is an object in java』在Java中,万物皆是对象。在我们日常工作中,我们都知道所谓的『对象』就是 Object 以及继承自Object的类的实例。另外我们也知道Java的对象都是存储分配在堆上的。(PS:这里不讨论JVM的优化内容) 开发这么过年,你优化性能的时候肯定考虑过一个对象的大小,但是你有没有想过堆上到底存储的是什么?这里的两个问题: 对象所占内存的大小; 对象在内存中的样子; 如果不知道What,就开始来猜大小,这就纯属X.原创 2020-07-29 22:58:22 · 244 阅读 · 0 评论 -
剖析LeakCanary—— 下篇
不要小看那些信靠上帝的人,祂能借着他们成就大事 本篇文章就是为了说明LeakCanary是如何打造Android平台上的内存泄漏监测过程。按照剖析LeakCanary—— 中篇的思路进行展开论述。 1. 总览LeakCanary的Android实现过程 这里先罗列一些涉及Android平台的具体实现类 AndroidWatchExecutor —> WatchExecutor Andr...原创 2020-04-15 23:22:18 · 320 阅读 · 0 评论 -
剖析LeakCanary—— 中篇
为善不见其益,如草里冬瓜,自能暗长; 为恶不见其损,如庭前春雪,势必潜消。 官网的一句话:千里之堤,溃于蚁穴 “A small leak will sink a great ship.” - Benjamin Franklin LeakCanary 这个库,作为Android开发者应该都不会陌生。它的主要作用就是帮助我们找出内存泄漏的地方,帮助我们开发者减少OOM的发生。 LeakC...原创 2020-04-14 23:52:30 · 342 阅读 · 0 评论 -
剖析LeakCanary—— 上篇
狭路相逢宜回身,往来都是暂时人。 1.吐槽大会 今天刚到工位上组内同事跑过来问我,What’s 引用队列? 中午吃饭闲聊时,才知道面试被问住啦。这里根据其描述,大概总结如下: Java中的四种引用类型?并简述一下其区别? 平时开发中一般用到哪几种啊?(据实回答,否则分分钟打脸,同事的脸现在还是红的呢 ~2333) 了解**引用队列(Reference Queue)**吗?(这都回答不出来...原创 2020-04-14 23:51:23 · 259 阅读 · 0 评论