网络编程 线程 网络java

(原创)多线程并发:AQS源码分析(1)——独占锁的实现原理

谈到java中的并发,我们就避不开线程之间的同步和协作问题,谈到线程同步和协作我们就不能不谈谈jdk中提供的AbstractQueuedSynchronizer(翻译过来就是抽象的队列同步器)机制; (一)、AQS中的state和Node含义: AQS中提供了一个int volatile state ......
线程 源码 原理 AQS

(原创)多线程并发:AQS源码分析(2)——共享锁的实现原理

在上一篇文章多线程并发(一)中我们通过acquire()详细地分析了AQS中的独占锁的获取流程,提到独占锁,自然少不了共享锁,所以我们这边文章就以AQS中的acquireShared()方法为例,来分析下并发编程中共享锁的获取与释放吧,获取共享锁的大体流程和获取独占锁一样,但是因为共享锁可以被多个线 ......
线程 源码 原理 AQS

自动化测试如此容易!多语言自动化测试框架 Selenium 编程(C#篇)

介绍 Selenium 官网:https://www.selenium.dev/ Selenium 是功能强大的自动化测试工具集,是支持 Web 浏览器自动化的一系列工具和库的总括项目,一共包括以下三个项目: Selenium WebDriver Selenium IDE Selenium Grid ......
框架 Selenium

【白话科普】聊聊网络架构变革的关键——SDN

最近二狗子在网上冲浪的时候,不小心将 CDN 搜索成了 SDN,结果跳出来了一大堆相关的知识点。 好学的二狗子当然不会随随便便糊弄过去,于是认认真真学习了好久,终于了解了 SDN 是什么。 原来,SDN 的全称是 Software Defined Networking,是一类将网络控制平面与数据平面 ......
白话 科普 架构 关键 网络

从实现到原理,聊聊Java中的SPI动态扩展

八股文背多了,相信大家都听说过一个词,SPI扩展。 那么SPI扩展究竟是个啥,是怎么实现的,咱们来详细盘一盘它! ......
原理 动态 Java SPI

一文带你了解线程池原理

一文带你了解线程池原理 1.使用线程池的意义何在? ​ 项目开发中,为了统一管理线程,并有效精准地进行排错,我们经常要求项目人员统一使用线程池去创建线程。因为我们是在受不了有些人动不动就去创建一个线程,使用的多了以后,一旦报错就只有一个线程报错信息,还是线程的共用信息,再加上如果你将异常吃了(捕获后 ......
线程 原理

图卷积神经网络分类的pytorch实现

图神经网络(GNN)目前的主流实现方式就是节点之间的信息汇聚,也就是类似于卷积网络的邻域加权和,比如图卷积网络(GCN)、图注意力网络(GAT)等。下面根据GCN的实现原理使用Pytorch张量,和调用torch_geometric包,分别对Cora数据集进行节点分类实验。 Cora是关于科学文献之 ......
图卷 神经网络 神经 pytorch 网络

python Gui编程工具详解:beeware

#各个gui开发工具对比 Flexx: 可以使用Flexx创建桌面应用程序和web应用程序,同时可以将程序导出到独立的HTML文档中,GitHub推荐 Kivy&BeeWare: 只需编写一套代码便可轻松运行于各大移动平台和桌面上,像Android,iOS,Linux,OS X和Windows,ht ......
编程工具 beeware 工具 python Gui

c++ 程序通用多线程单例设计 c++ web 框架设计经验谈

设计 c++ web 框架时候,想要一个框架缓存类,很多通用缓存类是用字符保存,作为框架内置就不要序列和反序列了,因为框架内部使用。 想给自己的paozhu c++ web 框架添加缓存类,参考了springboot 于是确定用单例设计模式缓存类模板。 c++11后静态变量已经统一为线程安全了,网络 ......
经验谈 线程 框架 经验 程序

微软出品自动化神器【Playwright+Java】系列(九)多线程、重定向、弹出新窗口、截图、新页面、录制、页面对象模式操作

写在前面 关于Playwright系列的文章,真的很久没有写了,今天一个不小心官方API部分过完了,下面将为大家逐一演示,感兴趣的同学可以自行动手练习。 API部分 多线程 直白点说就是多线程下Playwright的使用,示例代码如下: package org.example; import com ......
页面 神器 线程 截图 Playwright

【多线程与高并发】- 线程基础与状态

所谓线程就是操作系统(OS)能够进行运算调度的最小单位,是一个基本的CPU执行单元,也是执行程序流的最小单元。能够提高OS的并发性能,减小程序在并发执行时所付出的时空开销。线程是进程的一个实体,是被系统独立调度和分派的基本单位。 ......
线程 状态 基础

【多线程与高并发】- 浅谈volatile

volatile是Java语言中的一种轻量级的同步机制,它可以确保共享变量的内存可见性,也就是当一个线程修改了共享变量的值时,其他线程能够立即知道这个修改。 ......
线程 volatile

【多线程与高并发】- synchronized锁的认知

synchronized 是 Java 语言的一个关键字,它允许多个线程同时访问共享的资源,以避免多线程编程中的竞争条件和死锁问题。 ......
线程 synchronized

Java 调用 PaddleDetection 模型

文章地址 介绍 训练好的模型要给业务调用,deepjavalibrary/djl:Java 中与引擎无关的深度学习框架 (github.com) 可以完成这件事,它支持使用 Java 调用 PyTorch、TensorFlow、MXNet、ONNX、PaddlePaddle 等引擎的模型(也支持部分 ......
PaddleDetection 模型 Java

Python绘制神经网络模型图

本文介绍基于Python语言,对神经网络模型的结构进行可视化绘图的方法。 最近需要进行神经网络结构模型的可视化绘图工作。查阅多种方法后,看到很多方法都比较麻烦,例如单纯利用graphviz模块,就需要手动用DOT语言进行图片描述,比较花时间;最终,发现利用第三方的ann_visualizer模块,可 ......
神经网络 模型 神经 Python 网络

重学了计算机网络,略有小成,经验全部分享出来

公众号「古时的风筝」,专注于后端技术,尤其是 Java 及周边生态。文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 大家好,我是风筝。 重学计算机网络已经有一段时间了,终于在离开大学多年后又重新拾起了一部分,时至今日已略有小成,并且写了一系列的文 ......
计算机网络 经验

《深入理解java虚拟机》第七章读书笔记——虚拟机类加载机制

系列文章目录和关于我 一丶虚拟机类加载机制是什么 java虚拟机将描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可用被虚拟机直接使用的java类型。 二丶类加载时机 1.什么时候会触发虚拟机的类类加载昵? 遇到new(使用new关键字实例化对象),getstat ......
机制 笔记 java

我有一篇Java Stream使用手册,学了就是你的了!

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 日常编程工作中,Java集合会经常被使用到,且经常需要对集合做一些类似过滤、排序、对象转换之类的操作。 为了简化这类操作,Java8添加了一套新的Stream API,使用方式就像写SQL一样,大大简化了这 ......
手册 就是 Stream Java

学习ASP.NET Core Blazor编程系列二十六——登录(5)

登录的本质原理同网页应用是一样的,一般的流程是:用户打开登页--》输入账号密码后提交表单--》服务端验证成功后生成cookie信息写入浏览器--》之后用户访问页面时浏览器会带上此cookie信息作为用户标识--》服务端解析此cookie信息就能识别这个用户了。 在webapi出现之后,... ......
Blazor Core ASP NET

学习ASP.NET Core Blazor编程系列二十七——JWT登录(1)

JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。 由于http的连接是状态的特性,server端和client是不... ......
Blazor Core ASP NET JWT

线程私有变量ThreadLocal详解

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 烈火试真金,逆境试强者。——塞内加 什么是ThreadLocal 首先看下ThreadLocal的使用示例: public class ThreadLocalTest { priva ......
线程 变量 ThreadLocal

Backbone 网络-ResNet 论文解读

残差网络(ResNet)的提出是为了解决深度神经网络的“退化”(优化)问题。ResNet 通过设计残差块结构,调整模型结构,让更深的模型能够有效训练更训练。 ......
Backbone ResNet 论文 网络

神经网络基础部件-卷积层详解

本文深度讲解了卷积计算的原理,并详细介绍了构成所有卷积网络主干的基本元素,包括卷积层本身、填充(padding)和步幅 (stride)的基本细节、用于在相邻区域汇聚信息的汇聚层(pooling),最后给出卷积层和汇聚层的代码示例和CNN框架结构图。 ......
卷积 网络基础 部件 神经 基础

Golang HTTP编程及源码解析-路由分发

1、网络基础 基本TCP客户-服务器程序Socket编程流程如如下图所示。 TCP服务器绑定到特定端口并阻塞监听客户端端连接, TCP客户端则通过IP+端口向服务器发起请求,客户-服务器建立连接之后就能开始进行数据传输。 Golang的TCP编程也是基于上述流程的。 2、Golang HTTP编程 ......
路由 源码 Golang HTTP

使用java.util.Timer实现定时任务,详解Thread.sleep() in a loop, probably busy-waiting问题

很多时候,我们需要定时任务实现一些诸如刷新,心跳,保活等功能。这些定时任务往往逻辑很简单,使用定时任务的框架(例如springboot @Scheduled)往往大材小用。 下面是一个定时任务的典型写法,每隔30s发送心跳 public static void main(String[] args) ......
busy-waiting probably 任务 waiting Thread

Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解

Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解 每博一文案 刹那间我真想令时光停住,好让我回顾自己,回顾失去的年华,缅怀哪个穿一身短小的连衣裙 和瘦窄的短衫的小女孩。让我追悔少年时代,我心灵的愚钝无知,它轻易地错过了我一生中本来 可以获得欢乐和幸福。 —————— 《平凡的世界》 ......
注解 设计模式 框架 模式 Java

Java 文本检索神器 "正则表达式"

Java 文本检索神器 "正则表达式" 每博一文案 在我们短促而又漫长的一生中,我们在苦苦地寻找人生的幸福,可幸福往往又与我们失之交臂, 当我们为此而耗尽宝贵的。青春年华,皱纹也悄悄地爬上了眼角的时候,我们或许才能悄悄懂得生活实际上意味 着什么。 —————— 《平凡的世界》 叶赛宁的诗,不惋惜,不 ......
正则 表达式 神器 quot 文本

Java 优化:读取配置文件 "万能方式" 跨平台,动态获取文件的绝对路径

Java 优化:读取配置文件 "万能方式" 跨平台,动态获取文件的绝对路径 每博一文案 往事不会像烟雾似的飘散,将永远像铅一般沉重地浇铸在心灵的深处。 不过,日常生活的纷繁不会让人专注地沉湎于自己的痛苦 不幸,即使人的心灵伤痕累累,也还得要去为现实中的生存和发展而挣扎。 —————— 《平凡世界》 ......
文件 quot 路径 方式 动态

VMware 虚拟机安装 OpenWrt 作旁路由 单臂路由 img 镜像转 vmdk 旁路由无法上网 没网络

重要注意事项 由于布线原因笔记本只能采用无线的方式连接路由器,在Windows10的环境下使用无线网卡桥接,结果软路由无法上网,翻阅了各种帖子最终发现跟系统底层的协议栈有关系,随即放弃使用有线网卡,不能上网等乱七八糟的问题瞬间解决,因此务必提醒各位,==千万不要使用无线网卡桥接!!!== 参考文章如 ......
路由 单臂 镜像 OpenWrt VMware

【Go并发编程】Goroutine的基本使用

goroutine是什么 goroutine即协程,使用go关键字开启一个协程异步执行代码。 注意,main函数也是个goroutine。 基本使用 使用go执行子任务,会交替执行(和时间片一样)。 主goroutine退出后,其它的工作goroutine也会自动退出(有点父子进程的感觉): pac ......
Goroutine