- 博客(32)
- 资源 (3)
- 收藏
- 关注
原创 torch_geometric(pyg)的介绍和简单使用
使用pytorch_geometric库进行GNN搭建的简单教程,包含对Data、DataLoader以及mini-batch的理解
2022-01-04 16:19:43 11838 1
原创 MySQL日志/索引/锁/事务特性的理解
文章目录前言关于日志RedoUndo关于索引分页查询的优化方式&原理子查询优化根据某个字段排序后分页先选出主键,再通过主键查询位置计算优化索引对关联查询的影响关于锁乐观锁和悲观锁MySQL加锁范围上锁单点上锁如果记录不存在提高数据库的并发度关于事务的ACID特性一致性隔离性持久性前言最近对数据库进行了系统的学习,结合了一些面试问题,在春招理解的基础上,对一些摸棱两可,又很难(在中文博客里)找到相关资料的问题进行了更深入的探究,并进行汇总,特此写下关于日志innodb的日志主要有redo和un
2021-09-03 10:33:13 274
原创 ConcurrentHashMap增删扩容的解读
前言太久没看jdk,今天面试被问到ConcurrentHashMap(下面可能会简称为chm)的扩容原理,只能含糊的答出来一些,翻了翻自己的笔记,似乎当时看了(而且印象里之前看的时候就感觉网上讲得很清晰的文章很难找),但是也没有特别地整理这一块的内容。因此这里特地对它进行整理。主要包括put、get、扩容。jdk1.8之前和之后的区别之前看《java并发艺术》这本书的时候,对chm的印象是,将一个map划分为16个段,并发修改时只会对各自段加锁,这样就可以大大提高并发性能了。jdk1.8之后就不是这
2021-09-01 19:54:01 726
原创 volatile可见性和指令重排的理解
前言前几天被问到volatile关键字的作用,因为太久没复习java并发这边的知识,所以只含糊的答出了可见性和禁止指令重排这两点。这两天在复习一些java多线程相关的知识,又看到了volatile变量,看到了以前的笔记,突然对它的可见性、禁止指令重排序、进程间通信这些比较生涩的概念有了更深的理解,而能把这一块讲透的文章也比较少,特此记录下来volatile关键字定义回放我们都知道volatile关键字有两大作用使变量可见:每次v写都会写回主存;每次v读都会从主存里读,因此线程一定能读到最新的值(
2021-08-05 18:55:29 211
原创 走进Dubbo——使用Docker部署运行
前言从这里开始,我们讲如何将dubbo部署在docker内,docker-compose的demo也已经上传。我们为什么要使用Docker?当我告诉你,只需要安装好docker,然后解压demo,敲入一个命令,dubbo就能跑起来,不需要额外下载zookeeper,甚至我在mac下打包的,win下也能跑,linux下也能跑,心动吗(当然这和java的跨平台特性也分不开)?其实我自己就没有下zookeeper,而是直接用docker跑的,因为我厌倦了电脑上多出一堆乱七八糟的图标,跑代码之前还要进入乱七八
2021-06-23 14:26:21 2893 1
原创 走进Dubbo——编写二方包、服务提供者和消费者
前言从这一章开始搭建Dubbo环境,也就是使用者最期待的干货——如何编写一个Dubbo版的HelloWorld程序?为了演示方便,更重要的是为了方便Bean的管理等资源,特地引入Springboot帮我们搭建Web环境。本文分为二方包的编写、Springboot环境搭建、服务提供方编写、服务消费者编写四个部分。首先说明,二方包、服务提供者、服务消费者都需要单独打包,也就是位于三个不同的项目中。demo源码已经上传,二方包的编写我们从最简单的过程开始。二方包的编写很简单,新建一个maven项目,
2021-06-23 13:24:40 735
原创 走进Dubbo——使用Maven打包项目
前言其实从这里开始,就和dubbo关系不大了。但是一个项目真正运行起来,不是在idea中点运行就好了,而是要打包成单独的文件,然后使用java命令运行。如果不形成打包的闭环,就不知道怎么部署应用,那我们的项目就只是处于开发阶段,还用不到生产环境第一次打包首先,配置好maven。包括环境变量等,直到在自己的终端(win下为cmd)中输入mvn有反应为止。进入项目根目录,敲入mvn package,就会自动生成jar包啦~Tipsmaven有几大常用命令,和打包有关的一般要使用两个,一个叫clean
2021-06-23 12:52:07 1065
原创 走进Dubbo——RPC框架简介
前言dubbo是阿里开源的分布式rpc框架,在许多中小企业的微服务化过程中发挥着核心作用。但是想把dubbo运行起来也不是那么简单的,这几天我想搭个dubbo环境玩玩,一路受阻。相信前来了解rpc的同学都有一定的java编程基础,也知道为什么用rpc,本文只教为什么用和怎么用。本文的目标和大致文章内容是:介绍rpc框架、rpc框架的特点以及使用rpc框架一般的编程步骤给出一个源码demo,让大家对照着来了解dubbo的使用方法(未发)从pom开始配置springboot,配置dubbo环境,编
2021-06-22 22:07:59 604
原创 Java中自动清理资源的方式(虚引用的作用)
介绍了Java中自动清理资源的三种方式,着重介绍了try-with-resource机制和虚引用&Cleaner机制的原理和使用方式
2021-06-18 20:14:58 993 1
原创 《深入理解JVM 第三版》 读书笔记
2 Java内存区域与内存溢出异常2.2 运行时数据区域2.2.1程序计数器程序计数器占用空间较小,可以看作当前 线程执行字节码的行号。因此是线程独立的。如果执行的是native方法,则该计数器为空。2.2.2 java虚拟机栈描述java方法的执行内存模型。每个方法执行都会创建一个栈帧(stack frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。方法调用和执行完成的过程,伴随着栈帧入栈和出栈的过程。每个局部变量空间为32bit,其中double和long占用两个slo
2021-03-15 22:16:46 529
原创 计算机网络 第七版 (谢希仁) 读书笔记
1.概述1.3 三种链路交换方式电路交换:整个报文的比特流连续地从源点到达终点,好像再一个管道中进行传输报文交换:整个报文先到达相邻的节点,全部存储下来后查找转发表,转发到下一节点分组交换:单个分组(一个报文可以被切分为多个分组,每个分组单独传输)传送到相邻节点,存储下来后查找转发表,转发到下一个节点如果需要传输大量数据,传输时间远大于连接建立时间的话,电路交换的传输速率较快。而且由于其预先分配好了带宽,因此通信质量也更有保障。对于报文交换和分组交换,则不需要预先分配传输带宽,在传输突发数据时
2021-03-10 17:22:37 708
原创 《深入理解计算机系统》读书笔记——第7章 链接
前言最近新的一批师弟进实验室了,有几个师弟要做嵌入式开发,需要涉及到第三方库的编译,我已经不止一次听到过师弟问我有关链接的问题了:为什么编译的时候提示函数未定义?明明已经include了头文件,vsc也没有画波浪线呀?为什么提示函数重定义?(一般这种,都是发现include xxx.h不管用,就直接include xxx.c,改一个include没问题,但是把其它文件里的include都改成这样,就会造成这个问题)全局变量应该在哪里定义?extern加在哪里?是的,这些问题中,没有一个提到了“链
2021-01-29 11:16:32 280
原创 《MyBatis技术内幕》读书笔记
前言看这本书的初衷,只是想大概了解一下MyBatis的工作方式,大概了解一下原理。这本书是从源码出发进行讲解的,对每个模块都进行了细致的介绍。在现阶段,个人对源码分析不是那么感兴趣,因为通常源码分析都是从已经很熟悉源码的人的角度出发,像cpu似的疯狂进入xx函数,这个函数又进入了xx函数,强调了很多细节问题,感觉在做十字绣,但是却没法对框架的构造有整体的把握当然,从分析源码的角度看,这本书还是挺好的,各个模块也是平行的,铺开来用不同的章节讲,脉络也比较清晰——只不过,我想把仅有的时间用来了解更有趣的知
2021-01-27 09:18:52 171
原创 《Netty权威指南》读书笔记
前言这本书虽然主要是在讲Netty,但是Netty也不过是对JDK NIO类库的封装,提供了一系列实用的类库简化NIO编程:Handler和pipeline机制:提供一系列消息编解码工具类,方便处理半包消息,用户也可以添加自己的消息处理程序,对消息进行编解码。这些编解码Handler可以添加到pipeline中,实现对消息的分布处理,也便于后期维护和添加功能;线程池机制:可以通过参数配置,灵活调整单线程、多线程、主从多线程Reactor线程模型,适应不同场景下的需求提供SslHandler,集成了S
2021-01-26 22:12:58 342
原创 《Redis设计与实现》 读书笔记
前言Redis对我来说是比较神秘的存在,我大概只知道它是一个内存数据库,可以缓存一些易变的、需要频繁读写的数据(比如传感器数据,传输非常频繁,因此可以存储在Redis内,达到一定容量后统一写入数据库)。在实践中,Redis也大抵上是如此,一般用来做缓存。除此之外,由于Redis采用网络进行通信,因此可以非常方便地将其应用于分布式场景中。再加上Redis本身就支持集群等特性,所以,Redis很适合用来做分布式缓存。这本书对Redis的实现原理讲解得比较多,但是对应用层面则基本没有提及。所以如果想要知道R
2021-01-21 19:56:34 244
原创 《MySQL技术内部 InnoDB存储引擎》读书笔记
前言完结,撒花!这本书是我看过最枯燥的书,也是难得我需要配合度娘来查找概念来理解书中概念的书。这本书对INNODB的方方面面进行讲解,事无巨细,经常看着就会迷失方向,不知何为重点。而且书中在前面对许多重要概念都一笔带过(可能是因为作者希望每一章都独立成册,不要有太多的前后关联性,但是这样真的对初学者不太友好……),到了很后面的章节才解释(比如ACID的概念),因此特地设立了第0章用于讲解可能遇到的关键术语。此外,对于一些难以理解的概念(比如next-key locking),还是配合了知乎之类的回答来理
2021-01-14 21:30:03 778
原创 《深入分析Java Web技术内幕》读书笔记
前言这本书,我看了一天,但是整理了三天。从这本书里我深刻地认识到,看书学习很愉快,但是复习考试很痛苦:)这三天发生了什么呢?主要是从第9章开始,讲解Servlet Tomcat Jetty Spring等框架时,我在想,到底要呈现多少内容在笔记上?似乎本书是挑了一些关键的流程进行展现,但是没有上下文又有点难以理解。所以我在纠结,我应该深究到什么程度,应该了解哪些内容……终归来说,这本书整理Java Web技术中几乎要用到的所有原理,甚至包括IO 中文编码 JMM class文件等内容。信息量有点大,的
2021-01-14 21:12:55 447
原创 《图解HTTP》读书笔记
前言这是博文的前言,也是读书笔记的后记。本来只打算草草看看查漏补缺,但是实际上从这本书还是学到了非常多知识点,对HTTP有了比较系统的了解。这本书本身非常可爱,图很多,有点像Head First系列的书(但是相比来说,还是HF更可爱一点)。从这本书上,我学到了哪些呢(括号内为对应章节)?以前不太明白的零碎的知识,比如URL&URI(1.7),网关隧道(5.2),DOM是什么(10.2.2),XML有什么好处(10.4.1);HTTPS、SSL的加密过程,如何保证密钥安全传输(7.2);H
2021-01-11 10:58:15 853
原创 《JAVA并发编程的艺术》读书笔记
1.前言自从上次写文章已经过去了大半年了,感觉刚过去的2020年还是有挺多变化的。比如,我最终还是选择成为一个开发人员。既然选择了做开发,那也要做一个好的开发。这半年,读了挺多的书,成长还是挺快的。现在再看半年前写的代码,不忍直视呀。自己看书比较喜欢做笔记,这个系列还是希望可以发扬光大一下,对于自己来说,就是一个复习的过程;对于看文章的人来说,可以相互交流相互讨论,增强理解。之所以选这本书的读书笔记作为“首发”,是因为这本书的笔记算是做得比较像样的。对于之前的笔记,需要自己再重新整理之后发出来。对于
2021-01-08 19:03:49 260
原创 Three.js使用补充——Sprite精灵标签
文章目录1.本文主要内容2.Sprite介绍3.Threejs中Sprite的相关函数使用4.封装好的Sprite相关内容的使用4.1 管理已创建的sprite对象4.2 切换显示/隐藏sprite4.3 具体使用方法1.本文主要内容Three.js有关内容也是属于Web三维可视化监控系统搭建的一部分,但是考虑到这里只是专注于Threejs有关内容的介绍,因此把标题改成了Threejs的补充,将常用的模块进行单独介绍。当然,后面还能补充什么内容,我还没想好。码云示例仓库地址,考虑到国内访问gayhub
2020-06-03 11:40:10 5655 1
原创 Web三维可视化监控系统搭建(2)——VR场景显示和交互
文章目录1.本文主要内容1.本文主要内容虽然我很想上手就拿一堆代码往那里一放,但是该说的还得说。相机是什么,视角是什么,坐标系是什么
2020-05-24 22:37:33 1572
原创 随机过程(4)——马尔可夫链
文章目录1.前言2.马尔可夫链简介1.前言如约开始更新第四章——马尔科夫链。首先提醒一下想学机器学习那边的马尔科夫链,隐式马尔科夫链(HMM)的同学们绕行,这里不讲这些应用,我们只谈数学。老师上课的时候说,这一章是最难的…我呢,只感觉上课听得有点迷糊,但是课后看看书,大致也能看得差不多。就是现在这个内容上了一个月了,经常忘了前边讲了什么了,所以我得写博客开始复习了:)上网课时间过的还真快,3/4就过完了。2.马尔可夫链简介考虑一个随机过程{Xn,n=0,1,2,...}\{X_n,n=0,1,2
2020-05-14 10:53:28 4327
原创 随机过程(3)——更新过程
文章目录1.前言2.更新过程简介2.1更新过程的一些简单性质3.主要符号的引入4.N(t)N(t)N(t)的分布1.前言如约来到了第三篇。感觉最近很浮躁,动不动就打好久农药,心里期盼着快点开学,但是听说开学之后要蹲监狱,emmmmm,我还是宅在家吧。待到娱乐场所都开放之时,应该就没这么无聊了。老师在上这一章的时候,说这不是重点,然而还是讲了洋洋洒洒4节课吧,而且基本上后面的课都讲得我云里雾...
2020-04-16 23:12:28 6190 3
原创 随机过程(2)——泊松过程
文章目录1.前言2.泊松过程的定义2.1 计数过程2.2 计数过程的独立增量和平稳增量2.3 泊松过程的定义2.3.1 泊松过程的定义12.3.2 泊松过程的定义22.3.3 两种定义等价性证明1.前言我如约把这个系列推到了第二篇。最近老师项目催得紧,再加上上周学的东西有点难懂(老师还说是非重点),作业也有点难。在写这周作业的时候,我就发现回顾一下之前的内容还是很有必要的。因为老师是上完这一...
2020-03-30 17:59:43 6635 3
原创 随机过程(1)——绪论
文章目录1.吐槽选课那点事2.文章的结构3.正文开始3.1 概率和随机变量3.1.1概率定义3.1.2概率连续性3.1.3 上下极限集相关知识3.1.4 Borel-Cantelli引理3.2 条件期望E(X∣Y)E(X|Y)E(X∣Y)3.2.1条件期望的一些性质和理解3.2.2 期望和条件概率的例子3.3 指数分布3.3.1 指数分布具有无记忆性3.4 概率不等式3.4.1 Markov不等式...
2020-03-16 18:17:33 1266
原创 新塘N32926 rabbitmq-c编译
文章目录1.问题概述2.openssl不兼容问题3.RabbitMQ编译的其他问题1.问题概述项目里需要使用N32926和服务器进行消息通讯,采用了rabbitmq进行通信。因此挑选了rabbitmq-c作为客户端。编译时碰到了许多问题在这里记录一下。2.openssl不兼容问题rabbitmq-c官方宣称只需要0.9.8以上的openssl即可,但是直接使用原产自带的arm-linux-...
2020-03-01 16:40:46 273
原创 强化学习初探 DQN+PyTorch+gym倒立摆登山车
文章目录1.随便说几句2.为什么选择DQN作为第一个入手的模型2.工具准备3.实现思路3.1.环境采样3.2 Reward设计3.3 Q值近似计算3.4 主循环4.代码1.随便说几句疫情赋闲在家,就想着多学点东西吧。看了看GAN的东西,还看了看cs224的NLP,在做NLP作业的时候感觉虽然比单纯地刷准确率有意思点,但是a4的翻译作业竟然是翻译法语到英语的,我啥也分析不了,和刷准确率也差不多啊...
2020-03-01 14:31:34 7031 1
原创 新塘N32926 实现时间同步
目录1.第三方库选择2.动态链接库的坑3.改变时区1.第三方库选择由于项目里要实现板子上电后自动同步时间的功能,由于精度要求不太高,因此选择了NTP网络授时(还有GPS授时等)。新塘这款芯片自带的SDK,kernel是2.6.35,busybox是1.15的,没有ntp功能。关于ntp的开源实现有很多种选择。这里列出三种常用的方案。我采用的是最后一种方案。因为它代码量很少,编译起来非常方便...
2019-12-29 00:13:20 266
原创 新塘N32926 操作GPIO的注意事项
新塘N32926 操作GPIO 寄存器的坑1. 问题描述2. 问题分析定位和解决3. 问题解决的详细说明前段时间要使用新塘的N32926开发项目,需要使用到GPIO控制输入输出。本来很简单的东西,踩到了坑,特此记录下来。如果是需要看GPIO例程的,请查看新塘资料包的DEMO1. 问题描述以前也用过Stm32这类处理器,操作GPIO只要按标准来配置一下寄存器之类的就好了。项目中需要使用GPC...
2019-12-13 00:25:04 860
原创 ResNet 实现Cifar-10 识别以及一点思考
ResNet 实现Cifar-10 识别(PyTorch)以及一点思考1. 作者针对Cifar-10分类提出的网络结构2. 实现网络结构中遇到的问题3. 作者训练网络的细节4. 复现过程5. 实现代码最近看了ResNet的论文,由于刚从CS231n过渡过来,所以还在使用Cifar-10数据集。刚好论文后面就有一节是专门研究(经过简化后的)ResNet在Cifar-10数据集上的表现的,所以决定着...
2019-12-11 12:44:19 1654
dubbo的简单demo docker-compose版
2021-06-23
dubbo的简单demo源码
2021-06-23
DQN+PyTorch+gym倒立摆登山车源码&模型
2021-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人