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

网络编程的进程查看连接描述符信息等

一.查看当前进程的socket对应的fd信息

1. lsof

lsof(List Open Files)命令可以列出系统中所有打开的文件的信息,包括 socket。

用法

要查看特定进程的 socket 信息,可以使用以下命令:

lsof -p <pid> | grep socket <pid>: 要查看的进程的进程 ID。
grep socket: 过滤出 socket 相关的信息。示例
lsof -p 1234 | grep socket  

2. netstat

netstat 命令用于显示网络连接、路由表、接口统计等。使用 netstat 可以查看当前进程的 socket 连接。

用法
netstat -anp | grep <pid>  选项说明:
-a: 显示所有连接和监听的端口。
-n: 以数字形式显示地址和端口号。
-p: 显示使用每个 socket 的进程信息。示例
root@192.168.10.114:/proc/8141/fd|⇒  netstat -anp | grep 8141     
tcp6       0      0 :::10443                :::*                    LISTEN      8141/smartapi       
unix  3      [ ]         STREAM     CONNECTED     47938    8141/nn
unix  2      [ ]         STREAM     CONNECTED     4489953  8141/nn        
unix  2      [ ]         STREAM     CONNECTED     4488523  8141/nn
unix  2      [ ]         DGRAM                    46849    8141/nn

第一行:TCP6 Socket

tcp6       0      0 :::10443                :::*                    LISTEN      8141/nntcp6:
表明这是一个 TCP socket,且使用的是 IPv6 协议。0 0:
第一个 0 表示接收队列(recv-q),当前没有待处理的接收数据。
第二个 0 表示发送队列(send-q),当前没有待发送的数据。:::10443:
该 socket 正在监听所有地址(:::)的 10443 端口,表示它可以接收来自任何 IPv6 地址的连接请求。:::*:
远程地址,该项显示为 * 表示没有特定的远程地址,因为 LISTEN 状态的 socket 不会连接到特定的远程主机。LISTEN:
表明这个 socket 是处于监听状态,准备接受连接。8141/nn:
显示使用该 socket 的进程信息。这里的 8141 是进程 ID,而 nn 是进程的名称。

第二到第五行:UNIX Socket

unix  3      [ ]         STREAM     CONNECTED     47938    8141/nn
unix  2      [ ]         STREAM     CONNECTED     4489953  8141/nn        
unix  2      [ ]         STREAM     CONNECTED     4488523  8141/nn        
unix  2      [ ]         DGRAM                    46849    8141/nn  每行的结构相似,逐行分析:通用部分解释
unix:
表示这一行信息涉及 Unix Domain socket。3 / 2 / 2 / 2:
这些数字表示接收和发送队列的长度。
第一个数字是接收队列中待处理的数据包数量,第二个数字(如果有)表示发送队列中的数据包数量。[ ]:
表示当前没有特定的数据在接收队列中也没有存储其他状态的信息。STREAM / DGRAM:
指明 socket 的类型。
STREAM 表示这是一个流式 socket(用于 TCP 样式的连接)。
DGRAM 表示这是一个数据报式 socket(用于 UDP 样式的连接)。CONNECTED:
该状态指示 socket 已建立连接。47938, 4489953, 4488523, 46849:
显示与该 Unix socket 相关的文件描述符(FD)。这些是文件描述符在进程内部的标识符。8141/nn:
使用该 socket 的进程的信息,显示进程 ID 是 8141,进程名称为 smartapi。
具体分析
第一行(TCP6 设置):
正在监听 IPv6 中的 port 10443,准备接受来自任何地址的连接。第二行:
一个流式 Unix socket 连接,接收队列中有 3 个待处理数据,进程 smartapi 使用 FD 47938。第三行:
另一个流式 Unix socket 连接,接收队列中有 2 个待处理数据,进程使用 FD 4489953。第四行:
第三个流式 Unix socket 连接,接收队列中有 2 个待处理数据,进程使用 FD 4488523。第五行:
一个数据报式 (DGRAM) Unix socket,连接状态为未填充接收队列,进程使用 FD 46849。总结
从输出中可以看出,nn 进程同时使用了一些 TCP 和 Unix socket,
包括监听 TCP 连接和若干个已建立的 Unix Domain socket 连接。
Unix sockets 通常在同一台机器的进程之间进行高效的通信。 

3. ss

ss 是 netstat 的替代工具,提供更详细的 socket 统计信息,速度更快。

