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

Java从入门到精通(一)

Java从入门到精通(一)

前言

温故而知新,闲着没事干,准备将Java编程语言的知识点从头梳理一遍,整理成笔记,逐篇发布。
部分图片素材来源与B站“黑马程序员”的课程。

一 Java背景

Java是1995年 由Sun公司推出的一门高级编程语言。

业内公认Java之父为詹姆斯·高斯林

重要事件:2009年,Sun公司被Oracle公司收购,自此 Java 归属 Oracle公司(甲骨文公司)。

二 Java 能做什么?

在这里插入图片描述

目前,java做的最多的就是企业级应用开发,即 微服务,大型互联网应用

三 Java技术体系

Java技术体系主要包含以下三个:

  • Java SE (Java标准版):Java技术的核心和基础
  • Java EE (Java企业版):企业级应用开发的解决方案
  • Java ME(Java小型版):针对移动设备的解决方案

在这里插入图片描述

四 Java的环境搭建

搭建Java的开发环境,必须通过JDK,即Java开发者工具包

在这里插入图片描述

企业开发中一般会使用LTS版本,LTS即长期支持版。目前最常用的版本是JDK8

1.安装JDK

JDK下载地址:Java Downloads | Oracle

安装完成之后使用DOS命令验证是否安装成功

java -version
或者
javac -version

在JDK的安装目录下的 bin 文件夹内,可以看到有以下工具,其中 java.exe 和 javac.exe 是需要重点了解的。

在这里插入图片描述

其中,Java.exe 是执行工具,而 javac.exe 是编译工具。

写好的Java程序是高级语言,计算机底层的硬件无法识别,必须通过javac编译工具进行编译,然后再通过Java执行工具才能运行。

2.常用的命令行窗口

# 1.切换盘符
直接输入盘符+冒号,然后回车即可,实例 D:
# 2.切换路径
cd /xxx/xxx
# 3.退回上一级
cd ..
# 4.推到根目录
cd /
# 5.清屏
cls

3.JDK的组成

JDK主要由 JVM,JRE,Java开发工具组成

  • JVM:JVM是指Java虚拟机,是Java程序真正运行的地方

  • 核心类库:Java中提供的类库,方便程序的开发

  • JRE:JRE是指Java的运行环境,JRE包括了 JVM 和 核心类库,一般搭建服务器环境时,只需要安装 JRE 即可。

  • 开发工具:即Java提供的编译程序(javac.exe)和运行程序(java.exe)

在这里插入图片描述

4.Java的跨平台

Java的跨平台是的指一次编译,处处可用。

即经过编译的Java程序,可以运行在任何装有JVM的设备上。

究其根本原因,是因为Java为各个平台开发了对应版本的JVM

在这里插入图片描述

5.Path和Java_Home环境变量

旧版的JDK在安装完成后,需要手动配置Path变量,而Jdk11以后则不再需要手动配置

  • Path 环境变量:用于记住程序路径,方便在命令行窗口的任意目录启动程序
  • Java_Home:用来记住JDK安装到了哪个位置(将来其他技术要通过这个环境变量来找到JDK)

新版的JDK只是自动配置了Path环境变量,并没有配置Java_Home

配置了Java_Home之后,Path则可以使用一下方式去配置:

%Java_Home%\bin	

五 HelloWorld程序示例

1.Java程序的开发过程

一般情况下,开发Java程序需要经历以下三个阶段,分别为:编写程序,编译程序,运行程序
在这里插入图片描述

2.HelloWorld

HelloWorld程序,建议使用记事本编写,以此来体会以上的三个过程。

创建一个记事本文件,将其命名为 HelloWorld.java,然后输入一下内容

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello,Java");}
}

以上示例中的 main() 方法,是整个程序的入口方法。

将其保存到指定位置,然后在HelloWorld.java这个文件的位置打开cmd窗口,或者从其他地方打开,切换至该目录。

# 1.编译java文件
javac HelloWorld.java
# 2.运行java文件
java HelloWorld

当使用 javac HelloWorld.java时,将在当前目录下生成一个字节码文件HelloWorld.class

使用 java 命令运行的文件,实际就是这个HelloWorld.class字节码文件。

注意:使用 java 命令运行编译后的字节码文件时,不需要后缀名(.class),但是使用 javac 命令编译程序时,则必须有后缀名(.java)

在这里插入图片描述

3.编程语言发展史

机器语言–>汇编语言–>高级语言

机器语言是有0和1组成,即二进制。

相关文章:

Java从入门到精通(一)

Java从入门到精通(一) 前言 温故而知新,闲着没事干,准备将Java编程语言的知识点从头梳理一遍,整理成笔记,逐篇发布。 部分图片素材来源与B站“黑马程序员”的课程。 一 Java背景 Java是1995年 由Sun公司…...

Electron从构建到打包程exe应用

Electron从构建到打包程exe应用 Electron文档搭建网页装载到 BrowserWindow中定义全局对象进程之间通信渲染器进程到主进程(单向)渲染器进程到主进程(双向)主进程到渲染器进程 打开调试器打包应用程序对代码进行签名 Electron文档…...

3分钟学会设计模式 -- 单例模式

►单例模式 ►使用场景 在编写软件时,对于某些类来说,只有一个实例很重要。例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统中可以多次查询数据库,但是只需要一个连接&#x…...

《面试1v1》Kafka与传统消息系统区别

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…...

【算法第十三天7.27】平衡二叉树,二叉树所有路径,左叶子之和

