第一代语言
二进制的方式
二进制:0101110010101
不经过任何转换
第二代语言
汇编语言
指令代替二进制
解决无法读懂机器语言的问题
第三代语言
-
摩尔定律:当价格不变时 集成电路上可容纳晶体管数目 越每隔18个月增加一倍 性能也将提升一倍 每一美元买到的电脑性能 每隔18个月翻两倍以上
-
高级语言
面向过程面向对象两大类
c语言面向过程 c++、java面向对象
C&C++
- 1972年C诞生
- 贴近硬件,运行极快,效率极高。
- 操作系统,编译器,数据库,网络系统等◆指针和内存管理
———————————— - 1982年C++诞生
- 面向对象
- 兼容C:
- 图形领域、游戏等
Java
初生
- 1995年的网页简单而粗糙,缺乏互动性。
- 图形界面的程序(Applet)
- Java 2标准版(J2SE):去占领桌面
- Java 2移动版(J2ME):去占领手机
- Java 2企业版(J2EE):去占领服务器
发展
- 构建工具: Ant, Maven, Jekins
- 应用服务器: Tomcat, Jetty, Jboss, Websphere, weblogic ◆Web开发: Struts,Spring,Hibernate, myBatis
- 开发工具: Eclipse, Netbean,intellij idea, Jbuilder
- 2006 : Hadoop (大数据领域) ◆2008 : Android (手机端)
优势
Java 三大版本
Java SE为基础
JDK,JRE,JVM
Java Development Kit
包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库
Java Runtime Environment(Java运行环境)
编写的Java程序必须要JRE才能运行
Java Virtual Machine
JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
1.三者联系:
JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。JVM+Lib=JRE。总体来说就是,我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
2.三者区别:
a.JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。
b.JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。
- JDK,JRE,JVM段引用博客原链接: