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

RV1126新增驱动IMX415 SENSOR,实现v4l2抓图

RV1126新增驱动IMX415 SENSOR,实现v4l2抓图。

1:内核dts修改

&csi_dphy0 {

status = "okay";

ports {

#address-cells = <1>;

#size-cells = <0>;

port@0 {

reg = <0>;

#address-cells = <1>;

#size-cells = <0>;

mipi_in_ucam0: endpoint@1 {

reg = <1>;

remote-endpoint = <&ucam_out0>;

data-lanes = <1 2 3 4>;

};

};

port@1 {

reg = <1>;

#address-cells = <1>;

#size-cells = <0>;

csidphy0_out: endpoint@0 {

reg = <0>;

remote-endpoint = <&mipi_csi2_input>;

};

};

};

};

&i2c1 {

status = "okay";

clock-frequency = <400000>;

imx415: imx415@1a {

compatible = "sony,imx415";

reg = <0x1a>;

clocks = <&cru CLK_MIPICSI_OUT>;

clock-names = "xvclk";

power-domains = <&power RV1126_PD_VI>;

pinctrl-names = "rockchip,camera_default";

pinctrl-0 = <&mipicsi_clk0>;

avdd-supply = <&vcc3v3_sys>;

dovdd-supply = <&vcc_1v8>;

dvdd-supply = <&vcc_dvdd>;

/* reset is always pulled high in v10 */

reset-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;

rockchip,camera-module-index = <1>;

rockchip,camera-module-facing = "front";

rockchip,camera-module-name = "YT10092";

rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";

ir-cut = <&cam_ircut0>;

flash-leds = <&flash_ir>;

port {

ucam_out0: endpoint {

remote-endpoint = <&mipi_in_ucam0>;

data-lanes = <1 2 3 4>;

};

};

};

};

2:Makefile修改

obj-$(CONFIG_VIDEO_IMX415)+= imx415.o

3:Kconfig修改

config VIDEO_IMX415

4:驱动对应的宏开关打开

以上修改后,重新编译内核。重新总体编译。

5:单板启动注册成功

[root@RV1126_RV1109:/]

Media controllerAPI version 4.19.111

Media deviceinformation

------------------------

driver rkcif

model rkcif_mipi_lvds

serial

bus info

hw revision 0x0

driverversion 4.19.111

Device topology

- entity 1:stream_cif_mipi_id0 (1 pad, 4 links)

type Node subtype V4L flags 0

device node name /dev/video0

pad0: Sink

<-"rockchip-mipi-csi2":1 [ENABLED]

<-"rockchip-mipi-csi2":2 []

<-"rockchip-mipi-csi2":3 []

<-"rockchip-mipi-csi2":4 []

- entity 5:stream_cif_mipi_id1 (1 pad, 4 links)

type Node subtype V4L flags 0

device node name /dev/video1

pad0: Sink

<-"rockchip-mipi-csi2":1 []

<- "rockchip-mipi-csi2":2[ENABLED]

<-"rockchip-mipi-csi2":3 []

<-"rockchip-mipi-csi2":4 []

- entity 9:stream_cif_mipi_id2 (1 pad, 4 links)

type Node subtype V4L flags 0

device node name /dev/video2

pad0: Sink

<-"rockchip-mipi-csi2":1 []

<-"rockchip-mipi-csi2":2 []

<-"rockchip-mipi-csi2":3 [ENABLED]

<-"rockchip-mipi-csi2":4 []

- entity 13:stream_cif_mipi_id3 (1 pad, 4 links)

type Node subtype V4L flags 0

device node name /dev/video3

pad0: Sink

<-"rockchip-mipi-csi2":1 []

<-"rockchip-mipi-csi2":2 []

<-"rockchip-mipi-csi2":3 []

<-"rockchip-mipi-csi2":4 [ENABLED]

- entity 17:rockchip-mipi-csi2 (5 pads, 17 links)

type V4L2 subdev subtype Unknownflags 0

device node name /dev/v4l-subdev1

pad0: Sink

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

<-"rockchip-mipi-dphy-rx":1 [ENABLED]

pad1: Source

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

->"stream_cif_mipi_id0":0 [ENABLED]

->"stream_cif_mipi_id1":0 []

-> "stream_cif_mipi_id2":0 []

