Java基础知识总结(1)
Java概况
JavaSE是java分类中的标准版,是刚接触java要学习的基础知识。
JavaEE是java分类中的企业版,是java中的高级,涉及到的知识广泛。
JavaME中M是Micro的缩写,用在嵌入式等电子设备中。
Java软件工程师:通过Java编程语言开发软件
Dos命令的使用
win+r ->>cmd
- exit 退出当前Dos命令窗口 - cls 清屏 -DOS 窗口中的内容怎样复制?在DOS窗口的任意位置,点击鼠标右键,然后选择标记,接下来选中要复制的内容,在DOS窗口的任意位置点击鼠标右键,此时被复制的内容已经到剪切板了。在需要粘贴的位置粘贴即可。 -dir 列出当前目录的所有子文件 -cd 命令表示:change directory(改变目录)*cd命令怎么用呢?cd目录的路径*但是路径包括绝对路径和相对路径绝对路径:表示该路径从某个磁盘的盘符下作为出发点的路径相对路径:表示该路径从当前所在的路径下作为出发点的路径(绝对路径任何人都能找到,但相对路径需要一定的条件)*假设是这样写的 cd C:\Users\123\Desktop其中C:\Users\123\Desktop路径就是一个绝对路径 -cd ..回到上一级目录 -cd\直接回到根目录 -怎样切换盘符 1.c:2.d:3.e:
数字匹配符 \D
\D 可以配置非数字,等价于上一节 中的 0-9
2.java语言的发展史
*Java语言诞生于1995年
*其实在1995年之前SUN公司(太阳微电子公司:公司为Oracle(甲骨文:做数据库的)收购了)为了占据智能电子消费产品市场,派James Gosing领导团队开发了一个Oak语言。
*1996年:JDK1.0诞生
--什么是JDK?
Java开发工具包,该工具包需要从官网下载。
目前SUN被Oracle收购了,所以下载需要去Oracle官网下载。 Oracle | Cloud Applications and Cloud Platform
*目前JDK最高版本是:Java8/JDK1.8/JDK8
*Java包括三大块:
-JavaSE(Java标准版)
-JavaEE(Java企业版)
-JavaME(Java微型版)
3.Java语言特性
*简单性:
相对而言的。例如Java不再支持多继承,C++是支持多继承的,多继承比较复杂
C++中有指针,Java中屏蔽了指针的概念。
所以相对而言,Java是简单的
Java语言底层是C++实现的,不是C语言。
*面向对象:
Java是纯面向对象的。更符合人的思维模式。更容易理解。
*可移植性(跨平台性)
一次编译,到处运行。Java程序可以在windows操作系统上运行,不做任何修改,同样的Java程序可以直接放到Liunx操作系统上运行。这个被称为Java程序的可移植性,或者叫跨平台性。
windows操作系统内核和Linux操作系统的内核肯定不同,他们这两个操作系统执行指令的方式也不一样。
Java程序运行在JVM虚拟机(windows版本的虚拟机和Liunx版本的Java虚拟机)上实现跨平台
*多线程
*健壮性
和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制。
Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。
*安全性
4.Java的开发与执行
*Java程序的运行包括两个重要的阶段
1.编译阶段:
xxx.java(源代码)-----编译---->xxx.class(字节码文件)
编译阶段主要的任务是检查Java源文件是否符合Java语法,符合Java语法则能够生成正常的字节码文件(.class),不符合Java语法则无法生成字节码文件。
-字节码文件不是纯粹的二进制,无法在操作系统中直接执行。
-编译阶段的过程:
*程序员需要在硬盘的某个位置上新建一个.java扩展名的文件。
该文件被称为Java源文件,源文件当中编写的是Java源代码/源程序。这个源文件必须符合Java语法规则
*Java程序员需要使用JDK当中自带的javac.exe命令进行java程序的编译
javac.exe怎么用呢?在哪用呢?
-javac的使用规则:
javac java源文件的路径
-在DOS命令窗口中运行
javac是一个java编译器工具/命令。
*Java源文件可以编译生成多个.class文件
字节码文件(.class)文件是最终要执行的文件,所以说class文件的生成之后,java源文件的删除并不会印象java程序的执行。但是一般java源程序不要删除,因为class文件的执行效果可能不是我们想要的,可以回头再修改java源程序,再次编译生成新的class文件。
*编译结束后,可以将class文件拷贝到其他操作系统中运行
2.执行阶段(可以在其他操作系统中跨平台)
-JDK安装之后,除了自带一个java从.exe之外,还另外一个可执行文件叫做java.exe java.exe主要负责运行阶段。
-java.exe主要在DOS窗口中使用
-java.exe怎么用呢?
java 类名(千万要注意,不要写成 java A.class)
-
运行阶段的过程:
*打开DOS命令窗口
*输入:Java A
*java.exe命令会启动java虚拟机(JAM),JAM会启动类加载器ClassLoader
*ClassLoader会去硬件上搜索A.class文件,找到该文件则将该字节码文件装载到JVM当中。
*JVM将A.class字节码文件解释成二进制(如,101010)的数据。
*然后操作系统执行二进制和底层硬件平台进行交互。
5.开始第一个Java程序
5.1保证计算机当中有文本编辑器
5.2安装了Java开发工具包
----JRE (Java运行环境)
5.3JDK JRE JVM的关系
5.4开发HelloWorld.java源程序
5.5将HelloWorld.java源程序通过javac工具进行编译:
#首先需要解决的问题javac命令是否可用
#打开DOS命令窗口,直接输入javac,然后回车,出现如下:‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件。出现以上问题是因为:windows操作系统无法找到javac命令文件。
# windows是如何搜索硬盘上某个命令的呢?
*首先会从当前目录下搜索
*当前目录中搜索不到的话,会从环境变量path指定的路径当中搜索某个命令。
*如果都不是则报错。
#怎样解决以上问题? ---配置系统变量
5.6 javac命令怎么用?
javac java源文件路径
注意:路径包括相对路径和绝对路径,都可以。
5.7运行java程序
#需要使用java.exe
#首先检测java命令受否可用
#使用方法:
java类名
硬盘上有HelloWorld.class,那么类名就是:HelloWorld
java HelloWorld
*一定要注意:java命令后面跟的不是文件路径,是一个类的名字。
#然后直接执行:java HelloWorld
*注意:路径中".."表示上一级路径,”.“表示当前路径
相关文章:
Java基础知识总结(1)
Java概况 JavaSE是java分类中的标准版,是刚接触java要学习的基础知识。 JavaEE是java分类中的企业版,是java中的高级,涉及到的知识广泛。 JavaME中M是Micro的缩写,用在嵌入式等电子设备中。 Java软件工程师:通过Ja…...
脚手架原理之webpack处理html文件和模块打包
脚手架原理之webpack处理html文件和模块打包 为了更好的理解项目脚手架的使用,我们来学习一下webpack工具,因为脚手架的底层就是基于webpack工具实现的。 安装 webpack工具是基于nodejs的,所以首先要有nodejs环境,其次需要下载…...
Winform编程详解一:Form窗口
一、属性介绍 1. (Name) 窗体的对象标识符ID 2. Text 修改窗口左上角标题 3. Icon 修改窗口左上角图标,图标最合适大小 32*32 4. 修改窗体第一次出现位置 代码修改:StartPosition System.Windows.Forms.FormStartPosition.CenterScreen; 5…...
Windows Server 2025 Install Preview
前言 Windows Server 2025 带来了巨大的发展,例如面向所有人的热补丁、下一代 Active Directory 和 SMB、关键任务数据和存储、Hyper-V 和 AI 等 Windows Server 2025 Preview download 下载 已注册的预览体验成员可以直接导航到 Windows Server Insider Preview 下载页面。…...
四、MySQL
MySQL MySQL1.初识网站2.安装MySQL2.1 下载(最重要的一点是路径中不能有中文,哪怕是同级目录也不行)2.2安装补丁2.3安装2.4创建配置文件2.5初始化 3.启动MySQL4.连接测试4.1 设置密码4.2 查看已有的文件夹(数据库)4.3 …...
C#使用泛型自定义的方法设计队列CQueue<T>类
目录 一、涉及到的知识点 1.C#中的队列类 2.自定义队列的方法 (1)先设计一个CList<T>类 (2)再设计CQueue<T>类 二、自定义队列CQueue<T>类的实例 一、涉及到的知识点 1.C#中的队列类 在C#中实现队列类&a…...
IDEA自定义Maven仓库
Maven 是一款广泛应用于 Java 开发的工具,其作用类似于一个全自动的 JAR 包管理器,能够方便地导入开发所需的相关 JAR 包。在使用 Maven 进行 Java 程序开发时,开发者能够极大地提高开发效率。以下是关于如何安装 Maven 以及在 IDEA 中配置自…...
Codeql复现CVE-2018-11776学习笔记
基本使用 1、首先下载struts2漏洞版本源码: https://codeload.github.com/apache/struts/zip/refs/tags/STRUTS_2_3_20 2、构建codeql数据库(构建失败文末有解决办法): codeql database create ~/CodeQL/databases/struts2-2.3.…...
CVE-2024-27199 JetBrains TeamCity 身份验证绕过漏洞2
漏洞简介 TeamCity Web 服务器中发现了第二个身份验证绕过漏洞。这种身份验证旁路允许在没有身份验证的情况下访问有限数量的经过身份验证的端点。未经身份验证的攻击者可以利用此漏洞修改服务器上有限数量的系统设置,并泄露服务器上有限数量的敏感信息。 项目官网…...
ms office学习记录12:Excel学习记录㈥
数据工具 分列的其他运用:身份证号中“出生日期”切片:分列→固定宽度→下一步→切割出三列→下一步→不导入第一列→导入第二列且转换成日期→不导入第三列→完成 删除重复值:定位到要“数据”选项卡→删除重复项→取消全选再勾选要删除的…...
基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的条形码二维码检测系统(深度学习+UI界面+训练数据集+Python代码)
摘要:在物流和制造业中,开发一套高效的条形码与二维码识别系统显得尤为关键。本博文深入探讨了如何利用深度学习技术打造出一套先进的条形码及二维码检测系统,并且提供了一套完整的实施方案。该系统搭载了性能卓越的YOLOv8算法,并…...
npm yarn 一起使用报错
项目记录,具有独特性,仅供参考 项目好好的运行,前一天装个测试工具包, 突然就不行了,卸载重装也不行,所有的项目都安装失败,新起一个项目也不行,有时候某个单独安装一个包可以&…...
基于springboot实现驾校信息管理系统项目【项目源码+论文说明】计算机毕业设计
基于springboot实现驾校信息管理系统演示 摘要 随着人们生活水平的不断提高,出行方式多样化,也以私家车为主,那么既然私家车的需求不断增长,那么基于驾校的考核管理也就不断增强,那么业务系统也就慢慢的随之加大。信息…...
DXP软件界面显示“No Hard Devices”【简单的操作问题】加【软件下载】
目录 一,DXP软件界面显示“No Hard Devices” 二,软件下载的百度网盘资源 一,DXP软件界面显示“No Hard Devices” Protel DXP是2004是澳大利亚Altium公司于2002年推出的一款电子设计自动化软件。它的主要功能包括:原理图编辑、印…...
通过Spring Boot 实现页面配置生成动态接口?
流程介绍 在Spring Boot中实现页面配置生成动态接口通常涉及几个关键步骤: 设计页面配置:首先,你需要设计一个用户界面(UI),允许用户通过此界面来配置接口的各种参数,例如HTTP方法(GET、POST等)、URL路径、请求参数、响应数据格式等。保存配置信息:当用户通过页面配置…...
【数据结构与算法】:插入排序与希尔排序
🔥个人主页: Quitecoder 🔥专栏: 数据结构与算法 欢迎大家来到初阶数据结构的最后一小节:排序 目录 1.排序的基本概念与分类1.1什么是排序的稳定性?1.2内排序与外排序内排序外排序 2.插入排序2.1实现插入排序2.3稳定性…...
前端性能优化——javascript
优化处理: 讲javascript脚本文件放到body标记的后面 减少页面当中所包含的script标记的数量 课堂练习: 脚本优化处理 使用原生JavaScript完成操作过程。 document.querySelector document.querySelectorAll classList以及类的操作API Element.class…...
Docker容器化技术(使用Docker搭建论坛)
第一步:删除容器镜像文件 [rootlocalhost ~]# docker rm -f docker ps -aq b09ee6438986 e0fe8ebf3ba1第二步:使用docker拉取数据库 [rootlocalhost ~]# docker run -d --name db mysql:5.7 02a4e5bfffdc81cb6403985fe4cd6acb0c5fab0b19edf9f5b8274783…...
C# ListView 控件使用
1.基本设置 listView1.Columns.Add("序号", 60); //向 listView1控件中添加1列 同时设置列名称和宽度listView1.Columns.Add("温度", 100); //下同listView1.Columns.Add("偏移", 100);listView1.Columns.Add("分割", 50);listView1…...
【string一些函数用法的补充】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 string类对象的修改操作 我们来看 c_str 返回c格式的字符串的操作: 我们来看 rfind 和 substr 的操作: string类非成员函数 我们来看 r…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...
2025 后端自学UNIAPP【项目实战:旅游项目】7、景点详情页面【完结】
1、获取景点详情的请求【my_api.js】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http(/login/getWXSessionKey, {code,avatar}); };//…...
【RabbitMQ】- Channel和Delivery Tag机制
在 RabbitMQ 的消费者代码中,Channel 和 tag 参数的存在是为了实现消息确认机制(Acknowledgment)和精细化的消息控制。 Channel 参数 作用 Channel 是 AMQP 协议的核心操作接口,通过它可以直接与 RabbitMQ 交互: 手…...
循环神经网络(RNN):从理论到翻译
循环神经网络(RNN)是一种专为处理序列数据设计的神经网络,如时间序列、自然语言或语音。与传统的全连接神经网络不同,RNN具有"记忆"功能,通过循环传递信息,使其特别适合需要考虑上下文或顺序的任…...
