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…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...