【跟小嘉学习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…...
学习 Hooks【Plan - June - Week 2】
一、React API React 提供了丰富的核心 API,用于创建组件、管理状态、处理副作用、优化性能等。本文档总结 React 常用的 API 方法和组件。 1. React 核心 API React.createElement(type, props, …children) 用于创建 React 元素,JSX 会被编译成该函数…...

【前端实战】如何让用户回到上次阅读的位置?
目录 【前端实战】如何让用户回到上次阅读的位置? 一、总体思路 1、核心目标 2、涉及到的技术 二、实现方案详解 1、基础方法:监听滚动,记录 scrollTop(不推荐) 2、Intersection Observer 插入探针元素 3、基…...

fast-reid部署
配置设置: 官方库链接: https://github.com/JDAI-CV/fast-reid# git clone https://github.com/JDAI-CV/fast-reid.git 安装依赖: pip install -r docs/requirements.txt 编译:切换到fastreid/evaluation/rank_cylib目录下&a…...

git引用概念(git reference,git ref)(简化对复杂SHA-1哈希值的管理)(分支引用、标签引用、HEAD引用、远程引用、特殊引用)
文章目录 **引用的本质**1. **引用是文件**2. **引用的简化作用** **引用的类型**1. **分支引用(Branch References)**2. **标签引用(Tag References)**3. **HEAD 引用**4. **远程引用(Remote References)*…...

面试心得 --- 车载诊断测试常见的一些面试问题
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
Python学习(7) ----- Python起源
🐍《Python 的诞生》:一段圣诞假期的奇妙冒险 📍时间:1989 年圣诞节 在荷兰阿姆斯特丹的一个寒冷冬夜,灯光昏黄、窗外飘着雪。一个程序员 Guido van Rossum 正窝在家里度假——没有会议、没有项目、没有 bug…...

React 新项目
使用git bash 创建一个新项目 建议一开始就创建TS项目 原因在Webpack中改配置麻烦 编译方法:ts compiler 另一种 bable 最好都配置 $ create-react-app cloundmusic --template typescript 早期react项目 yarn 居多 目前npm包管理居多 目前pnpm不通用 icon 在public文件夹中…...

MySQL的日志
就相当于人的日记本,记录每天发生的事,可以对数据进行追踪 一、错误日志 也就是存放错误信息的 二、二进制日志-binlog 在低版本的MySQL中,二进制日志是不会默认开启的 存放除了查询语句的其他语句 三、查询日志 查询日志会记录客户端的所…...

MSYS2 环境配置与 Python 项目依赖管理笔记
#工作记录 MSYS2 环境配置 安装和更新 MSYS2 初始安装 下载并安装 MSYS2: 访问 MSYS2 官方网站 并下载安装包。 按照安装向导完成安装。 更新 MSYS2: 打开 MSYS2 终端(MSYS2 MINGW64)。 更新包数据库和核心系统包࿱…...

Agent短期记忆的几种持久化存储方式
今天给大家讲一下关于Agent长期对话的几种持久化存储方式,之前的文章给大家说过短期记忆和长期记忆,短期记忆基于InMemorySaver做checkpointer(检查点),短期记忆 (线程级持久性) 使代理能够跟踪…...