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

JAVA基础

JAVA基础

JAVA的变量

变量是什么

内存中存储的,数值可以改变的数据

定义变量

语法
数据类型 变量名 = 值;

变量的命名:

  1. 必须由字母、数字、下划线和$组成;
  2. 开头不能是数字
  3. 规范的命名是小驼峰命令:studentName
  4. 要做到见名知义

变量的数据类型

  • 基本的数据类型:
    1. byte 1字节 -128 ~ 127
    2. short 2字节 -32768 ~ 32767
    3. int 4 字节 21亿左右
    4. long 8字节 天文数字
    5. float 4 字节 单精度
    6. double 8 字节 双精度
  • 非数值
    1. boolean 1 字节 true false
    2. char 2 字节 单字符
  • 引用数据类型
    1. 接口
    2. 数组

数据类型的转换

不同数值类型之间进程进行转换,分为:自动类型转换和强制类型转换

自动类型转换
  • 小 --> 大
int n1 = 100;
long n2 = n1;
double n3 = n2;
强制类型转换
  • 大值转小值
long n1 = 1000L;
int n2 = n1;(报错)
int n2 = (int)n1;
int n3 = (int)99.999;

面试题:short s = s+1 和short s += 1有什么区别?

在Java中,short s = s + 1;short s += 1; 这两种表达式看起来很相似,但实际上它们之间有一个重要的区别。

  1. short s += 1;:

    • 这个表达式使用了复合赋值运算符(+=)。复合赋值运算符有一个隐式的类型转换。即使右侧的表达式结果超出了左侧变量的范围,编译器也会自动处理好类型转换,使得这个语句可以直接工作而不会产生编译错误。
    • 因此,如果 s 是一个 short 类型的变量,那么 s += 1; 将会正确地将 s 的值增加1,并且结果仍然存储为 short 类型。
  2. short s = s + 1;:

    • 这个表达式实际上涉及到了两个步骤:首先计算 s + 1,然后将结果赋值给 s。然而,在Java中,当进行算术运算时,即使是 byteshortchar 类型的数据,也会先被提升到 int 类型来进行计算。
    • 因此,s + 1 实际上是 int 类型的结果。尝试将一个 int 类型的结果直接赋值给一个 short 类型的变量会导致编译错误,因为存在潜在的数据丢失风险。
    • 要使这个表达式正确运行,你需要显式地进行类型转换,例如:short s = (short)(s + 1);

总结来说,short s += 1; 更简洁且不需要额外的类型转换,而 short s = s + 1; 需要显式类型转换来避免编译错误。在实际编程中,推荐使用复合赋值运算符以提高代码的可读性和减少出错的可能性。

面试题:JAVA中++和–的前缀和后缀有什么区别?

++--
前缀:先自增自减再运算
后缀:先运算再自增自减
int n1 = 10;
int n2 = ++n1; 11
int n2 = n1++; 10

面试题:JDK、JRE、JVM的区别?

在Java开发和运行环境中,JDK、JRE 和 JVM 是三个非常重要的概念。它们各自有不同的功能和作用。下面详细解释它们的区别:

JDK (Java Development Kit)
  • 定义:JDK 是 Java 开发工具包的缩写,它是一个完整的软件开发平台,包含了 JRE 以及开发工具和其他组件。
  • 用途:主要用于编写、调试和运行 Java 应用程序。它包括了编译器(javac)、运行时环境(JRE)、开发工具(如 javadocjarjdb 等)以及其他必要的文件和资源。
  • 组成
    • JRE:Java 运行时环境,用于运行 Java 应用程序。
    • 开发工具:如 javac(编译器)、javadoc(文档生成器)、jar(打包工具)、jdb(调试器)等。
    • 其他工具:如 keytool(密钥和证书管理工具)、jps(Java 进程状态工具)等。

JRE (Java Runtime Environment)

  • 定义:JRE 是 Java 运行时环境的缩写,它是运行 Java 应用程序所必需的环境。
  • 用途:主要用于运行已经编译好的 Java 字节码文件(.class 文件),而不包含开发工具。
  • 组成
    • JVM:Java 虚拟机,是 JRE 的核心部分,负责执行 Java 字节码。
    • 类库:Java 标准类库(如 java.langjava.util 等)。
    • 其他支持文件:如配置文件、国际化支持文件等。

