Java基础教程:Java内存区域 运行时数据区域 Java虚拟机在执行Java程序的过程种会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁. 根据<Java虚拟机规范>,Java虚拟机管理的内存将会包括以下几个运行时数据区域 程序计数器 程序技术器是一块较小的内存空间,可视为当前线程所执行的字节码的行号计时器. 在多线程开发中,为了线程切换后能恢复到正确的执行位置,每…
一.JVM.JRE和JDK的概念   对于初学者来说,这三个术语出现的频率很高,而且有关这它们的问题在面试题中也会经常出现.因此,理解它们的定义.区别和联系就显得尤为重要.在学习这几个专业术语之前,我们先来了解一下Java代码的编译运行过程.   机器语言是用二进制代码表示的,能够被计算机直接识别和执行的一种机器指令的集合.也就是说,通过机器语言,我们可以直接操控电脑去做任何我们想要执行的操作.但是,由于机器语言是用二进制表示的,这就导致了它学习成本高.代码晦涩难懂.不便于调试等缺点.试想一下,…
编译好Java字节码文件后,接下来就应该运行Java程序了. 运行Java程序需要使用JDK中提供的java命令,因为已经把java命令所在的路径添加到了系统的Path环境变量中,因此现在可以直接使用java命令来运行Java程序了. 在刚才打开的控制台中(如果控制台已经关闭了,那么就按“Windows+R”键打开运行窗口,然后输入“cmd”并点击“确定”按钮进入控制台,然后在控制台中输入“cd c:\java”进入字节码文件所在的目录)继续输入“java HelloWorld”,然后按回车键确…
简介 元注解是可以注解到注解上的注解,或者说元注解是一种基本注解,但是它能够应用到其它的注解上面 元注解有 @Retention.@Documented.@Target.@Inherited.@Repeatable 5 种 @Retention Retention 的英文意为保留期的意思.当 @Retention 应用到一个注解上的时候,它解释说明了这个注解的的存活时间. 它的取值如下: - RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视.…
Java 语言的文本数据被保存为字符或字符串类型.字符及字符串的操作主要用到 String 类和 StringBuffer 类,如连接.修改.替换.比较和查找等. 定义字符串 直接定义字符串 直接定义字符串是指使用双引号表示字符串中的内容,例如"Hello Java"."Java 编程"等 String helloWorld ="Hello World"; 使用 String 类定义 在 Java 中每个双引号定义的字符串都是一个 String…
Java的八种基本数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte.short.int.long.float.double.数值类型又可以分为整数类型byte.short.int.long和浮点数类型float.double.JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而…
Java并发性和多线程: (中文,属于人工翻译,高质量):http://ifeve.com/java-concurrency-thread-directory/ (英文):http://tutorials.jenkov.com/java-concurrency/index.html 总结: 1.我的实践笔记:http://www.cnblogs.com/EasonJim/tag/java%E5%B9%B6%E5%8F%91%E6%80%A7%E5%92%8C%E5%A4%9A%E7%BA%BF%…
数学运算符,逻辑运算,三目运算,位运算 double d2 = 314e2; //采用科学计数法的写法,表示10的2次方.= 31400.0 代码写的越简单越好   简化运算符 代码:x=x+y 可以变成x+=y 求模(%) ++(自增)〈++变量:表示先进行变量的自增1,而后再利用变量进行操作〉〈变量++:表示先使用变量的内容进行计算,而后自增〉,--(自减) int a = 3; int b = a++; //执行完后,b=3.先给b赋值,再自增. int c = ++a; //执行完后,c…
这个问题是从headfirst java看到的. 需求: 一个移动电话用的java通讯簿管理系统,要求最有效率的内存使用方法. 下面两段程序的优缺点,哪个占用内存更少. 第一段: Contact[]ca = new Contact[10]; while(x<10){ ca[x]=new Contact(); x=x+1; } //执行其余复杂工作 第二段: Contact refc; While(x<10){ refc = new Contact(); x=x+1; } //执行其余复杂的工作…
编写好Java程序的源代码后,接下来就应该编译该Java源文件来生成字节码文件了. 编译Java程序需要使用JDK中提供的javac命令,因为已经把javac命令所在的路径添加到了系统的Path环境变量中,因此现在可以直接使用javac命令来编译Java程序了. 使用Windows+R键打开“运行”然后输入cmd点击“确定”进入控制台,如图34所示. 图34  通过“运行”进入控制台 在控制台中使用cd命令进入HelloWorld.java所在的目录:C:\java.如图35所示. 图35  在…