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

【Java】P1 基础知识与碎碎念

Java 基础知识 + 碎碎念

  • 安装 Intellij IDEA
  • JDK 与 JRE
  • Java 运行过程
    • Java 系统配置
    • Java 运行过程
  • Java的三大分类

前言

本节内容主要围绕Java基础内容,从Java的安装到helloworld,什么是JDK与什么是JRE,系统环境配置,不深入Java代码知识。

下节内容将对 Java 的基础语法与运算符进行介绍,为编写Java代码程序打好基础。
链接为:

正文

安装 Intellij IDEA

网址访问:https://www.jetbrains.com/idea/download/#section=windows
在这里插入图片描述

在读学生直接选择 Ultimate版本,认证后免费使用。

关于 IDEA

IDEA,全称为 Intellij IDEA,是用于开发Java的集成环境。
Q: 什么是集成环境?
A: 集成环境将代码编写,编译,执行,调试等多种功能综合的开发工具。

IDEA 是 Jetbrains 公司开发的产品,同类产品还有著名的 Python 开发工具 Pycharm。下载安装 IDEA 后,直接通过 IDEA 安装Java环境。

在这里插入图片描述

新建项目,新建Java类,选择下载好的JDK,编写如下代码。

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

执行即可输出。

碎碎念:关于快捷键

在刚创建好Java类时,只有如下内容:

public class HelloWorld {}

剩余需要输入的内容是有快捷键的:

public static void main(String[] args) { }		快捷键为 main
System.out.println("Hello World from Java!");		快捷键为 sout

如下演示:

请添加图片描述


JDK 与 JRE

JDK,全称 Java Development Kit,即Java开发工具包
JRE,全称 Java Runtime Environment,即Java运行环境

JDK包含 JVM,Java虚拟机,核心类库以及开发工具;
JRE包含 JVM,Java虚拟机,核心类库以及运行工具。

JRE相比JDK更短小,占用内存更少。JRE与JDK的关系属于被包含关系,即JRE⊂JDK,即JRE所有功能JDK都可以实现,但是JDK的部分功能JRE无法实现。

乍一看其实我们需要JRE就可以?其实不然,我们首先需要了解在我们写好了程序之后,点击运行时,会发生什么。


Java 运行过程

为了了解其过程,我们首先需要检查系统环境中是否完成配置。

Java 系统配置

① 打开系统环境:

在这里插入图片描述

② 首先添加系统变量,然后添加到 path 中
碎碎念:当然也可以直接加到path中,但是这样加更加有意思些...

在这里插入图片描述

注意:变量名 可以随便起,但是要记住!!!
注意:变量值 必须找到JDK安装地址下 bin 目录的上一级目录!!!

在这里插入图片描述

然后我们打开环境配置中的path进行配置:

%刚才起的变量名%\bin

在这里插入图片描述

配置完成,到cmd中检查:

在这里插入图片描述


Java 运行过程

将Java配置好环境变量后,我们就可以直接在cmd中运行Java程序。

通过记事本新建一个文件,重命名为 HelloWorld.java,并将代码粘贴到其中:

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

保存,关闭记事本。

在当前目录下,右键,用终端打开,

javac hello.java
java hello

javac是编译工具,java是运行工具。

在这里插入图片描述

当运行完 javac 语句后没有任何打印,但是观察文件夹会发现自动生成了一个文件,同名称.class 文件,java class 文件是对 Java 程序二进制文件,而这个工作,只有JDK才可以做,而JRE做不到。

我们将从.java到.class的过程称为编译的过程,把.class文件到JVM虚拟机中运行得到结果的阶段称为运行阶段。JRE可以做到的是后者,但是做不了前者,JDK都可以做到。

所以结论就是,初学者下载JDK就好,hhhh。


Java的三大分类

Java主要分为三类,SE,ME以及EE;

JavaSE:桌面应用开发,Java的基础内容;
JavaME:用于嵌入式电子设备,但是已凉凉;
JavaEE:企业版,网站开发,服务器开发,微服务,Hadoop,SpringCloud等。

------ End ------

下节内容将对 Java 的基础语法与运算符进行介绍,为编写Java代码程序打好基础。
链接为:

相关文章:

【Java】P1 基础知识与碎碎念

Java 基础知识 碎碎念安装 Intellij IDEAJDK 与 JREJava 运行过程Java 系统配置Java 运行过程Java的三大分类前言 本节内容主要围绕Java基础内容,从Java的安装到helloworld,什么是JDK与什么是JRE,系统环境配置,不深入Java代码知识…...

Jackson CVE-2017-7525 反序列化漏洞

0x00 前言 Jackson 相对应fastjson来说利用方面要求更加苛刻,默认情况下无法进行利用。 同样本次的调用链也可以参考fastjson内容:Java代码审计——Fastjson TemplatesImpl调用链 相关原理,可以参考:Jackson 反序列化漏洞原理 …...

【2023】DevOps、SRE、运维开发面试宝典之Kubernetes相关面试题

文章目录 1、Kubernetes集群的特点?2、Kubernetes集群各节点的组件有那些?分别有什么作用?3、简述Kubernetes集群的工作原理4、什么是Pod资源5、Label标签的作用?6、Deployment控制器与Statfulset控制器的区别?7、Pod拉取镜像的三种策略?8、简述Pod的生命周期9、Pod的生命…...

【算法】PatchMatch立体匹配算法_原理解析

目录 前言 原理解析 1.倾斜支持窗口(Slanted Support Windows) 什么是视差平面? 为什么视差和像素坐标点之间的关系可以解释为平面方程? 视差平面的通用参数方程和点加法向量方程 什么是倾斜支持窗口? 2.基于倾…...

【同步工具类:CyclicBarrier】

同步工具类:CyclicBarrier介绍源码分析CyclicBarrier 基于ReetrantLock Condition实现。构造函数await() 函数业务场景方案一:代码实现测试截图方案二代码实现测试打印总结介绍 官方介绍: 一种同步辅助工具,允许一组线程都等待对方到达共同的障碍点。CyclicBarrie…...

Android 12.0 Settings 去掉打开开发者模式和USB调试模式的广播

1.概述 在12.0的系统产品rom定制化开发中,在系统Settings的开发者模式中,打开开发者模式和usb调试模式都会发出开发者模式改变广播和usb调试模式改变广播, 项目开发功能需要要求去掉这两个广播以免影响其他功能,所以就要看哪里发出广播来屏蔽掉就可以了,这样就可以去掉开发…...

OSI七层网络模型和TCP/IP四层网络模型的异同

文章目录前言一、什么是OSI?二、什么是TCP/IP四层模型?三、OSI七层网络模型和TCP/IP四层网络模型的关系:四、 OSI七层和TCP/IP的区别:前言 本节系统总结: 一、什么是OSI?二、什么是TCP/IP四层模型&#xf…...

接口测试必备技能 - 加密和签名

1、什么是加密以及解密? 加密:在网络上传输的原始数据(明文)经过加密后形成(密文)传输,防止被窃取。 解密:将加密还原成原始数据 2、加密方式分类? 对称式加密&#xf…...

JVM虚拟机概述(1)

1.JVM概述 1.1为什么要学习JVM 通过学习JVM ( java Virtual Machine )可以帮助我们理解java程序运行的过程,了解虚拟机中各种机制的实现原理。为后期写出优质的代码做好准备,为向更高的层次提升打好基础。 1.2虚拟机 虚拟机的本质就是在windows中&…...

学习.NET MAUI Blazor(七)、实现一个真正的ChatGPT聊天应用

今天在新闻上看到一条消息,OpenAI已经开放了ChatGPT的接口,也就是GPT-3.5,对比原来的GPT-3,增加了gpt-3.5-turbo、gpt-3.5-turbo-0301两个模型。 gpt-3.5-turbo:使用最新的GPT-3.5模型,并针对聊天进行了优…...

Django框架学习

文章目录Django框架项目开发1. 创建项目2. 项目目录结构3. 视图函数(view)4. 路由配置url5. HTTP请求6. HTTP响应 - 状态吗7. GET方式传参8. POST传递参数模板Templates1. 通过 loader 获取模板,通过HttpResponse进行响应2. 使用 render() 直接加载并响应…...

JavaSE21-集合1-set

