摘要:
什么是OOM? 当前占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存限制就会抛出Out Of Memory异常。 一些容易混淆的概念: 内存溢出:指的就是OOM。 内存抖动:是短时间内大量的对象被创建,然后又被马上释放这些顺间所产生对象,会严重点用内存区【最近刚分配的对象会放在Yo 阅读全文
摘要:
插件化由来: 65536/64K【技术层面上】随着代码越来越大,业务逻辑越来繁杂,所以很容易达到一个65536的天花板,其65536指的是整个项目中的方法总数如果达到这个数量时则不无法创建新的方法了,所以基于这个原因插件化就产生了。 功能层面的解耦、维护团队的分离,这也是大势所趋,每个团队会维护一个 阅读全文
摘要:
在上一次【http://www.cnblogs.com/webor2006/p/8905978.html】中学习了类加载器理论的一些内容,其中回顾一下关于类的初始化时机的这段文字: 而截图中也说明了这个结论在之前篇幅中也已经详细说明过了,那再拧出来有何意义呢?因为以前举的例子并不能很好的说明上面的结 阅读全文
摘要:
在上一次【http://www.cnblogs.com/webor2006/p/8419565.html】中演示了多Product多Consumer假死的情况,这次解决假死的情况来实现一个真正的多线程下的生产者消费者模型,在解决之前来看一下wait()和notify()的官方文档,因为假死的原因就跟 阅读全文
摘要:
图例说明: 这节继续偏理论化的来了解类加载的一些东东,先来看一张图: 该图描述了类加载顺序相关的一些信息,对图上的进行一下说明:假设有HelloApp这个类,首先会被类加载器所加载: 如果加载失败了则直接抛出异常: 而如果被类加载器给加载成功了接下来则处理链接阶段了: 当然此时就会涉及到如下阶段: 阅读全文
摘要:
接口初始化规则: 在之前的例子中都是围绕类来进行的,这次来看一下接口的初始化相关的东东,直接新建一个例子: 此时编写main方法去调用接口里面的字段: 照着之前【http://www.cnblogs.com/webor2006/p/8835953.html】类的例子来看,如果主动使用了子类那其它的父 阅读全文
摘要:
学习: 说来惭愧,开发这么多年了还木有“完完整整”的看过一本英文技术相关的书籍,而对于新的知识的学习通常还是从中文教程开始的,而其实学技术最好的办法就是直接通过阅读官方文档按最正确的姿势来学是最有效也是最权威的,毕境从英文到中文肯定还是有一定的翻译误差,另外对于编程来说基本都是跟英文打交道,所以能够 阅读全文
摘要:
助记符补充: 在上一次【http://www.cnblogs.com/webor2006/p/8849520.html】中接触到了一些字节码的助记符,其中说到了“iconst助记符”,如下: 对它的总结如下: 也就是iconst包含iconst_1到iconst_5,其实还落了两个,一个是0,一个是 阅读全文
摘要:
初步配置JVM参数: 上节中【http://www.cnblogs.com/webor2006/p/8835953.html】对于类的主动和被动使用做了一个实验,继续沿着这个实验往下扩展,先来回顾一下代码: 此时说明MyChild1木有被初始化,而根据之前学的整个阶段而言: 在初始化之前还有加载和连 阅读全文
摘要:
继续接着上次【http://www.cnblogs.com/webor2006/p/8447586.html】的类加载的话题继续往下学习,这次并非纯理论了,会涉及到代码的论证,赶紧开始。 类的加载、连接与初始化: 先用一张图来对之前讲过的完整过程复习一下: 接下来进入新知识的学习: Java程序对类 阅读全文