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文件是不会有注释的,



本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4833490.html,如需转载请自行联系原作者

相关文章
|
分布式计算 Java API
赶快看看Java11,不然你就out了!
由于直接从Java8跨越到Java11,所以特性介绍就把Java9-Java11的部分特性一起介绍一下。想要了解Java8特性的朋友可以去我的博客找「Java8系列」。
659 3
赶快看看Java11,不然你就out了!
|
Java
Java常见的坑(二)
你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
87 0
|
存储 缓存 Java
java7 WatchService 您用过吗?
java7 WatchService 您用过吗?
135 0
|
存储 算法 Java
一带而过-Java与生活
一带而过-Java与生活
164 0
一带而过-Java与生活
|
小程序 Oracle Java
Java小史:从0到1
简单介绍下java的历史
200 0
Java小史:从0到1
|
存储 Java
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
394 0
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
|
Java
java14-java命名规范
java14-java命名规范
120 0
|
存储 Java C++
C++和java的比较
C++和java的比较
133 0
|
安全 Java
java实用类
java实用类
115 0