远方的灯塔 - 专注于服务端技术分享 远方的灯塔 - 专注于服务端技术分享
首页
  • Java SE
  • Struts2
  • Hibernate
  • MyBatis
  • JAX-WS
  • 并发
  • 分布式
  • Git
  • 文章分类
  • 文章标签
  • 文章归档
  • 《C程序设计语言》
心情随笔
友情链接
给我留言 (opens new window)
关于我
GitHub (opens new window)

Terwer Green

一个后端老菜鸟
首页
  • Java SE
  • Struts2
  • Hibernate
  • MyBatis
  • JAX-WS
  • 并发
  • 分布式
  • Git
  • 文章分类
  • 文章标签
  • 文章归档
  • 《C程序设计语言》
心情随笔
友情链接
给我留言 (opens new window)
关于我
GitHub (opens new window)
  • JavaSE

    • Java_SE之Java_SE平台与JDK
      • Java平台
      • Java的历史与版本
      • Kotlin/JDK的下载、安装与运行
        • 下载Kotlin
        • 下载JDK
        • 安装Kotlin/JDK
        • 运行第一个Kotlin/Java程序
        • 使用InteliJ IDEA IDE实现
        • 记事本实现
        • Java跨平台与Java虚拟机
    • Java_SE_第二讲:原生数据类型
    • Java_SE_第三讲:原生数据类型使用陷阱
    • Java_SE_第四讲:运算符
    • Java_SE_第五讲:运算符续
    • Java_SE_第六讲:流程控制语句
    • Java_SE_第七讲:流程控制续
    • Java_SE_第八讲:理解面向对象程序设计
    • Java_SE_第九讲:面向对象之封装
    • Java_SE_第十讲:面向对象之封装续
    • Java_SE_第十一讲:面向对象之封装续二
    • Java_SE_Lesson_1:面向对象高级
    • Java_SE_Lesson_2:多态与static和final关键字
    • Java_SE_Lesson_3:接口、单例模式、包与访问控制
    • Java_SE之Object类详解
    • Java_SE之String类及其源代码剖析
    • 包装类与数组
    • 冒泡排序、交换排序与快速排序
    • Java数组的查找方式及二分查找
    • 常量与Java集合框架简介
    • 常用的Java开发IDE
    • ArrayList深入分析
    • LinkedList源代码深入剖析
    • 数据结构中的基本结构分析
    • 《Java语言新特性》

  • 开源框架

  • Linux

  • Struts2

  • Hibernate

  • Webservice

  • 分布式

  • 分布式框架

  • 后端开发
  • JavaSE
terwer
2022-09-05
目录

JavaSE之JavaSE平台与JDK

# Java平台

Java SE (opens new window):Java Platform, Standard Edition

Java SE是一个计算平台,用于为桌面和服务器环境开发和部署可移植代码。 Java SE 以前称为 Java 2 Platform, Standard Edition (J2SE)。

Java ME (opens new window): Java Platform, Micro Edition

Java ME 是一个计算平台,用于为嵌入式和移动设备(微控制器、传感器、网关、移动电话、个人数字助理、电视机顶盒、打印机)开发和部署可移植代码。 Java ME 以前称为 Java 2 Platform、Micro Edition 或 J2ME。 截至 2006 年 12 月 22 日,Java ME 源代码在 GNU 通用公共许可证下获得许可,并以项目名称 phoneME 发布。

Java EE (opens new window):Java Platform Enterprise Edition

JavaEE是Java平台企业版,之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为Jakarta EE。

# Java的历史与版本

Java是由Sun公司推出的(2010年初被Oracle公司收购)。

收购价格:74亿美金

J2SE、J2ME、J2EE

JDK:Java Development Kit (Java开发必备)

JRE:Java Runtime Environment (Java执行环境)

JDK包含了JRE。

JDK版本历史

Jdk 1.4

jdk 1.5(5.0):Tiger,老虎

jdk 1.6(6.0):Mustang,野马

jdk 1.7(7.0): Dolphin,海豚

jdk 1.8(8.0) LTS

java 11 LTS

java 17 LTS

版本历史

https://zh.wikipedia.org/zh-cn/Java%E7%89%88%E6%9C%AC%E6%AD%B7%E5%8F%B2#JDK_Alpha_%E5%92%8C_Beta (opens new window)

https://www.wdbyte.com/java/java-17/ (opens new window)

https://www.oracle.com/java/technologies/downloads/archive/ (opens new window)

# Kotlin/JDK的下载、安装与运行

# 下载Kotlin

https://kotlinlang.org/docs/command-line.html (opens new window)

# 下载JDK