->"stream_cif_mipi_id3":0 []

pad2: Source

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

-> "stream_cif_mipi_id0":0 []

->"stream_cif_mipi_id1":0 [ENABLED]

->"stream_cif_mipi_id2":0 []

->"stream_cif_mipi_id3":0 []

pad3: Source

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

->"stream_cif_mipi_id0":0 []

->"stream_cif_mipi_id1":0 []

->"stream_cif_mipi_id2":0 [ENABLED]

-> "stream_cif_mipi_id3":0[]

pad4: Source

[fmt:SGBRG10_1X10/3864x2192field:none

crop.bounds:(12,16)/3840x2160

crop:(12,16)/3840x2160]

->"stream_cif_mipi_id0":0 []

-> "stream_cif_mipi_id1":0[]

->"stream_cif_mipi_id2":0 []

->"stream_cif_mipi_id3":0 [ENABLED]

- entity 23:rockchip-mipi-dphy-rx (2 pads, 2 links)

type V4L2 subdev subtype Unknownflags 0

device node name /dev/v4l-subdev2

pad0: Sink

[fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none

crop.bounds:(12,16)/3840x2160]

<- "m01_f_imx4151-001a":0 [ENABLED]

pad1: Source

[fmt:SGBRG10_1X10/3864x2192@10000/300000field:none

crop.bounds:(12,16)/3840x2160]

->"rockchip-mipi-csi2":0 [ENABLED]

- entity 28:rkcif-mipi-luma (0 pad, 0 link)

type Node subtype V4L flags 0

device node name /dev/video4

- entity 31:m01_f_imx415 1-001a (1 pad, 1 link)

type V4L2 subdev subtype Sensorflags 0

device node name /dev/v4l-subdev3

pad0: Source

[fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none

crop.bounds:(12,16)/3840x2160]

->"rockchip-mipi-dphy-rx":0 [ENABLED]

- entity 35:m01_f_ircut (0 pad, 0 link)

type V4L2 subdev subtype Lens flags1

device node name /dev/v4l-subdev4

[root@RV1126_RV1109:/]#

ioctl:VIDIOC_ENUM_FMT

Type: Video Capture Multiplanar

