vscode 在设置里查找git.path
点击在settings.json中编辑
可以设置成相对路径
1"git.path": "./git/bin/git"
在vscode根目录下放置git文件夹
当你在子模块内部执行 git pull 时,你是在直接从子模块的远端仓库拉取最新的提交。这个操作仅影响子模块本身,不会对父模块产生任何影响。如果子模块有新的更新,父模块不会知道这一点,除非你明确地告诉父模块更新子模块的引用。
而 git submodule update 命令则是从父模块的视角来更新子模块。当你执行这个命令时,Git会检查父模块记录的子模块提交SHA-1值,并尝试将子模块的本地工作目录更新到这个特定的提交。这个操作会考虑父模块中 .gitmodules 文件和 .git/config 文件里记录的子模块的URL和分支。如果子模块有更新,并且父模块已经更新了子模块的引用(通常通过 git submodule update --remote 或者手动编辑 .gitmodules 文件),那么 git submodule update 会拉取这些更新。
简而言之,两者的主要区别在于:
git pull 在子模块内部执行,仅更新子模块的内容,而不影响父模块。git submodule update 在父模块中执行,根据父模块记录的子模块提交SHA-1值来更新子模块。通 ...
使用docker部署
12345678910111213141516171819202122232425262728version: '3.8'services: clash: image: dreamacro/clash:latest network_mode: host volumes: - /volume1/docker/clashBetter/clash/:/root/.config/clash/:rw restart: always subconverter: image: tindy2013/subconverter:0.8.1 networks: - clashBridge ports: - "25500:25500" restart: always yacd: image: haishanh/yacd:latest networks: - clashBridge ports: - "7899:80&q ...
来自鲁班大叔_007的maven搜索工具
引用站外地址
鲁班大叔_007 搜索工具
可以在idea中搜索插件并使用maven-search
阿里云云效较为常用的镜像仓库
引用站外地址
阿里云云效 Maven
使用Datebefore,after这两个可以简单比较时间先后,返回boolean
1234567891011121314151617import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class TimeChecker { public static void main(String[] args) throws InterruptedException, ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date expiratDate = sdf.parse("2024-03-07"); Date nowDate = new Date(); System.out.println(expiratDate.be ...
内置直接使用Runtime.getRuntime().exec(command);,其中command是cmd命令但是呢,这样是运行不了的,要进行异常处理,或者将其抛出:
123456//这里选择异常处理try { Runtime.getRuntime().exec(command);} catch (IOException e) { e.printStackTrace();}
· 可以运行exe文件,· 无法运行 gpedit.msc devmgmt.msc 等工具
1234cmd /c command 执行完命令后关闭命令窗口。 cmd /k command 执行完命令后不关闭命令窗口。 cmd /c start command 会打开一个新窗口后执行命令,原窗口会关闭。 cmd /k start command 会打开一个新窗口后执行命令,原窗口不会关闭。
使用start会调用一个新的窗口,可以用来查看没有窗口的命令行
12Runtime.getRuntime().exec("cmd /c powershell"); ...
创建表123456CREATE TABLE table_name ( id INT AUTO_INCREMENT PRIMARY KEY, column1 datatype1, column2 datatype2, ...);
上述语句中,table_name是表的名称,id是主键列的名称,column1、column2等是其他列的名称,datatype1、datatype2等是列的数据类型。关键字AUTO_INCREMENT用于将主键id设置为自增。
重置自动递增1ALTER TABLE <table_name> ALTER COLUMN <column_name> restart with 1;
删除表1drop table table_name;
插入数据1INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
创建schemaschema是什么数据库中的一个逻辑概念,用于定义和描述数据库中的对象和关系
在H2数据库中,可以使用C ...
一、H2数据库常用数据类型12345678910111213141516171819202122232425262728293031323334353637383940INT类型:对应java.lang.IntegerREAL类型:对应java.lang.FloatDOUBLE类型:对应java.lang.DoubleDECIMAL类型:对应java.math.BigDecimal,比如DECIMAL(20,2)CHAR类型:对应java.lang.String,比如CHAR(10)VARCHAR类型:对应java.lang.StringVARCHAR_IGNORECASE类型:对应java.lang.String,忽略大小写BOOLEAN类型:对应java.lang.BooleanTIME类型:对应java.sql.Time,当转换成java.sql.Date时,日期会设置成1970-01-01DATE类型:对应java.sql.Date,格式为yyyy-MM-dd,其时间默认为00:00:00TIMESTAMP类型:对应java.sql.Timestamp,格式为yyyy-MM-d ...
概念
1.在有maven之前是怎么管理jar包的?jar都在项目里,导致项目都很大。而maven可以使jar包和项目分离。2.maven是干嘛用的?管理包依赖的。相当于python的pip。3.maven是如何管理包的?和pip有什么区别?maven有坐标的概念,相比之下,pip是包名+版本号来定位的,pip更简单一些。
仓库的概念仓库就是存放jar包的地方,即我们前面说的通过pom.xml中通过设置索引来到仓库中寻找jar包仓库分为:本地仓库,第三方仓库,中央仓库
1本地仓库 用来存储从远程仓库或者中央仓库下载的插件和jar包,项目使用一些插件或jar包 优先从本地仓库查找 默认本地仓库的位置在 user.dir/.m2/repository,{user.dir}表示 windows 用户目录。
2第三方仓库 又称为内部中心仓库,又称为私服 私服:一般由公司自己设立,只为本公司内部共享使用,它既可以作为公司内部构建协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率使用私服为了减少对中央仓库的访问私服可以使用的是局域网,中央仓库必须使用外网。也就是一般公司都会创建这 ...
Page Front-matter
写法
解释
title
【必需】页面标题
date
【必需】页面创建日期
type
【必需】标签、分类、关于、音乐馆、友情链接、相册、相册详情、朋友圈、即刻页面需要配置
updated
【可选】页面更新日期
description
【可选】页面描述
keywords
【可选】页面关键字
comments
【可选】显示页面评论模块(默认 true)
top_img
【可选】页面顶部图片
mathjax
【可选】显示 mathjax(当设置 mathjax 的 per_page: false 时,才需要配置,默认 false)
katex
【可选】显示 katex(当设置 katex 的 per_page: false 时,才需要配置,默认 false)
aside
【可选】显示侧边栏 (默认 true)
aplayer
【可选】在需要的页面加载 aplayer 的 js 和 css,请参考文章下面的音乐 配置
highlight_shrink
【可选】配置代码框是否展开(true/fa ...
Ubuntu自带的定时任务工具是cron。cron是一个在Unix系统上用来定期执行任务的工具。你可以使用crontab命令来编辑和管理cron任务。
新建任务要编辑当前用户的cron任务列表,可以运行以下命令:
1crontab -e
然后按照提示编辑cron任务列表。每一行代表一个cron任务,格式如下:
123456789* * * * * 要执行的任务- - - - -| | | | || | | | +----- 星期中星期几 (0 - 6) (星期天 为0)| | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31)| +-------------------- 小时 (0 - 23)+------------------------- 分钟 (0 - 59)
例如,要每天凌晨3点执行/path/to/your/script.sh脚本,可以在crontab中添加一行 ...
Server
未读使用ethtool工具查看安装ethtool
1sudo apt install ethtool
12# 查看网卡ip a
输出:
123456789root@pve:~# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP ...
Server
未读内网速度测试目的测试网线是否是千兆
测试方法两台设备网线直连或连同一个交换机/路由器,A和B,通过测试工具iperf发送包,进行测试。
使用iperf工具,进行测试。
iperf支持所有环境,Windows/Linux。
iperf工具使用实例1.下载iperf两个设备都要下载
windows下载地址:https://iperf.fr/iperf-download.php#windowsubuntu下载命令:apt install iperf32.下载后解压3.测试网速 wimdows:使用cmd启动
启动命令:
1234# 启动服务端iperf3 -s# 客户端连接,ip为服务端ipiperf3 -c 192.168.x.x
4.测试结果123456789101112131415161718192021222324root@pve:~# iperf3 -s-----------------------------------------------------------Server listening on 5201 (test #1)--------- ...
包管理工具总类
编程语言
管理工具
python
pip
node.js
npm
java
maven/gradle
共同点和不同点pip、Naven、npm 都是包管理工具,但它们分别属于不同的编程语言或平台。
pip:是 Python 的包管理工具,用于安装和管理 Python 包。Python 是一种广泛使用的高级编程语言,适用于多种应用场景,包括网站开发、数据分析、人工智能等。
Maven:是一个主要用于 Java 项目的构建、依赖管理和项目信息管理的工具。Java 是一种广泛使用的面向对象的编程语言,特别适用于企业级应用。
npm:是 Node Package Manager 的缩写,是 Node.js 的包管理工具。Node.js 是一个能够在服务器端运行 JavaScript 的平台,适用于构建大型网络应用,特别是实时、高并发的应用。共同点:
依赖管理:这三个工具都提供了依赖管理的功能,允许开发者轻松地管理项目所需的库和模块。
社区支持:它们都有庞大的社区支持,提供了大量的包和库供开发者使用。
版本控制:它们都能够处理包的不同版本,允 ...
UDP/TCP通信UDP(User Datagram Protocol):
连接性: UDP是一种面向无连接的协议。发送端只是把数据包发送到网络上,而不考虑目标是否存在或是否准备好接收数据。
可靠性: UDP不提供数据包的可靠交付。数据包被发送出去,但发送端不会对是否被接收到或接收顺序进行确认。因此,UDP更适用于一些实时性要求高、对数据可靠性要求相对较低的应用,如实时视频、音频传输。
开销: 由于不需要建立连接,UDP的开销相对较小,传输速度更快。
流式传输: UDP不支持流式传输,每个数据包都是独立的。
TCP(Transmission Control Protocol):
连接性: TCP是一种面向连接的协议。在数据传输之前,需要先建立连接,然后再进行数据传输,最后释放连接。
可靠性: TCP提供可靠的数据传输。它保证数据的顺序和可靠性,通过使用确认机制和重传机制来确保数据的正确性。
开销: 由于需要建立连接、进行确认和重传机制,TCP的开销相对较大,传输速度相对较慢。
流式传输: TCP是面向流的,数据是以流的形式传输的,而不是分割成独立的数据包。
HTTP协议w ...
在一个全新安装的Ubuntu 22.04 LTS上,每次使用apt安装或更新软件包时,会出现一个 Daemons using outdated libraries 弹窗,Which service should be restarted ? 大概是下面这个样子:
这是Ubuntu 22.04中的新功能。它是由 needrestart 命令带来的新特性,needrestart 现在是Ubuntu中apt-get升级过程的一部分。默认情况下,此设置为 “interactive” (交互式)模式,会导致脚本中断
修改这个模式配置,我们编辑 /etc/needrestart/needrestart.conf 文件,找到下面的这行:
123456# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.## ATTENTION: If needrestart is configured to run in interactive mode but is run# non-interactive (i.e. unattended- ...
Server
未读命令行下巧妙解压7z分卷今天下载了一些压缩文件,都是7z的压缩文件,文件名大概为:
file.7z.001file.7z.002file.7z.003
在使用7z命令无果后,甚是无奈。。。
新方法:
1copy /b file.7z.00* file.7z
这条命令是合并各个7z的分卷,合并完成后file.7z可以成功解压(使用winrar或者winzip或者7z命令行均可)。
什么是多态?多态(Polymorphism)即同一操作作用于不同的对象,可以有不同的解释,产生不同的结果。
多态的分类多态一般分为两种:
重载式多态
重载式多态,也叫编译时多态。也就是说这种多态在编译时已经确定好了。方法名相同而参数列表不同的一组方法就是重载。在调用这种重载的方法时,通过传入不同的参数最后得到不同的结果。
重写式多态
重写式多态,也叫运行时多态。这种多态通过动态绑定(dynamic binding)技术来实现,是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。也就是说,只有程序运行起来,你才知道调用的是哪个子类的方法。这种多态通过函数的重写以及向上转型来实现。
多态实现的必要条件
继承或实现接口
在多态中必须存在有继承关系的子类和父类或者接口及其实现类
重写
子类对父类中某些方法进行重新定义,再调用这些方法时就会调用子类的方法
向上转型
父类引用指向子类对象叫做向上转型。
向上转型与向下转型向上转型,上面已经说了。向下转型是子类引用指向父类对象(父类型,实例是子类的实例化),通常需要进行强制类型转换。
案例1234567 ...