1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 J ...
分类:
其他好文 时间:
2017-08-10 22:30:18
阅读次数:
149
内容基本来自周志明 深入理解Java虚拟机 第二版 第三章 。这本书还可以,不过好像也没什么其他中文的关于jvm比较好的书了 jvm要做垃圾回收时,首先要判断一个对象是否还有可能被使用。那么如何判断一个对象是否还有可能被用到? 如果我们的程序无法再引用到该对象,那么这个对象就肯定可以被回收,这个状态 ...
分类:
其他好文 时间:
2017-08-08 23:03:29
阅读次数:
195
MySQL数据库分库分表备份脚本===================学员分享分库分表==========================脚本单双引号的区别:单引号是强引用,强制输出是所见即所得。双引号是解析变量和多个字符串、数字等连接一个字符串条件1||条件2或假真真假条件1&&条件2并真真假假!条件1&a..
分类:
数据库 时间:
2017-08-07 01:21:04
阅读次数:
202
// 捕获音视频 - (void)setupCaputureVideo { // 1.创建捕获会话,必须要强引用,否则会被释放 /* 协调输入与输出之间传输数据, 系统作用:可以操作硬件设备 工作原理:让app与系统之间产生一个捕捉会话,相当于app和硬件设备之间有联系,我们只需要把硬件输入对象和输... ...
分类:
其他好文 时间:
2017-08-05 13:23:18
阅读次数:
213
如何判断对象生死? 有2种方法:引用计数算法、可达性分析 引用计数法: 有地方应用的话,计数就+1,没有的话就-1。虽然效率高,但是存在缺点,就是对象的相互循环引用的问题。 引用的分类: 强引用、软引用、弱引用、虚拟引用 整个类加载过程分为7部: 加载-》验证-》准备-》解析-》初始化-》使用-》卸 ...
分类:
其他好文 时间:
2017-08-04 18:20:14
阅读次数:
116
强引用是使用最普遍的引用:Object o=new Object(); 特点:不会被GC 将对象的引用显示地置为null:o=null; // 帮助垃圾收集器回收此对象 举例ArrayList的实现源代码:<img src="https://pic2.zhimg.com ...
分类:
其他好文 时间:
2017-08-02 11:51:21
阅读次数:
117
java的引用类型分四种:强引用-软引用-弱引用-虚引用 1、强引用: java默认的引用就是强引用,尽管jvm内存不足,在gc的时候也不会进行回收,会抛出内存溢出的异常。 Person p = new Person();就是一个强引用 2、软引用: 软引用在jvm内存充足的时候,不会被回收,在不充 ...
分类:
其他好文 时间:
2017-08-01 15:42:40
阅读次数:
127
之前,看到关于blcok外使用__weak弱化对象,blcok内再用 __strong 强引用的原因: 保证对象在blcok中不会被提前释放,当blcok执行完之后,自动释放该对象。 今天看了一下__weak修饰的对象,在被使用的时候,每次使用都会被注册到autoreleasepool中,例如: { ...
分类:
其他好文 时间:
2017-07-28 11:09:09
阅读次数:
158
1.为什么代理要用weak?代理的delegate和dataSource有什么区别?block和代理的区别? A:为了避免循环引用。weak指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制。strong该对象强引用delegate,外界不能销毁delegate ...
分类:
移动开发 时间:
2017-07-16 21:54:57
阅读次数:
2030
在android项目开发的时候,内存问题一直都是很困扰我们的常见的问题,在实际开发中,如何在开发时就很好的约束&控制内存已经成为了一件恨重要的事情了。 1.为什么要在开发时就要约束内存 因为小编从事过不同类型的APP的开发,混合式语言开发是我们现在开发中使用最常见的一种,在不同的脚本语言的时候,我们 ...
分类:
移动开发 时间:
2017-06-28 20:25:56
阅读次数:
210