一、Java 特点 1.简单: 和C++相比较 2.面向对象 3.跨平台 由于它是先编译后解释
+ JVM(屏蔽底层操作系统的差异)二、程序的运行一般有两种: 1.编译 源文件 ------> 编译器 机器码文件 快 无法跨平台2.解释 源文件
------> 解释器 逐行翻译并运行 慢 可以跨平台...
分类:
编程语言 时间:
2014-07-22 23:11:14
阅读次数:
441
在正式全面学习Java之前,有一些基础是需要了解的。1、语法;2、JVM;3、运算符号;4、三种程序基本结构。 1、语法
关于变量与常量的概念。变量是在内存中的一小块区域,我们在程序中通过变量名来访问该区域。每个变量在使用前必须先声明(也就是向JVM申请内存区域),然后必须赋值(向申请的区域...
分类:
编程语言 时间:
2014-07-22 23:09:16
阅读次数:
318
问题描述:今天一早,所有淡定下来后准备启动本地Tomcat,突然出现一堆错误:严重:
StandardServer.await: create[8005]: java.net.BindException: Cannot assign
requested address: JVM_Bind at...
分类:
编程语言 时间:
2014-05-01 15:18:07
阅读次数:
413
使用Runtime的addShutdownHook(thread)方法: 1 for(int
i=0; i<5; i++){ 2 System.out.println(i); 3 } 4 5 Thread th...
分类:
其他好文 时间:
2014-04-29 17:22:47
阅读次数:
311
java的类加载机制默认情况下是采用委托模型:当加载某个类时JVM会首先尝试用当前类加载器的父类加载器加载该类,若父类加载器加载不到再由当前类加载器来加载,因此这种模型又叫做“父优先”模型。
但是在实际项目中我们可能会要求先从当前类加载加载再从父类加载器加载,如项目中的某类的版本可能和contain...
分类:
编程语言 时间:
2014-04-29 11:15:46
阅读次数:
423
一、自定义类加载器的一般步骤Java的类加载器自从JDK1.2开始便引入了一条机制叫做父类委托机制。一个类需要被加载的时候,JVM先会调用他的父类加载器进行加载,父类调用父类的父类,一直到顶级类加载器。如果父类加载器加载不了,依次再使用其子类进行加载。当然这类所说的父类加载器,不一定他们之间是继承的...
分类:
编程语言 时间:
2014-04-29 10:37:47
阅读次数:
441
1、用户自定义的类加载器:要创建用户自己的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的findClass(String
name)方法即可,该方法根据参数指定类的名字,返回对应的Class对象的引用。findClassprotected Class findClas...
分类:
编程语言 时间:
2014-04-29 09:22:45
阅读次数:
546
jvm全称是Java Virtual
Machine(java虚拟机)。它之所以被称之为是“虚拟”的,就是因为它仅仅是由一个规范来定义的抽象计算机。我们平时经常使用的Sun
HotSpot虚拟机只是其中一个具体的实现(另外还有BEA JRockit、IBM J9等等虚拟机)。在实际的计算机上通过软件...
分类:
其他好文 时间:
2014-04-29 09:15:47
阅读次数:
281
Java 内存分配
一个完整的Java程序运行过程会涉及以下内存区域:
l 寄存器:JVM内部虚拟寄存器,存取速度非常快,程序不可控制。
l 栈:保存局部变量的值,包括:1.用来保存基本数据类型的值;2.保存类的实例,即堆区对象的引用(指针)。也可以用来保存加载方法时的帧。
l 堆:用来存放动态产生的数据,比如new出来的对象。注意创建出来的对象只包含属于各自的成员变量,并不包括成员方法。...
分类:
编程语言 时间:
2014-04-27 22:13:18
阅读次数:
349
1.jvm 内存结构
1)程序计数器
较小的内存区域,可以看作是当前线程所执行的字节码的行号指示器;每条线程独立;
2)java虚拟机栈
描述java方法执行的内存模型,即每个方法在执行的同时都会创建一个栈帧用户存储局部变量表、操作数栈、动态链接、方法出口等信息;即一个方法的调用直至完成的过程对应着一个栈帧的入栈到出栈的过程。同样是线程私有;
3)本地方法栈
对应虚拟机使用的nativ...
分类:
编程语言 时间:
2014-04-27 22:12:22
阅读次数:
440