一、计算机语言
1.常见的软件 (1)系统软件(操作系统):DOS、Windows、Linux、Android、IOS等(Mac OS苹果系统、unix 鼻祖); (2)应用软件:QQ、微信、迅雷、百度等。
二、计算机语言发展简史
计算机语言分为三类:机器语言、汇编语言、高级语言(C、C++、C#java、js、python)。
三、Java发展简史
1.JAVA SE是java的核心开发; 2.JAVA EE(企业版本) 开发web项目(程序) 网络应用,网络服务,嵌入式系统 3.嵌入式系统: (1)JAVA ME(早期nokia,塞班,就可以安装软件,游戏); (2)Android 4.业界很多框架、中间件将jdk锁死到8.202(202后就开始收费) Java SE 8(8u202 and earlier)
四、Java语言特点
1.Java与C++相比简单,但还是很复杂。删减了如指针变量、多重继承头文件、运算符重载等复杂的知识点。 2.Java无关平台性:Java程序不需要重新编译就可以在不同的操作系统上运行;C/C++,必须重新编译后,才能在其他操作系统行运行。 3.(1)Java是一门面向对象的语言;面向对象(Object Oriented)简称OO; (2)面向对象、面向过程(简单理解:js 函数 ;Java 类); (3)面向对象的三大特征:封装、继承、多态 4.交互特性:TCP/IP协议(java开发网络程序,比较简单,后又赶上互联网飞起,java也就跟着起飞 web项目 网络程序 多线程(重要,难)面试、笔试容易问到,开发很少用 笔试面试造飞机,工作扭螺丝 ) 5.健壮性: (1)又称鲁棒性(robustness); (2)强类型,必须有明确的数据类型; (3)异常处理机制,异常报错; 6.动态内存管理机制: (1)java自动垃圾回收机制,对内存及时释放,具有一个垃圾回收站; (2)C/C++垃圾自己扔。 7.安全性:实时内存分配(去掉了指针),防止直接修改物理内存布局。
五、Java的加载与执行
1.经过两个阶段:编译阶段 运行阶段 java------javac命令--class(不是班级)--java命令(启动JVM)---类装载器 Java代码文件----编译----.class字节码文件----------运行--------JVM Java虚拟机 2.Java虚拟机 (1)JVM (Java Virtual Machine)称为Java虚拟机 (2)Java虚拟机是-个想象中的机器在实际的计算机上通过软件模拟来实现。Java虛 拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 (3)不同的操作系统有不同的虚拟机。 (4)java.exe命令会启动JVM, JVM则启动类装载器(装在.class文件)
2.JDK开发工具包
JRE(Java Runtime Environment Java运行环境)
.class需要jre才能运行
(有些情况需要jdk)
JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe)运行工具(java.exe)打包工具(jar.exe)等
简单而言:使用JDK开发完成的java程序,交给JRE去运行。
两者之间的关系:
JDK=JRE+开发工具
JRE=JVM+核心类库.
3.
public class One{ /* public:没有,能编译,不能运行 static:没有,能编译,不能运行 void:没有,编译报错 main:改其他,能编译,不能运行 String[]:改其他,能编译,不能运行 能改的,只有形参 */ public static void main(String[] args){ System.out.println("Hello world!"); } }
4.Javac编译----.class字节码文件--------运行 java 不带.class文件
public class One{ /* public:没有,能编译,不能运行 static:没有,能编译,不能运行 void:没有,编译报错 main:改其他,能编译,不能运行 String[]:改其他,能编译,不能运行 能改的,只有形参 */ public static void main(String[] args){ System.out.println("Hello world!"); } }
class Two{ public static void main(String[] args){ /*Two不是public类,该方法也不是入口方法,既然 不是入口方法,就无所谓 */ System.out.println("学习中"); } }