用法
ss -p | grep <pid> -p: 显示使用 socket 的进程信息。示例:
root@192.168.10.114:/proc/8141/fd|⇒  ss -p | grep 8141 
u_str  ESTAB      0      0       * 47938                 * 47939                 users:(("smartapi",pid=8141,fd=20))
u_str  ESTAB      0      0       * 4489953               * 0                     users:(("smartapi",pid=8141,fd=10))
u_str  ESTAB      0      0       * 4488523               * 0                     users:(("smartapi",pid=8141,fd=5))

输出解析

  • LISTEN / ESTAB: 显示 socket 的状态,LISTEN 表示正在监听,ESTAB 表示已建立连接。
  • 0 / 128: 表示队列的长度。
  • *:47938: 表示绑定的地址和端口。
  • users:(...): 显示使用该 socket 的进程信息,包括进程名称、PID 和文件描述符(fd)。

一步查看特定 socket 的信息

要详细查看某个 socket 的文件描述符信息,您可以定位到 /proc/<pid>/fd 目录(其中 <pid> 是进程 ID),然后列出文件描述符。

ls -l /proc/1234/fd  

4. 使用 ss 命令与 less

首先,可以使用 ss 命令获取 socket 信息,然后通过管道将输出结果传给 less

假设您要查看所有进程的 socket 信息:

ss -ap | less  -a: 显示所有 socket,包括监听和已连接的 socket。
-p: 显示使用 socket 的进程信息。

如果您只希望查看特定进程的 socket 信息,可以根据名为特定进程的关键字过滤:

ss -ap | grep <process_name> | less  <process_name>: 要查看的进程名称。
示例查找特定进程
u_str  ESTAB      0      0       * 47938                 * 47939                 users:(("nn",pid=8141,fd=20))
u_str  ESTAB      0      0       * 4489953               * 0                     users:(("nn",pid=8141,fd=10))
u_str  ESTAB      0      0       * 4488523               * 0                     users:(("nn",pid=8141,fd=5))
u_dgr  UNCONN     0      0       * 46849                 * 47423                 users:(("nn",pid=8141,fd=6))
u_dgr  UNCONN     0      0       * 26270                 * 0                     users:(("nn",pid=8141,fd=3),("nn",pid=2159,fd=3))
u_dgr  UNCONN     0      0       * 31283                 * 0                     users:(("nn",pid=2159,fd=6))
u_str  ESTAB      0      0       * 26318                 * 0                     users:(("nn",pid=2159,fd=5))
tcp    LISTEN     0      128      [::]:10443                  [::]:*                     users:(("n",pid=8141,fd=19))

解析:

逐部分解析
u_dgr:
这一部分表示 Socket 的类型和协议。u_dgr: 表示使用 Unix Domain Datagram(UDP)类型的 socket。Unix Domain sockets 允许在同一台机器上的进程之间进行通信。UNCONN:
这表示 socket 的状态。
UNCONN(Unconnected)表示这个 socket 仍然未连接。对于 UDP 类型的 sockets 来说,连接状态通常不如 TCP 重要,但这仍表明这个 socket 并没有处于激活状态来接收或发送数据。0 0:
这两个数字分别代表接收队列和发送队列的长度。
0 表示接收队列中没有待处理的数据,0 也表示发送队列中没有等待发送的数据。* 46849:
这是本地地址和本地端口。
* 表示这个 socket 监听所有的地址(即可以接收来自所有 IP 的连接)。
46849 是本地端口号。* 47423:
这是远程地址和远程端口。
同样,* 表示远程地址(即远程 IP),而 47423 是远程端口号。对于 UDP sockets,这个信息显示的是接收的通信地址。users:(("nn",pid=8141,fd=6)):
这一部分显示使用该 socket 的进程信息。
("nn", pid=8141, fd=6) 具体表示:
nn: 是使用这个 socket 的进程名称。
pid=8141:表示进程的 ID。
fd=6:表示进程中的文件描述符(File Descriptor)编号,这里的数字 6 是该 socket 在进程中被引用的文件描述符。

5. 使用 /proc 文件系统与 less

如果您知道进程 ID,可以直接从 /proc 文件系统查看 socket 的详细信息。

示例
less /proc/<pid>/net/tcp 
  • 这将显示 TCP sockets 的详细信息,包括本地地址、远程地址等。

 

6.其他

使用 netstat 命令可以检查系统中某个特定端口或 IP 地址的状态。以下是一些常用的选项和示例,教您如何使用 netstat 来查看端口或 IP 的状态。

