【跟小嘉学习JavaWeb开发】第一章 开发环境搭建
系列文章目录
【跟小嘉学习JavaWeb开发】第一章 开发环境搭建
文章目录
- 系列文章目录
- @[TOC](文章目录)
- 前言
- 一、JDK的下载与安装
- 1.1、关于JDK的版本问题
- 二、环境变量配置
- 2.1、配置 JAVA_HOME、CLASSPATH
- 2.2、配置path
- 2.3、启动 cmd
- 三、编写代码、编译并执行
- 3.1、编写代码,创建一个 HelloWorld.java 文件
- 3.2、编译执行
- 3.2.1、编译:
- 3.2.2、执行:
- 3.2.3、编译并执行
- 四、开发工具使用
- 4.1、VSCODE(部分公司推荐使用)
- 4.1.1、VSCODE介绍
- 4.1.2、VSCODE 插件推荐
- 4.2、Eclipse
- 4.3、Idea (公司上推荐使用)
文章目录
- 系列文章目录
- @[TOC](文章目录)
- 前言
- 一、JDK的下载与安装
- 1.1、关于JDK的版本问题
- 二、环境变量配置
- 2.1、配置 JAVA_HOME、CLASSPATH
- 2.2、配置path
- 2.3、启动 cmd
- 三、编写代码、编译并执行
- 3.1、编写代码,创建一个 HelloWorld.java 文件
- 3.2、编译执行
- 3.2.1、编译:
- 3.2.2、执行:
- 3.2.3、编译并执行
- 四、开发工具使用
- 4.1、VSCODE(部分公司推荐使用)
- 4.1.1、VSCODE介绍
- 4.1.2、VSCODE 插件推荐
- 4.2、Eclipse
- 4.3、Idea (公司上推荐使用)
前言
本章节讲解Java开发环境的搭建与使用
一、JDK的下载与安装
1.1、关于JDK的版本问题
目前国内生产环境之中大部分使用的是JDK1.8的版本,但是我们会在后续的课程会重点讲解JDK1.8的内容,同时会讲解其他版本的JDK,例如JDK1.9、JDK11 等特性。
OpenJDK使用的开源的免费的FreeType,可以按照GPLV2许可证使用,Oracle JDK采用了商业实现,JROckit是Oracle的JVM,从Java SE7开始,HotSpot和JRockit合并为一个JVM。
Oracle JDK的下载地址
OpenJDK的下载地址
二、环境变量配置
2.1、配置 JAVA_HOME、CLASSPATH
在JDK1.8以后可以不配置Classpath属性可以由JVM默认设置,该环境变量不会对IDE的环境变量造成影响;
2.2、配置path
Path的配置影响到CMD 或者其他终端的命令行使用,对IDE的使用不够成影响;
2.3、启动 cmd
三、编写代码、编译并执行
3.1、编写代码,创建一个 HelloWorld.java 文件
public class HelloWorld {public static void main(String[] args) {// 编译处理中文乱码: javac -encoding utf-8 HelloWorld.java// 执行 :java HelloWorldSystem.out.println("你好");}
}
● 需要注意的是 一个java文件中只能有一个 public class 声明的类,如果声明了两个会编译报错,错误信息如下
HelloWorld.java:9: 错误: 类HelloWorld2是公共的, 应在名为 HelloWorld2.java 的文件中声明
public class HelloWorld2{^
1 个错误
● 一个java文件中可以有多个class 声明,可以没有public class 声明,每个class 对象生成对应一个 *.class 文件
● public class 类名称必须与文件名字一致,否则会编译报错,报错信息如下
HelloWorld.java:1: 错误: 类HelloWorld2是公共的, 应在名为 HelloWorld2.java 的文件中声明
public class HelloWorld2 {^
1 个错误
● 中文输出,控制台乱码的问题,编译时候可以选择字符编码,字符编码要与文件编码一致
javac HelloWorld.java -encoding utf-8
文件编码可以使用记事本查看,如果编码不一致,编译会报错
HelloWorld.java:3: 错误: 编码utf-8的不可映射字符// ??????????????: javac -encoding utf-8 HelloWorld.java^
HelloWorld.java:3: 错误: 编码utf-8的不可映射字符// ??????????????: javac -encoding utf-8 HelloWorld.java
上述错误是说明,文件编码 不是utf-8,而你使用了 utf-8 去编译
3.2、编译执行
3.2.1、编译:
javac -encoding utf-8 HelloWorld.java
3.2.2、执行:
java HelloWorld
3.2.3、编译并执行
javac -encoding utf-8 HelloWorld.java && java HelloWorld
四、开发工具使用
4.1、VSCODE(部分公司推荐使用)
4.1.1、VSCODE介绍
VSCODE 是微软开发的开源项目,基于Javascript实现,启动快,轻量,所以为了让大家能够了解编程的本质,后续几乎都会在VSCODE编辑器中讲解代码的编写;
vscode 下载地址:
我本人比较喜欢使用命令行工具,基本上都会讲解各种命令行的操作,同时熟悉命令行能够让大家的工作更加高效,并且对学习Linux的使用是非常有帮助的。
4.1.2、VSCODE 插件推荐
● Code Runner 初学者学编程语言推荐使用的插件,但是该插件对中文编码不是很友好;
● Extension Pack for Java ,Java开发者推荐使用的插件;
● ssh 插件:后续为了保证开发者自己电脑上不会太多冲突的编程语言,我们决定采用Docker的形式来完成,这样大家避免出现环境不一致的现象;
4.2、Eclipse
1、创建项目 file 菜单 - 》 new -》 Project

2、创建 Java 项目

3、创建项目界面

4、file-》new-》class

5、new class 界面

6、执行
右键-》run as -》java application 或者 ctrl + f11
| 快捷键 | 功能 |
|---|---|
| alt + / | 代码提示与自动补全,单个导包 |
| ctrl + 1 | 打开警告或者错误的解决方案 |
| ctrl + 鼠标左键 | 查看源代码 |
| ctrl +/ | 注释或取消注释代码(单行注释 //) |
| ctrl + shift + / | 取消多行注释 |
| ctrl + f11 | 执行 程序 |
| f11 | 进入debug |
| ctrl+shift+o | 批量导入包、优化导包 |
| ctrl+f | 查找或替换 |
| ctrl+c | 复制 |
| ctrl+v | 粘贴 |
| ctrl+x | 剪切 |
| ctrl+z | 撤销 |
| ctrl+a | 全选 |
| ctrl+s | 保存 |
| ctrl+o | 代码大纲 |
| ctrl+shift+r | 打开资源文件,包括配置文件、代码文件 |
| alt + ↑ 或 alt+↓ | 移动光标所在的或者选中的代码行 |
| ctrl + t | 查看某个类继承树 |
| ctrl + + 或 ctrl + - | 放大或者缩小字体 |
| ctrl+shift+f | 格式化代码 |
4.3、Idea (公司上推荐使用)
目前我们在公司里面推荐使用 社区版IDEA,也有的公司有商业版IDEA可以申请。
相关文章:
【跟小嘉学习JavaWeb开发】第一章 开发环境搭建
系列文章目录 【跟小嘉学习JavaWeb开发】第一章 开发环境搭建 文章目录 系列文章目录[TOC](文章目录) 前言一、JDK的下载与安装1.1、关于JDK的版本问题 二、环境变量配置2.1、配置 JAVA_HOME、CLASSPATH2.2、配置path2.3、启动 cmd 三、编写代码、编译并执行3.1、编写代码&…...
CSS语法、选择器、属性
1.css语法 * 格式:选择器 {属性名1:属性值1;属性名2:属性值2;...}* 选择器:筛选具有相似特征的元素* 注意:* 每一对属性需要使用;隔开,最后一对属性可以不加 2.选择器:筛选具有相似特征的元素 * 分类:1. 基…...
深度学习读取txt训练数据绘制参数曲线图的方法
有一些深度学习模型是并不像yolo系列那样最终输出相应的参数图,有很多训练形成了一个训练log文件,于是需要读取log文件中的内容并绘制成曲线图。 如下实例,有一个log文件的部分截图,需要将其读取出来并绘制曲线图 废话不多说&…...
VB.NET—DataGridView控件教程详解
目录 前言: 过程: 第一步: 第二步: 第三步: 第四步: 第五步: 番外篇: 总结: 前言: DataGridView是.NET FormK中的一个Windows窗体控件,它提供了一个可视化的表格控件,允许用户以表格形式显示和编辑数据。它通常用于显示和编辑数据库…...
MCU测试科普|如何进行MCU芯片测试,具体流程是什么?
MCU芯片测试系统是一种专门用于检测MCU芯片性能和质量的综合性设备。它通常由硬件和软件两部分组成,硬件包括测试仪器、适配器、测试夹具等,用于连接被测MCU芯片和测试机,实现高效高精度的测试。软件部分通常包括测试程序、测试管理软件等&am…...
单向循环代码实现cpp
// 单向循环链表 class CircleLink { public:CircleLink(){head_ new Node();tail_ head_;head_->next_ head_;}~CircleLink(){Node* p head_->next_;while (p ! head_){head_->next_ p->next_;delete p;p head_->next_;}delete head_;}public:// 尾插法 …...
【原创】java+jsp+servlet简单图书管理系统设计与实现
摘要: 图书管理系统是一个专门针对图书馆管理而设计的系统,它可以帮助图书管理员有效的对图书进行管理,在图书管理系统的设计中,首先要考虑的是系统的需求分析,该系统的设计与实现涉及多个方面,包括数据库…...
JVM之jinfo虚拟机配置信息工具
jinfo虚拟机配置信息工具 1、jinfo jinfo(Configuration Info for Java)的作用是实时地查看和调整虚拟机的各项参数。 使用jps -v 可以查看虚拟机启动时显示指定的参数列表,但是如果想知道未被显示指定的参数的系统默认值,除 …...
软件测试|PO设计模式在 UI 自动化中的实践
PO的思想最早是2013年由IT大佬Martin Flower提出的:https://martinfowler.com/bliki/PageObject.html 没错,就是他 — 没错,就是他 — 在他的文章里有这样一张经典样图,图片中展示了测试代码中直接操作HTML元素和使用PO模式将page对象封装成…...
如何上传自己的Jar到Maven中央仓库
在项目开发过程中,我们常常会使用 Maven 从仓库拉取开源的第三方 Jar 包。本文将带领大家将自己写好的代码或开源项目发布到 Maven中央仓库中,让其他人可以直接依赖你的 Jar 包,而不需要先下载你的代码后 install 到本地。 注册帐号 点击以…...
智能井盖传感器功能,万宾科技产品介绍
在国家治理方面,对社会的治理是一个重要的领域,一定要在推进社会治理现代化过程中提高市政府的管理和工作能力,推动社会拥有稳定有序的发展。在管理过程中对全市井盖进行统一化管理,可能是市政府比较头疼的难题,如果想…...
洛谷P4185 离线+并查集
好题,发现没有强制在线,可以离线操作 排序之后带集合点数的并查集就好了 #include<bits/stdc.h> using namespace std; const int N 1e510; int n,m; int p[N],sz[N];int find(int x){if(x!p[x])p[x] find(p[x]);return p[x]; } struct Node{in…...
遇到java.security.AccessControlException:access denied怎么办?
今天工作中遇到了如下报错,记录一下解决方案。 目录 问题 分析 结论 问题 这个问题出现在openjdk8启动网页端Java应用。 Java Exception:java.security.AccessControlException:access denied("java.net.SocketPermission""22.188.130.11:9000…...
c++对接CAT1400
最近工作中遇到需要对接1400协议,网上搜索不到c/c++的实现,所以记录一下自己的实现。 第一步注册: 1400是在http摘要认证的基础上做的,所以要去了解http摘要认证的流程 说明: 1.视图库通过用户分配,手动分配username,password给三方对接程序 2.三方对接程序第一次请求由…...
Linux基础【Linux知识贩卖机】
偶尔的停顿和修整,对于人生是非常必要的。 --随记 文章目录 Linux目录目录结构磁盘分区相关命令 相对路径和绝对路径 文件权限用户分类umask创建文件权限计算方法粘滞位 总结 Linux目录 目录结构 Linux 操作系统采用了一种层次化的目录结构,常被称为标…...
CSS 边框、轮廓线
一、CSS边框: CSS边框属性允许指定一个元素边框的样式和颜色。 1)、边框样式:border-style属性用来定义边框的样式,border-style值: 2)、边框宽度:border-width属性用于指定边框宽度。指定变宽…...
Transformer架构 完整的处理流程
Transformer 是由多层的 Encoder 和 Decoder 构成的。每一层的 Encoder 和 Decoder 都包含了多头自注意力机制(Multi-head Self Attention)、前馈神经网络(Feed Forward)和添加及归一化(Add & Norm)。特…...
git and svn 行尾风格配置强制为lf
git CLI配置: // 提交时转换为LF,检出时转换为CRLF git config --global core.autocrlf true // 提交时转换为LF,检出时不转换 git config --global core.autocrlf input // 提交检出均不转换 git config --global core.autocrlf f…...
达梦数据库答案
1、 创建数据库实例,到/dm8/data下,数据库名:DEMO,实例名DEMOSERVER(10分) [dmdbadmServer ~]$ cd /dm8/tool [dmdbadmServer tool]$ ./dbca.sh1、 簇大小32,页大小16,登录密码&…...
基于SSM的楼房销售系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
