java 基础常识

来源:互联网 发布:协同过滤算法应用 编辑:程序博客网 时间:2024/04/26 05:39

java 与 C++ 的区别
1 取消了动态内存的分配的回收
2 取消了指针
3 安全(不允许数组越界等)
牺牲了执行效率,提高了开发效率

Write once run anywhere  编译一次,到处运行
跨平台
普通的程序语言   写源代码--->编译(二进制的机器码 与操作系统有关)--->连接--->执行
源码可以跨平台,但是编译完生成的机器码是不可以跨平台的
JAVA语言的过程   写源代码--->编译--->生成了字节码(类文件 是二进制的但是与底层的机器码无关)--->JVM
JVM-->首先是一个软件,他的作用是屏蔽了底层操作系统的环境,对上边提供字节码运行的方式
JVM虚拟机是不跨平台的,他编译生成的字节码文件是跨平台的.

JDK : JAVA development kit   JDK包含一个JRE而JRE包含一个JVM
JRE : Java runtime environment 运行环境  他只能运行字节码(不能运行编译命令)
JVM : Java virtual machine Java 核心部件,他是嵌套在JRE里的,他们是不可分割的.
J2SDK : Java 2 软件平台的软件开发工具包
J2ME : Java 2 Micro Edition
J2EE : Java 2 Enterprise Edition
J2SE : Java 2 Platform Standard Edition

JAVA文件夹下有个jdk目录.
下边有bin目录(放置的是可执行的一些程序)
jre(java运行环境)

配置环境变量:
JAVA_HOME=代表的是jdk的安装目
PATH=$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib:.   给出字节码文件的搜索路径(Windows下引用原有的值%path%;

类的运行:
根据classpath查找字节码文件
将字节码文件加载到jvm中
执行main方法
 

一个.java文件可以定义多个类,但是一个类只能写一个公开的类,而且公开类的类名必须和文件名相同(不包括扩展名),
在一个源文件中写几个类,编译就会生成几个.class文件

System.out.println(字符串);输出字符串

+号两边如果都是数值类型的 他就把这2个数字加起来
如果一边是字符串,另一边是字符类型的,他会先把那个数值类型的转变成字符串类型,然后将2个字符串连接起来
如果两边都是字符串的话,那他就直接把2个字符串连接起来

Hello.java

public class Hello{
 public static void main(String args[]){
  System.out.println("hello");
 }
}

 

一个类要运行那么这个类里必须要有main函数才能运行
public static void main(String[] args){

}
这个方法是固定写法,其中只能变的有public 和 static位置可以换一下,然后就是args 形参的名字可以自己写别的,还有就是String后边的方括号可以写到args[]


包  包命名的规则com.tarena.   一般是域名倒过来写www.tarena.com.cn 这样可以缩小命名冲突的几率   包的结构也是相当于文件夹  方便管理这些类
package 语句只能出现在第一条语句,而且只能出现一次..

例如:com.tarena.corejava.day01;

包名+类名  叫做权限定名

编译
javac -d 目录 java文件  把编译好的字节码放在指定目录中,同时生成包结构
运行
java 包结构.java文件
例如:
javac Hello.java -d . 如果Hello.java里边有包结构的话,他会自动给你创建好与包名相对应的文件夹并且把编译好的字节码文件放到相应的包里边

运行一个类的时候.如果这个类是带包结构的类,那么java+权限定名--->但是运行这个命令的时候必须在最外层包的包外,

例如:java com.tarena.corejava.day01.Hello

==>如果源文件声明了包则编译后的字节码文件必须放在与包结构相同的目录结构之下,使用

其他java命令
javadoc 生成java文档  :javadoc java文件 -d 目录-->将生成的文档放在指定目录下
jar 生成jar文件:归档
jar -cvf  create 新的jar文件  visable 可视的  file 指定jar文件的文件名
jar -cvf abc.jar ./corejava  把当前目录下的corejava目录下的东西压缩成abc.jar

注释:
//  单行注释
/*多行注释*/
/**文档注释*/ 可被javadoc提取生成文档

java中间件产品开发过程

1、开发中间件产品
 将所有文件打包成jar文件
2、使用者将jar到本地机上,并将jar文件添加到classpath路径中,这样就可以使用下载的工具包

如何访问其他包下的类

1、权限定名.方法名();
2、如果不想每次都这么写的话,可以用import com.tarena.Hello.java;
3、如果要用到这个包下的多个类,可以这么写import com.tarena.*;

注:import语句可以写多个,


特殊jar

$JAVA_HOME/jre/lib/rt.jar
这个文件叫做JAVA的归档文件..这里边放的是压缩好的按照包结构组织好的一些字节码文件  
这个文件不用放到classpath里边JVM 会到当前包下去找你用到的类 如果那没有的话他会到rt.jar里边去找.如果着还没有的话他还会到classpath里边去找

特殊包:java.lang ,自动导入,不需要import

练习:开发一个java中间件,并使用

 

 

原创粉丝点击