每日学习总结20240219
每日总结
20240219
1.文件类型.csv
CSV文件是一种以逗号分隔值(Comma-Separated Values)为标记的文本文件,它可以用来存储表格数据。每一行表示一条记录,而每一条记录中的字段则使用逗号或其他特定的分隔符进行分隔。
常用场景包括:
- 数据导出与导入:CSV文件是许多软件应用程序用来导出和导入数据的标准格式。例如,数据库软件、电子表格软件、统计分析软件等都支持CSV格式,用户可以将数据以CSV格式导出,然后在其他软件中进行处理或分析。
- 数据交换:CSV文件是在不同系统之间交换数据的常见方式。由于它是一种纯文本格式,易于阅读和编辑,并且几乎所有的软件都支持导入和导出CSV文件,因此它成为了数据交换的理想选择。
- 数据备份:在一些情况下,CSV文件被用作数据备份的形式。将数据导出为CSV文件可以轻松地保存数据,并在需要时进行恢复。由于它是一种通用格式,因此即使原始数据源不可用,也可以通过CSV文件来还原数据。
- 批量处理:在一些编程任务中,CSV文件也常被用来作为批量处理数据的输入或输出格式。程序员可以使用各种编程语言读取和写入CSV文件,进行数据处理、分析、转换等操作。
- 网站数据交换:许多网站提供数据导出功能,允许用户将数据以CSV格式下载。这在数据分析、报告生成等方面非常有用,用户可以将网站上的数据导出为CSV文件,然后在本地进行处理和分析。
总之,CSV文件是一种简单、通用的数据存储格式,在各种场景下都得到了广泛应用,特别适用于数据交换、导入导出以及批量处理等任务。
2.GLib库
GLib 是一个 C 语言的通用工具库,提供了许多实用的功能,其主要功能包括:https://docs.gtk.org/glib/
- 数据结构:GLib 提供了许多常用的数据结构,如链表、双向链表、哈希表、数组、树等。这些数据结构提供了高效的插入、删除和查找操作,方便在 C 语言中进行数据处理和管理。
- 内存管理:GLib 提供了内存分配和管理的功能,包括动态内存分配、内存池、引用计数等。它的内存管理功能对于减少内存泄漏和提高程序性能非常有用。
- 线程和并发:GLib 提供了线程管理、互斥锁、条件变量等功能,支持多线程编程和并发处理。它提供了易于使用的接口,使得在 C 语言中进行多线程编程变得更加简单和安全。
- 事件循环:GLib 提供了事件循环(Event Loop)机制,用于处理事件驱动的程序,例如 GUI 应用程序、网络服务器等。它支持定时器、文件描述符监视、信号处理等功能,能够高效地处理各种事件。
- IO 和文件操作:GLib 提供了文件操作、文件路径处理、IO 通道等功能,使得在 C 语言中进行文件和 IO 操作变得更加方便和可靠。
- 字符串处理:GLib 提供了字符串操作、格式化输出、字符串拼接等功能,方便对字符串进行处理和操作。
- 线程池和异步操作:GLib 提供了线程池和异步操作的支持,使得在 C 语言中进行异步编程变得更加简单和高效。
GLib 在以下情况下特别有用:
- 当需要进行 C 语言编程,但是希望使用高级的数据结构和工具时,可以使用 GLib 来简化开发流程。
- 当需要进行多线程编程或并发处理时,GLib 提供了方便的线程管理和同步机制。
- 当需要开发事件驱动的程序,如 GUI 应用程序、网络服务器等时,GLib 提供了事件循环和异步操作的支持。
- 当需要进行字符串处理、文件操作、内存管理等操作时,GLib 提供了丰富的功能库,可以减少开发工作量和提高程序性能。
GLib 的优势包括:
- 跨平台性:GLib 是一个跨平台的库,可以在多种操作系统上运行,包括 Linux、Windows、macOS 等。
- 丰富的功能:GLib 提供了许多实用的功能和工具,包括数据结构、线程管理、事件循环、IO 操作等,可以满足各种开发需求。
- 高效性:GLib 提供了高效的实现和算法,能够在性能和资源利用方面做到较好的平衡。
- 易用性:GLib 提供了简单易用的 API,使得开发者可以更加快速地编写和调试代码,提高开发效率。
- 稳定性:GLib 是一个经过充分测试和验证的库,具有较高的稳定性和可靠性,被广泛应用于各种大型项目和开源软件中。
2.1 API
-
#define GUINT32_TO_BE(val) GUINT32_SWAP_LE_BE(val)
GUINT32_TO_BE
是 GLib 库中的一个宏,用于将 32 位的整数从主机字节序转换为网络字节序(大端字节序)。在网络编程中,经常需要进行字节序转换,以确保数据在不同平台之间正确传输和解释。 -
#define GUINT32_FROM_BE(val) GUINT32_SWAP_LE_BE(val)
GUINT32_FROM_BE
是 GLib 库中的一个宏,用于将 32 位的整数从网络字节序(大端字节序)转换为主机字节序。在网络编程中,经常需要进行字节序转换,以确保数据在不同平台之间正确传输和解释。 -
g_strsplit()
- 定义:
g_strsplit()
是 GLib 库中的一个函数,用于将一个字符串根据指定的分隔符进行分割,返回一个字符串数组。 - 原型:
gchar **g_strsplit(const gchar *string, const gchar *delimiter, gint max_tokens);
- 参数:
string
:要分割的源字符串。delimiter
:用于分割字符串的分隔符。max_tokens
:最大分割次数,为负数表示不限制分割次数。
- 返回值:返回一个字符串数组,数组中的每个元素是分割后的子字符串。
- 功能:
g_strsplit()
函数根据指定的分隔符将源字符串分割成多个子字符串,并将这些子字符串存储在一个字符串数组中返回。
- 定义:
-
strtol()
- 定义:
strtol()
是 C 标准库中的函数,用于将字符串转换为长整型数。 - 原型:
long strtol(const char *nptr, char **endptr, int base);
- 参数:
nptr
:待转换的字符串。endptr
:如果不为空,并且未发生错误,则会存储在此指针中指向转换结束后的字符串的位置。base
:转换使用的进制,通常为 2、8、10 或 16。
- 返回值:返回转换后的长整型数。
- 功能:
strtol()
函数将字符串nptr
中的数字部分转换为长整型数,并返回结果。它还可以将剩余的未转换部分指示给endptr
。
- 定义:
2.2 网络编程相关
1. g_socket_new
- 定义:创建一个新的套接字对象。
- 原型:
GSocket* g_socket_new(GSocketFamily family, GSocketType type, GSocketProtocol protocol, GError **error);
- 参数:
family
:地址族,例如G_SOCKET_FAMILY_IPV4
或G_SOCKET_FAMILY_IPV6
。type
:套接字类型,例如G_SOCKET_TYPE_STREAM
(流套接字)或G_SOCKET_TYPE_DATAGRAM
(数据报套接字)。protocol
:协议类型,例如G_SOCKET_PROTOCOL_TCP
或G_SOCKET_PROTOCOL_UDP
。error
:返回的错误对象。
- 返回值:返回一个新的
GSocket
对象。
2. g_inet_socket_address_new_from_string
- 定义:根据字符串创建一个网络地址对象。
- 原型:
GInetSocketAddress* g_inet_socket_address_new_from_string(const gchar *address, guint16 port);
- 参数:
address
:IP 地址字符串。port
:端口号。
- 返回值:返回一个新的
GInetSocketAddress
对象。
3. g_inet_address_new_from_string
- 定义:根据字符串创建一个 IP 地址对象。
- 原型:
GInetAddress* g_inet_address_new_from_string(const gchar *string);
- 参数:
string
:IP 地址字符串。
- 返回值:返回一个新的
GInetAddress
对象。
4. g_inet_socket_address_new
- 定义:创建一个新的网络地址对象。
- 原型:
GInetSocketAddress* g_inet_socket_address_new(GInetAddress *address, guint16 port);
- 参数:
address
:GInetAddress
对象。port
:端口号。
- 返回值:返回一个新的
GInetSocketAddress
对象。
5. g_socket_bind
- 定义:将套接字绑定到指定的地址和端口。
- 原型:
gboolean g_socket_bind(GSocket *socket, GSocketAddress *address, gboolean allow_reuse, GError **error);
- 参数:
socket
:GSocket
对象。address
:要绑定的地址。allow_reuse
:是否允许地址重用。error
:返回的错误对象。
- 返回值:绑定成功返回
TRUE
,否则返回FALSE
。
6. g_socket_connect
- 定义:与远程主机建立连接。
- 原型:
gboolean g_socket_connect(GSocket *socket, GSocketAddress *address, GCancellable *cancellable, GError **error);
- 参数:
socket
:GSocket
对象。address
:远程主机地址。cancellable
:可取消的操作。error
:返回的错误对象。
- 返回值:连接成功返回
TRUE
,否则返回FALSE
。
7. g_socket_is_connected
- 定义:检查套接字是否已连接到远程主机。
- 原型:
gboolean g_socket_is_connected(GSocket *socket);
- 参数:
socket
:GSocket
对象。
- 返回值:如果套接字已连接到远程主机,则返回
TRUE
,否则返回FALSE
。
8. g_socket_condition_check
- 定义:检查套接字的状态。
- 原型:
GIOCondition g_socket_condition_check(GSocket *socket, GIOCondition condition);
- 参数:
socket
:GSocket
对象。condition
:要检查的条件,如读取、写入、错误等。
- 返回值:返回套接字的状态。
9. g_socket_receive
- 定义:从套接字接收数据。
- 原型:
gssize g_socket_receive(GSocket *socket, gpointer buffer, gsize size, GCancellable *cancellable, GError **error);
- 参数:
socket
:GSocket
对象。buffer
:接收数据的缓冲区。size
:要接收的数据大小。cancellable
:可取消的操作。error
:返回的错误对象。
- 返回值:返回接收到的字节数。
10. g_socket_send
- 定义:向套接字发送数据。
- 原型:
gssize g_socket_send(GSocket *socket, const gpointer buffer, gsize size, GCancellable *cancellable, GError **error);
- 参数:
socket
:GSocket
对象。buffer
:要发送的数据缓冲区。size
:要发送的数据大小。cancellable
:可取消的操作。error
:返回的错误对象。
- 返回值:返回发送的字节数。
这些函数适用于需要进行网络编程的情况,如开发客户端、服务器、网络通信应用等。GLib 提供了一套简单易用的网络 API,使得网络编程变得更加方便。
3.cat >> 与echo >>
在 Shell 中,cat >>
和 echo >>
都是用于将文本追加到文件末尾的命令,但它们的工作方式略有不同:
cat >>
:cat
是一个命令,用于连接文件并输出它们的内容,>>
是重定向符号,用于将输出追加到指定文件的末尾。- 用法:
cat >> filename
- 功能:
cat >>
将会等待用户输入文本,直到用户按下Ctrl + D
结束输入,然后将输入的文本追加到指定的文件末尾。 - 示例:
cat >> output.txt
会将用户输入的文本追加到output.txt
文件的末尾。
echo >>
:echo
是一个命令,用于在终端上输出指定的字符串,>>
是重定向符号,用于将输出追加到指定文件的末尾。- 用法:
echo "text" >> filename
- 功能:
echo >>
直接将指定的文本追加到指定的文件末尾。 - 示例:
echo "Hello, World!" >> output.txt
会将字符串 “Hello, World!” 追加到output.txt
文件的末尾。
总结:
cat >>
会等待用户输入文本,然后将文本追加到文件末尾,适用于需要交互式地输入内容的情况。echo >>
直接将指定的文本追加到文件末尾,适用于将已知的字符串追加到文件末尾的情况。
4. shell 中>>与 >
在Shell脚本中,>
和 >>
都是用于重定向输出的操作符,但它们有一些重要的区别:
>
操作符:- 用法:
command > file
或者echo "text" > file
- 功能:将命令的标准输出重定向到指定文件,并覆盖文件中的原有内容。如果文件不存在,则会创建新文件。
- 示例:
echo "Hello, World!" > output.txt
将字符串 “Hello, World!” 写入到名为output.txt
的文件中,如果文件不存在则创建,如果文件已存在则覆盖原有内容。
- 用法:
>>
操作符:- 用法:
command >> file
或者echo "text" >> file
- 功能:将命令的标准输出追加到指定文件的末尾。如果文件不存在,则会创建新文件。
- 示例:
echo "Hello, World!" >> output.txt
将字符串 “Hello, World!” 追加到名为output.txt
的文件末尾,如果文件不存在则创建。
- 用法:
总结:
>
用于覆盖文件内容,而>>
用于追加内容到文件末尾。- 两者都可以将命令的输出重定向到文件,但是
>
会覆盖文件内容,而>>
则会追加到文件末尾。 - 如果你想要保留原有内容并添加新内容,就应该使用
>>
操作符。
5. 网络配置文件 /etc/network/interfaces
如下这段文件是 Linux 系统网络配置文件 /etc/network/interfaces
的示例内容,它用于配置网络接口的参数,包括 IP 地址、子网掩码、网关等。
# 这是注释行,用于说明该文件是用于配置网络接口的。
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)#auto lo 和 iface lo inet loopback:这两行配置了回环(loopback)接口 lo,这是一个特殊的虚拟接口,用于本地回环测试。auto lo 表示系统启动时自动激活该接口,iface lo inet loopback 指定了该接口的配置为使用 loopback 模式。
# The loopback interface
auto lo
iface lo inet loopback# Wireless interfaces
# 这一部分配置了一个名为 wlan0 的无线网络接口,使用 DHCP 获取 IP 地址。下面几行配置了一些无线接口的特定参数,如无线模式 (wireless_mode)、ESSID (wireless_essid)、WPA 配置文件路径 (wpa-conf) 等。
iface wlan0 inet dhcp wireless_mode managedwireless_essid anywpa-driver wextwpa-conf /etc/wpa_supplicant.conf
# iface atml0 inet dhcp:这一行配置了一个名为 atml0 的接口,使用 DHCP 获取 IP 地址。
iface atml0 inet dhcp# Wired or wireless interfaces
# auto eth0
# iface eth0 inet dhcp
# iface eth1 inet dhcp:这一行配置了一个名为 eth1 的以太网接口,使用 DHCP 获取 IP 地址。
iface eth1 inet dhcp# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
# 下面一段配置了一个名为 usb0 的 USB 网络接口,使用静态 IP 地址。这种配置通常用于在主机和设备之间通过 USB 连接进行网络通信。
iface usb0 inet staticaddress 192.168.7.2netmask 255.255.255.0network 192.168.7.0gateway 192.168.7.1# Bluetooth networking
# iface bnep0 inet dhcp:这一行配置了一个名为 bnep0 的 Bluetooth 网络接口,使用 DHCP 获取 IP 地址。
iface bnep0 inet dhcp# auto eth0 和 iface eth0 inet static:这两行定义了另一个以太网接口 eth0 的配置。auto eth0 表示系统启动时自动激活该接口,iface eth0 inet static 指定了该接口的配置为静态 IP 地址模式。# 下面的 address、netmask、gateway 等行指定了 eth0 接口的具体配置参数,包括 IP 地址、子网掩码、网关等。
auto eth0
iface eth0 inet staticaddress 192.168.137.81netmask 255.255.255.0
6.shell参数
$1
、$2
、$3
是脚本的位置参数,即在运行脚本时提供的参数。count=${3:-1}
将第三个参数(执行次数)赋值给变量count
,如果未提供第三个参数,则默认值为 1。count=${3:-1}
这行代码使用了 Bash 中的参数扩展功能,具体含义是:如果第三个参数$3
存在并且不为空,则将其值赋给变量count
;如果第三个参数不存在或为空,则将默认值1
赋给变量count
。- 这种语法
var=${var:-default}
称为参数扩展,它的作用是检查变量是否已经设置,若未设置或为空,则使用默认值。在这里,count
是第三个参数,而:-
表示如果$3
不存在或为空,则使用默认值1
。
- 这种语法
相关文章:

每日学习总结20240219
每日总结 20240219 1.文件类型.csv CSV文件是一种以逗号分隔值(Comma-Separated Values)为标记的文本文件,它可以用来存储表格数据。每一行表示一条记录,而每一条记录中的字段则使用逗号或其他特定的分隔符进行分隔。 常用场景…...

K8s进阶之路-安装部署K8s
参考:(部署过程参考的下面红色字体文档链接就可以,步骤很详细,重点部分在下面做了标注) 安装部署K8S集群文档: 使用kubeadm方式搭建K8S集群 GitBook 本机: master:10.0.0.13 maste…...

springboot集成elk实现日志采集可视化
一、安装ELK 安装ELK组件请参考我这篇博客:windows下安装ELK(踩坑记录)_windows上安装elk教程-CSDN博客 这里不再重复赘述。 二、编写logstash配置 ELK组件均安装好并成功启动,进入到logstash组件下的config文件夹,创建logstash.conf配置…...

leetcode 148. 排序链表 java解法
Problem: 148. 排序链表 思路 这是一个链表排序的问题,由于要求时间复杂度为 O(nlogn),适合使用归并排序(Merge Sort)来解决。 解题方法 首先,使用快慢指针找到链表的中间节点,将链表分成两部分。然后&…...

【MATLAB源码-第140期】基于matlab的深度学习的两用户NOMA-OFDM系统信道估计仿真,对比LS,MMSE,ML。
操作环境: MATLAB 2022a 1、算法描述 深度学习技术在无线通信领域的应用越来越广泛,特别是在非正交多址接入(NOMA)和正交频分复用(OFDM)系统中,深度学习技术被用来提高信道估计的性能和效率。…...

