java01

语言发展史:3代。

向着人更加容易思考的方向发展。

第一代:机器语言:010101组成的,第一台计算机在美国的费城,采用电子管结构,耗电大,速度很慢。

第二代:把010101用单词来描述,汇编,晶体管发明以后计算机快速发展,每18个月计算机性能翻一番,虽然使用了助记符,但是结构化不好。

第三代:高级语言,面向过程和面向对象,面向过程(C,Fortran,COBOL,PASCAL,ADA,),面向对象(C++,JAVA,C#)。C是美国贝尔实验室发明的,贝尔实验室也发明了晶体管,C是现代语言的鼻祖。贝尔实验室本来有一个B语言,B语言后来发展成C语言,IBM的Tinkpad由于不挣钱卖给了联想。IBM是超级大公司时微软是一个小公司。JAVA是美国的SUN公司提出的,JAVA=C++-,java是在C++上剪掉了一部分,java的核心是跨平台,C#不是跨平台的,微软是做操作系统起家的,所有产品必须与windows绑定,C#是微软抄袭SUN的Java,因为微软和sun产生了矛盾。Java和C#很多都是相近的。


java是SUN发明的,SUN目前已经被Oracle收购了,Oracle是世界上第二大软件公司,java的核心是开源和跨平台,跨平台就是说跨硬件平台。互联网的发展是一下子发展,指数式发展。java的核心优势是跨平台。


以下3种是JAVA语言的几个版本(高低版本的区别)
J2EE(JAVAEE-企业版):适合在服务器端跑,适合做服务器端开发(服务器开发使用这个版本),
J2SE(JAVASE-标准版):适合在个人电脑跑(学习JAVA基础使用这个版本),
J2ME(JAVAME-微型版):适合在消费性电子产品跑(很多手机游戏打开都会有一个java图标),
安卓和JAVAME没有任何关系,JAVAME是JAVA的一个版本,安卓是操作系统,只不过安卓里面的应用程序是用JAVA写的,

JDK:java development kit(java开发工具包)

JRE:java runtime evironment(java运行时环境)

JVM:(java虚拟机)


jdk包含了jre,jre包含了jvm。jvm是用来执行JAVA字节码文件。
要想Java程序运行起来,有jre就够了,jre小的版本只有几十K.要开发java就要jdk.


jvm:Java的跨平台是因为jvm,Java程序并不是与操作系统打交道,而是与虚拟机打交道。不同的系统有不同的虚拟机,windows有windows的jvm,linux有linux的jvm。


*.java(文本文件)->编译后->*.class(字节码文件)->字节码文件给虚拟机(不同的操作系统有不同操作系统的虚拟机)执行。


下载jdk在oracle里面下载,oracle里面有java,oracle最著名的是oracle数据库,oracle也收购了mysql数据库,weblogic也是oracle公司的,
JDK(7u21):u表示update,7u21就表示jdk7.21,
window x86表示windows32位系统,我的电脑-右键-属性-就可以看到系统是多少位的。


jdk的bin目录里面是exe文件,

新建源文件(文本文件-字符串)
1.编写代码:保存为Welcome.java
2.编译阶段(编译器创建class字节码文件):进入java文件所在目录,执行命令javac Welcome.java.
1)进入d盘,d:
2)进入mycode文件夹,cd mycode: cd=change directory(改变目录)
3)查看mycode文件下面的所有文件和子文件,dir
4)编译,文本文档是字符串,虚拟机不认识,虚拟机只认识字节码文件,所以要编译成字节码文件(*.class),javac Welcome.java
3.执行阶段:进入Java文件所在目录,执行命令,java Welcome 这里的Welcome是Welcome.class。

一个java文件不止对应一个class文件,

如果一个class前面加了public,那么类名必须和文件名保持一致,public class只能有一个,class可以有多个:
public class Welcome{
public static void main(String[] args){
System.out.println("de");
}
}

class Man{
}

class Car{
}

class Computer{
}


java源文件会经过javac编译成为class文件,class文件给虚拟机执行,class文件是不会有注释的,

原文地址:https://www.cnblogs.com/yaowen/p/4833490.html