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

Java入门笔记(1)

引言

 在计算机编程的广袤宇宙中,Java无疑是一颗格外耀眼的恒星。那么,Java究竟是什么呢? Java是美国Sun公司(Stanford University Network)在1995年推出的一门计算机高级编程语言。曾经辉煌的Sun公司在2009年被Oracle(甲骨文)公司收购,但Java的影响力并未因此而衰减。普遍认同Java的联合创始人之一詹姆斯·高斯林(James Gosling)为“Java之父”,他的智慧与创造力为Java的诞生奠定了基石。

为什么Java会被企业广泛采用呢?

其一,Java是世界上最流行的编程语言之一,在国内更是使用最为广泛。从TIOBE编程语言社区指数图表中可以清晰地看到,多年来Java始终保持在前列,其流行度经久不衰。其二,Java拥有完善的开发社区。在这个庞大的社区里,开发者们可以分享经验、交流技术、获取丰富的开源资源,极大地丰富了Java的功能。其三,Java具备出色的特性,它具有很好的可移植性,能够在不同的操作系统和硬件平台上稳定运行;安全可靠,为企业级应用提供了坚实的保障;性能也较为出色,能够满足各种复杂业务场景的需求。

学完Java能做什么呢?

其应用领域十分广泛。在大数据与云计算领域,Python和SQL占据重要地位,Java也可以,它可以用于构建分布式系统、处理海量数据等。对于桌面应用开发,Java提供了丰富的工具和框架,能够开发出功能强大、界面友好的应用程序。在移动端App开发方面,Kotlin和前端框架发展迅速,但Java仍然是重要的开发语言之一。科学计算领域,Java的高精度和稳定性使其成为不错的选择。游戏开发中,Java也有一席之地,能够打造出各种精彩的游戏。而在企业服务器端软件开发方面,Java更是占据了90%以上的市场份额,成为企业级应用开发的首选语言。

Java拥有三大技术平台

  • Java SE(Java Standard Edition)即标准版,是Java技术的核心和基础,它为Java应用程序的开发提供了基本的类库和运行环境。
  • Java EE(Java Enterprise Edition)即企业版,是一套针对企业级应用开发的解决方案,包含了众多用于开发大型、分布式、企业级应用的技术和规范,如Servlet、JSP、EJB等。
  • Java ME(Java Micro Edition)即小型版,主要针对移动设备应用,为手机、PDA等小型设备提供了Java应用开发的平台。
  • Java凭借其强大的功能、广泛的应用和丰富的技术生态,在编程语言的舞台上绽放着持久而耀眼的光芒,无论是编程新手还是经验丰富的开发者,都能在Java的世界中找到属于自己的机会和挑战。

安装jdk工具

  1. 下载 JDK
    • 打开 Oracle 官方网站的 Java 下载页面(Java Downloads | Oracle ),找到适合 Windows 系统的 JDK 版本(如 JDK 17 等),根据系统是 32 位还是 64 位选择对应的安装包下载。
    • 也可以选择 OpenJDK,一些开源组织提供的 OpenJDK 在功能上与 Oracle JDK 类似,可从 Adoptium(Home | Adoptium )等网站下载。
  2. 安装 JDK
    • 双击下载好的.exe 安装文件,按照安装向导提示操作,选择安装路径等参数,默认安装路径一般为 C:\Program Files\Java\jdk - <版本号> ,可自行修改。
    • 安装过程中可能会提示安装 JRE(Java Runtime Environment),可根据需要选择是否安装。
  3. 配置环境变量
    • 右键点击 “此电脑”,选择 “属性”,然后点击 “高级系统设置”。
    • 在弹出的 “系统属性” 窗口中,选择 “高级” 选项卡,点击 “环境变量”。
    • 在 “系统变量” 中,找到 “Path” 变量,点击 “编辑”。
    • 点击 “新建”,将 JDK 安装目录下的 “bin” 目录路径(如 C:\Program Files\Java\jdk - < 版本号 >\bin )添加进去。
    • 也可新建 “JAVA_HOME” 系统变量,变量值为 JDK 的安装目录(如 C:\Program Files\Java\jdk - < 版本号 > )。
  4. 验证安装:打开命令提示符(CMD),输入 “java -version”,若显示 JDK 的版本信息,则说明安装成功。

