21天Java开发速成篇-Java从入门到大师01快速入门

news2024/11/15 6:00:06

Java 简介

在这里插入图片描述

win10安装 JDK

下载和安装

访问 oracle 官网https://www.oracle.com/
在这里插入图片描述
在这里插入图片描述

建议下载解压版,下载完毕后,解压到一个没有中文和空格的目录即可
在这里插入图片描述

配置 Path

你可以选择一个喜欢的目录,我的解压目录是 d 盘根目录下,如图所示

  • 其中 bin 目录下包含的就是它所带的一些开发和运行工具
  • 像 Javac.exe 还有 Java.exe 都是较为重要的,后面都会用到

在这里插入图片描述
“此电脑”–》“属性”–》“高级系统设置”

把刚才 jdk 的解压目录 + bin 补充填入,我这里是 D:\jdk-17.0.3.1\bin,全部确定
在这里插入图片描述
cmd验证java是否正确安装

java -version

入门案例

第一行代码

System.out.println("Hello, world")

第一份源码

编写 java 源代码

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

编译 java 源代码

D:\>javac Hello.java
  • javac用来把一个.java文件编译成.class` 文件
  • *.class 就是前面提到的 class 字节码

运行 class 字节码

D:\>java Hello
hello, world

常见问题

中文输出乱码
原因在于,保存 Hello.java 文件时,选择了 UTF-8 编码,而 javac 编译时采用的是操作系统默认编码 GBK,只要两边编码不一致,就会发生上述的【乱码】问题
解决方法1
保存文件时,选择编码为 ANSI(对于记事本程序 ANSI 其实就是 GBK)
解决方法2
文件保存时,编码仍然是 UTF-8 不变,编译时改用下面的命令明确告诉编译器,编译时别用默认的 GBK,改用 UTF-8

D:\>javac -encoding utf-8 Hello.java

注释

思考-为何需要字节码

Java做的就是加入了字节码这个中间环节,不管是在Linux下的编译还是在windows下的编译,生成的字节码是所有平台都通用的,你在windows平台生成的字节码在Linux平台一样用,反之亦然。可以看到

  1. 编译只需要一次,编译时间被节省了
  2. 程序员只需要工作在自己熟悉的平台上就可以了,做到了开发与部署环境的分离

这就是 java 所宣称的 write once run anywhere,编写一次,到处运行。

字节码虽然带来了这样一些便利,但大家思考一下,有什么问题吗?

对啦,问题就是字节码不是最终的机器码

  • 需要在每个平台上安装 jvm 虚拟机,负责把字节码解释为机器码
  • 另外因为引入了把字节码解释为机器码的步骤,性能上会有一定损失,当然 jvm 为了保证性能,内部会做很多优化,这等我们讲到 jvm 时,会有更深入的认识
    在这里插入图片描述

IDE 工具

Eclipse,Vscode,IntelliJ IDEA
IntelliJ IDEA 的配置及使用(本教程使用 IntelliJ IDEA Community 2022.1)
在这里插入图片描述
意思是是否导入以前的设置(settings),因为我们是第一次安装,所以就选择默认的不导入设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
推荐安装翻译插件,方便阅读文档
在这里插入图片描述
创建新项目(Project)
在这里插入图片描述
在 IDEA 中【项目】和【模块】用来组织代码

  • 一个【项目】(Project)包含多个【模块】(Module)
  • 一个【模块】(Module)包含多个【源文件】

点击【新建项目】(New Project)后出现界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
建议都点一下

  • 前者能将 IntelliJ IDEA 的菜单中文化
  • 后者能加速 IDEA 的使用速度
    在这里插入图片描述

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

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

相关文章

创邻Galaxybase入选 2022 爱分析《中国数据智能最佳实践案例》

随着2022年进入收官时间,创邻科技喜报频传。近日,“2022爱分析中国数据智能最佳实践案例”评选结果出炉,经过申报、初评、调研、终评等多轮角逐,创邻科技凭借“中国民生银行万象知识图谱应用平台”成功获评2022中国数据智能最佳实…

FPGA知识汇集-FPGA时序基础理论

对于系统设计工程师来说,时序问题在设计中是至关重要的,尤其是随着时钟频率的提高,留给数据传输的有效读写窗口越来越小,要想在很短的时间限制里,让数据信号从驱动端完整地传送到接收端,就必须进行精确的时…

Kubernetes:minikube操作总结

Kubernetes:minikube操作总结minikube statusminikube nodeminikube status 查询集群状态 $ minikube statusminikube node 新增节点 注意:minikube 仅仅是基于本地 standalone 部署一款简易 k8s 集群,因此添加节点,也仅仅是本…

【多尺度条形池化与通道注意力的图像语义分割】论文精讲

论文:论文链接 出处:中国图象图形学报 目录 1.摘要 2.网络结构 2. 1 改进的条形池化技术 2.2 二阶通道注意力机制 3.结果 1.摘要 目的 针对自然场景下图像语义分割易受物体自身形状多样性、距离和光照等因素影响的问题,本文提出 一种新的基于条形池…

windows搭建gitblit服务器

使用Gitblit搭建属于局域网的Git服务器,方便程序代码的联合开发及程序代码版本管理。 环境:1、Windows 64位操作系统。 2、jdk1.8.0(需要java环境,已安装请忽略) 3、Git-2.24.1.2-64-bit(git工具&#x…

linux系统编程:暂停函数pause

pause函数 该函数功能主要是暂停进程,它的返回值总是-1。 使用方式: (1)首先使用signal函数提前注册一个中断函数,该函数用于将函数指针和信号做一个绑定; (2)当程序进行执行pause&#xff0…

【Bp2Lua】深入理解蓝图

【Bp2Lua】深入理解蓝图 做 Bp2Lua 过程中的副产物,蓝图在连连看背后隐含的操作 有几点想说明的 蓝图会隐含一些操作,前端节点图是看不出来的,但是后端字节码会一览无余Bp2Lua 本质是 字节码 ToLua,其实 Bp2Lua 根本不关心也不…

策略模式(strategy pattern)

背景 一、一个具体实现范例的逐步重构 补血道具(药品):a) 补血丹:补充200点生命值;b) 大还丹:补充300点生命值;c) 守护丹:补充500点生命值将Fighter,F_Warrior,F_Mage 单独写在一个文件中。 Fighter.h …

一步一步学爬虫(4)数据存储之文本存储

一步一步学爬虫(4)数据存储之文本存储4.1 TXT纯文本文件存储4.1.1 本节目标4.1.2 基本实例4.1.3 打开方式4.1.4 简化写法4.1 TXT纯文本文件存储 将数据保存到 TXT 文本的操作非常简单,而且 TXT 文本几乎兼容任何平台,但是这有个缺…

Spark环境搭建(Hadoop YARN模式)

前言 按照前面环境部署中所学习的,如果我们想要一个稳定的生产Spark环境,那么最优的选择就是构建:HA StandAlone集 群。 不过在企业中, 服务器的资源总是紧张的,许多企业不管做什么业务,都基本上会有Hadoo…

AD软件绘制不规则焊盘的器件封装

网上有很多关于AD软件绘制不规则焊盘的帖子,搜了一些帖子看了一下,感觉不太对。严格意义上AD软件是不能绘制不规则的焊盘的,至少目前用的AD软件不支持。为什么这么说呢? 我提一个需求:假如我在PCB文件中需要随意的添加…

企业选择SOP作业指导书系统的目的和意义

SOP是将作业指导流程予以说明规范,让作业人员有一个标准的作业准则,以达到作业的标准一致性。也是一种管理模式,通过对过程的标准化操作,减少和预防差错和不良后果的发生。通过动作的解析、比较、分析,循环作业分析等输…

MIT6.830-2022-lab4实验思路详细讲解

目录前言一、实验概览Exercise 1:Granting LocksExercise 2:Lock LifetimeExercise 3:Implementing NO STEALExercise 4:TransactionsExercise 5:Deadlocks and Aborts总结 && Debug记录前言 到lab4事务,这一块应该是数据库中概念比较多&#x…

2022/12/30总结

今日学习了二叉树有关知识。 二叉树 二叉树通俗来讲就是一个有俩个指针的链表。他们大多长这个样子: 这里还有俩个概念了,二叉树分为完全二叉树和满二叉树 上面所说的是满二叉树,顾名思义就是每个父节点都相应的有俩个指针,通常…

基于springboot+Vue的宿舍管理系统前后端分离(程序+详细文档+数据库)

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

前端devops——利用gitlab实现CI/CD自动化部署

目录 前言 一、前期准备 1、开启虚拟服务 2、下载并安装docker 二、开始部署 1、安装gitlab 2、修改默认账号登录密码 3、修改项目clone地址 三、Gitlab CI/CD 1、安装并运行gitlab-runner 2、执行runner 3、将项目注册到gitlab-runner 1、获取token 2、执行注册 …

ETL数据清洗

大多数据仓库的数据架构可以概括为: 数据源-->ODS(操作型数据存储)-->DW-->DM(data mart) ETL贯穿其各个环节。 ​一、数据抽取: 可以理解为是把源数据的数据抽取到ODS或者DW中。 1. 源数据类型: 关系型数据库,如Or…

多模态串讲(上)

多模态的学习在最近几年异常火爆,除了普通的多模态学习,比如视觉问答,图文检索等,其实之前讲的所有这种Language Guided Detection,或者Language Guided Segmentation,这些任务都是多模态的,还有最近火的文…

SpringCloud之负载均衡Ribbon

1.Ribbon是什么? •Ribbon是 Netflix 提供的一个基于HTTP和TCP的客户端负载均衡工具。 •Ribbon主要有两个功能: 1.简化远程调用 2.提供客户端的软件负载均衡算法 Ribbon客户端组件提供一系列完善的配置项,如连接超时,重试等…

ERA5数据不同下载方法

ERA5数据不同下载方法1 ERA5简介2 ERA5下载的三种方法2.1 方法1:GEE下载2.2 方法2:官方网站下载2.3 方法3:通过Python脚本下载(以Linux系统为例)总结参考1 ERA5简介 ERA5是ECMWF对全球气候的第五代大气再分析。再分析…