运动重定向学习笔记
目录 深度学习 重定向 2020年的模型: 重定向之后的bvh: 深度学习 重定向 输入是bvh,输出也是bvh...

导出Excel,支持最佳
列表信息导出为Excel文件, 依赖pom: Sheet, Row:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId> </dependency>XSSFWorkbook <dependency><groupId>org.apache.poi</…...

【WPF】获取父控件数据
MaxHeight"{Binding PathActualHeight, RelativeSource{RelativeSource ModeFindAncestor, AncestorTypeUserControl}}" 参考文献 https://www.cnblogs.com/-Timosthetic/p/16021865.html...

解决Edge浏览器,微博无法查看大图(Edge Image Viewer)
使用Edge浏览器浏览微博或其它带校验的图片时,会导致无法查看。 主要原因为Edge自带了一个Edge Image Viewer, 但是该图片查看器无法查看带校验数据的图片,所以导致查看时一片空白。 解决方法 地址栏输入 edge://flags/搜索 Edge Image Viewer选择 Disa…...

PMP含金量在国内怎么样?
其一、PMP(项目管理师)证书含金量高吗? PMP认证是由美国项目管理学会(PMI)在全球范围内推出的针对项目经理的资格认证体系,其证书含金量可以说是非常高。 统计表明,全球年销售收入在5亿美元以上的企业中有86%聘用了具有项目管理资质的项目经…...

