技术栈4:Docker入门 Linux入门指令
目录
1.Linux系统目录结构
2.处理目录的常用命令
3.Docker概述
4.Docker历史
5.Docker基本组成
6.Docker底层原理
7.Docker修改镜像源
8.Docker基本命令
在学习docker之前我们先要熟悉Linux系统,推荐阅读:Linux笔记(狂神说) - 你我不在年少 - 博客园
1.Linux系统目录结构
以下是对这些目录的解释:
- /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
- /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
- /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
- /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- /root:该目录为系统管理员,也称作超级权限者的用户主目录。
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /srv:该目录存放一些服务启动之后需要提取的数据。
- /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
- /tmp:这个目录是用来存放一些临时文件的。
- /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /usr/bin: 系统用户使用的应用程序。
- /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src: 内核源代码默认的放置目录。
- /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除
2.处理目录的常用命令
- ls: 列出目录
- cd:切换目录
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- rmdir:删除一个空的目录
- cp: 复制文件或目录
- rm: 移除文件或目录
- mv: 移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp
3.Docker概述
想象一个场景,公司的开发和运维是两个环境,所以对于开发人员电脑上运行得很好的程序可能到了运维人员手中就运行不了了,要重新配置环境和端口;配置环境是十分费时费力的,所以如果能发布一个项目,jar包+(Redis、MySQL、jdk...)一起上线就会方便很多,也就是项目带着环境安装打包,以上问题的解决方案就是Docker!
Docker的思想来自于集装箱,Docker的核心思想就是隔离,不同开发环境(集装箱)相互隔离
java——打包成apk——应用商店——手机下载apk——安装使用
java——打包成镜像(jar+环境)——镜像仓库——下载镜像——安装使用
本质:所有的技术都是因为出现了一些问题,我们需要去解决才出现的,所以我们需要不断去学习新技术
ps:Docker是基于Go语言开发的
4.Docker历史
2010年,几个搞IT的年轻人,就在美国成立了一家公司dotCloud,做一些 pass 的云计算服务,也就是Linux虚拟机有关的容器技术。他们将自己的技术(容器化技术)命名就是 Docker。Docker 刚刚诞生的时候,没有引起行业的注意,公司就快活不下去了。于是,他们决定开源Docker,也就是开放源代码。2013年,Docker开源,于是越来越多的人发现了docker的优点,Docker 每个月都会更新一个版本,直到2014年4月9日,Docker1.0发布。
Docker为什么这么火?轻巧,比如说只需要打包Linux虚拟机的核心kernel
在容器技术出来之前,我们都是使用虚拟机技术,但是缺点是占用资源(模拟了很多不需要的软硬件)、步骤多、启动慢
虚拟机:在window中装一个Vmware,通过这个软件我们可以虚拟出来一台或者多台电脑
docker:隔离,只需要最核心的环境即可,十分小巧,并不是模拟整个操作系统
虚拟机属于虚拟化技术,Docker容器技术也是一种虚拟化技术
官方文档地址:Docker Docs
仓库地址(dockerhub类似于github):Docker Hub Container Image Library | App Containerization
5.Docker基本组成
镜像(image):docker镜像就好比是一个模板(类似Java中一个类),可以通过这个模板来创建容器服务(类似Java中一个实例),tomcat镜像===>run ==>tomcat01 容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)
容器(container):Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的
基本命令有启动,停止,删除,,目前就可以把这个容器理解为就是一个简易的linux系统
仓库(renository):仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库,Docker Hub(默认是国外的)、阿里云…..都有容器服务器(但是需要配置镜像加速)
6.Docker底层原理
docker run ...
Docker Engine是一个客户端-服务器(CS)应用程序,具有以下主要组件:
- 一个服务器,它是一种长期运行的程序,称为守护进程
- 一个REST API,它指定程序可以用来与守护进程对话并指示它做什么的接口
Docker是一个Client Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户 端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境就是我们所说的集装箱。
为什么docker比虚拟机快?
- docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势
- docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个 容器时,docker不需要和虚拟机一样重新加载一个操作系统内核
7.Docker修改镜像源
1.ping一下自己的网通不通
ping www.baidu.com
ctrl c退出
2.修改镜像地址问题件daemon.json文件,添加可用的镜像源(自己搜)
vim /etc/docker/daemon.json
3.在Linux系统下编辑daemon.json
文件,通常使用的是文本编辑器,如vi或nano,如下是vi编辑器编辑步骤:
- 按下
i
键进入插入模式,此时可以编辑文件内容 - 使用键盘输入或删除内容来修改
daemon.json
文件 - 按下
Esc
键退出插入模式 - 输入
:wq
命令,然后按Enter
键保存文件并退出vi编辑器
4.重新加载服务并重启docker服务
systemctl daemon-reload
systemctl restart docker
5.查看docker镜像配置是否生效
docker info
8.Docker基本命令
推荐阅读:blog.csdn.net/qq_21197507/article/details/115071715
帮助命令
docker version # docker版本信息
docker info # 系统级别的信息,包括镜像和容器的数量
docker 命令 --help
镜像命令
docker images 查看所有本地主机上的镜像
[root@iZ7xv-----------01rav5Z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 7 months ago 13.3kB# 解释
REPOSITORY # 镜像的仓库
TAG # 镜像的标签
IMAGE ID # 镜像的ID
CREATED # 镜像的创建时间
SIZE # 镜像的大小# 可选项
--all , -a # 列出所有镜像
--quiet , -q # 只显示镜像的id
docker search 查找镜像
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 9822 [OK]
mariadb MariaDB is a community-developed fork of MyS… 3586 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 719 [OK]# 可选项
--filter=STARS=3000 # 搜素出来的镜像就是STARS大于3000的[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker search mysql --filter=STARS=3000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 9822 [OK]
mariadb MariaDB is a community-developed fork of MyS… 3586 [OK]
docker pull 拉取镜像
# 下载镜像,docker pull 镜像名[:tag]
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker pull mysql
Using default tag: latest # 如果不写tag,默认就是latest
latest: Pulling from library/mysql
bf5952930446: Pull complete # 分层下载,dockerimages的核心,联合文件系统
8254623a9871: Pull complete
938e3e06dac4: Pull complete
ea28ebf28884: Pull complete
f3cef38785c2: Pull complete
894f9792565a: Pull complete
1d8a57523420: Pull complete
6c676912929f: Pull complete
ff39fdb566b4: Pull complete
fff872988aba: Pull complete
4d34e365ae68: Pull complete
7886ee20621e: Pull complete
Digest: sha256:c358e72e100ab493a0304bda35e6f239db2ec8c9bb836d8a427ac34307d074ed # 签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest # 真实地址# 等价于
docker pull mysql
docker pull docker.io/library/mysql:latest# 指定版本下载
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
bf5952930446: Already exists
8254623a9871: Already exists
938e3e06dac4: Already exists
ea28ebf28884: Already exists
f3cef38785c2: Already exists
894f9792565a: Already exists
1d8a57523420: Already exists
5f09bf1d31c1: Pull complete
1b6ff254abe7: Pull complete
74310a0bf42d: Pull complete
d398726627fd: Pull complete
Digest: sha256:da58f943b94721d46e87d5de208dc07302a8b13e638cd1d24285d222376d6d84
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7# 查看本地镜像
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 718a6da099d8 6 days ago 448MB
mysql latest 0d64f46acfd1 6 days ago 544MB
hello-world latest bf756fb1ae65 7 months ago 13.3kB
docker rmi 删除镜像
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker rmi -f IMAGE ID # 删除指定镜像
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker rmi -f IMAGE ID1 IMAGE ID2 IMAGE ID3 # 删除多个镜像
[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker rmi -f $(docker images -aq) # 删除所有镜像
容器命令
列出所有的运行的容器
# docker ps 命令# 列出当前正在运行的容器
-a # 列出正在运行的容器包括历史容器
-n=? # 显示最近创建的容器
-q # 只显示当前容器的编号
9.Docker创建Nginx实战
docker run -d --name nginx -p 80:80 nginx
两个端口,前面一个是宿主机,后面一个是容器内,注意检查别被占用了
推荐阅读:day02-Docker - 飞书云文档
相关文章:
技术栈4:Docker入门 Linux入门指令
目录 1.Linux系统目录结构 2.处理目录的常用命令 3.Docker概述 4.Docker历史 5.Docker基本组成 6.Docker底层原理 7.Docker修改镜像源 8.Docker基本命令 在学习docker之前我们先要熟悉Linux系统,推荐阅读:Linux笔记(狂神说࿰…...
项目开发之Docker
文章目录 基础核心概念常用命令 实操1 windows11 docker mysql2 docker部署 xxljob3 container间调用异常问题4 部署mysql数据库5 docker desktop unexpected wsl error 基础 核心概念 其中的三个核心概念:dockerfile image/镜像 container/容器 image:…...
状态模式的理解和实践
在软件开发中,我们经常遇到需要根据对象的不同状态执行不同行为的情况。如果直接将这些状态判断和行为逻辑写在同一个类中,会导致该类变得臃肿且难以维护。为了解决这个问题,状态模式(State Pattern)应运而生。状态模式…...
正点原子imx6ull配置MQTT客户端上传数据到Ubuntu MQTT服务器
目录 使用QT自带的MQTT模块部署客户端创建一个class专门用于MQTT客户端通讯使用QT在ui界面上生成按钮在Windows上订阅相应主题测试在imx6ull上订阅Windows发布的消息 在上一篇中介绍了在Ubuntu22.04的Docker中部署MQTT服务器,然后在window上测试订阅和发布ÿ…...
【联表查询】.NET开源 ORM 框架 SqlSugar 系列
.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...
CAN接口设计
CAN总线的拓扑结构 CAN总线的拓扑结构有点像485总线,都是差分的传输方式,总线上都可以支持多个设备,端接匹配电阻都是120Ω。 485和CAN通信方面最大的区别:网络特性。485是一主多从的通讯方式,CAN是多主通讯,多个设备都可以做主机。那多个设备都相要控制总线呢?…...
基于遗传优化SVM的电机参数预测matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 数据收集与预处理 4.2模型构建与训练 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 输入:电机结构参数x1 x2 x3 x4 x5(分别是铁心高度 铁心厚度 绕组…...
C++设计模式之代理模式
动机 在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者、或者系统结构带来很多麻烦。 如何在不失去透明操作对象的…...
多线程JUC 第2季 控制线程的执行顺序,依次,交替,同时
一 场景1 交替执行 1.1 方案1使用completablefuture public class TestA {public static void main(String[] args) {for(int k0;k<10;k) {CompletableFuture<Void> t1 CompletableFuture.runAsync(() -> {System.out.println("A: >" Thread.curr…...
数据分析(一): 掌握STDF 掌握金钥匙-码农切入半导体的捷径
中国的半导体行业必然崛起!看清这个大势,就会有很多机会。 今天,我们一起来了解一下半导体行业的一朵金花:STDF。 实际上这只是一种文件格式,但是当你熟练掌握解析这种文件的时候,你就已经打开在这个基础…...
NPM镜像详解
NPM镜像详解 什么是NPM镜像 NPM镜像(NPM Mirror)是一个完整的NPM包的副本服务器。由于npm的官方registry服务器部署在国外,国内访问可能会比较慢,因此使用镜像可以加快包的下载速度。 常用的NPM镜像源 npm官方镜像 https://reg…...
【springboot】 多数据源实现
文章目录 1. 引言:多数据源的必要性和应用场景**为什么需要多数据源?****应用场景** 2. Spring Boot中的数据源配置2.1 默认数据源配置简介2.2 如何在Spring Boot中配置多个数据源 3. 整合MyBatis与多数据源**配置MyBatis使用多数据源****Mapper接口的数…...
Zephyr 入门-设备树与设备驱动模型
学习链接:https://www.bilibili.com/video/BV1L94y1F7qS/?spm_id_from333.337.search-card.all.click&vd_source031c58084cf824f3b16987292f60ed3c 讲解清晰,逻辑清楚。 1. 设备树概述(语法,如何配置硬件,c代码如…...
css实现圆周运动效果
在CSS中可以通过 keyframes 动画 和 transform 属性实现元素的圆周运动。以下是一个示例代码: 示例代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content…...
乐鑫科技嵌入式面试题及参考答案(3万字长文)
嵌入式开发为什么用 C 语言,而不用 C++ 语言? 在嵌入式开发中,C 语言被广泛使用而 C++ 相对少用有以下一些原因。 首先,C 语言具有更高的效率。嵌入式系统通常资源受限,包括处理器速度、内存容量等。C 语言的代码生成效率高,能够生成紧凑的机器码,占用较少的内存空间和处…...
这就是IoC容器
IoC(Inversion of Control,控制反转),也叫依赖注入(Dependency Injection),是一种决定容器如何装配组件的模式。使用 Spring 来实现 IoC,意味着将设计好的对象交给 Spring 容器控制,而不是直接在对象内部控制。控制反转不能很好地描述这个模式,依赖注入却能更好地描述…...
KVM OVS双网卡配置trunk模式
一、宿主机配置 1. 确保必要的软件包已安装 确保宿主机上已安装 Open vSwitch 和 VLAN 工具。如果尚未安装,可以使用以下命令进行安装: yum install openvswitch-switch vlan 2. 配置现有 OVS 桥接 br0 假设已有一个 OVS 桥接接口 br0,并…...
氢能源车和电动车,谁将成为未来?
很多人都觉得氢能源是未来的终极绿色能源,因为氢气燃烧后只产生水,听起来是不是很环保?但这只是从化学能的角度来看。实际上,氢能源汽车还有很多问题需要解决。氢气的制作成本高得吓人 目前,制作氢气最理想的方法是电…...
CTF-PWN: WEB_and_PWN [第一届“吾杯”网络安全技能大赛 Calculator] 赛后学习(不会)
附件 calculate.html <!DOCTYPE html> <html lang"en"> <head><!-- 设置字符编码为 UTF-8,支持多语言字符集 --><meta charset"UTF-8"><!-- 设置响应式视图,确保页面在不同设备上自适应显示 --&…...
解决Jupyter Notebook无法转化为Pdf的问题(基于Typora非常实用)
笔者在完成各项作业和做笔记时,经常用到jupyter notebook;其因为可以同时运行python并提供格式化的数字公式的输入方式,得到了广大用户的喜爱。 当我们想要将.ipynb文件导出为pdf时,有两种常用方法。 1.Ctrlp 2.通过File ->…...
矩阵转置
矩阵转置 C语言代码C 语言代码Java语言代码Python语言代码 💐The Begin💐点点关注,收藏不迷路💐 输入一个n行m列的矩阵A,输出它的转置 A T A^T AT。 输入 第一行包含两个整数n和m,表示矩阵A的行数和列数。…...
【阅读笔记】Three ways ChatGPT helps me in my academic writing
Three ways ChatGPT helps me in my academic writing 论文地址 关于GPT进行润色的文章,摘取了里面的提示词做个记录。 1. Polishing academic writing(学术润色) 模板:I’m writing a paper on [topic] for a leading [discip…...
python学习笔记15 python中的类
上一篇我们介绍了python中的库 ,学习了一些常见的内置库。详细内容可点击–>python学习笔记14 python中的库,常见的内置库(random、hashlib、json、时间、os) 这一篇我们来看一下python中的类 创建一个类 class 类的名称():de…...
3D数字化革新,探索博物馆的正确打开新方式!
3D数字化的发展,让博物馆也焕发新机,比如江苏省的“云上博物”,汇聚江苏全省博物馆展陈资源,采取线上展示和线下体验两种方式进行呈现的数字展览项目。在线上,用户可以通过H5或小程序进入“云上博物”数字展览空间&…...
金融数学在股市交易中的具体应用
### 1. 风险管理 - **VaR(在险价值)**: VaR是衡量投资组合潜在损失的指标。例如,如果一个投资组合的VaR为100万元,置信水平为95%,这意味着在未来的一个交易日内,有95%的可能性该投资组合的损失不会超过100…...
Springboot注解
什么是Spring Boot 注解 Spring Boot 注解是 Spring Boot 框架中的核心部分,它们用于简化配置和执行特定的编程任务。这些注解通常分为几个类别,包括用于 MVC 层的类注解、依赖注入注解、Web 开发常用注解、Spring Boot 常用注解、面向切面编程…...
CSS3 布局样式及其应用
深入探讨 CSS3 布局样式及其应用 引言 在现代网页设计中,CSS(层叠样式表)不仅是设计视觉样式的工具,也是布局的核心技术。CSS3引入了新的布局模型,其中Flexbox与Grid布局在满足复杂布局需求方面表现尤为出色。本文将…...
工业机器视觉-基于深度学习的水表表盘读数识别
字轮数字识别、指针读数识别(角度换算)、根据指针角度进行读数修正、根据最高位指针(x0.1)读数对字轮数字进行修正、得到最终读数。 基于深度学习的目标检测技术和OpenCV图像处理技术,可识别所有类型的表盘机械读数。...
kafka admin client 如何计算kafka发送速度
文章目录 方法 1:使用 AdminClient 获取消息数量示例代码:计算 Kafka 生产速度代码解释:解释:结果示例:方法 2:使用 Kafka JMX 监控JMX 指标: 总结: 要使用 Kafka Admin Client 来计…...
Ubuntu20.04 配置虚拟显示器和切回物理显示器
1、安装软件,用中软安装虚拟显示器软件 sudo apt-get install xserver-xorg-core-hwe-18.04 sudo apt-get install xserver-xorg-video-dummy2、添加配置文件 进入 /usr/share/X11/xorg.conf.d/ 文件夹下创建xorg.conf文件 # 创建xorg.conf文件 touch xorg.conf …...
【解决pycharm下site-packages文件标记为红色的问题】
怎么解决pycharm下site-packages文件标记为红色的问题 这是一个pycharm无法识别本地site-packages问题答案解释器设置路径如下: 这是一个pycharm无法识别本地site-packages问题 最近正在搭建一个python3requestsunittestHTMLTestRunner接口测试框架,发现…...
力扣-图论-2【算法学习day.52】
前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…...
项目-02-数学学院后台项目开发过程中的问题总结
目录 一、后台(pc端,vue2)1. dialog对话框被黑色蒙层盖住2. 将前端表格导出为word文档3. 在线查看、下载 .docx、.doc、.pdf文档 一、后台(pc端,vue2) 1. dialog对话框被黑色蒙层盖住 问题: d…...
数据结构-排序
目录 一、冒泡排序 二、选择排序 三、插入排序 四、希尔排序 五、堆排 六、快速排序 1、hoare: 2、挖坑法: 3、前后指针法: 4、快排非递归 七、归并排序 1、递归写法: 2、非递归写法: 八、计数排序 九、排…...
神经网络中常见的激活函数Sigmoid、Tanh和ReLU
激活函数在神经网络中起着至关重要的作用,它们决定了神经元的输出是否应该被激活以及如何非线性地转换输入信号。不同的激活函数适用于不同的场景,选择合适的激活函数可以显著影响模型的性能和训练效率。以下是三种常见的激活函数:Sigmoid、T…...
[报错] Error: PostCSS plugin autoprefixer requires PostCSS 8 问题解决办法
报错:Error: PostCSS plugin autoprefixer requires PostCSS 8 原因:autoprefixer版本过高 解决方案: 降低autoprefixer版本 执行:npm i postcss-loader autoprefixer8.0.0 参考: Error: PostCSS plugin autoprefix…...
多线程---创建及方法
*线程创建的方式: 1.继承Thread类,重写run方法。 2.实现Runnable接口,重写run方法。 实际这两个run方法都重写的是Runnable中的run方法 简化方法: 1.匿名内部类创建Thread 子类对象 Thread thread new Thread(){Overridepub…...
C++设计模式之单例模式
动机 在软件系统中,经常有一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性,以及良好的效率。 如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例? 这应该是类设计…...
给你一个整数n, 判断它是否是素数。注意1不是素数。:JAVA
链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 给你一个整数n, 判断它是否是素数。注意1不是素数。 输入描述: 第一行输入一个整数T,表示需要判断的数的个数接下来T行每行一个整数n,表示需要判断的数。1<n<1e5,1<T<…...
Java项目实战II基于微信小程序的电子竞技信息交流平台的设计与实现(开发文档+数据库+源码)
目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着互联网技术的飞速发展…...
temu登录接口逆向分析(含Py纯算)
文章目录 1. 写在前面2. 接口分析3. 算法还原 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…...
Java ArrayList 详解
Java ArrayList 详解 ArrayList 是 Java 集合框架(Collection Framework)中最常用的类之一,是一种基于动态数组的数据结构,属于 List 接口的实现类。它允许存储重复的元素,有序,支持随机访问,且…...
CTF之密码学(仓颉编码)
一、仓颉码(用于建立中文索引) 定义与目标: 仓颉码是为了建立中文的索引观念而设计的一种编码方式。其主要目标是方便对中文资料或程式进行索引功能的处理。 工作原理: 仓颉码的索引以ASCII的字符码为基准,但在内部会转…...
OpenCV的圆形检测HoughCircles
HoughCircles 函数是 OpenCV 库中用于在灰度图像中检测圆的函数,它基于霍夫变换(Hough Transform)的一种变体——梯度霍夫变换(HOUGH_GRADIENT)函数原型如下: void HoughCircles( InputArray image, OutputArray circles,int method, double dp, double minDist,double …...
Latex 英文双栏排版时,摘要和引言之间的距离
目标:解决这个间隔 打开“cas-common.sty" 搜索“\NewDocumentCommand \dashrule" 本来是两个 m m 变成 m m m然后是增加下面这个代码,其他地方不动 \skip_vertical:n {#4} 搜索”MaketitleBox“和“LongMaketitleBox ” 本来的代码应该…...
AD学习笔记·空白工程的创建
编写不易,禁止搬运,仅供学习,感谢理解 序言 本文参考B站,凡亿教育,连接放在最后。 创建工程文件 在使用AD这个软件的电路板设计中,有很多的地方跟嘉立创eda还是有不一样的地方,其中一个地方就…...
非球面加工领域的佼佼者:倚光科技
在光学领域,非球面加工技术宛如一颗璀璨的明珠,以其独特的优势和广泛的应用,引领着光学元件制造的新潮流。 非球面透镜,其表面曲率半径从中心到边缘是变化的,这使得它在光学系统中具有诸多显著优势。首先,…...
Git分布式版本控制工具 Git基本概念、Git工作流程、Git常用命令、Git远程仓库、IDEA操作Git
目录 1.Git基本概念 1.1 概述 1.1.1 开发中的实际场景 1.1.2 版本控制器的方式 1.1.2.1 集中式版本控制工具(SVN) 1.1.2.2 分布式版本控制工具(Git) 2.概述git工作流程 3.Git常用命令 3.1 Git环境配置 3.1.1 下载与安装 3.1.2 基本配置 3.1.3 为常用指令配置别名&…...
Spring 容器管理 Bean
Bean是什么 Bean 是指 Java 中的可重用软件组件,容器会根据提供的元数据来创建和管理这些 Bean,也包括它们之间的依赖关系。Spring 容器对 Bean 并没有太多的要求,无须实现特定接口或依赖特定库,只要是最普通的 Java 对象即可,这类对象也被称为 POJO(Plain Old Java Obj…...
Spring 容器 详解
Spring 容器详解 Spring 容器 是 Spring 框架的核心组件之一,它负责创建和管理应用程序中的 Bean(对象)以及处理它们之间的依赖关系。容器通过控制反转(IoC)和依赖注入(DI)实现对象的生命周期管…...