基本用法

1. 查看所有连接和监听状态

要查看所有连接和监听的端口,可以运行以下命令:

netstat -an  -a: 显示所有连接和监听的socket。
-n: 以数字形式显示地址和端口号。
2. 查看特定端口的状态

假设您想查看端口 10443 的状态,您可以使用以下命令:

netstat -an | grep :10000

这条命令会输出与端口 10000 相关的所有连接及其状态。

3. 查看特定 IP 的状态

若您想查看与特定 IP 地址(例如 192.168.1.100)的连接,可以使用:

netstat -anp | grep :10443 -p: 显示使用每个 socket 的进程信息,包括进程 ID 和名称。
5. 查看 TCP 和 UDP 状态

如果您只想查看 TCP 或 UDP 连接,您可以分别使用:

netstat -at  # 查看 TCP 连接  
netstat -au  # 查看 UDP 连接 

示例输出解析

假设我们运行以下命令来查看端口 10000 的状态:

netstat -an | grep :10000  

可能的输出结果:

tcp6       0      0 :::10000                :::*                    LISTEN  tcp6: 表示这是一个 IPv6 TCP socket。
0 0: 接收队列和发送队列的长度(都为 0)。
:::10443: 表示监听所有地址的 10000 端口。
LISTEN: 表示该端口当前处于监听状态。
7. 查看所有连接和其进程信息

首先,可以通过 netstat 查看当前系统上所有活动的 TCP 和 UDP 连接,以及它们对应的进程:

-t: 显示 TCP 连接。
-u: 显示 UDP 连接。
-n: 以数字方式显示地址和端口号。
-a: 显示所有连接(包括监听状态的 socket)。
-p: 显示使用每个 socket 的进程信息。
2. 查看特定进程的连接信息

如果您想查看特定进程的连接信息,可以使用 grep 命令来过滤出该进程的名称或进程 ID(PID)。

假设您想查看进程名称为 nn的连接信息:

netstat -tunap | grep nn

或者,如果你知道进程的 PID,例如 8141

netstat -tunap | grep 8141  

示例输出解析

运行上述命令后,您可能会看到类似的输出:

tcp        0      0 192.168.1.5:10000      192.168.1.100:54321    ESTABLISHED 8141/nn
udp        0      0 192.168.1.5:1234       0.0.0.0:*              8141/nntcp 或 udp: 表示连接的类型。
0 0: 表示接收和发送队列的长度。
192.168.1.5:10000: 本地地址和本地端口。
192.168.1.100:54321: 远程地址和远程端口(仅在 TCP 连接中显示)。
ESTABLISHED: 表示连接的状态。
8141/nn: 使用该连接的进程 ID 和名称。

相关文章:

网络编程的进程查看连接描述符信息等

一.查看当前进程的socket对应的fd信息 1. lsof lsof&#xff08;List Open Files&#xff09;命令可以列出系统中所有打开的文件的信息&#xff0c;包括 socket。 用法 要查看特定进程的 socket 信息&#xff0c;可以使用以下命令&#xff1a; lsof -p <pid> | grep…...

ChatGPT API快速搭建自己的第一个应用—文章摘要(单轮对话应用)

使用ChatGPT API快速搭建自己的第一个应用 1 安装库2 设置与导入3 文章摘要(单轮对话应用)3.1 任务简介:3.2 初始化3.3 点击发送3.4 保存3.5 检查并打印你的结果1 安装库 !pip install gradiogradio 是一个用于快速搭建交互式用户界面的 Python 库,特别适合展示机器学习模…...

【01】AE特效开发制作特技-Adobe After Effects-AE特效制作快速入门-制作飞机,子弹,爆炸特效以及导出png序列图-优雅草央千澈

【01】AE特效开发制作特技-Adobe After Effects-AE特效制作快速入门-制作飞机&#xff0c;子弹&#xff0c;爆炸特效以及导出png序列图-优雅草央千澈 开发背景 优雅草央千澈所有的合集&#xff0c;系列文章可能是不太适合完全初学者的&#xff0c;因为课程不会非常细致的系统…...

软件测试预备知识④—NTFS权限管理、磁盘配额与文件共享

在软件测试的实际环境搭建与管理过程中&#xff0c;了解和掌握NTFS权限管理、磁盘配额以及文件共享等知识至关重要。这些功能不仅影响系统的安全性和稳定性&#xff0c;还对测试数据的存储、访问以及多用户协作测试有着深远的影响。 一、NTFS权限管理 1.1 NTFS简介 NTFS&am…...

