友链朋友圈

Spring 源码分析(四)——Spring 如何解决循环依赖

Spring 如何解决循环依赖这是一个非常经典的面试问题,那么 Spring 是如何解决循环依赖问题的呢?又是否能够让其解决循环依赖的方法失效呢? 一、JAVA 原生的循环依赖 在 JAVA 原生中遇到循环依赖时可以通过如下步骤解决。 实例化 A 对象 实例化 B 对象 往 A 对象中设置 B 对象 往 B 对象中设置 A 对象 但是有另外一种特殊情况,A 的构造方法参数中包含了 B,B 的构造方法参数中包含了 A,这种情况称为构造方法循环依赖。由于 A 和 B 都需要在实例化对象时提供参数,所以这种循环依赖是无解的。 二、Spring 中的循环依赖 如上所述,Spring 也是无法解决构造方法循环依赖的,但是属性循环依赖在实际使用中我们可以看到 Spring 是可以解决的。 Spring 的解决流程与我们上述的步骤一致: getBean——取得 A Bean,在 doCreateBean 方法中开始创建 Bean 操作。 createBeanInstance——实例化 A Bean。 populateBean——为 A Bean 设置参数,并调用 getBean 方法创建 B Bean。 == createBeanInstance——实例化 B Bean。 == populateBean——为 B Bean 设置参数,并调用 getBean 方法获得未构造完全的 A Bean。 … 经过以上流程,Spring 就解决了 Bean 的循环依赖,这里面涉及到一个比较关键的方法 getSingleton(String beanName, boolean allowEarlyReference)。 protected Object getSingleton(String beanName, boolean allowEarlyReference) { // Quick ch...

avatar 玖涯博客 发表于 2023年09月07日 19:16:31

选择合适的帧率和分辨率:优化RTSP流视频抓取

最终,了解您的应用需求并进行测试是选择合适的帧率和分辨率的关键。通过仔细权衡这些因素,您可以确保您的RTSP流视频抓取应用提供了所需的性能和图像质量。 引言 在实时视频流应用中,选择适当的帧率和分辨率对于确保视频流的顺畅播放和图像质量至关重要。本文将向您介绍如何使用Java和JavaCV库中的FFmpegFrameGrabber来从RTSP流中抓取图像,并在抓取时设置帧率和分辨率。 一、配置开发环境 首先,确保您的Java项目中包含JavaCV库的依赖。您可以在Maven项目中添加以下依赖: <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platform</artifactId> <version>1.5.1</version> <!-- 请检查最新版本 --></dependency> 二、使用Java代码抓取RTSP流图像 下面是一个示例Java代码,演示了如何使用FFmpegFrameGrabber从RTSP流中抓取图像并将其保存为JPEG格式的图像文件。 import org.bytedeco.javacv.FFmpegFrameGrabber;import org.bytedeco.javacv.Frame;import org.bytedeco.javacv.Java2DFrameConverter;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;public class RTSPImageCapture { public static void main(String[] args) { String rtsp = "YO...

avatar 龙儿之家 发表于 2023年09月07日 15:36:00

怎么给家里的路由器加一个真公网IP🌐?看我!

一、网络拓扑 二、拓扑分析 2.1、理论分析 PS:通过左侧的防火墙和右侧的软路由ROS建立GRE-over-IPSecVPN隧道,在防火墙内写明细路由器把公网PC来访问180.102.129.22的流量通过VPN隧道的tun1虚拟接口丢给家里的ROS的tun1虚拟接口,再由ROS将流量从eth1口丢给家庭路由器的G0/3口实现路由真IP给家里的路由器使用。 2.2、前提条件 2.2.1、左侧防火墙具有公网IP PS:这一点基本都符合,在中国大陆的公司一般在跟运营商申请带有固定IP地址的互联网线路时,公司都会申请掩码为29位带6个IP的,除去网关占用一个,总共我们有五个可用的公网IP,这种线路比ADSL或者30位的公网都要贵很多,但是往往公司实际的业务又根本用不完这么多公网IP的,说实话如果加上反向代理一个公网IP都足够多了,更何况一个公网IP上还有65535个端口可以使用,根本用不完了,所以既然公司用不了,放哪里又会造成资源浪费,这个对于我们网络管理员来说是万万不能的,所以我将公司用不完的公网IP路又到我家里,给我家里的路由器搞一个公网IP用用,岂不美哉。😃 2.2.2、防火墙支持以下一种功能 PS:IPSecVPN;OpenVPN;Wireguard;L2TP;PPTP;SD-WAN;GER IPSecVPN:IPSec(Internet Protocol Security)VPN 是一种网络协议,用于通过加密和身份验证确保数据传输的安全性。它通过在通信双方之间建立虚拟专用网络来创建安全的连接。 OpenVPN:OpenVPN 是一种开源的 VPN(Virtual Private Network)协议,它使用自定义的安全套接字层(SSL/TLS)协议来实现安全的远程访问和通信。它具有广泛的跨平台支持,并被认为是一种安全可靠的 VPN 解决方案。 WireGuard:W...

avatar 杨杨得亿 发表于 2023年09月06日 22:47:17

怎么给家里的路由器加一个真公网IP🌐?看我!

一、网络拓扑 二、拓扑分析 2.1、理论分析 PS:通过左侧的防火墙和右侧的软路由ROS建立GRE-over-IPSecVPN隧道,在防火墙内写明细路由器把公网PC来访问180.102.129.22的流量通过VPN隧道的tun1虚拟接口丢给家里的ROS的tun1虚拟接口,再由ROS将流量从eth1口丢给家庭路由器的G0/3口实现路由真IP给家里的路由器使用。 2.2、前提条件 2.2.1、左侧防火墙具有公网IP PS:这一点基本都符合,在中国大陆的公司一般在跟运营商申请带有固定IP地址的互联网线路时,公司都会申请掩码为29位带6个IP的,除去网关占用一个,总共我们有五个可用的公网IP,这种线路比ADSL或者30位的公网都要贵很多,但是往往公司实际的业务又根本用不完这么多公网IP的,说实话如果加上反向代理一个公网IP都足够多了,更何况一个公网IP上还有65535个端口可以使用,根本用不完了,所以既然公司用不了,放哪里又会造成资源浪费,这个对于我们网络管理员来说是万万不能的,所以我将公司用不完的公网IP路又到我家里,给我家里的路由器搞一个公网IP用用,岂不美哉。😃 2.2.2、防火墙支持以下一种功能 PS:IPSecVPN;OpenVPN;Wireguard;L2TP;PPTP;SD-WAN;GER IPSecVPN:IPSec(Internet Protocol Security)VPN 是一种网络协议,用于通过加密和身份验证确保数据传输的安全性。它通过在通信双方之间建立虚拟专用网络来创建安全的连接。 OpenVPN:OpenVPN 是一种开源的 VPN(Virtual Private Network)协议,它使用自定义的安全套接字层(SSL/TLS)协议来实现安全的远程访问和通信。它具有广泛的跨平台支持,并被认为是一种安全可靠的 VPN 解决方案。 WireGuard:W...

avatar 杨杨得亿 发表于 2023年09月06日 22:47:17

一分钟开启Elastic白金版

一分钟开启Elastic白金版 前提:假设你已经通过deb的方式部署了elasticsearch 下载源码文件 curl -o LicenseVerifier.java -s https://raw.githubusercontent.com/elastic/elasticsearch/8.3/x-pack/plugin/core/src/main/java/org/elasticsearch/license/LicenseVerifier.javacurl -o XPackBuild.java -s https://raw.githubusercontent.com/elastic/elasticsearch/8.3/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackBuild.java 根据自己的版本进行修改,如 8.3 -> 8.4, 忽略小版本 修改LicenseVerifier.java public static boolean verifyLicense(final License license, PublicKey publicKey) { return true;} 修改XPackBuild.java Path path = getElasticsearchCodebase();shortHash = "Unknown";date = "Unknown";CURRENT = new XPackBuild(shortHash, date); 编译: /usr/share/elasticsearch/jdk/bin/javac -cp "/usr/share/elasticsearch/lib/*:/usr/share/elasticsearch/modules/x-...

avatar 阿紫的博客网站 发表于 2023年09月01日 12:39:52

沈阳盖章计划

沈阳盖章计划 和平区 中共满洲省委门口服务站(2个) 歌德书店(1个蓝色章) 沈阳集邮门市部(38个章) 沈阳东北大学成立100周年(东大风味食堂进去科学馆1923咖啡馆,定位到天猫超市,28个章) 老北市6号门文创雪糕(8个章,12.8元雪糕) 老北市1号门服务台(免费4个) 老北市1号门服务台(消费39有34个章) 老北市汉字主题书房(28个,38元) 刘少奇旧居纪念馆(满洲省委旧址) 西西弗书店太原街万达F2(2个) 西西弗书店万象城bl(2个) 西西弗书店长白万象汇F2(2个) 宋玉桂艺术馆(5个) 雷锋主题邮局(4个)砂阳路邮局 茶话弄(沈阳太原街万达店) 太原街中兴魔方小镇(2个) 盛京邮局(2个) 阳光荟购物中心魔方小镇(2个) 铁西区 红梅文创园服务中心(1个章) 西西弗书店万象汇F2(1个章) 铁西工业博物馆免费 铁西1905文化创意园3楼小芝社(27个章,49) 铁西1905文化创意园3楼微码客(2个章,任意消费,建议沈阳手绘地图29) 铁西1905文化创意园一楼西门服务台边上有个店,进去礼貌询问店员即可免费盖 铁西1905文化创意园中间的市集一楼003摊位,蜜思花园,一家卖首饰的店,橡皮章,免费盖 铁西1905文化创意园楼一楼中间005摊位,CUTECATS。任意消费可盖 铁西1905文化创意园一楼中间008摊位,光之翼塔罗 免费盖 铁西1905文化创意园p6边上 @红雾动画工作室 关注小红书送扇子消费送贴纸 铁西1905文化创意园二楼右侧楼梯 旁,饰物所@daydream事务所 沈河区 沈阳城市规划展示馆(1个章) 小芝社故宫店(8个章+3个隐藏章,最低需消费30元) 西西弗书店中街大悦城店F2(2个章) 沈阳故宫.莊啡(18个章) 沈阳故宫文创大政殿旁(12个章,通关文牒25)还有一个15元地图 沈阳故宫出口处旁(17个章) 沈阳故宫戏台旁边长滩(...

avatar 龙儿之家 发表于 2023年08月31日 19:54:15

用CLI命令行控制家里的电脑?

前言 为啥有这篇水文呢,因为我想通过命令行设置家里的笔记本电脑,然后我发现todesk和向日葵软件里面有一个命令行功能,但是可恶的是居然要开会员专业版才能使用,在我这里不存在的,所以我就研究了一下笔记本开启ssh,能让其他电脑通过命令行控制家里的电脑。 1、确认电脑是否安装OpenSSH 1.1、Windows+R 打开运行框 1.2、输入:powershell powershell 1.3、管理员进入Shell 先按Ctrl+Shift,再按Enter进入Shell 1.4、确认安装情况 Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' 2、安装OpenSSH 2.1、安装OpenSSH客户端 Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 2.2、安装OpenSSH服务端 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 3、设置OpenSSH服务 3.1、开启服务 Start-Service sshd 3.2、配置开机自启 Set-Service -Name sshd -StartupType 'Automatic' 3.3、防火墙放行SSH if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) { Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating i...

avatar 杨杨得亿 发表于 2023年08月31日 16:00:34

用CLI命令行控制家里的电脑?

前言 为啥有这篇水文呢,因为我想通过命令行设置家里的笔记本电脑,然后我发现todesk和向日葵软件里面有一个命令行功能,但是可恶的是居然要开会员专业版才能使用,在我这里不存在的,所以我就研究了一下笔记本开启ssh,能让其他电脑通过命令行控制家里的电脑。 1、确认电脑是否安装OpenSSH 1.1、Windows+R 打开运行框 1.2、输入:powershell powershell 1.3、管理员进入Shell 先按Ctrl+Shift,再按Enter进入Shell 1.4、确认安装情况 Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' 2、安装OpenSSH 2.1、安装OpenSSH客户端 Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 2.2、安装OpenSSH服务端 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 3、设置OpenSSH服务 3.1、开启服务 Start-Service sshd 3.2、配置开机自启 Set-Service -Name sshd -StartupType 'Automatic' 3.3、防火墙放行SSH if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) { Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating i...

avatar 杨杨得亿 发表于 2023年08月31日 16:00:34

🌏7×24小时绿色上网分享🌏自建脚本合集

1、科学上网、魔法工具、使用教程 🌏科学上网论坛🌏 1.1、 软件下载一 1.2、软件下载二 1.3、软件下载二 2、免费节点🌏 如果下面的视频和其他免费节点国内直连加载不出来,则需要挂梯子,视频如果能加载出来画面,直接点击视频中间这个按钮然后扫描视频中的二维码即可订阅节点链接 PS:右键图片在新窗口中打开👇 PS:右键图片在新窗口中打开👇 PS:右键图片在新窗口中打开👇 2.07、免费全平台节点订阅链接—时更 2.08、免费全节点—时/日更 2.09、免费全节点—时/日更 2.1、 免费vmess节点—时更 2.2、 免费vmess节点—日更 2.3、 免费vmess节点—时更 2.4、 免费vmess节点—时更 2.5、 免费科学上网账号—时更 2.6、 免费ss节点—时更 2.7、 免费ssr节点—时更 2.8、 免费v2ray节点—时更 2.9、 免费http代理节点—时更 2.10、 免费全节点—日更 2.11、 免费ssr节点—日更 2.12、 免费ss节点—时更 2.13、 免费v2ray订阅节点主—日更 2.14、 免费v2ray订阅节点备—日更 2.15、 免费calsh订阅节点主—日更 2.16、 免费calsh订阅节点主—日更 2.17、 免费订阅节点—日更 3、GitHub项目 3.1、v2ray-agent 八合一脚本 3.1.1、八合一脚本官方教程 3.2、HappyLife 手动纯净安装/脚本 3.3、V2Ray 一键安装脚本 & 管理脚本 3.4、V2ray/Xray多用户管理脚本 3.5、自建节点综合脚本链接 3.6、Sing-Box多用户节点搭建 3.7、自由上网的方法 4、一键代码 4.1、vmess VPS服务器系统选择 Debian 10 x64 bash <(curl -s -L https://git.io/v2ra...

avatar 杨杨得亿 发表于 2023年08月30日 10:42:24

🌏7×24小时绿色上网分享🌏自建脚本合集

1、科学上网、魔法工具、使用教程 🌏科学上网论坛🌏 1.1、 软件下载一 1.2、软件下载二 1.3、软件下载二 2、免费节点🌏 如果下面的视频和其他免费节点国内直连加载不出来,则需要挂梯子,视频如果能加载出来画面,直接点击视频中间这个按钮然后扫描视频中的二维码即可订阅节点链接 PS:右键图片在新窗口中打开👇 PS:右键图片在新窗口中打开👇 PS:右键图片在新窗口中打开👇 2.07、免费全平台节点订阅链接—时更 2.08、免费全节点—时/日更 2.09、免费全节点—时/日更 2.1、 免费vmess节点—时更 2.2、 免费vmess节点—日更 2.3、 免费vmess节点—时更 2.4、 免费vmess节点—时更 2.5、 免费科学上网账号—时更 2.6、 免费ss节点—时更 2.7、 免费ssr节点—时更 2.8、 免费v2ray节点—时更 2.9、 免费http代理节点—时更 2.10、 免费全节点—日更 2.11、 免费ssr节点—日更 2.12、 免费ss节点—时更 2.13、 免费v2ray订阅节点主—日更 2.14、 免费v2ray订阅节点备—日更 2.15、 免费calsh订阅节点主—日更 2.16、 免费calsh订阅节点主—日更 2.17、 免费订阅节点—日更 3、GitHub项目 3.1、v2ray-agent 八合一脚本 3.1.1、八合一脚本官方教程 3.2、HappyLife 手动纯净安装/脚本 3.3、V2Ray 一键安装脚本 & 管理脚本 3.4、V2ray/Xray多用户管理脚本 3.5、自建节点综合脚本链接 3.6、Sing-Box多用户节点搭建 3.7、自由上网的方法 4、一键代码 4.1、vmess VPS服务器系统选择 Debian 10 x64 bash <(curl -s -L https://git.io/v2ra...

avatar 杨杨得亿 发表于 2023年08月30日 10:42:24