当前位置: 首页 > news >正文

JavaSE:对一门面向对象语言有一个初步认识

一、Java的起源与历史

诞生背景

  • 由James Gosling、Mike Sheridan和Patrick Naughton于1990-1995年在Sun Microsystems发起"Green"项目,旨在开发消费电子设备软件。
  • 最初命名为 Oak (灵感来自Gosling办公室外的橡树),专注于 可移植性 和 安全性 。
  • 目标场景:电视顶盒、小型联网设备,需支持图形界面、简单程序执行、本地与远程通信,且无需专业程序员处理故障。

互联网转型

  • 设计为 简单语言 ,适合网络传输,最终演变为面向互联网应用的编程语言。

二、Java技术架构

平台划分

平台用途
Java SE基础平台,含JVM、核心库(如java.lang)、开发工具(JDK)
Java EE企业级扩展,支持大型分布式应用(部署至应用服务器)
Java ME嵌入式与移动设备开发

核心组件

  • JDK (Java Development Kit):含编译器(javac)、调试器、JRE及文档,用于 开发+运行 。
  • JRE (Java Runtime Environment):含JVM和核心库,仅用于 运行程序 。
  • JVM (Java虚拟机):执行字节码的核心引擎。

关键包与功能

包名功能
java.io输入/输出流操作
java.lang基础类(如StringSystem
java.net网络通信
java.sql数据库访问
java.util工具类(集合、日期等)

三、开发生态与工具

版本演进

重要里程碑:

  • Java 1.0(1996):首个正式版,8个包/212类。
  • Java 5(2004):泛型、注解等革命性特性。
  • LTS版本 (长期支持):Java 8(支持至2030)、Java 11(支持至2032)、Java 17(支持至2029)、Java 21(支持至2031)。

版本命名变更:J2SE → Java SE(6开始)。

开发工具链

  • 编译与运行:

    javac HelloWorld.java  # 编译生成HelloWorld.class
    java HelloWorld        # 运行程序
    
  • 打包工具 :jar命令创建JAR文件(类ZIP格式),含META-INF/manifest.mf清单文件。

主流IDE

IDE名称开发商许可
Eclipse社区开源免费
NetBeans社区开源免费
IntelliJ IDEAJetBrains商业版
JDeveloperOracle免费

四、开发环境配置

JDK安装

  • 从Oracle官网下载JDK,设置环境变量:

    SET JAVA_HOME=C:\Program Files\Java\jdk-17
    SET PATH=%PATH%;%JAVA_HOME%\bin
    

类路径(Classpath)

  • 作用:JVM搜索类的路径(默认当前目录)。

  • 配置方式:

    java -classpath d:\MyProject\classes  # 命令行指定
    set CLASSPATH=d:\MyProject\classes    # 环境变量指定
    

五、编程模型示例

Hello World程序结构

public class HelloWorldApp {public static void main(String[] args) {System.out.println("Hello World!"); // 控制台输出}
}
  • 关键规则:
    • 类名必须与文件名一致(HelloWorldApp.java)。
    • 程序入口为main方法,由JVM调用。

开发流程

image-20250724224632042

  • 步骤1 :编写源码(.java
  • 步骤2 :编译为字节码(.class
  • 步骤3 :JVM解释执行字节码

六、文档与学习资源

官方文档:

  • Java SE API
  • Java Tutorials

社区资源:

  • Java Developer Connection
  • Eclipse

小结

  • Java是一种以 可移植性 和 安全性 为核心设计的语言,从嵌入式设备起步,逐步成为企业级和互联网应用的主流选择。其技术栈分层清晰(SE/EE/ME),依赖JDK/JRE/JVM的协同,并通过字节码机制实现"一次编写,到处运行"。开发者应优先选择 LTS版本 (如Java 17/21)保障长期支持,并利用IDE提升效率。
http://www.lryc.cn/news/598829.html

相关文章:

  • pytest官方Tutorial所有示例详解(二)
  • 这几天都是发癫写的
  • 计算机视觉技术剖析:轮廓检测、模板匹配及特征点匹配
  • 背包DP之分组背包
  • 读书笔记(王阳明心学)
  • 高可用架构模式——异地多活设计步骤
  • 物流仓储自动化升级:Modbus TCP与DeviceNet的协议融合实践
  • C++实战:人脸识别7大核心实例
  • 【数据结构初阶】--二叉树(二)
  • FreeSWITCH 简单图形化界面45 - 收集打包的一些TTS
  • 内网IM:BeeWorks私有化部署的安全通讯解决方案
  • 安全插座项目规划书
  • 【VSCode】复制到下一行快捷键
  • 2024年ASOC SCI2区TOP,基于强化学习教与学优化算法RLPS-TLBO+风电场布局优化,深度解析+性能实测
  • Go基础教程 从零到英雄:30分钟掌握Go语言核心精髓
  • Go语言管道Channel通信教程
  • 黑马点评系列问题之p44实战篇商户查询缓存 jmeter如何整
  • 2025.7.24 01背包与动态规划复习总结
  • 【Oracle】Oracle权限迷宫破解指南:2步定位视图依赖与授权关系
  • MySQL常见命令
  • 多线程 Reactor 模式
  • hcip思维导图(1)
  • GaussDB 数据库架构师(八) 等待事件概述-1
  • 阿里云ECS坑之dnf-makecache系统软件更新检测服务
  • 解决postgresql连接数不足
  • 五分钟了解Java 中的锁
  • SQL基础⑪ | 约束
  • JavaScript 中的 structuredClone() 如何彻底改变你的对象复制方式
  • Android LiveData 全面解析:原理、使用与最佳实践
  • Windows 10 远程桌面(RDP)防暴力破解脚本