Java从入门到精通(一)

news2024/11/17 5:51:35

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组成,即二进制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/797848.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

error CS0246: 未能找到类型或命名空间名“Newtonsoft”(是否缺少 using 指令或程序集引用?)

error CS0246: 未能找到类型或命名空间名“Newtonsoft”(是否缺少 using 指令或程序集引用?) 如图,明明已经引用了命名空间,可以点击生成报错。找了很长时间的原因,最后终于解决了问题。 原因是Newtonsoft这个dll文件只支持.net 4.5框架&…

互联网搜索的学习笔记

1. 参考资料 《Internet Search Tips》《Google Search Operators: The Complete List (42 Advanced Operators)》 2. 预备知识 2.1 查询语法 2.1.1 -:排除符 用于排除指定关键字。例如,如果想搜索“苹果”但不想看到“苹果手机”的结果,…

【Spring】IOC的原理

一、 IOC 的概念 Spring 的 IOC ,即控制反转,所谓控制反转 —— 本来管理业务对象(bean)的操作是由我们程序员去做的,但是有了 Spring 核心容器后,这些 Bean 对象的创建和管理交给我们Spring容器去做了&am…

疫苗生产精细困难,有了物联网网关,让生产 更轻松

疫苗生产背景 生产出现的问题 项目工期十分紧张 无法及时获知产线生产进度,不易进行计划调整 无法准确的安排现场生产计划 产品线数量多,纸质记录及流程近10万页 设备采集数量庞大,超过40000点 设备管理不明确、报修维修等无法及时通知…

QPoint、QLine、QSize、QRect

QPoint、QLine、QSize、QRect QPointQLineQSizeQRect QPoint // 构造函数 // 构造一个坐标原点, 即(0, 0) QPoint::QPoint(); // 参数为 x轴坐标, y轴坐标 QPoint::QPoint(int xpos, int ypos);// 设置x轴坐标 void QPoint::setX(int x); // 设置y轴坐标 void QPoint::setY(in…

Linux操作系统~必考面试题⑦

1、vim 命令 Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 打开文件并跳到第 10 行: vim 10 filename.txt 打开文件跳到第一个匹配的行: vim /search-term filenam…

基于传统网络架构训练图像分类模型(上传到colab中进行运算)

一 部署colab环境 部署colab参考网站 相关文件:提取码:o2gn 在google drive中部署以上涉及的相关文件夹 二 对这个项目的解释 这个项目主要是对5类花的图像进行分类 采用迁移学习的方法,迁移学习resnet网络,利用原来的权重作…

stm32f103VET6和stm32f103c8t6有什么区别?

我来终结下这个问题。 这两款单片机我都用过,其中无际单片机特训营其中一款wifi报警主机项目就是用了stm32f103c8t6。 stm32f103VET6和stm32f103c8t6都是STMicroelectronics公司推出基于ARM Cortex-M3内核的单片机。 它们在硬件规格和性能上存在一些差异&#xff…

SpringSecurity认证授权具体流程步骤(具体实例)

本案例是通过使用SpringSecurity来实现通过读取数据库中的数据,来完成认证授权的案例。 1. 向数据库中添加具体实例 创建出五个表,五个表之间的关系为: sys_user:登录表,用于登陆后查询id sys_user_role:…

Flink集群运行模式--Standalone运行模式

Flink集群运行模式--Standalone运行模式 一、实验目的二、实验内容三、实验原理四、实验环境五、实验步骤5.1 部署模式5.1.1 会话模式(Session Mode)5.1.2 单作业模式(Per-Job Mode)5.1.3 应用模式(Application Mode&a…

三层交换机实现DHCP功能

典型操作:三层交换机VLAN实现网络 可以实现基本的企业需求 华为的三层交换机实现DHCP功能,需要给vlan划分地址池 1.网络拓扑图 2.三层交换机的配置 //三层交换机的配置 //配置IP地址池,实现DHCP时分配给vlan下的终端 [Huawei]ip pool vl…

玩转smardaten | 零基础构建多维数据可视化大屏(最全攻略)

不要再问睿睿:数据可视化大屏怎么做啦! 没学过任何编程代码怎么办,能做吗?根本不是问题! 这篇文章手把手教你,全方位攻略smardaten数据可视化大屏(搭建无需代码)~~ 一、可视化大屏…

TSINGSEE青犀视频汇聚融合平台EasyCVR的中性化版本如何配置?

TSINGSEE青犀视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等,平台融合性强、开放度高、部署轻快,在智慧工地、智慧园区…

tcpdump 抓包记录

查看发往 10.0.2.220 的包 [rootbigdata-storage-05 ~]# tcpdump -i any -nn dst 10.0.2.220 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes 16:40:55.0253…

github token使用方法

git remote set-url origin https://<githubtoken>github.com/<username>/<repositoryname>.git 在私有仓库的HTTPS的url上加入<githubtoken>即为token url&#xff0c;可以免ssh key登录

入局元宇宙,所谓的无限可能到底在哪里?

最近的热点新闻表明&#xff0c;人们似乎认为元宇宙已经走向“死亡”。但实际上&#xff0c;市场应该重新定义对元宇宙的看法&#xff0c;以及正视它最大的机会所在——游戏领域。 1937年5月6日&#xff0c;一架名为兴登堡号的巨大氢能齐柏林飞艇飞临新泽西州曼彻斯特镇上空&a…

Dubbo 指定调用固定ip+port dubbo调用指定服务 dubbo调用不随机 dubbo自定义调用服务 dubbo点对点通信 dubbo指定ip

1. 在写分布式im时nami-im: 分布式im, 集群 zookeeper netty kafka nacos rpc主要为gate&#xff08;长连接服务&#xff09; logic &#xff08;业务&#xff09; lsb &#xff08;负载均衡&#xff09;store&#xff08;存储&#xff09; - Gitee.com&#xff0c;需要指定某一…

本地缓存LoadingCache

引入依赖 <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>32.1.1-jre</version> </dependency>主要代…

可以进行ai图片生成的三款软件分享给你

现在人类社会进入了一个令人瞩目的科技时代。人工智能已经渗透到生活的方方面面&#xff0c;然而&#xff0c;在这个智慧的时代&#xff0c;一种特殊的ai技术吸引着全球的目光&#xff0c;那就是ai自动生成图片软件&#xff0c;人们运用这种技术生成了下面这些美丽的图片。但同…

Docker构建Java镜像并部署Java项目

文章目录 1. 准备工作2. 创建Dockerfile3. 构建镜像4. 查看镜像是否构建成功5. 运行容器6. 访问Java服务7. 总结 本文介绍了如何使用Docker构建一个Java项目的镜像&#xff0c;并以后端项目为例进行演示。在这个例子中&#xff0c;我们将使用eclipse-temurin:8-jre作为基础镜像…