`
lpj2007
  • 浏览: 5920 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表

JVM内存区解析

    博客分类:
  • JAVA
Java虚拟机运行时数据区(JVM所管理的内存)包括: 1) 程序计数器(Program Counter Register): 一块较小的内存空间,作用是作为当前线程所执行的字节码的行号指示器。 为了每个线程在切换中都能记住相应   的执行位置,每个线程都有自己独立的程序计数器。所以该内存是属于线程私有的。 该内存区域不存在OutOfMemoryError错误。    2)Java虚拟机栈(Java Virtual Machine Stacks):也是线程私有。它的生命周期跟线程相同。描述的是Java方法的执行的内存模型。 每个方法的执行对应着栈 帧的入栈和出栈。 该内存可能抛出两种 ...
1. 类的初始化          Java类从class文件到可以生成对象,需要经历类的加载、连接和初始化。        依次说明下:        (1)类的加载:                 查找并加载类的二进制数据,即:将类的.class文件中的二进制数据读入到内存中,将其放在运行时           数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。(说明下:此处所说的方法区就是指JVM启动时分配的一块内存区域,其大小默认为64M,可以通过-XX:PermSize指定,即人们常说的永久代)。此处还需要补充的是当 ...
1. 环视结构(lookaround)不匹配任何字符,只匹配文本中的特定位置,这一点与单词分界符‘\b’, 锚点'^', '$'相似。   2.顺序环视(lookahead)  顺序环视从左至右查看文本,尝试匹配子表达式,如果能匹配,就返回匹配成功的信息。   3.肯定型顺序环视(positive lookahead)  用特殊的序列(?=...)表示,如:(?=\d), 它表示如果当前位置的右边的字符是数字则匹配成功。   4. 肯定型逆序环视(positive lookbehind) 它从右向左查看文本, 用特殊的序列(?<=...)表示,如:(?<=\d),它表 ...
\s 匹配所有的空白,包括空格键按出的空白和tab键按出的空白,也可以表示为[ \t]+。   \S 表示除\s之外的任何字符。   \w 等价于正则表达式:[a-zA-Z0-9_], 即任意的字母和数字,注意: 有的版本的引擎不支持下划线。   \W 表示非字母和数字,即等价于:[^a-zA-Z0-9_],同样有的版本的引擎不支持下划线。   \d 表示数字字符, 即:[0-9]   \D 表示非数字字符,即:[^0-9]   (? : ...) 可以用来分组,但不会被捕获。
1. 装载程序装载类,如果发现有基类,就先装载基类,依次类推,直到最底层的基类。 2. 会在根基类开始执行static 域初始化,再在下一个衍生类初始化,依次类推。 3.基类和子类中所有的成员属性都相应初始化为默认值,基本数据类型为0, 引用类型为null。 4.调用根基类构造器,默认调用或者使用super方式调用。 5.初始化实例变量。 6.衍生类以此类推。 7.执行构造器剩余的主体部分。
1. function arguments: arguments 表示函数的参数列表数组。2. argument.callee property: 表示函数本身: function(x) { if (x <= 1) return 1; return x * arguments.callee(x-1); }   3.  Defining Your Own Function Properties: // Create and initialize the "static" variable.// Function declaration ...
1.原生数据类型包装对象(Primitive Datatype Wrapper Objects): note that any number, string, or boolean value can be converted to its corresponding wrapper object with the Object( ) function:var number_wrapper = Object(3);2.number,boolean,string按值传递 object按引用传递3. == 和 === 的不同点:===在两边的类型不一致时直接返回false,不考虑类型转换4.in ...
.   点号,匹配单个任意字符。   []  字符组,可以列出任意字符,元字符置于其中自动变为普通字符,例外:-或者^放置在首位分别表示普通的连字符“-”和取反。   [^]  排除型字符组,表示未列出的字符组。   ^  脱字符,匹配一行的起始位置。   $  美元符,匹配一行的结束位置。   \<  反斜杠小于,匹配单词的起始位置,并非所有版本都有效,可用\b替代。   \>  反斜杠大于,匹配单词的结束位置,并非所有版本都有效,可用\b替代。   |  竖线,匹配分隔两边的任意一个表达式。   ()限制竖线的作用范围,括号包含的部分作为一个整 ...
1.类既不可以是private,也不可以是protected, 只能是public或者包访问权限。 2.public类的名称必须完全与含有该编译单元的文件名相匹配,包括大小写。 3.如果编译单元内不带public类,则文件名可以任意命名。 4.代码复用的两种方式:组合和继承。优先考虑组合。 5.每一个非基本类型的对象都有一个toString()方法,而且当编译器需要一个String而你只有对象时,该方法便会调用。
1.单体测试类必须要继承TestCase类。 2.测试方法必须是public void 开头。 3.方法名称为test开头。 4.方法无参数。 5.Assert.assertEquals等方法的参数顺序:第一个为期望值,第二个为实际值。不要颠倒了。 6.可选运行方式:1)eclipse自带插件,以run as junit方式运行。2)文本形式:junit.textui.TestRunner.run(Class c); 3)GUI形式:junit.awtui.TestRunner.run(Class c) 7.所写的testcase不能依赖于测试方法的执行顺序。 8.对单个测试 ...
1.获取类对象:Class.forName("java.util.Date"); 注意类名必须为全限定名。   2.class.getInterfaces() 可获取所有的接口类对象列表。   3.class.getSuperclass()可获取基类类对象。   4.class.newInstance()可以获取该类的新实例。   5.class.getName()获取类对象的完全限定名。   6.class.isInterface()判断是否为接口。   7.class.getSimpleName()获取类对象简单名称。   8.class.ge ...
Global site tag (gtag.js) - Google Analytics