文章目录一、集合概念二、set集合1、set集合的特点2、HashSet2.1 特点2.2 创建对象2.3 常用方法2.4 遍历2.4.1 foreach遍历2.4.2 使用迭代器遍历2.4.3 转换为数组遍历一、集合概念 集合就是用于存储多个数据的容器。相对于具有相同功能的数组来说,集合的长度可变会…...

Web版和客户端哪种SQL工具更好?ChatGPT有话要说

2023年年初公司发布了一款Web版SQL工具,短期内就赢得了众多用户的喜爱和下载。不过,也有SQL用户在评论区中提出自己的观点,认为Web版工具都不可靠,甚至看见Web版工具就劝返… … 工具Web化逐渐成为一种趋势,比如&…...

从客户端的角度来看移动端IM即时通讯的消息可靠性和送达机制

如何确保IM 不丢消息是个相对复杂的话题,从客户端发送数据到服务器,再从服务器抵达目标客户端,最终在 UI 成功展示,其间涉及的环节很多,这里只取其中一环「接收端如何确保消息不丢失」来探讨,粗略聊下我接触…...

2023年java春招面试题及答案

2023年java春招面试题1、下面有关jdbc statement的说法错误的是?2、下面有关JVM内存,说法错误的是?3、下面有关servlet service描述错误的是?4、下面有关servlet和cgi的描述,说法错误的是?5、下面有关SPRIN…...

Django学习——基础篇(上)

一、Django的安装 pip install djangopython目录下出现两个文件 djando-admin.exe django django-admin.exe django 二、创建项目 1.命令行(终端) 1.打开终端 winR 输入cmd 2.进入项目目录 3.执行命令创建项目 2.Pycharm 两种方法对比 1.命令行创…...

研报精选230302

目录 【个股230302华西证券_比亚迪】系列点评五十四:迪“王”需求向上 出口“海”阔天空【个股230302华西证券_华利集团】下游去库存背景下承压,毛利率保持稳健【个股230302开源证券_恒顺醋业】公司信息更新报告:四季度业绩承压,期…...

Unity心得

- 将结果与因子颠倒的函数Mathf.InverseLerp非常实用 - at 10 meters, you want volume 1 - at 20 meters, you want volume 0 - volume InvLerp( 20, 10, distance ) - 显示HideFlags为Hide类型的物体 Resources .FindObjectsOf…...

TryHackMe-Binex

Binex 枚举计算机并获取交互式 shell。利用 SUID 位文件,使用 GNU 调试器利用缓冲区溢出并通过 PATH 操作获得根访问权限。 端口扫描 循例 nmap SMB枚举 题目给了提示:Hint 1: RID range 1000-1003 Hint 2: The longest username has the unsecure pa…...

外贸人如何写出优秀的开发信?附详细思路

如何写出优秀的开发信?最近做出口生意的客户都在抱怨,开发信的回复率越来越低,其实原因有很多,有时候并非自己的能力实在很欠缺。原因总结如图:第一:市场不景气这个就是就属于客观因素了,这也许…...

python自学之《21天学通Python》(18)——第21章 案例2 Python搞定大数据

“大数据(Big Data)”这个术语最早期的引用可追溯到apache org的开源项目Nutch。当时,大数据用来描述为更新网络搜索索引需要同时进行批量处理或分析的大量数据集。随着谷歌MapReduce和GoogleFileSystem (GFS)的发布&a…...

面试问题【数据库】

数据库数据库的三范式是什么drop、delete、truncate 分别在什么场景之下使用char 和 varchar 的区别是什么数据库的乐观锁和悲观锁是什么SQL 约束有哪几种mysql 的内连接、左连接、右连接有什么区别MyIASM和Innodb两种引擎所使用的索引的数据结构是什么mysql 有关权限的表都有哪…...

Allegro如何输出钻孔表操作指导

Allegro如何输出钻孔表操作指导 用Allegro做PCB设计的时候,需要输出钻孔表格,用于生产加工,如下图 如何输出钻孔表,具体操作如下 点击Manufacture点击NC...

消息队列 面试题 整理

消息队列 为什么要使用消息队列? 异步解耦:关注的是通知而非处理。 流量削峰:将短时间内高并发的请求持久化,然后逐步处理,削平高峰期的请求。 日志收集: 事务最终一致性 系统间的消息通信方式&#xff…...