JDK的组成

JDK(Java Development Kit)即Java开发工具包,主要由以下部分组成:

1. Java虚拟机(JVM,Java Virtual Machine):是Java程序的运行核心,负责加载字节码文件,并将字节码解释或编译成机器码在不同操作系统上执行,提供内存管理、垃圾回收、安全检查等功能。

2. Java运行时环境(JRE,Java Runtime Environment):包含JVM、Java核心类库以及支持Java程序运行的其他组件。它是运行Java程序所必需的环境,即使不开发Java程序,仅运行Java程序也需安装JRE。

3. Java开发工具:

  •  编译器(javac):将Java源文件(.java)编译成字节码文件(.class)。
  •  解释器(java):负责运行编译后的字节码文件,启动JVM并执行其中的指令。
  • 调试器(jdb):用于调试Java程序,能设置断点、查看变量值、单步执行等,帮助开发者查找和解决代码中的错误。
  • 打包工具(jar):可将多个.class文件及相关资源文件打包成一个JAR(Java Archive)文件,便于程序的分发和部署。

4. Java类库:

  • 核心类库:提供了Java编程中常用的类和接口,像用于输入输出的java.io包、集合框架java.util包、网络编程的java.net包等,是开发Java程序的基础。
  • 扩展类库:除核心类库外,还有一些扩展功能的类库,可根据特定开发需求使用。

什么是Path环境变量?

用于配置程序的路径,方便我们在命令窗口的任意目录下启动该程序。

JDK安装时,关于环境变量的配置,需要注意什么?

  • 较新版本的JDK会自动配置PATH环境变量,较老的JDK版本则不会。
  • 建议还是自己配置一下“PATH”、“JAVA_HOME” 。  

IDEA企业开发工具简介以及安装

IntelliJ IDEA 是一款由 JetBrains 公司开发的强大集成开发环境,堪称 Java 开发者的得力助手。它拥有智能代码补全功能,能依据代码上下文精准预测补全内容,大幅提升编码效率。同时具备强大的代码分析与重构能力,可实时检测潜在问题并提供优化建议,方便团队协作开发。

IntelliJ IDEA 分为社区版和旗舰版。社区版免费开源,适合初学者和小型项目开发;旗舰版功能更全面,支持多种技术框架,适用于企业级大型项目。它支持 Windows、macOS、Linux 等多平台,还有丰富插件可拓展功能,满足不同开发者的多样需求。

  1. 下载安装包
    • 访问 JetBrains 官方网站(IntelliJ IDEA – the Leading Java and Kotlin IDE ),在页面中找到 IntelliJ IDEA 下载选项。
    • IDEA 分为社区版(Community)和旗舰版(Ultimate)等,社区版免费开源,旗舰版功能更强大,适合企业开发,有试用期限,根据需求选择下载。
    • 点击下载按钮,获取.exe 格式的安装包。
  2. 安装程序
    • 下载完成后,双击安装包文件启动安装向导。
    • 按照向导提示操作,如选择安装路径(默认一般在 C:\Program Files\JetBrains\IntelliJ IDEA <版本号> ,可自定义修改)、选择创建桌面快捷方式等选项。
    • 点击 “Next” 逐步完成安装,最后点击 “Finish” 完成安装过程。
  3. 首次启动与配置
    • 安装完成后,双击桌面的 IntelliJ IDEA 图标启动软件。
    • 首次启动时,会弹出配置向导,可选择是否导入之前版本的设置等。
    • 接着会提示选择主题(如 Darcula、IntelliJ 等),根据喜好选择。
    • 之后软件会自动检测电脑上已安装的 JDK,如果没有检测到合适的 JDK,需要手动配置(在后续创建项目或在设置中配置)。

相关文章:

