长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yiel..
分类:
编程语言 时间:
2016-06-08 10:49:55
阅读次数:
422
一 JAVA运行时内存区域 JVM在加载class文件时,会将class文件定义的数据结构转为运行时内存中的数据,那么jvm是如何安排运行时的内存区域呢? jvm将运行时内存划分为以下几个部分: 堆:所有线程共享 方法区:类信息、静态变量、常量等 运行时常量池:class文件的常量池(字面常量和符号 ...
分类:
编程语言 时间:
2016-06-05 23:20:04
阅读次数:
181
上学时C#老师讲到对象有两类方法,静态方法(Static)和实例方法(非Static),当时不理解静态是为何意,只是强记。 后来从事了前端的工作,一直在对类(即对象,Js中严格来说没有类的定义,虽众所周知,这里还是赘述一番,以免产生歧义)的操作上,严重缺乏整体概念,最近看extetnd中再次提到拓展 ...
分类:
Web程序 时间:
2016-06-02 17:52:09
阅读次数:
186
一:Java内存区域与内存溢出异常
在运行Java程序时,Java虚拟机会把管理的内存划分为若干个不同的数据区域。
Java虚拟机运行时数据区
数据区域图中,除了方法区和堆区是线程共享区外,其他三个是线程隔离的数据区(private)
程序计数器(Program Counter Register):属于线程私有的,占用的...
分类:
其他好文 时间:
2016-06-02 14:53:27
阅读次数:
226
静态变量:线程非安全。 加static关键字的变量,只能放在类里,不能放到方法里。 静态变量即类变量,位于方法区,为所有对象共享,共享一份内存,一旦静态变量被修改,其他对象均对修改可见,故线程非安全。 实例变量:单例模式(只有一个对象实例存在)线程非安全,非单例线程安全。 没有static关键字的变 ...
分类:
编程语言 时间:
2016-06-01 13:00:18
阅读次数:
422
一、LayoutInflater.inflate(layoutId, root, boolen)中三个参数的意义及作用
(可以参考鸿洋前辈博客地址:http://blog.csdn.net/lmj623565791/article/details/38171465)
主要知识点其实很少,如下:
若temp为layoutId所代表的布局,inflate的三种方法区分如下:
Vie...
分类:
移动开发 时间:
2016-05-31 22:36:03
阅读次数:
274
Objective-C里面既有实例方法也类方法。类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method)。工厂方法的称谓明显和一般意义上的工厂方法不同,从本质上来说,类方法可以独立于对象而执行,所以在其他的语言里面类方 ...
分类:
其他好文 时间:
2016-05-31 20:40:22
阅读次数:
185
在Java的实现中,new出来的String对象一般是放在堆中的。 如果是 String s ="xxx"; 这种,那就是放在常量池中. JDK6将常量池放在方法区中。 方法区此时也是持久代。 但是从JDK7开始, 常量池的实现 已经从方法区中移出来放到 堆内存里面了。 ...
分类:
其他好文 时间:
2016-05-28 19:13:40
阅读次数:
711
常量池、perm(持久代)、方法区、栈 常量池指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。 除了包含代码中所定义的各种基本类型(如:int、long等等)和对象型(如String及数组)的常量值(final)还包含一些以文本形式出现的符号引用,比如: #类和接口的全限定名 ...
分类:
其他好文 时间:
2016-05-28 19:01:49
阅读次数:
207
一直想把这个特别重要的关键词的底层实现搞明白。(当然现在也没有完全明白,如果有错误以后修改这篇文章) 首先,这个关键词synchronize可以说是个语法糖,它的具体用法网上很多博客都讲的比较明了了。 简而言之就是对一个对象“加锁”。首先,找个地方的对象不一定是堆里面的类的实例对象,也有可能是方法区 ...
分类:
编程语言 时间:
2016-05-27 20:07:20
阅读次数:
250