Java
一、解决什么问题
1.其他语言不好跨平台的问题,不同操作系统都可以用的问题
2.其他语言难用的问题(比如指针,多重继承)
3.其他语言不够安全(比如内存管理,异常管理)
4.其他语言不太支持多线程
(1,3其实都是依靠JVM实现的,核心在于JVM和核心类库如Thread库)
二、如何解决的
1.对于跨平台问题?
方法:使用JVM
问题:JVM底层是如何实现跨平台的
- (此问题在JVM里面在进行讨论)
2.如何实现易用
方法:直接去掉那些复杂的东西
3.如何实现安全
方法:使用sandbox
问题:沙盒机制如何实现安全的
- 首先通过
- 其次是
4.如何支持多线程
方法:使用多线程编程
问题:程序中的多线程体现在哪里?
- 体现在一个程序可以并行执行多个任务,比如一个类中,有多个方法,那么这些方法可以同时进行,而不用排队进行
三、如何用Java
1.安装开发工具包(JDK)
a.问题:为什么需要工具包,工具包包含什么?
- Java编译器javac
- JRE(包含JVM和Java核心类库)
- Java开发工具(性能分析器,JConsole)
- 标准类库(多线程,网络之类的)
a.总结:包含工具和类,通过工具包,可以实现一些开发者实现好的功能
b.问题:javac用来干什么?
- 用来javac用来将源代码编译成字节码文件
- 问题:为什么需要变成字节码文件
- 1.这样的话,同一份字节码可以在不同的平台上执行
- 2.安全性,因为这种无法直接执行,JVM会对其进行检查,防止恶意代码
- 3.优化执行,即时编译器JIT会进行动态优化,从而更好的执行
- 问题:JIT是如何进行动态优化的?
- (此问题在JVM里面在进行讨论)
c.问题:JVM用来干什么?
- 用来将字节码文件转为计算机可以执行的二进制机器码
- 问题:不同平台下JVM一样吗?
- 不一样,正是因为JVM的不跨平台性,才实现Java的跨平台特性,真正的跨平台是Java的字节码文件和源文件(相当于加一层)
- 问题:不同JVM在哪里是不一样的?
- (此问题在JVM里面在进行讨论)
d.问题:Java有哪些核心类库
- 比如多线程,集合等
e.问题:核心类库和标准类库的区别
- 标准类库包含核心类库,还提供更多的功能,如用户界面,网络编程等
2.配置环境变量
问题:为什么要配置
- 在命令行执行的一些Java命令的能够找到
- 其他的框架能够找到
3.编写代码
4.编译代码javac
5.运行代码
问题:如何运行代码的?
- 通过JVM虚拟机
四、有哪些组件以及如何使用
(即哪些功能有哪些核心类库)

浙公网安备 33010602011771号