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