一、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
很多Java面试的时候,都会问到有关Java垃圾回收的问题,提到垃圾回收肯定要涉及到JVM内存管理机制,Java语言的执行效率一直被C、C++程序员所嘲笑,其实,事实就是这样,Java在执行效率方面确实很低,一方面,Java语言采用面向对象思想,这也决定了其必然是开发效率高,执行效率低。另一方面,J...
分类:
编程语言 时间:
2014-05-01 06:26:46
阅读次数:
499
1.1
方法区:方法区是系统分配的一个内存逻辑区域,是JVM在装载类文件时,用于存储类型信息的(类的描述信息)。方法区存放的信息包括:
1.1.1类的基本信息:每个类的全限定名每个类的直接超类的全限定名(可约束类型转换)该类是类还是接口该类型的访问修饰符直接超接口的全限定名的有序列表 ...
分类:
编程语言 时间:
2014-05-01 04:44:12
阅读次数:
363
在Java多线程程序中,由于线程调度,指令间的次序在每次运行时都可能不相同,有时候,我们需要得到指令次序,用来分析程序的行为。这样细粒度的底层行为用一般方法很难完成,我们需要借助 JVM Tool Interface,即JVMTI,来帮助我们获取Java虚拟机执行时的信息。本文先介绍编写JVMTI程序的基本框架,然后介绍如何使用JVMTI来获取多线程程序中指令之间的次序。...
分类:
编程语言 时间:
2014-04-29 13:11:22
阅读次数:
892
java的类加载机制默认情况下是采用委托模型:当加载某个类时JVM会首先尝试用当前类加载器的父类加载器加载该类,若父类加载器加载不到再由当前类加载器来加载,因此这种模型又叫做“父优先”模型。
但是在实际项目中我们可能会要求先从当前类加载加载再从父类加载器加载,如项目中的某类的版本可能和contain...
分类:
编程语言 时间:
2014-04-29 11:15:46
阅读次数:
423
java的String是不可变类。为了提高效率,java为String类提供了String池。
当我们使用形如String s="abc"的代码为字符串赋值时,JVM首先会检查字符串常量池中是否有"abc"这个字符串,如果有就直接将其地址赋给s;若没有,则在Stirng池中创建一个字符串对象“abc”,再将其地址赋给s。...
分类:
编程语言 时间:
2014-04-27 22:48:10
阅读次数:
486
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