【Java】对象比较大小

在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。Java实现对象排序的方式有两种: 自然排序:java.lang.Comparable定制排序:java.util.Comparator 规则:需要我们自定义根据对象的某个或某些属…...

发票自动OCR识别并录入模板 3分钟免费配置

要问整个公司里和数据打交道最多的职能,非财务莫属了吧。除了每天要处理大量财务数据外,还有发票录入的工作让财务陷入“易燃易爆炸”的工作状态。发票报销看似简单,但发票的类型有很多种,每种发票需要录入的信息也有差别。再加上…...

Dubbo 配置说明

dubbo:scan:base-packages: com.ut.msdasw.services.appservice //这个会扫描该包下得全部接口protocol: //这个主要是配置传输的协议和端口,只是一个协议name: dubbo port: 30032registry: //这里是服务注册中心的地址address: spring-cloud://localhost consum…...

英飞凌TCxxx实战系列01_Alarm处理

目录 1.概述2. Alarm内部处理2.1关联的寄存器2.2 Alarm设置case3. SMU外部处理3.1 关联的寄存器4. WDT Alarm的特殊处理4.1 看门狗超时测试4.2 RecoveryTimer相关的Alarm1.概述 当MCU运行出现问题,如MCU温度过高、过低,看门狗超时等会触发一个Alarm,当SMU收到Alarm信号后,…...

飞桨全量支持业内AI科学计算工具——DeepXDE!

AI技术在跨学科融合创新方面扮演着日益重要的角色,特别是在Al for Science领域,AI技术的发展为跨学科、跨领域的融合创新带来了巨大的机会。AI已成为一个关键的研究工具,改变了基础科学的研究范式。依托AI技术开发的科学计算工具,…...

【c++基础】

C基础入门统一初始化输入输出输入输出符输入字符串const与指针c和c中const的区别const与指针的关系常变量与指针同类型指针赋值的兼容规则引用引用的特点const引用作为形参替换指针其他引用形式引用和指针的区别inline函数缺省参数函数重载判断函数重载的规则名字粉碎C编译时函…...

wordpress 安装语言设置中文乱码/扬中网站制作

大家都知道电源适配器有着不同的类型和不同的接口,那么常见的电源适配器接口类型有哪些呢?下面就跟随小编一起来了解下吧!1、串行接口串行接口,简称串口,也就是COM接口,是采用串行通信协议的扩展接口。串口的出现是在…...

原创wordpress主题/太原最新情况

games101_光线追踪4上节内容Monte Carlo Integration(蒙特卡洛积分)采样举例Path Tracing(路径追踪)Whitted-Style光线追踪产生的错误问题一:The Utah Teapot问题二:The Cornell BoxWhitted-Style光线追踪是错误的蒙特卡洛方法对于一个采样点的解决方法问…...

dw软件做的东西怎么在网站用/营销网站建设哪家快

2019独角兽企业重金招聘Python工程师标准>>> 队列:先进先出 栈:先进后出; 实现栈:有队列1有队列2。实现原理,始终保持一个队列为空队列。取元素时,将不为空的队列所有元素减一全部放入另外一个队列。将最后…...

做网站销售的话术/seo首页网站

#!/bin/bash cat /root/.ssh/id_rsa.pub >> /root.ssh/authorized_keys 将公钥导到auth文件中去 host1cat /root/a ##a文件里的内容是你想要scp公钥的目标主机地址 for i in $host1; do command1"scp /root/.ssh/authorized_keys $i:/root/.ssh/authorized…...

wordpress3.3/网络营销与传统营销的区别

1)API申请2)API调用3)[b]效果展示[/b]4)精准查询--------------------------------------------------------------------------1)API申请爱帮提供查询接口API,需要申请Key http://www.aibang.com查询数量有限制,2013-12-4 最多 1000次/每天 10次/分钟返…...

银行网站建设方案视频/2345浏览器主页网址

本文打算探讨两种设置方法,一种是在程序中动态设置,一种是在程序启动前的静态设置。 先说静态设置(具体设置见:参考csdn的一篇文章): 1,在/etc/security/limits.conf中修改或者添加进程可打开文…...