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虚拟机

四、有哪些组件以及如何使用

(即哪些功能有哪些核心类库)


posted @ 2023-08-04 11:11  hongyc77  阅读(32)  评论(0)    收藏  举报