JVM (Java Virtual Machine)

  • 定义:JVM 是 Java 虚拟机的缩写,它是 JRE 的核心组件,负责执行 Java 字节码。
  • 用途:JVM 是一个抽象的计算机,它提供了一个运行时环境,使得 Java 程序可以在任何支持 JVM 的平台上运行,实现了“一次编写,到处运行”(Write Once, Run Anywhere)的理念。
  • 主要功能
    • 字节码解释:将 Java 字节码解释成机器码并执行。
    • 内存管理:包括垃圾回收(Garbage Collection)等。
    • 安全检查:确保运行的代码不会危害系统安全。
    • 类加载:动态加载 Java 类。

关系图

JDK (Java Development Kit)
│
├── JRE (Java Runtime Environment)
│   │
│   ├── JVM (Java Virtual Machine)
│   │
│   └── 类库及其他支持文件
│
└── 开发工具及其他组件

总结

  • JDK:包含 JRE 和开发工具,用于开发和运行 Java 应用程序。
  • JRE:包含 JVM 和类库,用于运行 Java 应用程序。
  • JVM:Java 虚拟机,负责执行 Java 字节码,是 JRE 的核心部分。

在面试中,能够清晰地解释这三个概念及其关系,可以帮助面试官了解你对 Java 平台的深入理解。

Java的数组

为什么需要数组

变量只能保存一个数据,开发时我们经常需要保存大量的数据;

什么是数组

内存中一块连续的存储空间,用来保存相同类型的多个数据

怎么用数组

数组的定义

数组

定义数组的语法

数据类型[] 数组名称 = new 数据类型[长度];
数据类型 数组名称[] = new 数据类型[长度];

示例

int[] array = new int[5];

###数组的默认值

数组的初始化

数组通过下标来访问,从0开始到长度为-1
下表超过范围会出现异常:java.lang.ArrayIndexOutOfBoundsException;

数组的访问

数组的遍历

遍历方式有两种:常规for循环、foreach循环

常规for循环:

//定义数组String[] names = new String[]{"张三", "李四", "王五"};//遍历输出for(int i = 0; i < names.length; i++){System.out.println("人物名字为:" + names[i]);}

foreach循环

String[] names = {"张三", "李四", "王五","刘备","张飞","关羽"};for(String name : names){System.out.println("人物名字为:" + name);}

二维数组

二维数组

一维数组类似线性表的结构
二维数组类似表格的结构

二维数组的定义

数据类型[][] array = new 数据类型[行长度][列长度];

二维数组的访问

数组名称[行下标][列下标] = 值;//二维数组int[][] array2 = new int[3][4];//给第二行的第二列赋值array2[1][1] = 99;System.out.println("二维数组第二行第二列的值为:"+array2[1][1]);//访问行长度System.out.println("行长度为:"+array2.length);//访问列长度System.out.println("列长度为:"+array2[0].length);

二维数组的初始化
静态初始化

int[][] array3 = {{1,2,3},{4,2,6,10},{9,4,4,8}}

数组的遍历

int[][] array3 = {{1,2,3},{4,2,6,10},{9,4,4,8}};//常规的for循环for(int i = 0; i < array3.length; i++){for(int j = 0; j < array3[i].length; j++){System.out.print(array3[i][j]+" ");}System.out.println();}//foreach循环for(int[] row : array3){for(int data : row){System.out.print(data+" ");}System.out.println();}

程序的调试

让程序停下来,单步运行,看到结果
步骤:

  1. 设置断点
  2. 点击调试运行
  3. 单步运行
    程序调试

练习1:定义二维数组,用来保存3个班的5个同学,输入3个班的五个名字(需要用大Scanner)