Java入门笔记(1)

引言 在计算机编程的广袤宇宙中&#xff0c;Java无疑是一颗格外耀眼的恒星。那么&#xff0c;Java究竟是什么呢&#xff1f; Java是美国Sun公司&#xff08;Stanford University Network&#xff09;在1995年推出的一门计算机高级编程语言。曾经辉煌的Sun公司在2009年被Oracle&…...

设计模式的艺术-开闭原则

原则使用频率图&#xff08;仅供参考&#xff09; 1.如何理解开闭原则 简单来说&#xff0c;开闭原则指的是 “对扩展开放&#xff0c;对修改关闭”。 当软件系统需要增加新的功能时&#xff0c;应该通过扩展现有代码的方式来实现&#xff0c;而不是去修改已有的代码。 例如我…...

【C语言系列】深入理解指针(3)

深入理解指针&#xff08;3&#xff09; 一、字符指针变量二、数组指针变量2.1数组指针变量是什么&#xff1f;2.2数组指针变量怎么初始化&#xff1f; 三、二维数组传参的本质四、函数指针变量4.1函数指针变量的创建4.2函数指针变量的使用4.3两段有趣的代码4.4 typedef关键字 …...

three.js+WebGL踩坑经验合集:写在前面的话

笔者从2023年初开始参与一个基于three.js引擎的web项目的开发工作。本打算2024年春节就把期间踩过的坑写到博客上分享给大家&#xff0c;然而哪怕本专栏的各种构思和内容已经在笔者的脑海里翻滚了一年&#xff0c;得了严重拖延症患者的我还是一直拖到了现在&#xff0c;实在惭愧…...

利用Linux的工作队列(Workqueue)实现中断下半部的处理

本文代码在哪个基础上修改而成&#xff1f; 本文是在博文 https://blog.csdn.net/wenhao_ir/article/details/145228617 的代码基础上修改而成。 关于工作队列(Workqueue)的概念 工作队列(Workqueue)可以用于实现Linux的中断下半部的&#xff0c;之前在博文 https://blog.cs…...

LabVIEW处理复杂系统和数据处理

LabVIEW 是一个图形化编程平台&#xff0c;广泛应用于自动化控制、数据采集、信号处理、仪器控制等复杂系统的开发。它的图形化界面使得开发人员能够直观地设计系统和算法&#xff0c;尤其适合处理需要实时数据分析、高精度控制和复杂硬件集成的应用场景。LabVIEW 提供丰富的库…...

spring-springboot -springcloud

目录 spring: 动态代理: spring的生命周期(bean的生命周期): SpringMvc的生命周期: SpringBoot: 自动装配: 自动装配流程: Spring中常用的注解&#xff1a; Spring Boot中常用的注解&#xff1a; SpringCloud: 1. 注册中心: 2. gateway(网关): 3. Ribbon(负载均…...

DRG/DIP 2.0时代下基于PostgreSQL的成本管理实践与探索(下)

五、数据处理与 ETL 流程编程实现 5.1 数据抽取与转换(ETL) 在 DRG/DIP 2.0 时代的医院成本管理中,数据抽取与转换(ETL)是将医院各个业务系统中的原始数据转化为可供成本管理分析使用的关键环节。这一过程涉及从医院 HIS 系统中抽取患者诊疗数据,并对其进行格式转换、字…...

打造本地音乐库

文章目录 存储介质硬盘&#xff08;NAS&#xff09;媒体播放器&#xff08;可视MP3、MP4&#xff09;实体介质&#xff08;CD光盘、黑胶片&#xff09;注意事项为什么不使用在线音乐&#xff08;App&#xff09;和网盘打造一套HiFi系统的成本非常高 获取音乐正版音乐途径免费音…...

【2024 - 年终总结】叶子增长,期待花开

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言论博客创作保持2024的记录清单博客科研开源工作生活 总结与展望互动致谢参考 前言…...

python 统计相同像素值个数

