软件
软件即一系列按照特定顺序组织的计算机数据和指令的集合。分为:系统软件 和 应用软件
系统软件:windows , mac os , linux ,unix,android,ios,....
应用软件:word ,ppt,画图板,...
人机交互方式: 图形化界面 vs 命令行方式
应用程序 = 算法 + 数据结构
常用的DOS命令
dir --列出当前目录下的文件以及文件夹
d: --直接进入指定盘
d:java
md --创建目录
rd --删除目录
cd --进入指定目录
cd d:java
cd.. --退回到上一级目录
cd --退回到根目录
del --删除文件
del *.txt
exit --退出 dos 命令行
echo --输出
echo javase>1.doc
常用快捷键
← → --移动光标
↑ ↓ --调阅历史操作命令
Delete和Backspace--删除字符
第一代:机器语言
第二代:汇编语言
第三代:高级语言
> 面向过程:C,Pascal、Fortran
> 面向对象:Java,JS,Python,Scala,...
1991年, Green项目,开发语言最初命名为Oak (橡树)
1994年,开发组意识到Oak非常适合于互联网
1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
1998年,发布JDK 1.2,同年发布企业平台J2EE
1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
2009年,Oracle公司收购SUN,交易价格74亿美元
2011年,发布JDK 7.0
2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
2017年,发布JDK 9.0,最大限度实现模块化
2018年3月,发布JDK 10.0,版本号也称为18.3
2018年9月,发布JDK 11.0,版本号也称为18.9
>Java Web开发:后台开发
>大数据开发
>Android应用程序开发:客户端开发
Java SE(Java Standard Edition)标准版 | 是为开发普通桌面和商务应用程序提供的解决方案 该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发 |
Java EE(Java Enterprise Edition)企业版 | 是为开发企业环境下的应用程序提供的一套解决方案 该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发 |
Java ME(Java Micro Edition)小型版 | 支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加 入了针对移动终端的支持,此版本以前称为J2ME |
Java Card | 支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台 |
特点一:面向对象
☞两个基本概念:类、对象
☞三大特性:封装、继承、多态
特点二:健壮性
☞①去除了C语言中的指针
☞②自动的垃圾回收机制
特点三:跨平台性
☞跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Writeonce , Run Anywhere”
☞原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
Java虚拟机 (Java Virtal Machine)
☞JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
☞对于不同的平台,有不同的虚拟机。
☞只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
☞Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
垃圾收集机制 (Garbage Collection)
1、不再使用的内存空间应回收—— 垃圾回收。
☞在C/C++等语言中,由程序员负责回收无用内存。
☞Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
2、垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
1、我们编写的Java源代码,通过javac工具(编译器)编译后,生成.class文件,称为字节码文件;然后由Java虚拟机将字节码文件翻译成特定平台下的机器码,最后就可以在不同平台上运行了。
2、JVM也是一个软件,不同的平台有不同的版本。只要在不同平台上安装对应的JVM,就可以运行字节码文件。
3、需要注意的是,编译的结果不是生成机器码,而是生成字节码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行。不同平台下编译生成的字节码是一样的,但是由JVM翻译成的机器码却不一样。跨平台的是Java程序,不是JVM。JVM是用C/C++开发的,与各个平台是相关的