CI/CD 流水线

CI/CD 流水线 CI 与 CD 的边界CI 持续集成CD&#xff08;持续交付/持续部署&#xff09;自动化流程示例&#xff1a; Jenkins 引入到 CI/CD 流程在本地或服务器上安装 Jenkins。配置 Jenkins 环境流程设计CI 阶段&#xff1a;Jenkins 流水线实现CD 阶段&#xff1a;Jenkins 流水…...

【python3】 sqlite格式的db文件获得所有表和数据

【python3】 sqlite格式的db文件获得所有表和数据 1.背景2.代码3.解析1.背景 SQLite 格式的 .db 文件就是一个包含 SQLite 数据库的文件。 SQLite 格式的 .db 文件通常存储的是一个关系型数据库。 SQLite广泛用于应用程序、移动设备、浏览器等场景。它将整个数据库存储在一个文…...

【灵码助力安全3】——利用通义灵码辅助智能合约漏洞检测的尝试

前言 随着区块链技术的快速发展&#xff0c;智能合约作为去中心化应用&#xff08;DApps&#xff09;的核心组件&#xff0c;其重要性日益凸显。然而&#xff0c;智能合约的安全问题一直是制约区块链技术广泛应用的关键因素之一。由于智能合约代码一旦部署就难以更改&#xf…...

openEuler 22.04使用yum源最快速度部署k8s 1.20集群

本文目的 openEuler的官方源里有kubernetes 1.20&#xff0c;使用yum源安装是最快部署一个k8s集群的办法 硬件环境 主机名系统架构ipmasteropenEuler release 22.03 (LTS-SP2)arm192.168.3.11edgeopenEuler release 22.03 (LTS-SP2)arm192.168.3.12deviceopenEuler release 22.…...

Docker Compose 教程

Docker Compose 是一个 Docker 容器的依赖管理工具。 例如我们一个服务需要依赖到多个 Docker 容器&#xff0c;那么使用 Docker Compose 这个工具就能很方便的帮助我们管理。 Docker Compose 通过配置文件 .yml。 定义了所有容器的依赖关系。 然后我们只需把我们想要的 Docke…...

opencv的NLM去噪算法

NLM&#xff08;Non-Local Means&#xff09;去噪算法是一种基于图像块&#xff08;patch&#xff09;相似性的去噪方法。其基本原理是&#xff1a; 图像块相似性&#xff1a;算法首先定义了一个搜索窗口&#xff08;search window&#xff09;&#xff0c;然后在该窗口内寻找…...

scala基础学习_方法函数

文章目录 方法与函数函数&#xff08;又称函数值/匿名函数&#xff09;定义方法注意 单参数函数多参数函数函数作为参数传递 方法将方法转换为函数方法的返回值总结 方法与函数 函数&#xff08;又称函数值/匿名函数&#xff09; 定义在任何地方&#xff1a;函数可以定义在类…...

Android车机DIY开发之软件篇(八)单独编译

Android车机DIY开发之软件篇(八)单独编译 1.CarLauncher单独编译 CarLauncher源码位于 packages/apps/Car/Launcher 用Eclipse ADT 谷歌定制版编译而成&#xff0c;.mk .bp编译 Android13目录如下: alientekalientek:~/packages/apps/Car$ ls Calendar …...

【Bug】报错信息:Required request body is missing(包含五种详细解决方案)

大家好&#xff0c;我是摇光~ 遇到“Required request body is missing”错误通常意味着服务器期望在HTTP请求中包含一个请求体&#xff08;body&#xff09;&#xff0c;但是实际上并没有收到。 例如&#xff1a; 当你在使用网页或应用程序的后台&#xff08;比如一个网站或手…...

Docker 专栏 —— Dockerfile 指令详解

文章目录 ADD 复制文件COPY 复制文件ARG 设置构建参数CMD 容器启动命令ENTRYPOINT ⼊⼝点ENV 设置环境变量EXPOSE 声明暴露的端⼝FROM 指定基础镜像LABEL 为镜像添加元数据MAINTAINER 指定维护者的信息RUN 执⾏命令USER 设置⽤户VOLUME 指定挂载点WORKDIR 指定⼯作⽬录 ADD 复制…...

Spring Boot 项目自定义加解密实现配置文件的加密