java中容易被忽视的toString()方法
之前一直认为toString就是将数据转换成字符类型,直到最近写出了一个bug才对toString有了新的认识 不同数据类型,toString() 有不同的操作 定义一个student类,包含姓名 String类型、性别 String类型、年龄 int 类型、分数列表 String类型的li…...

如何使用Docker搭建YesPlayMusic网易云音乐播放器并发布至公网访问
文章目录 1. 安装Docker2. 本地安装部署YesPlayMusic3. 安装cpolar内网穿透4. 固定YesPlayMusic公网地址 本篇文章讲解如何使用Docker搭建YesPlayMusic网易云音乐播放器,并且结合cpolar内网穿透实现公网访问音乐播放器。 YesPlayMusic是一款优秀的个人音乐播放器&am…...

java面试题之redis篇
1.redis 中的数据类型有哪些 随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增&am…...

effective c++ 笔记 条款18-25
条款18:让接口容易被正确使用,不易误使用 使用外覆类型(wrapper)提醒调用者传参错误检查,将参数的附加条件限制在类型本身 Data::Data(int month, int day, int year) { ... }三个参数类型相同的函数容易造成误用 Da…...

Nginx学习笔记
Bilibili尚硅谷视频 Nginx 简介 Nginx 概述 Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数 。 正向代理 正向代理:如…...

