自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Redis与MySQL双写一致性如何保证?

1.操作数据库时,是删除缓存呢,还是更新缓存?删除缓存。看下面这样一个例子:线程A先发起一个写操作,第一步先更新数据库 线程B再发起一个写操作,第二步更新了数据库 由于网络等原因,线程B先更新了缓存 线程A更新缓存。这时候,缓存保存的是A的数据(老数据),数据库保存的是B的数据(新数据),数据不一致了,脏数据出现啦。如果是删除缓存取代更新缓存则不会出现这个脏数据问题。更新缓存相对于删除缓存,还有两点劣势:如果你写入的缓存值,是经过复杂计算才得到的话。更新缓存频率高的话,就浪费性能啦。

2021-08-18 14:57:36 184

原创 红黑树、B+树等相关面试题

一、为什么hashmap使用红黑树而不是用其它的树1.为什么不适用二叉搜索树(BST)问题主要出现在二叉排序树在添加元素的时候极端情况下会出现线性结构。举例说明:由于二叉排序树左子树所有节点的值均小于根节点的特点,如果我们添加的元素都比根节点小,会导致左子树线性增长,这样就失去了用树型结构替换链表的初衷,导致查询时间增长。所以这是不用二叉查找树的原因。2.为什么不使用平衡二叉树(AVL)AVL树比红黑树保持更加严格的平衡。在AVL树中,从根到任何叶子的最短路径和最长路径之间的差异最多为1

2021-08-16 21:07:29 802

原创 代码书写规范

减少for循环使用 改为使用java 8 新特性stream。stream使代码更加简洁,性能更佳,以及诸多优点(可参考https://zhuanlan.zhihu.com/p/141588699)。 字符串拼接可以在循环中使用 “” + “” 拼接,新版的jdk会自动把加号拼接的形式转换为StringBuilder 字符串拼接常用函数String.join() 变量命名规范 (1)少使用data、flag等变量,使用更加具体如isSend等。变量名长度8-20为宜..

2021-08-16 11:21:04 205

原创 Thrift学习

RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。知名度较高的有Thrift(FB的)、dubbo(阿里的)。RPC原理RPC一般需要经历4个步骤:1、建立通信首先要解决通讯的问题:即A机器想要调用B机器,首先得建立起通信连接,主要是通过在客户端和服务器之间建立TCP连接。2、服务寻址要解决寻址的问题,A服务器上如何连接到B服务器(如主机或IP地址)以及特定的端口,方法的名称是什么。3、网络传输1)序列化

2021-08-16 11:19:49 97

原创 分布式实战

最近导师负责的魅力王府井项目因为要发放数字货币,要求项目中一二级界面的接口达到两万tps,所以就学习一下是如何从几百的tps提高到2w+的。话不多少,上图tps从几百到2W+的提升主要做了两件事。扩节点,从2个节点扩到了12个节点,性能提升了三四倍 使用JetCache缓存框架扩节点没有什么可说的,重点说一下第二点。导师之前已经写了一个sdk包(主要是在jetcache的基础上配置redis信息等,便于其他的小伙伴使用),直接引入依赖,通过注解的方式就可以使用JetCache。在该项目的业务

2021-02-18 16:34:51 223 3

原创 消息中心——短信、邮件、推送、文件上传中台系统(京东实习)总结

来京东实习一个半月了,一个多月的时间都花在消息中台上,所以总结记录一下。先说一下实习感受,团队的氛围确实挺好的,挺照顾我这个实习生,有问题大家都挺乐意帮忙的。年末公司发的大礼包实习生没有,leader就把他的礼包给我了,真的好暖好暖,哈哈。导师也真的很认真负责,前两三个星期导师每天晚上都会花两小三个小时对我进行指导,从数据库的设计到编码规范等。最近年底,好些项目比较忙,导师、leader和有的同事已经连着两个星期都是凌晨2点多回去的,最晚的时候凌晨五点才下班,认真工作的样子,很帅!题外话说多了哈。...

2021-01-31 17:10:16 3745 1

原创 论文Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs阅读报告

摘要:这篇论文主要是介绍知识图谱补全的一个模型,对三元组中的关系预测,即(h,r,?),(?,r,t),(h,?,t)。近期的一些工作表明,基于卷积神经网络的模型会生成更丰富,更具表达力的特征嵌入,因此在关系预测上也能表现出色。但是,作者观察到这些KG嵌入独立地处理三元组,因此无法覆盖在三元组周围的相邻节点中固有隐含的复杂和隐藏信息。为此,作者提出了一种新颖的基于注意力的特征嵌入,该特征嵌入...

2020-12-22 18:53:13 1032

原创 链接预测学习总结

链接预测(Link Prediction)是知识图谱嵌入(Knowledge Graph Embedding)的应用之一,将知识图谱中实体和关系的内容映射到连续向量空间中,对知识图谱中的实体或关系进行预测,即(h,r,?),(?,r,t),(h,?,t)三种知识图谱的补全任务。本篇文章主要介绍基于图结构的链接预测,比较流行的方法有基于相似度的、概率统计、预处理、SVM或KNN等算法。链接预测还包括...

2019-11-29 16:01:17 16093 2

原创 Katz 指标(The Katz Index,KI)的讲解与详细推导