在Spring Boot项目中&#xff0c; 可以结合Jasypt 快速实现对配置文件中的部分属性进行加密。 完整的介绍参照&#xff1a; Spring Boot Jasypt 实现application.yml 属性加密的快速示例 但是作为一个技术强迫症&#xff0c;总是想着从底层开始实现属性的加解密&#xff0c;…...

在ubuntu下对NFS做性能测试

安装NFS 首先&#xff0c;安装服务 sudo apt update sudo apt install nfs-kernel-server然后创建共享文件夹 # 请自定义你自己的共享目录 sudo mkdir -p /exports/nfs4/homes sudo chmod -R 777 /exports/nfs4/homes# 这个可以根据no_root_squash标致选择设置。 # 如果不设…...

Spring-Cloud-Gateway-Samples,nacos为注册中心,负载均衡

背景&#xff1a;本想找个简单例子看下&#xff0c;无奈版本依赖太过复杂&#xff0c;花了点时间。记录下吧 使用Spring Cloud Gateway作为网关服务&#xff0c;Nacos作为注册中心&#xff0c;实现对子服务的负载均衡访问。简单例子。 一、gateway-main-nacos服务端&#xff…...

StarRocks Awards 2024 年度贡献人物

在过去一年&#xff0c;StarRocks 在 Lakehouse 与 AI 等关键领域取得了显著进步&#xff0c;其卓越的产品功能极大地简化和提升了数据分析的效率&#xff0c;使得"One Data&#xff0c;All Analytics" 的愿景变得更加触手可及。 虽然实现这一目标的道路充满挑战且漫…...

Autoencoder(李宏毅)机器学习 2023 Spring HW8 (Boss Baseline)

1. Autoencoder 简介 Autoencoder是一种用于学习数据高效压缩表示的人工神经网络。它由两个主要部分组成: Encoder 编码器将输入数据映射到一个更小的、低维空间中的压缩表示,这个空间通常称为latent space或bottleneck。 这一过程可以看作是数据压缩,去除冗余信息,仅保留…...

深入探索 ScottPlot.WPF:在 Windows 桌面应用中绘制精美图表的利器

一、ScottPlot.WPF 简介 ScottPlot.WPF 是基于 ScottPlot 绘图库专门为 Windows Presentation Foundation (WPF) 框架量身定制的强大绘图组件。它无缝集成到 WPF 应用程序中,为开发者提供了一种简洁、高效的方式来可视化数据,无论是科学研究中的实验数据展示、金融领域的行情…...

React中的useMemo 和 useEffect 哪个先执行?

在 React 组件的渲染过程中&#xff0c;useMemo 和 useEffect 的执行顺序是不同的。具体来说&#xff1a; useMemo 先执行&#xff1a;useMemo 是在 渲染阶段 执行的&#xff0c;它的作用是缓存计算结果&#xff0c;确保在渲染过程中可以直接使用缓存的值。 useEffect 后执行&…...

错误修改系列---基于RNN模型的心脏病预测(pytorch实现)

前言 前几天发布了pytorch实现&#xff0c;TensorFlow实现为&#xff1a;基于RNN模型的心脏病预测(tensorflow实现)&#xff0c;但是一处繁琐地方 一处错误&#xff0c;这篇文章进行修改&#xff0c;修改效果还是好了不少&#xff1b;源文章为&#xff1a;基于RNN模型的心脏病…...

Table-Augmented Generation(TAG):Text2SQL与RAG的升级与超越

当下AI与数据库的融合已成为推动数据管理和分析领域发展的重要力量。传统的数据库查询方式&#xff0c;如结构化查询语言&#xff08;SQL&#xff09;&#xff0c;要求用户具备专业的数据库知识&#xff0c;这无疑限制了非专业人士对数据的访问和利用。为了打破这一壁垒&#x…...

Stable Diffusion本地部署教程(附安装包)

想使用Stable Diffusion需要的环境有哪些呢? python3.10.11(至少也得3.10.6以上):依赖python环境NVIDIA:GPUgit:从github上下载包(可选,由于我已提供安装包,你可以不用git)Stable Diffusion安装包工具包: NVIDIA:https://developer.nvidia.com/cuda-toolkit-archiv…...

【物联网原理与运用】知识点总结(上)

