当前位置: 首页 > 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.dtcms.com/a/296542.html

相关文章:

  • Java 大视界 -- Java 大数据在智能教育自适应学习路径规划与学习效果强化中的应用(362)
  • LeetCode 10:正则表达式匹配
  • MyBatis-Plus--PageHelper 与 MyBatis-Plus 分页插件
  • SAP全自动化工具开发:Excel自动上传与邮件通知系统
  • Flutter之Widget体系与布局原理
  • 汉字转拼音
  • Kiro AI是如何帮我实现发布 harpoon 项目
  • 如何使用 php-vulnerability-hunter
  • 中国网专访百胜软件董事长兼CEO黄飞:中台助力新时代下零售行业的探索
  • go下载包
  • go语言基础教程:【1】基础语法:变量
  • Verilog 提取信号的上升沿或者下降沿
  • Python中常用标准库(时间库、随机库、正则表达式)
  • shell 正则表达式
  • Golang 语言中的指针介绍
  • 高版本Android跨应用广播通信实例
  • 40、鸿蒙Harmony Next开发:UI场景化-组件截图(ComponentSnapshot)
  • C++第一节课入门
  • Qt 元对象系统(Meta-Object System)解析
  • 前端安全问题怎么解决
  • 企业资产管理智能化:IT运维如何借力数字化管理提效避坑?
  • 配置DNS服务的正反向解析
  • 详解FreeRTOS开发过程(六)-- 队列
  • ESP32- 项目应用1 智能手表之更新时间 #3
  • Linux系统常用命令
  • 浅析飞算JavaAI “撤回需求” 功能:让需求管理更灵活
  • 【C++】类和对象(中)
  • 【三桥君】Windows系统如何临时关闭“Windows安全中心实时保护”?解析Win10和Win11关闭方法
  • C++中std::string和std::string_view使用详解和示例
  • Lua(字符串)