目录 python 统计相同像素值个数 最大值附近的值 python 统计相同像素值个数 import cv2 import numpy as np import time from collections import Counter# 读取图像 image cv2.imread(mask16.jpg)# 将图像转换为灰度图像 gray_image cv2.cvtColor(image, cv2.COLOR_BGR2…...

蓝卓“1+2+N”智慧工厂架构,让工业智能更简单

面对复杂的工业环境、海量的数据以及多样化的业务需求&#xff0c;如何实现智能化转型&#xff0c;让工业智能触手可及&#xff0c;成为了众多企业面临的难题。蓝卓以创新精神为引领&#xff0c;推出了“12N”智慧工厂架构&#xff0c;旨在简化工业智能的实现路径&#xff0c;让…...

12、MySQL锁相关知识

目录 1、全局锁和表锁使用场景 2、行锁的意义 3、为什么说间隙锁解决了快照的幻读? 4、RR隔离级别产生幻读的场景 5、详解元数据锁(MDL)作用以及如何减少元数据锁 6、出现死锁场景 7、查看MySQL锁情况 8、自增锁 1、全局锁和表锁使用场景 全局锁 备份数据库:当需要…...

某大厂一面:HashMap 的put方法具体做了哪些操作

HashMap 的 put 方法是一个常用的操作&#xff0c;它将一个键值对插入到哈希表中。下面是 put 方法执行的详细流程&#xff0c;包括各个步骤的解释&#xff0c;并附上相应的代码片段。 1. 检查键是否为 null 如果传入的键为 null&#xff0c;HashMap 会特别处理这种情况&…...

WPF基础 | 深入 WPF 事件机制:路由事件与自定义事件处理

WPF基础 | 深入 WPF 事件机制&#xff1a;路由事件与自定义事件处理 一、前言二、WPF 事件基础概念2.1 事件的定义与本质2.2 常见的 WPF 事件类型 三、路由事件3.1 路由事件的概念与原理3.2 路由事件的三个阶段3.3 路由事件的标识与注册3.4 常见的路由事件示例 四、自定义事件处…...

精选100+套HTML可视化大屏模板源码素材

大屏数据可视化以大屏为主要展示载体的数据可视化设计。 “大面积、炫酷动效、丰富色彩”&#xff0c;大屏易在观感上给人留下震撼印象&#xff0c;便于营造某些独特氛围、打造仪式感。 原本看不见的数据可视化后&#xff0c;便能调动人的情绪、引发人的共鸣。 使用方法&…...

如何使用Python爬虫按关键字搜索AliExpress商品:代码示例与实践指南

在电商领域&#xff0c;能够按关键字搜索并获取商品信息对于市场分析、选品和竞品研究至关重要。AliExpress&#xff08;速卖通&#xff09;作为全球知名的跨境电商平台&#xff0c;提供了丰富的商品数据。以下将详细介绍如何使用Python爬虫按关键字搜索AliExpress商品&#xf…...

No.36 学习 | Python 函数:从基础到实战

最近我在学 Python 编程&#xff0c;今天可算是狠狠钻研了一把 Python 里的函数&#xff0c;感觉脑袋里的知识又充实了不少&#xff0c;赶紧来记一记。 一、Python函数基础概念 &#xff08;一&#xff09;pass语句&#xff1a;代码块的“占位符” 在编写代码时&#xff0c;有…...

Unity常用特性(Attribute)用法

一.UnityEngine命名空间 1.[Header(string)] inspector面板上给显示的字段上加一个描述 通常情况下&#xff0c;用于在 Inspector 窗口中创建字段的逻辑分组 public class AttributeTest : MonoBehaviour {[Header("public_field_num")]public int num; }2.[Tool…...

VUE对接deepseekAPI调用

1.先去开放平台注册账号申请api key。开放平台&#xff1a;https://platform.deepseek.com/api_keys 2.你的项目需要有发送请求的axios或者自己写。 npm install axios # 或 yarn add axios 3.创建 API 调用函数 在 Vue 项目中&#xff0c;通常会将 API 调用的逻辑封装到一个…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...