摆(行列式、杜教筛)
有一个 n n n\times n nn 的矩阵 A A A,满足: A i , j { 1 i j 0 i ̸ j ∧ i ∣ j C otherwise A_{i,j}\begin{cases} 1 &ij\\ 0 &i\notj\land i\mid j\\ C &\text{otherwise} \end{cases} Ai,j⎩ ⎨ ⎧10Cijij∧i∣jotherwi…...

尝试以语法对照表格形式学习新语言:c,rust
以语法对照表格形式学习新语言,以rust为例。 关于rust的个人看法: 能否替代c?部分场景可以,长远看并不会。如果c再扩一些关键字,类似cpp的吸星大法式扩充,rust并不具备优势。解决了c的内存管理问题&#x…...

408计算机网络--基础概论
学习计算机网络走以前需要首先明白一个大的概念,计算机网络通常分为通信子网(实现数据通信)和资源子网(实现资源共享/数据处理)七层妖塔 计算机网络:是一个将分散的、具有独立功能的计算机系统࿰…...

数据库应用:kylin 部署 达梦数据库DM8
目录 一、实验 1.环境 2.部署前规划 3.部署达梦数据库DM8 4.创建数据库及数据库事例管理 5.达梦数据库的基本操作 二、问题 1.xhost命令报错 2.执行安装程序DMInstall.bin 报错 3.解压安装程序报错 4.安装程序找不到文件 5.图像化界面打不开 6.安装内存太小 7.打开…...

GO框架基础 (二)、sqlx库
在 Go 语言中,sqlx 包是一个用于数据库操作的库,它建立在标准库的 database/sql 包之上,并提供了一些额外的功能,以简化和增强与数据库的交互。sqlx 的目标是通过提供更方便的 API 和一些附加功能来改善在 Go 中进行 SQL 数据库查…...

Expected class selector “.menuChildMall“ to be kebab-case报错原因
 使用stylelint格式化css文件时候报上述错误: 原因: css类名未使用-分隔符 将类名修改为: .menu-child-mall形式即可...

NC文件不规则裁剪(利用shp文件裁剪)(三)
文章目录 前言实例数据代码部分需要的库加载文件写入地理信息裁剪NC结果 完整代码奉上 前言 Hello大家好呀,最近正好需要用到多个SHP去裁剪NC,按照我以前的两种办法(办法1和办法2)操作的话,我自己都会破防,…...

java 宠物在线商城系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目
一、源码特点 java 宠物在线商城系统是一套完善的java web信息管理系统 servletdaobean mvc模式,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S 模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…...

三防平板丨手持工业平板丨ONERugged工业三防平板丨推动数字化转型
随着科技的发展,数字化转型已经成为企业转型升级的必由之路。而在数字化转型中,三防平板作为一种重要的工具,可以极大地推动企业的数字化转型。本文将从以下几个方面探讨三防平板如何推动数字化转型。 一、提高工作效率 ONERugged加固平板的…...

【Linux | C++ 】基于环形队列的多生产者多消费者模型(Linux系统下C++ 代码模拟实现)
阅读导航 引言一、生产者消费者模型二、环形队列简介三、基于环形队列的生产者消费者模型(C 代码模拟实现)⭕Makefile文件⭕ . h 头文件✅sem.hpp✅ringQueue.hpp ⭕ . cpp 文件✅testMain.cpp 温馨提示 引言 在上一篇文章中,我们深入探讨了…...

【Docker】Docker存储卷
文章目录 一、什么是存储卷二、为什么需要存储卷三、存储卷分类四、管理卷Volume创建卷方式一:Volume 命令操作方式二:-v 或者--mount 指定方式三:Dockerfile 匿名卷 操作案例Docker 命令创建管理卷Docker -v 创建管理卷Docker mount 创建管理…...

基于python的租车管理平台/汽车租赁网站
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、详情页、用户中心、家政入驻模块。后台功能包括:总览、车辆管理、分类管理…...

【JVM】双亲委派机制
📝个人主页:五敷有你 🔥系列专栏:JVM ⛺️稳中求进,晒太阳 双亲委派机制 在Java中如何使用代码的方式去主动加载一个类呢? 方式1:使用Class.forName方法,使用当前类的类加载…...

分布式id实战
目录 常用方式 特征 潜在问题 信息安全 高性能 UUID 雪花算法 数据库生成 美团Leaf方案 Leaf-segment 数据库方案 Leaf-snowflake 方案 常用方式 uuid雪花算法数据库主键 特征 全局唯一趋势递增信息安全 潜在问题 信息安全 如果id连续递增, 容易被爬虫, 批量下…...

深入了解 SOCKS5 代理、代理 IP 和 HTTP
在网络通信和数据传输中,代理服务器扮演着至关重要的角色。本文将深入探讨 SOCKS5 代理、代理 IP 和 HTTP,揭示它们的工作原理、应用场景以及优缺点。 1. SOCKS5 代理 SOCKS(Socket Secure)是一种网络协议,允许客户端…...