Java基础背景与特性

Open JDK VS JDK(Oracle)

2009年sum被Oracle收购之前,将jdk源代码开源,形成了OpenJDK

Open JDK 是JDK(Oracle)的极简版本,是最最核心的功能。

IBM,Google,FaceBook,RedHat都从OracleJDK中,拿到源代码,然后针对自己公司特有的问题进行修改,形成了自己特有的jdk,而这些修改并不会同步到JDK(Oracle)中。

阿里巴巴也有自己的JDK版本,DragonWell(龙井)。

JDK 8

国内大部分公司,所使用的JDK版本仍然是JDK 8。->求稳!

LTS:long term supper 长期支持版本 维护周期长,至少半年 稳定;

从jdk9开始每半年发布一次,长期支持版本有:jdk 8  -> jdk 11 -> jdk 17

Java语言

JavaSE(Java Platform Standard Edition)标准版:开发普通桌面和商务应用程序提供的解决方案。

JavaEE(Java Platform To Enterprise Edition)企业版:为开发企业环境下得应用程序提供的一套解决方案(多台客户端对网站的响应)。

JavaME(Java Platform To Micro Edition)嵌入式:开发电子消费产品和嵌入式设备提供的解决方案。

JRE(Java Runtime Environment):包括Java虚拟机,运行时核心类库(rt.jar),JRE主要是给已经写好的Java程序使用的。Java程序要能在操作系统中运行,必须有JRE。

JDK(Java Develop kit):JDK包含JRE,还有供开发者使用的工具,如:Javac,Javap等,仅供开发者在开发阶段使用的工具。

Java语言特点:

  • 跨平台-compile once,run anywhere

  • 开源

  • 面向对象:C++,Python也都是。

  • 解释型语言:

高级语言计算机本身是不认识的,计算机只认识二进制01;所以一定有个工具,帮助我们将我们的程序,转化为计算机可以识别的,对应到机器指令级别的二进制序列。

根据执行方式不同,可以分为:

1.编译型语言:用这种语言写出的代码,首先通过编译器的编译,全部转化成目标代码(二进制可执行文件 .exe)。然后依次在操作系统中执行。

2.解释型语言:转化一句,执行一句。

Java是解释型:源代码(.java)经过编译,形成字节码文件(.class),字节码文件加载到 Java虚拟机(JVM)中,然后执行。

Java虚拟机在执行字节码文件的时候,是对字节码文件转化一句,执行一句。

  • 健壮

异常机制:让人有机会对自己的错误进行修复。

  • 分布式

一台主机所支持的访问量是有上限的,访问量过大的时候(例如:双十一),将网站不同功能(注册,登录,下单)放到不同主机上,从逻辑上讲,将流量分发到不同主机上,可以减轻单台主机对请求处理上限问题。合起来实现用户对整个网站功能的访问(分布式系统)。

而Java天生对网络通信有很好的封装支持(java.net库),易于实现不同主机间的交互。

  • 动态

字节码文件不会一次全部加载到JVM中,而是用到的时候,才会加载进去。即动态加载字节码文件。

  • 高效

大型项目中,不太逊色C/C++了。(C/C++是直接运行在操作系统上的,而Java是运行在Java虚拟机上的。)OJ题目太小了

  • 多线程

  • 结构中立(字节码)

字节码文件有自己独立的格式,不依赖于任何已有的操作系统/运行平台。


什么是跨平台性?

通过Java语言编写的应用程序在不同系统平台上都可以运行。

跨平台实现原理

Java程序是在Java虚拟机上运行的,而非直接运行在操作系统。

Eg:世界语(.class)通过翻译(JVM)转换为中文,英语...(Windows,MAC,Linux)

  1. Java语言跨平台       对的。
  2. JVM不能跨平台。只有每个操作系统都有其具体的JVM,才能帮助我们完成程序和操作系统底层的交互,从而实现Java跨平台特性。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值