链接力扣110-平衡二叉树 思路 1、左右子树高度差不超过1 2、左子树、右子树均为平衡二叉树 3、需要获得树高,如果不是平衡的就返回-1;如果是平衡,就返回对应的高 class Solution {public boolean isBalanced(TreeNode root) {return getH…...

arm架构cloudstack的agent报错No more available PCI slots如何解决

当ARM架构的CloudStack代理报错"No more available PCI slots"时,这通常表示ARM实例已用尽可用的PCI插槽。PCI插槽用于连接网络接口卡(NIC)和其他扩展设备到虚拟机实例。 解决此问题的方法可以考虑以下几点: 调整实例的…...

day43-Feedback Ui Design(反馈ui设计)

50 天学习 50 个项目 - HTMLCSS and JavaScript day43-Feedback Ui Design&#xff08;反馈ui设计&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport&q…...

TypeScript基础篇 - TS日常类型 上篇

目录 TS的常见用法介绍 example01.ts 逃避类型检查&#xff1a;any 思考一下~&#xff1a;不知道类型 类型标注 函数&#xff08;参数和返回值&#xff09; 匿名函数 TS如何知道匿名函数的类型&#xff1f; TS是一种标注式语言&#xff0c;不侵入JS的设计 TS的常见用法…...

量化交易——python数据分析及可视化

该项目分为两个部分&#xff1a;一是数据计算&#xff0c;二是可视化&#xff0c;三是MACD策略 一、计算MACD 1、数据部分 数据来源&#xff1a;tushare 数据字段包含&#xff1a;日期&#xff0c;开盘价&#xff0c;收盘价&#xff0c;最低价&#xff0c;最高价&#xff0c…...

微服务网关

1.网关是如何演化来的&#xff0c;在微服务中有什么作用&#xff1f; 随着单体架构转化为微服务架构的时候&#xff0c;由一个后台服务由一个单一的服务变成了多个微服务&#xff0c;前端应用需要调用多个服务的接口&#xff0c;为了解决这个问题&#xff0c;网关就产生了。网…...

【打卡】Datawhale暑期实训ML赛事

文章目录 赛题描述任务要求数据集介绍评估指标 赛题分析基于LightGBM模型Baseline详解改进baseline早停法添加特征 赛题描述 赛事地址&#xff1a;科大讯飞锂离子电池生产参数调控及生产温度预测挑战赛 任务要求 初赛任务&#xff1a;初赛提供了电炉17个温区的实际生产数据&…...

【python脚本】python实现:目标检测裁剪图片样本,根据类标签文件进行裁剪保存

python实现&#xff1a;目标检测裁剪图片样本&#xff0c;根据类标签文件进行裁剪保存 我在进行目标检测时候&#xff0c;比如红绿灯检测&#xff0c;目标区域很小&#xff0c;样本杂乱。 想要筛选错误样本的话&#xff0c;很困难。可以把目标区域裁剪出来。人大脑处理对于这…...

Mac 终端美化显示

Linux 也可安装 Zsh 后使用此套配置。 1. 安装 Oh My Zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"2. 更换主题&#xff0c;修改文件&#xff1a;~/.zshrc&#xff0c;原内容&#xff1a; ZSH_THEME&quo…...

信息安全:密码学基本理论.

信息安全&#xff1a;密码学基本理论. 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律&#xff0c;应用于编制密码以保守通信秘密的&#xff0c;称为编码学&#xff1b;应用于破译密码以获取通信情报的&#xff0c;称为破译学&#xff0c;总称密码学. 目录…...

【linux升级ssh】 利用rpmbuild工具对ssh打包为rpm包进场安装升级

制作rpm包 rpmbuild命令用于创建软件的二进制包和源代码包。 官方文档&#xff1a;rpm.org - RPM Reference Manual rpmbuild 中文手册&#xff1a;rpmbuild 中文手册 [金步国] 使用rpmbuild将tar包打成rpm包 RPM打包使用的是rpmbuild命令&#xff0c;这个命令来自rpm-buil…...

UCloud上线可商用LLaMA2镜像,助力AGI应用发展

随着人工智能技术的快速发展&#xff0c;大模型应用在自然语言处理、图像识别、智能交互等领域展现出了巨大的潜力&#xff0c;为企业带来了更多创新和商机。众多企业纷纷将大模型应用于产品开发和业务优化中&#xff0c;希望通过提升智能化水平和用户体验来赢得竞争优势。近日…...

Linux推出Debian 12.1,并进行多方面系统修复

据了解&#xff0c;Debian是最古老的 GNU / Linux 发行版之一&#xff0c;也是许多其他基于 Linux 的操作系统的基础&#xff0c;包括 Ubuntu、Kali、MX 和树莓派 OS 等。 此外&#xff0c;该操作系统以稳定性为重&#xff0c;不追求花哨的新功能&#xff0c;因此新版本的发布…...

Spring 事务的使用、隔离级别、@Transactional的使用

Spring事务是Spring框架提供的一种机制&#xff0c;用于管理应用程序中的数据库事务。 事务是一组数据库操作的执行单元&#xff0c;要么全部成功提交&#xff0c;要么全部失败回滚&#xff0c;保证数据的一致性和完整性。 Spring事务提供了声明式事务和编程式事务两种方式&am…...

Top命令

Top top - 12:46:01 up 2 days, 11:10, 3 users, load average: 0.56, 0.59, 0.45系统基本信息&#xff1a;显示了系统运行时间、登录用户数和平均负载&#xff08;load average&#xff09;情况。平均负载是系统在特定时间范围内的平均活跃进程数&#xff0c;可以用来衡量系…...

(三)RabbitMQ七种模式介绍与代码演示

Lison <dreamlison163.com>, v1.0.0, 2023.06.22 七种模式介绍与代码演示 文章目录 七种模式介绍与代码演示四大交换机四种交换机介绍 工作模式简单模式&#xff08;Hello World&#xff09;工作队列模式&#xff08;Work queues&#xff09;订阅模式&#xff08;Publis…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...