[0]: 'NV16' (Y/CbCr 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[1]: 'NV61' (Y/CrCb 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[2]: 'NV12' (Y/CbCr 4:2:0)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[3]: 'NV21' (Y/CrCb 4:2:0)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[4]: 'YUYV' (YUYV 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[5]: 'YVYU' (YVYU 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[6]: 'UYVY' (UYVY 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[7]: 'VYUY' (VYUY 4:2:2)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[8]: 'RGB3' (24-bit RGB 8-8-8)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[9]: 'RGBP' (16-bit RGB 5-6-5)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[10]: 'BGRH' (18-bit BGRX 6-6-6-14)

Size: Stepwise 64x64 - 3864x2192 withstep 8/8

[11]: 'RGGB' (8-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[12]: 'GRBG' (8-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[13]: 'GBRG' (8-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[14]: 'BA81' (8-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[15]: 'RG10' (10-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[16]: 'BA10' (10-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[17]: 'GB10' (10-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[18]: 'BG10' (10-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[19]: 'RG12' (12-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[20]: 'BA12' (12-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[21]: 'GB12' (12-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[22]: 'BG12' (12-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[23]: 'BYR2' (16-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[24]: 'Y16 ' (16-bit Greyscale)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[25]: 'GREY' (8-bit Greyscale)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[26]: 'EBD8' (Embedded data 8-bit,compressed)

Size: Stepwise 64x64 -3864x2192 with step 8/8

[27]: 'SPD6' (Shield pix data 16-bit,compressed)

Size: Stepwise 64x64 -3864x2192 with step 8/8

6:v4l2抓图成功

[root@RV1126_RV1109:/]#v4l2-ctl -d /dev/video0 --set-fmt-video=width=3840,heigh

t=2160,pixelformat=SGBRG10_1X10\--stream-mmap=3 \--stream-skip=3 \--stream-to=/

tmp/cif888.out\--stream-count=1 \--stream-poll

[ 216.222320] rkcif_mipi_lvds: stream[0] startstreaming

[ 216.222446] rockchip-mipi-csi2ffb10000.mipi-csi2: stream on, src_sd: d2dfee3b, sd_name:rockchip-mipi-dphy-rx

[ 216.222457] rockchip-mipi-csi2ffb10000.mipi-csi2: stream ON

[ 216.222484] rockchip-mipi-dphy-rxff4b0000.csi-dphy: stream on:1

[ 216.222500] rockchip-mipi-dphy-rx:data_rate_mbps 892

[ 216.223557] rockchip-mipi-dphy-rxff4b0000.csi-dphy: stream on:1

<<<[ 216.473292] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.506625] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.539958] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.573304] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.606626] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.639971] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.673278] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.706639] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.739943] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.773291] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.806637] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.839973] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.873305] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.906639] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.939971] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

[ 216.973304] rkcif_mipi_lvds: not activebuffer, skip current frame, mipi/lvds stream[0]

<[ 216.987827] rkcif_mipi_lvds: stream[0] startstopping

[ 217.006837] rockchip-mipi-csi2ffb10000.mipi-csi2: stream off, src_sd: d2dfee3b, sd_name:rockchip-mipi-dphy-rx

[ 217.006906] rockchip-mipi-csi2ffb10000.mipi-csi2: stream OFF

[ 217.006944] rockchip-mipi-dphy-rxff4b0000.csi-dphy: stream on:0

[ 217.008102] rockchip-mipi-dphy-rxff4b0000.csi-dphy: stream on:0

[ 217.009920] rkcif_mipi_lvds: stream[0]stopping finished

7:抓图文件查看

[root@RV1126_RV1109:/tmp]#ls -l

total 16512

drwxr-xr-x 2 avahiavahi 40 Jan 1 00:00 avahi-autoipd

-rw-r--r-- 1root root 16588800 Jan 1 00:03 cif888.out

-rw-r--r-- 1root root 66024 Jan 1 00:00 cl_viv_vx_ext.h

drwxr-xr-x 2root root 60 Jan 1 00:00 dbus

-rw-r--r-- 1root root 0 Jan 1 00:00 dnsmasq.leases

---------- 1root root 6 Jan 1 00:00 loglevel

-rw-r--r-- 1root root 25687 Jan 1 00:04 messages

-rw-r--r-- 1root root 204896 Jan 1 00:03 messages.0

-rw-r--r-- 1root root 1349 Jan 1 00:00 mountall.log

drwxr-xr-x 7root root 180 Jan 1 00:00 nginx

-rw-r--r-- 1root root 55 Jan 1 00:00 resolv.conf

drwxr-xr-x 2root root 60 Jan 1 00:00 subsys

drwx------ 2root root 40 Jan 1 00:00 tmp.4soNzzu8dM

8:至此驱动调试完成,欢迎讨论交流

相关文章:

RV1126新增驱动IMX415 SENSOR,实现v4l2抓图

RV1126新增驱动IMX415 SENSOR&#xff0c;实现v4l2抓图。1&#xff1a;内核dts修改&csi_dphy0 {status "okay";ports {#address-cells <1>;#size-cells <0>;port0 {reg <0>;#address-cells <1>;#size-cells <0>;mipi_in_uca…...

Hive 数据倾斜

数据倾斜&#xff0c;即单个节点任务所处理的数据量远大于同类型任务所处理的数据量&#xff0c;导致该节点成为整个作业的瓶颈&#xff0c;这是分布式系统不可能避免的问题。从本质来说&#xff0c;导致数据倾斜有两种原因&#xff0c;一是任务读取大文件&#xff0c;二是任务…...

2月刚上岸字节跳动测试岗面经

这时候发应该还不算太晚&#xff0c;金三银四找工作的小伙伴需要的可以看看。 一、测试工程师的工作是什么&#xff1f; 测试工程师简单点说就是找bug&#xff0c;然后反馈给开发人员&#xff0c;不要小看这个工作。 首先很明显的bug开发人员有时候自己就能找到&#xff0c;测…...

图解KMP算法

子串的定位操作通常称作串的模式匹配。你可以理解为在一篇英语文章中查找某个单词是否存在&#xff0c;或者说在一个主串中寻找某子串是否存在。朴素的模式匹配算法假设我们要从下面的主串S "goodgoogle" 中&#xff0c;找到T "google" 这个子串的位置。…...

Java Map和Set

目录1. 二叉排序树(二叉搜索树)1.1 二叉搜索树的查找1.2 二叉搜索树的插入1.3 二叉搜索树的删除&#xff08;7种情况&#xff09;1.4 二叉搜索树和TreeMap、TreeSet的关系2. Map和Set的区别与联系2.1 从接口框架的角度分析2.2 从存储的模型角度分析【2种模型】3. 关于Map3.1 Ma…...

【C/C++ 数据结构】-八大排序之 冒泡排序快速排序

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【C/C数据结构与算法】 分享&#xff1a;那我便像你一样&#xff0c;永远躲在水面之下&#xff0c;面具之后&#xff01; ——《画江湖之不良人》 主要内容&#xff1a;八大排序选…...

苹果ipa软件下载网站和软件的汇总

随着时间的流逝&#xff0c;做苹果版软件安装包下载网站和软件的渐渐多了起来。 当然&#xff0c;已经关站、停运、下架、倒闭的苹果软件下载网站和软件我就不说了&#xff0c;也不必多说那些关站停运下架倒闭的网站和软件了。 下面我统计介绍的就是苹果软件安装包下载网站和软…...

深度学习-【语义分割】学习笔记4 膨胀卷积(Dilated convolution)

文章目录膨胀卷积为什么需要膨胀卷积gridding effect连续使用三次膨胀卷积——1连续使用三次膨胀卷积——2连续使用三次膨胀卷积——3Understanding Convolution for Semantic Segmentation膨胀卷积 膨胀卷积&#xff0c;又叫空洞卷积。 左边是普通卷积&#xff0c;右边是膨胀…...

【10】SCI易中期刊推荐——工程技术-计算机:人工智能(中科院2区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…...

模电计算反馈系数,有时候转化为计算电阻分压的问题

模电计算反馈系数&#xff0c;有时候转化为计算电阻分压的问题 如果是电压反馈&#xff0c;F的除数是Uo 如果是电流反馈&#xff0c;F的除数是Io 串联反馈&#xff0c;F的分子是Uf 并联反馈&#xff0c;F的分子是If 点个赞呗&#xff0c;大家一起加油学习&#xff01;...

专治Java底子差,不要再认为泛型就是一对尖括号了

文章目录一、泛型1.1 泛型概述1.2 集合泛型的使用1.2.1 未使用泛型1.2.2 使用泛型1.3 泛型类1.3.1 泛型类的使用1.2.2 泛型类的继承1.4 泛型方法1.5 泛型通配符1.5.1 通配符的使用1&#xff09;参数列表带有泛型2&#xff09;泛型通配符1.5.2 泛型上下边界1.6 泛型的擦除1.6.1 …...

PayPal轮询收款的那些事儿

想必做跨境电商独立站的小伙伴&#xff0c;对于PayPal是再熟悉不过了&#xff0c;PayPal是一个跨国际贸易的支付平台&#xff0c;对于做独立站的朋友来说跨境收款绝大部分都是依赖PayPal以及Stripe条纹了。简单来说PayPal跟国内的支付宝有点类似&#xff0c;但是PayPal它是跨国…...

【Linux】项目自动化构建工具——make/Makefile

目录 1.make与Makefile的关系 Makefile make 项目清理 clean .PHONY 当我们编写一个较大的软件项目时&#xff0c;通常需要将多个源文件编译成可执行程序或库文件。为了简化这个过程&#xff0c;我们可以使用 make 工具和 Makefile 文件。Makefile 文件可以帮助我们自动…...

成本降低90%,OpenAI正式开放ChαtGΡΤ

今天凌晨&#xff0c;OpenAI官方发布ChαtGΡΤ和Whisper的接囗&#xff0c;开发人员现在可以通过API使用最新的文本生成和语音转文本功能。OpenAI称&#xff1a;通过一系列系统级优化&#xff0c;自去年12月以来&#xff0c;ChαtGΡΤ的成本降低了90%&#xff1b;现在OpenAI用…...

hls.js如何播放m3u8文件(实例)?

HLS&#xff08;HTTP Live Streaming&#xff09;是一种视频流传输协议&#xff0c;是苹果推出的适用于iOS与macOS平台的流媒体传输协议。它将视频分割成若干个小段&#xff0c;每个小段大小一般为2~10秒不等&#xff0c;并通过HTTP协议进行传输。通过在每个小段之间插入若干秒…...

大数据平台建设方法论集合

文章目录从0到1建设大数据解决方案大数据集群的方法论数据集成方法论机器学习算法平台方法论BI建设的方法论云原生大数据的方法论低代码数据中台的方法论大数据SRE运维方法论批流一体化建设的方法论数据治理的方法论湖仓一体化建设的方法论数据分析挖掘方法论数字化转型方法论数…...

25- 卷积神经网络(CNN)原理 (TensorFlow系列) (深度学习)

知识要点 卷积神经网络的几个主要结构: 卷积层&#xff08;Convolutions&#xff09;: Valid :不填充&#xff0c;也就是最终大小为卷积后的大小. Same&#xff1a;输出大小与原图大小一致&#xff0c;那么N ​变成了​N2P. padding-零填充. 池化层&#xff08;Subsampli…...

把数组里面数值排成最小的数

问题描述&#xff1a;输入一个正整数数组&#xff0c;将它们连接起来排成一个数&#xff0c;输出能排出的所有数字中最小的一个。例如输入数组{12, 567}&#xff0c;则输出这两个能排成的最小数字12567。请给出解决问题的算法&#xff0c;并证明该算法。 思路&#xff1a;先将…...

云his系统源码 SaaS应用 基于Angular+Nginx+Java+Spring开发

云his系统源码 SaaS应用 功能易扩 统一对外接口管理 一、系统概述&#xff1a; 本套云HIS系统采用主流成熟技术开发&#xff0c;软件结构简洁、代码规范易阅读&#xff0c;SaaS应用&#xff0c;全浏览器访问前后端分离&#xff0c;多服务协同&#xff0c;服务可拆分&#xff…...

小红书场景营销怎么做?场景营销主要模式有哪些

小红书作为新兴媒体领域的佼佼者&#xff0c;凭借着生动&#xff0c;直观&#xff0c;代入感等元素的分享推荐收揽了巨额的流量。但是&#xff0c;随着时代的脚步逐渐加快&#xff0c;发展和变革随之涌来&#xff0c;传统的营销已经无法满足。所以场景营销就出现了。今天就来和…...

c++基础——数组

数组数组是存放相同类型对象的容器&#xff0c;数组中存放的对象没有名字&#xff0c;而是要通过其所在的位置访问。数组的大小是固定的&#xff0c;不能随意改变数组的长度。定义数组数组的声明形如 a[b]&#xff0c;其中&#xff0c;a 是数组的名字&#xff0c;b 是数组中元素…...

odoo15 登录界面的标题自定义

odoo15 登录界面的标题自定义 原代码中查询:<title>Odoo<title> <html> <head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Odoo</title><link rel="shortcut icon…...

【内网服务通过跳板机和公网通信】花生壳内网穿透+Nginx内网转发+mqtt服务搭建

问题&#xff1a;服务不能暴露公网 客户的主机不能连外网&#xff0c;服务MQTT服务部署在内网。记做&#xff1a;p1 (computer 1)堡垒机&#xff08;跳板机&#xff09;可以连外网&#xff0c;内网IP 和 MQTT服务在同一个网段。记做&#xff1a;p2 (computer 2)对他人而言&…...

【多线程常见面试题】

谈谈 volatile关键字的用法? volatile能够保证内存可见性,强制从主内存中读取数据,此时如果有其他线程修改被volatile修饰的变量,可以第一时间读取到最新的值 Java多线程是如何实现数据共享的? JVM把内存分成了这几个区域: 方法区,堆区,栈区,程序计数器&#xff1b; 其中堆区…...

深度剖析指针(下)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容还是我们的指针呀&#xff0c;上两篇博客我们基本上已经把知识点过了一遍&#xff0c;这篇博客就让小雅兰来带大家看一些和指针有关的题目吧&#xff0c;现在&#xff0c;就让我们进入指针的世界吧 复习&#xff1a; 数组和…...

爬虫与反爬虫技术简介

互联网的大数据时代的来临&#xff0c;网络爬虫也成了互联网中一个重要行业&#xff0c;它是一种自动获取网页数据信息的爬虫程序&#xff0c;是网站搜索引擎的重要组成部分。通过爬虫&#xff0c;可以获取自己想要的相关数据信息&#xff0c;让爬虫协助自己的工作&#xff0c;…...

Pag的2D渲染执行流程

Pag的渲染 背景 根据Pag文章里面说的&#xff0c;Pag之前长时间使用的Skia库作为底层渲染引擎。但由于Skia库体积过大&#xff0c;为了保证通用型&#xff08;比如兼容CPU渲染&#xff09;做了很多额外的事情。所以Pag的工程师们自己实现了一套2D图形框架替换掉Skia&#xff…...

k8s 概念说明,k8s面试题

什么是Kubernetes&#xff1f; Kubernetes是一种开源容器编排系统&#xff0c;可自动化应用程序的部署、扩展和管理。 Kubernetes 中的 Master 组件有哪些&#xff1f; Kubernetes 中的 Master 组件包括 API Server、etcd、Scheduler 和 Controller Manager。 Kubernetes 中的…...

Docker--(四)--搭建私有仓库(registry、harbor)

私有仓库----registry官方提供registry仓库管理&#xff08;推送、删除、下载&#xff09;私有仓库----harbor私有镜像仓库1.私有仓库----registry官方提供 Docker hub官方已提供容器镜像registry,用于搭建私有仓库 1.1 镜像拉取、运行、查看信息、测试 (一) 拉取镜像 # dock…...

Invalid <url-pattern> [sso.action] in filter mapping

Tomcat 8.5.86版本启动web项目报错Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> [sso.action] in filter mapping 查看项目的web.xml文件相关片段 <filter-mapping><filter-name>SSOFilter</filter-name><url-pattern&g…...

贵阳微网站建设公司/2024年4月新冠疫情结束了吗

1首先&#xff0c;我们打开“工具”-->"选项"菜单&#xff0c;见到如下界面&#xff0c;依据OCI library(oci.dll) 路径&#xff0c;导航到 navicat oci 目录下&#xff0c;备份里面的文件&#xff08;通过在该目录新建bak文件夹&#xff0c;将“%dir%/Navicat Li…...

移动免费网站建设/今日国际新闻头条

王阳明&#xff1a;人生即修行 笔记 少说多听&#xff0c;必有收获 人的心灵成长地图要求我们&#xff0c;必须要随时更正自己的前进方向&#xff0c;不能更正&#xff0c;或是拒绝更正心灵成长路线图的人只能困在原地&#xff0c;永远绕弯。 心阳光&#xff0c;世界不会黑暗…...

p2p网站建设的步骤过程/下拉关键词排名

零拷贝 零拷贝不是真的0次拷贝&#xff0c;而是减少拷贝次数&#xff0c;所有的零拷贝分为两个层面&#xff1a; &#xff08;1&#xff09;OS级别 传统IO&#xff1a; 硬盘->内核缓冲区->用户缓冲区->内核缓冲区->socket缓冲区-》socket缓冲区-》网卡&#xf…...

集约化网站数据库建设规范/学it什么培训机构好

grep 是一种强大的文本搜索工具&#xff0c;它能使用正则表达式搜索文本&#xff0c;并把匹配的行打印出来&#xff0c;本文主要给大家分享Linux grep与正则表达式的相关知识&#xff0c;感兴趣的朋友一起看看吧&#xff0c;希望能帮助到大家。grep简介grep 是一种强大的文本搜…...

网推所和传统律所比较/搜索引擎优化方法有哪几种

高德地图 Android SDK 能够为 Android 应用开发人员提供互动的、功能丰富的 Android 手机地图。 将地图显示功能与搜索服务、定位服务分别封装为三个类库。每一个类库不相互依赖&#xff0c;用户能够分开使用。提供 2D&#xff08;栅格&#xff09;和3D&#xff08;矢量&#x…...

wordpress建设的是模板网站吗/网站seo排名优化工具

idle connect ( 已经建立完成了TCP三次握手 ) open sent open confirm establish connect 和 active 都是 TCP 连接阶段, active 是发起方, connect 是应答方 Idle State 1 BGP 通常以 Idle State 开始( 此时拒绝接收所有入连接 )。当一个开始事件出现, BGP 过程初始化所…...