- 浏览: 81173 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
-
zzw118:
楼主讲解得很好,学习了!
hibernate延迟加载 -
fengwei199181:
不错。
hibernate延迟加载 -
teacher1998:
写得挺全的,格式也蛮好,thanks
Cookie与Session专题 -
wfl888_2007:
谢谢!~ 又回顾了下基础! 看来要经常逛逛! 不然都忘了! ...
CoreJava学习笔记5 -
whaosoft:
基础挺重要的 没事就该看下呢
CoreJava学习笔记5
一、Java简介
Java语言是编译后再解释执行,Java源码是通过编译生成一种特殊的.class的中间字节码文件,然后再有JVM进行解释执行,JVM(Java虚拟机)是运行在操作系统中,用来屏蔽的系统间的差异。Java虚拟机处理编译后的字节码,并根据不同的系统来申请相应的资源,这样就可以保证程序的运行正常,在Java虚拟机的基础之上,由解释器来解释执行字节码文件。
Java虚拟机+解释器=JRE(Java RunTime Environment)Java运行环境
JRE+Java系统类库=JDK(Java Deveple Kit)JAVA开发工具包
Java简单特性:
① JVM本身是不能垮平台的。
② java语言对指针进行了上层的封装,它保证能够通过这个指针(引用),来访问有效的内存单元。
③ java语言不允许多继承,使继承关系成树状图,每个类都只能由一个父类。
④ java语言的开发效率高,但执行效率低。(相当于c++的55%)
⑤ java的垃圾回收机制,在java中new的对象不需要向c++一样进行delete操作,JVM会根据情况回收垃圾对象(懒汉机制,等待资源没有的时候才回收)。我们只能够建议JVM进行垃圾回收,例如(System.gc() RunTime.gc()这两个方法就是建议JVM进行垃圾回收的方法)。
JDK —— java开发工具包(类库和运行命令)
JRE —— java运行环境
JVM —— java虚拟机(解释执行的核心,对字节码进行翻译成运行环境的机器码,它可以屏蔽平台差异。但JVM是不跨平台的。)
二、使用Java是需要进行配置的环境变量
JAVA_HOME, 指明JDK安装的位置;
CLASSPATH, 指明类文件的位置;
PATH, 指明命令的可执行文件的位置。
比如:
Unix/Linux中JAVA环境变量的配置
在(.profile(Unix) /.bash_profile(Linux) /.bashrc(Linnx))这些文件中作以下配置
下面为配置实例:
JAVA_HOME=(指定JDK的安装目录) |
CLASSPATH=. (指定类文件的所在位置,类路径) 点是必须的,代表当前目录 |
PATH=$JAVA_HOME/bin:. (指明JAVA需要使用的命令的位置) |
Java的一些特点:
① Java是一种纯面向对象的语言,在Java中所有的方法必须写在class(类)中,包括main方法。Java源文件都是以“.java”为后缀的。
② java源文件的文件名必须和Java源文件中定义的public class(公开类)的类名相同。在Java源文件中只能写一个public class(公开类),一个Java源文件中可以写多个class(类),也可以在一个类中写另一个类,这是内部类的写法,在以后的课程中会讲到,一般我们在源文件中的类是并列的,也就是:
如:public class Test{}
③ Java中的(package)包,是一种特殊的目录结构,他会要求编译好的文件在指定的目录结构中,要使用包时需要使用package关键字。
注意:package关键字必须出现在代码的第一行,下面的代码中写了包,编译之后的.class文件需要在/test/java下,并且包在一个 Java源文件中只能定义一个
例如经典的“HelloWorld”实例:
第一个Java程序
package test.java; //java中的一种用以区分同名类的设置——包 |
public class HelloWorld{ |
public static void main(String[] args){ //主方法,JVM主线程 |
System.out.println("Hello world"); |
} |
} |
相应的在写完源代码保存的文件名必须和原码中写的 public class后写的类名一致,也就是HelloWorld.java
java源代码中的main方法的定义写法。main方法是程序的入口。
public static void main(String[] args){
System.out.println("Hello world");
}
java源文件也要先编译,使用javac xxx.java格式的命令得来编译,要运行一个java程序时,需要使用java命令,java 类名,运行编译后的字节码(.class)文件。
定义包结构要放在有效代码的第一行,package xxx.xxx,包的定义在一个程序中只能由一个,在加上包定义之后编译可以使用javac -d 路径 xxxx.java,这个-d这个命令行的参数可以指定包结构的位置“.”代表当前目录。在运行时要使用类的全限定名。
java xxx.xxx.xxxx用包名以点分隔。运行时要在包结构的上一层目录来运行。
package xxx.xxx; 定义包名
public class Xxx{}
xxx.xxx.Xxx,包名加类名,就是类的全限定名
例:
我们以上面的第一个java文件为例,那个文件中定义的类的全限定名就是test.java.HelloWorld
接下来带包的类是需要生成在指定的目录结构中的,javac命令的 –d 命令行参数可以自动生成包的目录结构
javac –d . HelloWorld.java (–d . 指定包结构生成在当前目录中)
java test.java.HelloWorld
Java HelloWorld.java –d classes
java –classpath=classes 报名. 类名
注意:在运行有包的类文件时,一定要在包的所在的目录
import 关键字,在使用其他包中的类文件,在类中,可以不必写全限定名直接写类名就可以了,这个关键字和C++中的#include “xxx”(表示包含,会将xxx插入到文件中)不同,他只不过是为了标识使用的是那个类,并且区分同名的类,在使用的时候不用写明类的全限定名。
四、Java程序的运行过程
Java程序的运行过程,执行java命令后,首先是启动java虚拟机,然后就是去找.class文件,并进行加载,先是从系统的类库中找(系统之会在跟目录下查找,所以需要完整类名),如果找不到的话会去CLASSPATH所设置的目录去找。然后加载到java虚拟机中。
五、java注释
单行注释 //......
多行注释 /* .......*/
文档注释/** ........<p>(换行标签)*/,用javadoc命令可以根据原码中的文档注释生成注释文档(html格式)。文档注释中可以使用 html标签。
javadoc -d 路径 (指定注释文档的保存路径)
文档注释一般写在类定义之前,方法之前,属性之前。
在文档注释中可以用 @author 表示程序的作者,@version 表示程序的版本,前两个注释符号要写在类定义之前,用于方法的注释@param 对参数进行注释,@return 对返回值进行注释 @throws对抛出异常的注释。
比如:
package tang.test; |
/** |
*这是一个用于演示javadoc使用方法的类 |
*@author tang |
*/ |
public class JavaTest{ |
/** |
*main 是程序执行的入口,他向屏幕打印“Hello” |
*@param args 用于保存命令行参数 |
*@return main 函数不需要返回类型 |
*@exception main函数没有抛出任何异常 |
*/ |
public static void main( String args[] ){ |
System.out.println( "Hello world" ); |
} |
} |
六、标识符(变量名)和关键字
Java代码中的“;”、“{}”、“ ” |
Java语句以分号分隔,Java代码(除包、类的定义和import之外)是包含在大括号内,忽略空格。 |
标识符 |
1) 用以命名类、方法和变量、以及包遵守JAVA的命名规范类以每个单词都以大写字母开头。方法和变量第一个字母不大写,常量名都大写,包名都用小写字母。 |
2) 只能以字符、“_”或“$”开头,可以使用数字,字符以及”_”、”$”作为变量名的组成部分,且Java的标识符是大小写敏感 |
3) 无长度限制。 |
4)可以使用中文作为标识符,不可以使用关键字作为标识符。 |
正确的标识符: _abc , $234 , |
For“注意Java是大小敏感的,所以这个For不是关键字” |
错误的标识符:234ad “不能以数字开头”,do “do是关键字不可用” |
goto,“goto虽然不是关键字,但是作为保留字也是不可以用作标识符的” |
七、Java中的关键字
Java中大部分的关键字是和C++相同的但是也有些许的修改,以下是需要注意的地方。
1)goto和const在java中虽然不再使用但是还作为关键字存在
2)java中没有sizeof这个关键字了,java中的boolean类型的值只能用true和false,且这两值是不能用作命名的。
3)java语言中没有无符号这个关键字(unsigned)
七、Java中的一种特殊文件—jar包
jar命令用于打一个xxx.jar文件
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序
示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvf classes.jar Foo.class Bar.class
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有
文件存档到一个名为 'classes.jar' 的存档文件中:
jar -cvfm classes.jar mymanifest -C foo/ .
一般在使用使用jar cvf 文件名.jar 文件所在路径(xxx/xxx/xxx.class)也可以压缩一个目录,只要在制定路径是指定为文件夹,jar命令的命令行参数在使用时可以以“-”开头,也可以不用。
发表评论
-
在myeclipse下给代码加注释
2010-10-26 14:16 2064给类加注释: 方法一 ... -
Cookie与Session专题
2010-09-30 21:52 963Cookie与Session专题一、coo ... -
内部类的分类
2010-09-29 18:04 13007.11. 内部类(注:所有使用内部类的地方都可以不用内 ... -
Java与中文的问题:char变量可以存中文;中文类名,变量名,方法名
2010-09-29 17:06 1273char容量为16bit,可以存中文 public ... -
如何使用Java解析XML
2010-09-23 00:09 1788XML_day01_pm 1.XML可宽展编辑语言 指令: ... -
JDBC课程笔记
2010-09-23 00:02 1106JDBC_day01_am 1. 2.解耦合 ... -
JDBC中Statement和PreparedStatement的区别
2010-09-22 23:59 991Statement:创建时不传递sql语句;每传入数据库一条s ... -
CoreJava学习心得17
2010-05-01 20:40 882JAVA5.0 的注释 (Annotation) ... -
CoreJava学习心得16
2010-05-01 20:35 963Java5.0的新特性 自动装 ... -
CoreJava学习心得15
2010-05-01 20:30 766反射 反射,在运行时 ... -
CoreJava学习心得14
2010-05-01 20:28 964ObjectInputStream和ObjectOutputS ... -
CoreJava学习心得13
2010-05-01 20:24 8951Java中的I/O 使用I/O流访问file中的内容。 J ... -
CoreJava学习笔记12
2010-05-01 20:23 970死锁问题 多线程不释 ... -
CoreJava学习笔记11
2010-05-01 20:20 772Java多线程编程 进程,即运行中的程序,多任务操作系统中并 ... -
CoreJava学习笔记10
2010-05-01 20:16 740awt事件模型(观察者模式)(重点) 事件模型中,包括事件源 ... -
CoreJava学习笔记9
2010-04-27 22:19 923java中的图形界面 GUI,图形化的用户接口,为了人机交互 ... -
CoreJava学习笔记8
2010-04-27 22:18 935[size=medium] ... -
CoreJava学习笔记7
2010-04-27 22:07 906很重要的一章哦 Java封 ... -
CoreJava学习笔记6
2010-04-26 22:27 1015java中的接口 接口是一种程序结构,是特殊的抽象类。接口中 ... -
CoreJava学习笔记5
2010-04-26 22:21 1028java中的修饰符 static 表示静态,它可以修饰属性, ...
相关推荐
### CoreJava接口学习总结 #### 接口定义与特性 接口是Java编程语言中的一个重要概念,它是类的一种特殊形式,用于定义一种规范或协议。在Java中,接口被设计成一种特殊的类,与普通的类(`class`)是并列存在的。...
《Core Java》学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你有什么不理解...
自己学习corejava核心技术卷一时的学习笔记和心得,提出的一些问题
### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...
【Core Java心得笔记】主要涵盖了Java编程的基础及进阶知识,包括对象导向编程、类与对象、封装、继承、多态、接口、异常处理、集合框架、IO流、线程等核心概念。以下是对这些知识点的详细阐述: 1. **对象导向编程...
这份名为"Corejava 核心java笔记"的资料应该包含了作者在学习Java基础时的一些理解和实践心得,对于初学者来说是一份宝贵的参考资料。 1. **Java语法**: Java语法简洁而严谨,包括变量声明、数据类型(如整型、浮点...
"UNIX、Oracle、CoreJava语言基础实训心得.pdf" 本文档主要介绍了UNIX、Oracle和Core Java语言基础实训的知识点,涵盖了宽带运营支撑系统、UNIX基本命令、Oracle数据库SQL命令、Java语言的基本概念等方面。 一、...
在本次的实训中,主要涉及了三个核心领域:UNIX操作系统、Oracle数据库管理和Core Java编程语言。以下是关于这些领域的详细知识: 1. **UNIX操作系统**: - **WOSS系统**:Wide-Brand Operation Support System是...
在本次“UNIX、Oracle、Core Java 语言基础实训”中,我深入学习了这三个关键领域的基础知识,并且在实践中积累了丰富的经验。UNIX系统是广泛应用于服务器环境的操作系统,其稳定性和高效性是其核心优势。在实训过程...
作为.NET框架的重要组成部分,C#结合了C++的强类型系统和Java的简洁性,提供了一种高效、安全且现代的编程环境。 在学习C#的过程中,有几个核心知识点是必不可少的: 1. **基础语法**:C#的基础语法包括变量声明、...
本文将基于"C#自学学习心得"的标题和描述,详细探讨C#中的WinForm和WebForm开发,以及相关的学习经验。 首先,让我们从C#的基础开始。C#是由微软公司开发的一种面向对象的语言,它具有简洁、类型安全和性能高效的...
在Spring框架的学习过程中,我们可以深入理解到它在Java企业级应用中的核心作用。Spring作为一个开源的、全面的企业级应用开发框架,它简化了Java EE(Enterprise Edition)开发,提供了丰富的功能,包括依赖注入...
【描述】:这份读后感来源于一篇《电子商务基础》课程的大作业,作者蒋凤娇在指导教师张文胜的指导下,于2011年6月完成了对JAVA入门书籍《Core Java》的学习心得。 【标签】:“文档资料” 【正文】: 《Core ...
总的来说,这份"Java笔记图解11"资料涵盖了从基础到进阶的Java编程知识,从集合框架到框架使用,再到Map接口的深入学习,以及个人学习心得和核心技术的详细研究。通过这些内容的学习,可以系统提升Java编程技能,为...
Cay S.Horstmann等编著,公飞编译的《Java核心技术》(Core Java), 自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是, Java经典书籍。第8版针对Java SE 6平台进行了全面更新,囊括了Java平, 台...
在本文中,我们将深入探讨这两个关键领域,并基于给出的"Spring学习心得(二)——日志和数据库"这个标题进行详细的阐述。 首先,让我们从日志开始。在Java应用程序中,日志系统扮演着调试、监控和问题排查的关键角色...
因此,在入门阶段可以选择Prentice Hall PTR的《Core Java 2》(国内称为《Java 2核心技术》),这本书更为适合初学者,目前已经有第七版,可以在网上找到电子版资源。另一本不错的选择是O'Reilly出版社的《Java in ...