https://www.oracle.com/java/technologies/downloads/archive/ (opens new window)

目前兼容性和使用最广泛的是JDK8:

https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html (opens new window)

# 安装Kotlin/JDK

安装直接根据官网提示安装即可,主要是设置环境变量。

  • Kotlin环境变量

    Mac直接用Homebrew安装

    brew update
    brew install kotlin
    
    1
    2

    安装日志如下:

    ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/openjdk-18.0.1.monterey.bottle.tar.gz
    #######################################################################
    ==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/kotlin-1.6.21.all.bottle.tar.gz
    #######################################################################
    ==> Installing dependencies for kotlin: openjdk
    ==> Installing kotlin dependency: openjdk
    ==> Pouring openjdk-18.0.1.monterey.bottle.tar.gz
    🍺  /usr/local/Cellar/openjdk/18.0.1: 641 files, 307.7MB
    ==> Installing kotlin
    ==> Pouring kotlin-1.6.21.all.bottle.tar.gz
    🍺  /usr/local/Cellar/kotlin/1.6.21: 115 files, 75.9MB
    ==> Running `brew cleanup kotlin`...
    Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
    Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    输入 kotlin -version ,可以检测环境变量:

    ➜  ~ kotlin -version
    Kotlin version 1.6.21-release-334 (JRE 11.0.12+8-LTS-237)
    
    1
    2
  • Java环境变量

    设定环境变量(可以是用户变量,也可以是系统变量),指向JDK安装目录中的bin目录
    通过运行,输入cmd打开命令行窗口,输入 java –version ,显示出Java版本信息

    ➜  ~ java -version
    java version "11.0.12" 2021-07-20 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.12+8-LTS-237)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.12+8-LTS-237, mixed mode)
    
    1
    2
    3
    4

# 运行第一个Kotlin/Java程序

接下来就可以编写Kotlin/Java程序了。

可以直接使用windows记事本来编写Kotlin/Java程序,也可以使用Editplus,UltraEdit等高级文本编辑工具编写Java程序,还可以使用专业的IDE(Integrated Development Environment)编写。

# 使用InteliJ IDEA IDE实现

https://kotlinlang.org/docs/getting-started.html (opens new window)

# 记事本实现

使用记事本实现一个Hello World的Kotlin或者Java程序。

Mac可以用以下命令创建一个Kotlin或者java文件:

    cd ~
    vim hello.kt
    
    1
    2
    cd ~
    vim HelloWorld.java
    
    1
    2
    // Make sure to add code blocks to your code group

    然后写上如下代码:

      fun main(){
        println("Hello, World!")
      }
      
      1
      2
      3
      class HelloWorld{
        public static void main(String[] args){
          System.out.println("Hello World!");
        }
      }
      
      1
      2
      3
      4
      5
      // Make sure to add code blocks to your code group

      所有的Kotlin代码,其后缀都是以kt结尾;所有的Java代码,其后缀都是以java结尾。

      Kotlin/Java程序的执行过程分为两步:

      编译

      执行

      Class文件是字节码文件,程序最终执行的就是这个字节码(bytecode)文件。

      • Kotlin编译

        编译命令:kotlinc hello.kt

        执行命令:kotlin HelloKt

        image-20220509000006471​

      • Java编译

        编译命令:javac HelloWorld.java

        执行命令:java HelloWorld(注意,Test后面没有.class)

        image-20220501192947243​

      # Java跨平台与Java虚拟机

      Java是跨平台的语言,真正执行的不是二进制代码,而是字节码。

      JVM(Java Virtual Machine,Java虚拟机)

      Java是跨平台的,而JVM不是跨平台的(JVM是由C语言编写的)

      Java之所以能够做到跨平台,本质原因在于JVM不是跨平台的。

      文章更新历史

      2022/05/08 feat:新增Kotlin语言支持。

      2022/05/01 feat:添加最新JDK版本信息。

      2011/10/22 feat:初稿。

      ‍

      编辑 (opens new window)
      #平台#版本#jdk#javase#java#kotlin
      上次更新: 2023/02/13, 17:01:26
      Java_SE_第二讲:原生数据类型

      Java_SE_第二讲:原生数据类型→

      最近更新
      01
      解决css部分border被圆角切掉之后圆角的边框消失问题
      03-18
      02
      使用TypeScript开发一个自定义的Node-js前端开发脚手架
      03-08
      03
      Github-Actions使用release-please实现自动发版
      03-06
      更多文章>
      Theme by Vdoing | Copyright © 2011-2023 Terwer Green | MIT License | 粤ICP备2022020721号-1 | 百度统计
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式