package com.java.array;public class Main {public static void main(String[] args) {//练习1:定义二维数组,用来保存3个班的5个同学,// 输入3个班的五个名字(需要用大Scanner)String[][] names = new String[3][5];for (int i = 0; i < names.length; i++) {for (int j = 0; j < names[i].length; j++) {System.out.println("请输入第" + (i + 1) + "个班第" + (j + 1) + "个同学的名字:");names[i][j] = new java.util.Scanner(System.in).next();}}for (int i = 0; i < names.length; i++) {for (int j = 0; j < names[i].length; j++) {System.out.println("第" + (i + 1) + "个班第" + (j + 1) + "个同学的名字为:" + names[i][j]);}}}
}

数组的常用算法

什么是算法

完成特定程序功能一系列代码指令
算法一般包含几个特定:

  1. 有序性,程序指令依次执行
  2. 有穷性,有有限的步骤组成
  3. 有目的性,完成特定的任务
  4. 输入,有数据参与运算
  5. 输出,运算完成后有结果

衡量算法的方法

衡量算法好坏的方法有:

  1. 时间复杂度
    程序的执行次数
  2. 空间复杂度
    程序中变量的个数
    时间复杂度、空间复杂度越低,算法的效率越高

如何计算时间复杂度

for(int i = 1; i < n; i++){for(int j = 0;j < 2 * n - 1; j++){......}
}

次数:2*n2 - n

计算方法:

  1. 去掉常量 n2-n
  2. 保留最高阶,去掉低阶 n2
  3. 如果次数是固定厂里,就是O(1)
    O(n2)
for(int i = 1;i < 9999;i++){......
}
O(1)for(int i = 1;i < n * 2 + 999;i++){......
}
O(n)for(int i = 1; i < n;i*=2){
......
}
O(logn)

O(1)<O(logn)<O(n)<O(n2)<O(2n)<O(n!)

空间复杂度

以定义变量的个数来衡量

int i = 1;
int j = 2;
int k = 3;
长度固定
O(1)int [] array = new int[1000];
O(n)集合嵌套集合
O(n2)

查找

顺序查找

对于无序数组,查找其中的一个元素,返回其下标,如果不存在就返回-1
分析:一个个比较,如果相等就返回下标,不相等就找下一个,如果到最好元素还没找到就返回-1

package com.java.array;public class ArrayFindDemo {public static void main(String[] args) {//定义数组int[] arr = {1,2,3,4,5};int num = 1;//调用查找方法//int position = find(arr,num);System.out.println("查找结果为:"+find(arr,3));}public static int find(int[] array,int num) {//遍历数组,将每个元素和查找进行比较for(int i = 0; i < array.length; i++) {if(array[i] == num) {return i;}}//数组中没有找到return -1;}
}
二分查找

算法效率高,只是用与有序的数组
算法描述:使用淘汰机制淘汰一半的数据,直到找到想要数字
算法的实现:

  1. 定义两个变量,一个保存开始位置下标,一个保存结束位置
  2. 定义中间位置变量,计算中间位置
  3. 将中间位置所在元素和查找数比较
  4. 如果中间元素大,将结束位置设置中间位置-1
  5. 如果中间元素小,将开始位置设置中间位置+1
  6. 如果相等就返回位置,结束
  7. 否则执行 2,3,4,5,6步骤
//二分查找public static void main(String[] args) {
int[] array3 = {1,2,3,4,5,6,7,8,9,10};
System.out.println("查找结果为:"+binarySearch(array3,5));
}public static int binarySearch(int[] array, int num){int left = 0;int right = array.length-1;while(left <= right){int mid = (left+right)/2;if(array[mid] == num){return mid;}else if(array[mid] > num){right = mid - 1;}else{left = mid + 1;}}return binarySearch(array, num);}

最大值

算法描述:在一个数组中找到其中的最大值,返回最大值
算法实现:

  1. 先定义最大值变量
  2. 先将数组的第一数为最大值(给变量赋值)
  3. 从数组的第二个数开始依次的和最大值进行比较,如果比较大就存入到最大值
package com.java.array;public class ArrayFindDemo {public static void main(String[] args) {//定义数组int[] arr = {10,1,2,3,4,5};int num = 1;int Max = max(arr);System.out.println("数组最大值为:"+Max);}public static int max(int[] array){int max = array[0];for (int i = 1; i < array.length; i++){if (array[i] > max){max = array[i];}}//返回最大值return max;}
}

O(n)

排序

  1. 冒泡排序
  2. 选择排序
  3. 插入排序
  4. 快速排序
  5. 归并排序
  6. 希尔排序
  7. 堆排序
  8. 计数排序
冒泡排序

算法的描述:将数组的每个元素,两两比较,将较大者交换到后面
算法的分析:

  1. 分为多轮比较
  2. 每轮比较时,把相邻的两个元素进行比较,前面的元素比后面的元素大,就交换的后面
package com.java.array;public class ArrayFindDemo {public static void main(String[] args) {//定义数组int[] arr = {10,15,21,3,8,5};bubbleSort(arr);for(int n : arr){System.out.println(n);}}public static void bubbleSort(int[] array){//外层循环控制比较轮数 n-1for(int i = 0; i < array.length-1; i++){//内层循环控制每轮比较次数 n-i-1for(int j = 0; j < array.length-i-1; j++){//比较相邻的两个元素,如果前一个元素大于后一个元素,则交换位置if(array[j] > array[j+1]){int temp = array[j];array[j] = array[j+1];array[j+1] = temp;}}}}
}

相关文章:

JAVA基础

JAVA基础 JAVA的变量 变量是什么 内存中存储的&#xff0c;数值可以改变的数据 定义变量 语法 数据类型 变量名 值&#xff1b; 变量的命名&#xff1a; 必须由字母、数字、下划线和$组成&#xff1b;开头不能是数字规范的命名是小驼峰命令&#xff1a;studentName要做…...

ssh无法连接Ubuntu

试了多次ssh都无法连接&#xff0c;明明可以上网 网卡、防火墙、端口都没有问题&#xff0c;就是连接不上 结果是这个版本Ubuntu镜像默认没有安装ssh服务 安装SSH服务&#xff1a;apt-get install openssh-server 开启SSH服务&#xff1a;/etc/init.d/ssh start 就可以连接…...

spi 回环

///tx 极性0 &#xff08;sclk信号线空闲时为低电平&#xff09; /// 相位0 (在sclk信号线第一个跳变沿进行采样) timescale 1ns / 1ps//两个从机 8d01 8d02 module top(input clk ,input rst_n,input [7:0] addr ,input …...

MongoDB 更新集合名

MongoDB 更新集合名 MongoDB 是一个流行的 NoSQL 数据库&#xff0c;它使用集合&#xff08;collections&#xff09;来存储文档&#xff08;documents&#xff09;。集合在 MongoDB 中相当于关系型数据库中的表。在 MongoDB 中&#xff0c;集合名是可以在某些情况下进行更新的…...

常见面试题----深入源码理解MQ长轮询优化机制

引言 在分布式系统中&#xff0c;消息队列&#xff08;Message Queue, MQ&#xff09;扮演着至关重要的角色。MQ不仅实现了应用间的解耦&#xff0c;还提供了异步消息处理、流量削峰等功能。而在MQ的众多特性中&#xff0c;长轮询&#xff08;Long Polling&#xff09;机制因其…...

Firewall防火墙配置

文章目录 一、firewalld简介二、firewalld特性三、firewalld相关文件及目录四、firewalld配置五、firewalld配置实例一、firewalld简介 firewalld 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 ipv4, ipv6 防火墙设置以及以太网…...

我做了一份斯坦福CS229吴恩达机器学习笔记

吴恩达教授的机器学习课程&#xff0c;可以说是AI领域的一块金字招牌。这门在斯坦福大学开设的课程&#xff0c;历经十余年&#xff0c;依旧是机器学习入门的经典之作。 记得当年&#xff0c;这门课火爆到吴恩达教授不得不将其搬到线上&#xff0c;结果不仅在斯坦福&#xff0c…...

TESSY单元测试工具详解与操作演示:ISO 26262合规性、自定义测试用例、详细测试报告等

在嵌入式系统开发中&#xff0c;安全性和可靠性至关重要&#xff0c;尤其是在汽车、医疗和工业控制等高风险行业。为了确保代码在实际运行中满足安全标准&#xff0c;开发者需要一套完善全面的测试工具&#xff0c;来严格检测代码的安全性和可靠性。 TESSY作为一款已获得IEC 61…...

C++语言之函数对象与算法

在 C 中&#xff0c;函数对象&#xff08;Function Object&#xff09;也叫仿函数&#xff08;Functor&#xff09;&#xff0c;是一个类&#xff0c;这个类重载了()运算符。从概念上讲&#xff0c;它的行为类似于一个函数&#xff0c;可以像调用函数一样来调用这个类的对象。 …...

Fakelocation Server服务器/专业版 Windows11

前言:需要Windows11系统 Fakelocation开源文件系统需求 Windows11 | Fakelocation | 任务一 打开 PowerShell&#xff08;以管理员身份&#xff09;命令安装 Chocolatey Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProto…...

java使用itext生成pdf

一、利用Adobe Acrobat DC软件创建pdf模板 备好Adobe Acrobat DC软件 1.excel/jpg/png文件转pdf文件 右击打开我们要转换的文件 2.然后点击 添加 域 3.可以看到域的名字 4.调整字体大小/对齐方式等 5.保存 二&#xff0c;代码部分 首先 上依赖 <dependency><group…...

【PPTist】添加PPT模版

前言&#xff1a;这篇文章来探索一下如何应用其他的PPT模版&#xff0c;给一个下拉菜单&#xff0c;列出几个项目中内置的模版 PPT模版数据 &#xff08;一&#xff09;增加菜单项 首先在下面这个菜单中增加一个“切换模版”的菜单项&#xff0c;点击之后在弹出框中显示所有的…...

AmazonS3集成minio实现https访问

最近系统全面升级到https&#xff0c;之前AmazonS3大文件分片上传直接使用http://ip:9000访问minio的方式已然行不通&#xff0c;https服务器访问http资源会报Mixed Content混合内容错误。 一般有两种解决方案&#xff0c;一是升级minio服务&#xff0c;配置ssl证书&#xff0c…...

适配屏幕px、rem单位换算, 将 pxToRem 函数设置为一个全局工具如:在 utils.js 文件、SCSS/Mixin 定义

页面的宽度适配&#xff1a; 假设页面的根元素&#xff08;html&#xff09;的字体大小设置为动态值&#xff08;常用 rem 单位适配时的做法&#xff09;&#xff0c; 比如 html { font-size: (屏幕宽度 / 设计稿宽度) }。如果根元素的字体大小为 1rem 屏幕宽度 / 1920px&…...

H.265流媒体播放器EasyPlayer.js播放器提示MSE不支持H.265解码可能的原因

随着人工智能和机器学习技术的应用&#xff0c;流媒体播放器将变得更加智能&#xff0c;能够根据用户行为和偏好提供个性化的内容推荐。总体而言&#xff0c;流媒体播放器的未来发展将更加注重技术创新和用户互动&#xff0c;以适应不断变化的市场需求和技术进步。 提示MSE不支…...

医学图像语义分割:前列腺肿瘤、颅脑肿瘤、腹部多脏器 MRI、肝脏 CT、3D肝脏、心室

医学图像语义分割&#xff1a;前列腺肿瘤、颅脑肿瘤、腹部多脏器 MRI、肝脏 CT、3D肝脏、心室 语义分割网络FCN&#xff1a;通过将全连接层替换为卷积层并使用反卷积上采样&#xff0c;实现了第一个端到端的像素级分割网络U-Net&#xff1a;采用对称的U形编解码器结构&#xff…...

16. 指针类型和步长概念问题

1. 项目场景&#xff1a; ➣ Jack Qiao对米粒说&#xff1a;“今天有道友遇到一个问题&#xff0c;举个栗子数组 arr[5] { 0 };道友发现&arr[0] 1与&arr 1打印出来的地址竟然不同。”米粒测试后果然是这样。 2. 问题描述 ☑ 举个栗子&#xff1a;数组 arr[5] { 0…...

【电路笔记】-布尔逻辑AND函数

逻辑AND函数 文章目录 逻辑AND函数1、概述2、逻辑 AND 函数 仅当所有输入均为 true 时&#xff0c;逻辑与函数输出才为 true&#xff0c;否则输出为 false。 1、概述 布尔代数基于逻辑函数&#xff0c;其中每个布尔函数&#xff08;例如逻辑 AND 函数&#xff09;通常具有一个…...

数据结构C语言描述3(图文结合)--双链表、循环链表、约瑟夫环问题

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…...

wend看源码-APISJON

项目地址 腾讯APIJSON官方网站 定义 APIJSON 可以定义为一个面向HTTP 协议的JSON 规范&#xff0c;一个面向数据访问层的ORM 框架。其主要工作流程包括&#xff1a;前端按照既定格式组装 JSON 请求报文&#xff0c;通过 APIJSON-ORM 将这些报文直接转换为 SQL 语句&#xff0c…...

CSS(8):盒子阴影与文字阴影

一&#xff1a;盒子阴影text-shadow属性 1.box-shadow&#xff1a;h-shadow v-shadow blur spread color inset; 默认的是外部阴影outset&#xff0c;不能写在代码上 2.鼠标经过盒子后的阴影 rgba透明度 3.文字阴影 text-shadow:水平偏移 垂直偏移 模糊度 阴影颜色; 注意点…...

Hadoop 系列 MapReduce:Map、Shuffle、Reduce

文章目录 前言MapReduce 基本流程概述MapReduce 三个核心阶段详解Map 阶段工作原理 Shuffle 阶段具体步骤分区&#xff08;Partition&#xff09;排序&#xff08;Sort&#xff09;分组&#xff08;Combine 和 Grouping&#xff09; Reduce 阶段工作原理 MapReduce 应用场景Map…...

web——sqliabs靶场——第十三关——报错注入+布尔盲注

发现是单引号加括号闭合的 尝试联合注入 发现不太行&#xff0c;那尝试报错注入。 测试报错注入 unameadmin) and updatexml(1,0x7e,3) -- &passwdadmin&submitSubmit 爆数据库 unameadmin) and updatexml(1,concat(0x7e,database(),0x7e),3) -- &passwdadmin&a…...

调大Vscode资源管理器字体

对于调整资源管理器字体大小&#xff08;也就是下图红框&#xff09;&#xff0c;查找了网上很多方法。要么介绍的方法是调整了代码字体&#xff0c;要么是调节了终端字体&#xff0c;要么是通过整体放缩实现的调整&#xff0c;总之都不合适。 唯一的调整方法是在几篇CSDN里看到…...

【新人系列】Python 入门(十一):控制结构

✍ 个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12801353.html &#x1f4e3; 专栏定位&#xff1a;为 0 基础刚入门 Python 的小伙伴提供详细的讲解&#xff0c;也欢迎大佬们…...

后端开发详细学习框架与路线

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端开发 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 为帮助你合理安排时间&#xff0c;以下是结合上述学习内容的阶段划分与时间分配建议。时间安排灵活&a…...

类文件结构详解.上

字节码 在 Java 中&#xff0c;JVM 可以理解的代码就叫做字节码&#xff08;即扩展名为 .class 的文件&#xff09;&#xff0c;它不面向任何特定的处理器&#xff0c;只面向虚拟机。Java 语言通过字节码的方式&#xff0c;在一定程度上解决了传统解释型语言执行效率低的问题&…...

【K8S问题系列 |18 】如何解决 imagePullSecrets配置正确,但docker pull仍然失败问题

如果 imagePullSecrets 配置正确&#xff0c;但在执行 docker pull 命令时仍然失败&#xff0c;可能存在以下几种原因。以下是详细的排查步骤和解决方案。 1. 检查 Docker 登录凭证 确保你使用的是与 imagePullSecrets 中相同的凭证进行 Docker 登录&#xff1a; 1.1 直接登录…...

Vue+Springboot用Websocket实现协同编辑

1. 项目介绍 在本文中&#xff0c;我们将介绍如何使用Vue.js和Spring Boot实现一个支持多人实时协同编辑的Web应用。通过WebSocket技术&#xff0c;我们可以实现文档的实时同步&#xff0c;让多个用户同时编辑同一份文档。 2. 技术栈 前端&#xff1a;Vue.js 3 Vuex后端&am…...

高阶C语言补充:柔性数组

C99中&#xff0c;结构体中最后一个元素允许时未知大小的数组&#xff0c;这就叫做柔性数组成员。 vs编译器也支持柔性数组。 之所以把柔性数组单独列出&#xff0c;是因为&#xff1a; 1、柔性数组是建立在结构体的基础上的。 2、柔性数组的使用用到了动态内存分配。 这使得柔…...

MYSQL——多表查询、事务和索引

概括 出现查询结果个数为笛卡尔积的原因是sql语句&#xff1a; select * from tb_emp,tb_dept; 没有加上where tb_emp.dept_id tb_dept.id;&#xff08;where条件可以消除笛卡尔积&#xff09; select * from tb_emp,tb_dept where tb_emp.dept_id tb_dept.id; 查询类型 …...

在 Swift 中实现字符串分割问题:以字典中的单词构造句子

文章目录 前言摘要描述题解答案题解代码题解代码分析示例测试及结果时间复杂度空间复杂度总结 前言 本题由于没有合适答案为以往遗留问题&#xff0c;最近有时间将以往遗留问题一一完善。 LeetCode - #140 单词拆分 II 不积跬步&#xff0c;无以至千里&#xff1b;不积小流&…...

Unity类银河战士恶魔城学习总结(P132 Merge skill tree with skill Manager 把技能树和冲刺技能相组合)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了解锁技能后才可以使用技能&#xff0c;先完成了冲刺技能的锁定解锁 Dash_Skill.cs using System.Collections; using System…...

JavaScript 中 arguments、类数组与数组的深入解析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;什么是 arguments 对象2.1 arguments 的定义2.2 arguments 的特性2.3 使用场景 &#x1f4af;深入了解 arguments 的结构3.1 arguments 的内部结构arguments 的关键属性…...

【java-Neo4j 5开发入门篇】-最新Java开发Neo4j

系列文章目录 前言 上一篇文章讲解了Neo4j的基本使用&#xff0c;本篇文章对Java操作Neo4j进行入门级别的阐述&#xff0c;方便读者快速上手对Neo4j的开发。 一、开发环境与代码 1.docker 部署Neo4j #这里使用docker部署Neo4j,需要镜像加速的需要自行配置 docker run --name…...

摄影:相机控色

摄影&#xff1a;相机控色 白平衡&#xff08;White Balance&#xff09;白平衡的作用&#xff1a; 白平衡的使用环境色温下相机色温下总结 白平衡偏移与包围白平衡包围 影调 白平衡&#xff08;White Balance&#xff09; 人眼看到的白色&#xff1a;会自动适应环境光线。 相…...

UI自动化测试中公认最佳的设计模式-POM

一、概念 什么是POM&#xff1f; POM是PageObjectModule&#xff08;页面对象模式&#xff09;的缩写&#xff0c;其目的是为了Web UI测试创建对象库。在这种模式下&#xff0c;应用涉及的每一个页面应该定义为一个单独的类。类中应该包含此页面上的页面元素对象和处理这些元…...

数字图像处理(2):Verilog基础语法

&#xff08;1&#xff09;Verilog常见数据类型&#xff1a; reg型、wire型、integer型、parameter型 &#xff08;2&#xff09;Verilog 常见进制&#xff1a;二进制&#xff08;b或B&#xff09;、十进制&#xff08;d或D&#xff09;、八进制&#xff08;o或O&#xff09;、…...

大公司如何实现打印机共享的?如何对打印机进行管控或者工号登录后进行打印?异地打印机共享的如何实现可以帮助用户在不同地理位置使用同一台打印机完成打印任务?

大公司如何实现打印机共享的&#xff1f;如何对打印机进行管控或者工号登录后进行打印&#xff1f;异地打印机共享的如何实现可以帮助用户在不同地理位置使用同一台打印机完成打印任务&#xff1f; 如果在局域网内&#xff0c;可以不需要进行二次开发&#xff0c;通过对打印机进…...

解决前端页面报错:Not allowed to load local resource

在前后端分离项目中&#xff0c;在前端页面里使用file://的绝对路径访问本地图片&#xff0c;在加载图片的 时候会报出Not allowed to load local resource 的错误。 这是因为浏览器出于安全因素&#xff0c;禁止通过绝对路径访问图片&#xff0c;需要通过虚拟路径进行访问。 …...

Qt 实现网络数据报文大小端数据的收发

1.大小端数据简介 大小端&#xff08;Endianness&#xff09;是计算机体系结构的一个术语&#xff0c;它描述了多字节数据在内存中的存储顺序。以下是大小端的定义和它们的特点&#xff1a; 大端&#xff08;Big-Endian&#xff09; 在大端模式中&#xff0c;一个字的最高有效…...

2024年11月21日Github流行趋势

项目名称&#xff1a;twenty 项目维护者&#xff1a;charlesBochet, lucasbordeau, Weiko, FelixMalfait, bosiraphael项目介绍&#xff1a;正在构建一个由社区支持的现代化Salesforce替代品。项目star数&#xff1a;21,798项目fork数&#xff1a;2,347 项目名称&#xff1a;p…...

Java的方法、基本和引用数据类型

个人的黑马程序员java笔记 目录 方法 例&#xff1a;方法定义和调用 方法的重载 对于byte, short, int, long类型 方法的内存 基本数据类型 引用数据类型 方法的值的传递的内存原理 方法 方法&#xff08;method&#xff09;是程序中最小的执行单元格式 方法定义&a…...

Spark分布式计算中Shuffle Read 和 Shuffle Write的职责和区别

在 Spark 的分布式计算中&#xff0c;Shuffle Read 和 Shuffle Write 是两个与数据重新分区和分发相关的重要阶段。它们的主要职责和区别如下&#xff1a; 1. Shuffle Write Shuffle Write 发生在上游的任务执行阶段&#xff0c;其作用是&#xff1a; 分区数据准备&#xff1…...

【成品文章+四小问代码更新】2024亚太杯国际赛B题基于有限差分格式的空调形状优化模型

这里仅展示部分内容&#xff0c;完整内容获取在文末&#xff01; 基于有限差分格式的空调形状优化模型 摘 要 随着科技进步&#xff0c;多功能环境调节设备成为市场趋势&#xff0c;集成了空调、加湿器和空气 净化器功能的三合一设备能提供更舒适健康的室内环境。我们需要分析…...

实验三:构建园区网(静态路由)

目录 一、实验简介 二、实验目的 三、实验需求 四、实验拓扑 五、实验任务及要求 1、任务 1&#xff1a;完成网络部署 2、任务 2&#xff1a;设计全网 IP 地址 3、任务 3&#xff1a;实现全网各主机之间的互访 六、实验步骤 1、在 eNSP 中部署网络 2、配置各主机 IP …...

MySQL 三大日志详解

在 MySQL 数据库中&#xff0c;binlog&#xff08;二进制日志&#xff09;、redo log&#xff08;重做日志&#xff09;和 undo log&#xff08;回滚日志&#xff09;起着至关重要的作用。它们共同保障了数据库的高可用性、数据一致性和事务的可靠性。下面将对这三大日志进行详…...

vscode使用ssh配置docker容器环境

1 创建容器&#xff0c;并映射主机和容器的指定ssh服务端口 2 进入容器 docker exec -it <容器ID> /bin/bash 3在容器中安装ssh服务 apt-get update apt-get install openssh-server 接着修改ssh文件信息,将容器的10008端口暴露出来允许root用户使用ssh登录 vim /…...

Python设计模式详解之10 —— 外观模式

引言 Facade设计模式&#xff08;外观模式&#xff09;是一种软件设计模式&#xff0c;它提供了一个统一的接口来访问子系统中的一组接口。Facade模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。当一个系统的内部实现非常复杂&#xff0c;或者需要与…...

[服务器] 腾讯云服务器免费体验,成功部署网站

文章目录 概要整体架构流程概要 腾讯云服务器免费体验一个月。 整体架构流程 腾讯云服务器体验一个月, 选择预装 CentOS 7.5 首要最重要的是: 添加阿里云镜像。 不然国外源速度慢, 且容易失败。 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/li…...