引用 Java 虚拟机接管了所有的内存分配与回收工作,极大地减少了程序员的工作量和错误率。GC 在回收内存时,通常采用被称为可达性分析的算法判断一个对象是否可以回收。而在可达性分析中,对象的引用有着决定性的作用。在下图中,GC 从 GC Roots 开始顺着引用链往下寻找对象,发现当前有引用的对象为 ...
分类:
编程语言 时间:
2017-03-24 00:18:57
阅读次数:
223
脏读一个常见的概念。在多线程中,难免会出现在多个线程中对同一个对象的实例变量或者全局静态变量进行并发访问的情况,如果不做正确的同步处理,那么产生的后果就是"脏读",也就是取到的数据其实是被更改过的。注意这里 局部变量是不存在脏读的情况多线程线程实例变量非线程安全看一段代码:public class ... ...
分类:
编程语言 时间:
2017-03-23 18:56:20
阅读次数:
281
1、静态方法的定义 Js代码 var BaseClass = function() {}; // var BaseClass=new Function(); BaseClass.f1 = function(){//定义静态方法 alert(' This is a static method '); ... ...
分类:
Web程序 时间:
2017-03-22 15:13:48
阅读次数:
273
一直都常听同学们和老师们讲过一些关于java程序中的一些执行流程和执行顺序,从来也没自己系统的总结过。今天突来兴趣,总结一下,也算给自己做了学校笔记。 一、首先在了解程序的一些加载顺序流程开始前,首先先来了解一下一个对象的常见组成部分。变量,常量,静态变量,构造函数体,静态代码块,代码块,方法体。当 ...
分类:
编程语言 时间:
2017-03-21 12:22:28
阅读次数:
211
static变量:声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间 stat ...
分类:
其他好文 时间:
2017-03-21 12:17:32
阅读次数:
106
Static: 1. 在变量,方法前修饰表示静态方法,静态变量。 2. 此种形式为静态代码块,用于初始化同时被final static修饰的变量。(当然,更常用的方式其实是在变量处直接赋值) 静态代码块的内容会被直接在类加载时运行 运行结果如下: This line will be default ...
分类:
编程语言 时间:
2017-03-19 15:51:34
阅读次数:
191
1.JVM初始化步骤 ①,如果类还没有加载连接,则虚拟机先加载并连接 ②,父类还没有被初始化,则先初始化父类 ③,如果类包含初始化语句,则系统依次执行这些初始化语句 2.类初始化时机 ①,使用new创建类的实例 ②,访问类或接口的静态变量,或者对静态变量进行赋值 ③,调用类的静态方法 ④,反射 ⑤, ...
分类:
编程语言 时间:
2017-03-19 15:44:23
阅读次数:
214
public class MainActivity extends Activity{ private static final String TAG = "MainActivity"; private static Context sContext; @Override prot... ...
分类:
其他好文 时间:
2017-03-18 23:59:44
阅读次数:
345
1.静态常量: 静态变量使用得比较少,但静态常量使用得比较多,例如,在Math类中定义了一个静态常量: public static final PI = 3.141592653; 在程序中,可以采用Math.PI的形式获得这个常量。 如果关键字static被省略,PI就变成了Math类的一个实例域, ...
分类:
编程语言 时间:
2017-03-18 20:02:59
阅读次数:
161