Katz 指标可以区分不同的邻居节点不同的影响力。Katz 指标给邻居节点赋予不同的权重, 对于短路径赋予较大的权重, 而长路径赋予较小的权重。1.两个节点之间的相似度定义为:其中表示节点x到节点y长度为的路径数量。矩阵A是网络的邻接矩阵。矩阵A的第次幂的每个项等于相应节点对之间长度为l的路径的个数。β 为权重衰减因子,为了保证数列的收敛性, β 的取值须小 于邻接矩阵 A 最大特征值...

2019-11-28 10:59:24 12310

原创 python学习常见错误汇总

1.NameError: name 'reload' is not defined解决方法:from importlib import reload

2019-08-17 09:40:26 139

原创 编译行语言与解释型语言

程序设计语言可以分为两类解释型语言和编译行语言。分别给出定义:解释型语言:也被称为脚本语言,执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。因为每次执行程序都多了编译的过程,因此效率有所下降。例如:php、JavaScript、pythen。编译型语言:这类语言需要预先将我们

2017-01-27 15:53:53 680

原创 在某域名下搭建网站

老师给了我一个任务,在tutelib.mengyunzhi.cn上搭建动态的网站。本文以此为学习目标,和大家分享。具体步骤:1.建立git仓库,笔者使用github建立git仓库,把网站代码放到git仓库中。2.登录服务器到tutelib.mengyunzhi.cn文件夹中。笔者使用putty连接服务器,输入用户名密码,进入服务器,执行linux命令,到tutelib.mengyunz

2016-11-09 22:28:08 349

原创 is_null、isset、empty三者的区别

团队汇报时老师讲了一下is_null和isset的区别,发现自己不是很清楚,所以学习了一下is_null、isset、empty三个php函数之间的区别,和大家分享一下,欢迎指正。1.is_null//is_nullvar_dump(is_null($a));//报错,且返回true$age;var_dump(is_null($age));//报错,且返回true$age = nu

2016-10-24 08:54:23 690

原创 angularjs加载文件的顺序

引入文件的顺序由此引申jquery的加载顺序望后期注意

2016-10-22 20:27:25 3616

转载 301、404、200、304、500等HTTP状态,代表什么意思?

一些常见的状态码为:  200 - 服务器成功返回网页  404 - 请求的网页不存在  503 - 服务器超时     下面提供 HTTP 状态码的完整列表。点击链接可了解详情。您也可以访问 HTTP 状态码上的 W3C 页获取更多信息。一、临时响应       1xx(临时响应)  表示临时响应并需要请求者继续执行操作的状态码。  100(继续)请求

2016-10-18 19:24:14 503

原创 常用英文翻译

1.FTP,文件传输协议(File Transfer Protocol)。2.CSS,层叠样式表(Cascading Style Sheets)。3.ASE,高级加密标准(Advanced Encryption Standard)。4.HTML,超文本标记语言(HyperText Markup Language)。5.APT,高级包安装工具(Advanced Packaging

2016-10-18 14:30:15 539

原创 php的值传递和引用传递

(待完)

2016-10-17 15:45:01 298

原创 图像处理

(待完)

2016-10-17 15:44:07 435 5

原创 php的文件与目录

(待完)

2016-10-17 15:42:35 264

原创 php管理数组的函数

php管理数组有众多的函数。增加和删除数组的函数、定位数组元素的函数、确定数组大小和唯一性的函数、遍历数组函数、数组排序函数、合并/拆分/接合/分解数组的函数。1.增加和删除数组的函数。(1)array_push().(2)array_pop().(3)array_shift().(4)array_unshift().(5)array_pad()2.定位数组的函数。

2016-10-13 21:19:49 222

原创 初始cookie与session

进行cookie与seesion的学习。

2016-10-13 09:20:47 364

原创 get和post的区别

参考了php的书和网上的一些资料,整理了一下get和post的区别,主要用于加深记忆,同时也和大家分享一下。get和post的本质区别是get用于查询信息,post用于更新或保存信息。1.安全性。我们有时可能看到一些资料说get是安全的,有时又说get是不安全的。到底那个是安全的呢?说get是安全的,是因为get用来查询信息,不能对数据进行修改,所以说get是安全的。说get不安全,是因为使用

2016-10-12 20:22:23 262

原创 php的魔术方法笔记

上次做汇报时,被老师问到php的魔术方法,当时不清楚,其实之前也看过几次,但是都印象不深刻,所以写一篇博客来加深印象,也和大家分享一下。首先明确魔术方法的定义,官方的定义是PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法。1.先来说一下构造函数。具有构造函数的类每次实例化的时候都会先调用构造函数。一个类实例化的过程,就是给类中的每个字段分配相应的内存空间,并分别赋予初值的过程

2016-10-08 19:15:13 321

原创 字符编码和数据类型笔记

首先明确,计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。计算机在设计时采用的是8个比特(bye,即二进制位,计算机的最小储存单位)为一个字节(bite)。计算机最早由美国人发明,故最早只有128个字符被编码到计算机中,形成了ASCII编码。这128个符号只占用了一个字节的后7位,第一位统一规定为0(第一阶段ASCII编码)。当然,只用一个字节来处理中文或者其他语言是远远

2016-10-06 21:37:56 521

原创 css的margin重叠问题

1.问题场景2.我的实际问题由于两个margin边框重合,导致margin-top:80px;属性无法正常显示。(由于面包屑导航模块高度大于80px,故无法显示)3.解决方案在区块二中增加float: left;margin-left: 85px;属性。(由于设置了float:left;属性,要使区块二显示在中间,又增加了margin-left: 85px;属性。ps:本人遇到这个问题时

2016-10-06 12:36:32 671

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除