目录 名词解释汇总 第一章 物联网概述 1.1物联网的基本概念及演进 1.2 物联网的内涵 1.3 物联网的特性——泛在性 1.4 物联网的基本特征与属性&#xff08;五大功能域&#xff09; 1.5 物联网的体系结构 1.6 物联网的关键技术 1.7 物联网的应用领域 第二章 感知与识别技术 2.1 …...

JuiceFS 2024:开源与商业并进,迈向 AI 原生时代

即将过去的 2024 年&#xff0c;是 JuiceFS 开源版本推出的第 4 年&#xff0c;企业版的第 8 个年头。回顾过去这一年&#xff0c;JuiceFS 社区版依旧保持着快速成长的势头&#xff0c;GitHub 星标突破 11.1K&#xff0c;各项使用指标增长均超过 100%&#xff0c;其中文件系统总…...

C#,动态规划问题中基于单词搜索树(Trie Tree)的单词断句分词( Word Breaker)算法与源代码

1 分词 分词是自然语言处理的基础&#xff0c;分词准确度直接决定了后面的词性标注、句法分析、词向量以及文本分析的质量。英文语句使用空格将单词进行分隔&#xff0c;除了某些特定词&#xff0c;如how many&#xff0c;New York等外&#xff0c;大部分情况下不需要考虑分词…...

计算机网络(六)应用层

6.1、应用层概述 我们在浏览器的地址中输入某个网站的域名后&#xff0c;就可以访问该网站的内容&#xff0c;这个就是万维网WWW应用&#xff0c;其相关的应用层协议为超文本传送协议HTTP 用户在浏览器地址栏中输入的是“见名知意”的域名&#xff0c;而TCP/IP的网际层使用IP地…...

上海亚商投顾:沪指探底回升微涨 机器人概念股午后爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 市场全天探底回升&#xff0c;沪指盘中跌超1.6%&#xff0c;创业板指一度跌逾3%&#xff0c;午后集体拉升翻红…...

conda相关操作

conda 是一个开源的包管理和环境管理工具&#xff0c;主要用于 Python 和数据科学领域。它可以帮助用户安装、更新、删除和管理软件包&#xff0c;同时支持创建和管理虚拟环境。以下是关于 conda 的所有常见操作&#xff1a; 1. 安装 Conda Conda 通常通过安装 Anaconda 或 Mi…...

网页游戏推广网站怎么做/百度网址大全官方网站

一、在java中&#xff0c;servlet 主要用于浏览和修改数据以及创建动态的web内容。 二、编写一个简单的servlet ①创建一个servlet类 package com.howtodoinjava.servlets; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletExcept…...

ppt网站超链接怎么做/企业网站模板

“程序猿”的等级划分 “程序猿”大致可分为 菜鸟程序员、码农、程序员、成功的程序员、著名程序员 和 顶级程序员…… 1菜鸟程序员 之所以称这类程序猿为菜鸟程序员&#xff0c;是因为他们的技术比较渣&#xff08;当然我现在菜鸟都算不上&#xff09;。在工作中&#xff0…...

网站建设排名的公司哪家好/文明seo技术教程网

本文通过Python代码的编写&#xff0c;对NGSIM数据集中车辆变道时周边车辆的加速度、速度等信息进行提取&#xff0c;主要介绍代码逻辑及思路。 关于NGSIM数据集不再赘述&#xff0c;本人上传有NGSIM各路段各车型的车辆数据以及各路段平面示意图&#xff0c;可点击链接NGSIM数据…...

顺德装修网站建设/百度推广区域代理

已将完整示例放置在github上 地址&#xff1a;https://github.com/LyyZzzz/img-slide.git如有转载望附带本网页链接 /*** created by Lee on 2019/1/18 12:07* slide 调用方法 基于jq *为必传* param box 图片盒子 ** param eachbox 每个图片最高父级 ** param time 轮播间隔…...

网站的色调/hao123网址大全浏览器设为主页

commit规范 git commit 时候需要输入一个message&#xff0c;该message用于描述当前commit。一个恰当的commit可以让大家清晰的了解这次commit的内容。 git commit message submitting format: <type>[<scope>]:<subject> //need placeholder a newline if…...

常州建站软件/seo推广技术培训

文章目录Java锁synchronized关键字学习系列之偏向锁升级无锁偏向锁原理批量重偏向和批量撤销偏向锁升级偏向锁升级轻量级锁偏向锁升级重量级锁参考源代码Java锁synchronized关键字学习系列之偏向锁升级 前面几篇博文已经简单介绍了偏向锁了。《Java锁synchronized关键字学习系…...