自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (6)
  • 收藏
  • 关注

原创 linux命令学习——dd

一:dd命令dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file > of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file > ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。 obs=by

2020-10-08 12:57:59 219

原创 linux常用命令——vmstat

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析物理内存和虚拟内存区别我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存

2020-10-08 11:34:38 369

原创 Linux系统学习——进程

1.进程描述符: 进程元数据:每个进程都有其描述符。 每个进程描述符是通过双向链表保存 创建进程时除了需要分配cpu,内存等资源外还需要在内核的内存空间中维护一个进程描述文件添加到链表上。 进程描述符:包含进程的状态,线程信息,运行的列表,内存映射信息,父进程,打开的文件,正在处理的信号等 描述符文件大小是一定的。2.进程切换(上下文件切换)2.1.A进程切换成B进程: 需要将栈信息其他寄存信息,指数计数器等信息保存到进程描述...

2020-10-07 15:13:22 382

原创 EhCache常用配置详解和持久化硬盘配置

一、EhCache常用配置EhCache 给我们提供了丰富的配置来配置缓存的设置;这里列出一些常见的配置项:cache元素的属性: name:缓存名称 maxElementsInMemory:内存中最大缓存对象数 maxElementsOnDisk:硬盘中最大缓存对象数,若是0表示无穷大 eternal:true表示对象永不过期,此时会忽略timeToIdleSeconds和timeToLiveSeconds属性,默认为false ...

2020-09-26 11:36:33 2445 1

原创 EhCache缓存框架简介和简单实例

一、EhCache简介:EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。我们使用EhCache缓存框架主要是为了判断重复Url,每次爬取一个网页,都把Url存储到缓存中,并且每次爬某个网页之前,都去缓存中搜索下,假如存在的话,我们就不要爬取这个网页了,不存在的话,我们就爬下网页,爬取成功后,把这个Url存储到缓存中;之所以用缓存框架,主要是速度快,相对于传统数据库;Ehcache是一种广泛使用的开源Jav..

2020-09-26 11:33:42 207

原创 WEBRTC中的SDP

版本v, owner o, 时间t连接c connection, a=candidate候选者,media, atribute(rtpmap), atribute(fmtp)crypto:数据传递时使用的dtls,加密算法是什么;ice-frag:用户名,身份认证通过stun协议发出去;ice-pwd;fingerprint :指纹;rtcp-fb:反馈信息; group:传输时音频视频流是共用同一个通道还是分开的通道;rtcpmux:将rtp与rtcp端口复用...

2020-09-13 23:43:15 303

原创 SDP协议学习

1.什么是SDPSDP(Session Description Protocol)它只是一种信息格式的描述标准,本身不属于传输协议,但是可以被其他传输协议用来交换必要的信息。2.SDP规范多个媒体描述:对于终端来说有几路视频和音频,每一路音频视频使用的哪些编解码器,编解码器的参数的描述等一个会话级描述:使用的SDP协议版本,使用的网络是什么(全局的),会话只有一个,全局的。由多个<type>=<value>组成:3.会话层:会话的名称和目的会话的存活时

2020-09-13 23:18:36 444

原创 DTLS-SRTP协议学习

1.DTLS-SRTP:WEBRTC中真正使用的协议,会使用DTLS握手协议后交换证书key,交换完成将key和加密算法交给SRTP进行数据加解密。2.DTLS要解决的问题:2.1.交互密钥 SRTP是真正加解密的,使用的是对称的加密算法。DTLS使用的是不对称加密。所以使用DTLS进交换的对换加密的密钥2.2.加密算法 确认加密算法 ,握手时双方需要提供自己支持的加密算法,需要去选择大家都支持的而且优先级高的。WEBRTC中默认使用的AES1283.SRTP要解决的...

2020-09-13 22:38:45 1781

原创 DTLS协议学习记录

DTLS基于UDP协议1.DTLS握手协议2.DTLS时序图:2.1.实际上在握手之前还需要做很多事情,其中之一就是交换SDP信息,也就是媒体协商(需要通过信令进行连接),其中也包含交换了ICE的password和username2.2.经过1之后就找到对方的Candidate了,也就是相互知道了对方 的ip和端口使用的协议是什么。下面就是在数据传输之前首先发送STUN request 把password与username带给流媒体服务器,流媒体服务器将用户名密码取出来与第一阶段中的

2020-09-13 22:26:43 896 2

原创 ICE的学习记录

1.什么是ICEICE:Interactive Connectivity Establishment.需要两端进行交互才能创建连接,就是建立连接前需要进行至少一次的交互,不像socket只要知道服务器地址就可以建立连接。如上图:两个端之间需要通过ICE建立连接,由于两个终端都知道自己的外网地址,但是如何知道对方的呢,需要通过一个信令服务器,将他们建立连接。双方分别将自己的可以连接的外网IP端口分别发给信令服务器转发给对方才能建立连接。也就是交互式连接建立 ICE2.ICECandi.

2020-09-13 21:42:29 197

原创 STUN协议学习

1.STUN协议介绍:STUN存在的目的就是进行NAT穿越。STUN是典型的客户端/服务端模式。客户端发送请求,服务端进行响应。2.RFC STUN规范RFC3489/STUN Simple Traversal of UDP Through NATRFC5389/STUN Session Traversal Utilities for NAT3.STUN协议: 3.1.包括20字节的STUN header 3.2.Body中可以有...

2020-09-13 17:59:08 363

原创 RTCP协议头说明

RTP的控制协议version:P:

2020-09-12 15:58:15 270

原创 RTP协议头详解

1.RTP协议RTP:即可心跑在TCP也可以跑在UDP上,实时流协议,所以通常是跑在UDP上。前 12 个字节出现在每个 RTP 包中,仅仅在被混合器插入时,才出现 CSRC 识别符列表。各个域的含义如下所示:(1)版本(V):2 比特,此域定义了 RTP 的版本。此协议定义的版本是 2。(值 1 被 RTP 草案版本使用,值 0 用在最初"vat"语音工具使用的协议中。)(2)填充(P):1 比特,若填料比特被设置,则此包包含一到多个附加在末端的填充比特,填充比特不算作负载的一部分。填

2020-09-12 15:18:22 3995

原创 UDP协议头说明

1.UDP协议头检验和:此字段用处是用来检查收到地数据的对错的在IP 的上面增加源端口和目的端口,别的没有管。所以 比较适合用于音频和视频数据的传输。

2020-09-12 14:57:57 206

原创 TCP的滑动窗口学习记录

1.TCP滑动窗口1.1.什么是窗口当通讯双方在进行三次握手时需要进行窗口的确认,需要确认交互数据的缓冲区的大小,要将缓冲区统一大小,如发送端窗口大小为4k,接收端的窗口大小为8k,那最终确认为统一大小4k。1.2.滑动窗口每个方格就是一个缓冲区大小,当发送端缓冲区远大于接收端时就使用滑动窗口机制。一下子发送五个窗口,接收方确认两个后,就可以向前滑动两个窗口,再后面三个还没有确认就不能继续滑,因为如果这时后面三个如果没有收到确认后还需要拿出来再次发送。如果五个都收到响应后就可以向前滑

2020-09-12 14:49:11 166

原创 TCP的ACK机制学习日志

1.TCP完整机制流程2.TCP 的ACK机制在ack里要带上seq number如果客户端没有收到服务端响应,也就是服务端没有收到数据,这时客户端会有一个超时时间,然后进行重发,seq 还是之 前的值。如果客户端发给服务端数据,服务端收到了,但是发送ack响应时,客户端没有收到,这时客户端还是在一个超时时间后进行重发,seq还是为之前的值。客户端只要没有收到响应就会重发。服务端在收到重复包后就会丢弃。根据seq进行判断 是重复后直接丢弃后还会再发一个ack响应给客户端。

2020-09-12 14:31:45 951

原创 TCP三次握手和TCP四次挥手

1.TCP三次握手socket过程:一开始TCP状态都是关闭的。1).服务端创建socket进行监听,状态为Listen2).客户端调用connect进行连接就是开始握手第一次,状态为SYN_SENT3).服务端Listen时收到客户端请求后,调用accept处理,状态变为SYN_RCVD,然后回syn置1, ack置14).客户端connect收到结果,状态变为ESTABLISHED, 然后发确认给服务端 ACK,5).服务端accept就返回结果,状态变为ESTABLIS

2020-09-12 14:18:33 93

原创 TCP协议详解

1.TCP/IP协议栈的基本格式最后一层:以太网帧数据,分为帧头 和以太网数据和帧尾第二层 以太网数据问部分(IP数据): IP头 和IP 数据第三层TCP或UDP数据:TCP/UDP头 ,TCP/UDP数据第四层TCP/UDP数据层: 应用数据 (Http头,Http数据)2.TCP协议头源端口和目的端口 各占2个字节,这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。有时一个IP地址和一个端口号也称为socket(插口)。序号(s...

2020-09-12 12:03:43 800

原创 ICMP协议详解和作用

ICMP协议详解ICMP协议是一个网络层协议。一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以我们就需要一种协议来完成这样的功能–ICMP协议。ICMP协议的功能ICMP协议的功能主要有:1. 确认IP包是否成功到达目标地址2. 通知在发送过程中IP包被丢弃的原因如下图所示:我们需要注意几点:1.ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此仍然把它归结

2020-09-12 11:11:47 36643 2

原创 IP协议头详细说明

IP数据包头部格式:上面是在数据到达传输层对数据进行IP头部封装的数据下面是详细说明:版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),0110(IPv6)IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。该部分占4个bit位,单位为32bit(4个字节),即本区域值= IP头部长度(单位为bit)/(8*4),因此,一个IP包头的长度最长为“1111”,即1

2020-09-12 11:02:54 1961

原创 kafka高性能详解

高效使用磁盘 零拷贝 批处理和压缩 Partition ISR .高效使用磁盘 1.1. 顺序写磁盘 顺序写磁盘性能高于随机写内存 1.2.Append Only 数据不更新,无记录级的数据删除(只会整个segment删除) 1.3.充分利用Page Cache I/O Scheduler将连续的小块写组装成大块的物理写从...

2019-11-16 20:26:33 154

原创 mongodb基本操作汇总

1.逻辑结构与关系数据库的对比: 关系型数据库 MongoDb database(数据库) database(数据库) table (表) collection( 集合) row( 行) document( BSON 文档) ...

2019-10-19 10:02:59 173

原创 mongodb全文索引举例

索引的创建```db.project.createIndex({name:"text",description:"text"})```基于索引分词进行查询```db.project.find({$text:{$search:"java jquery"}})``` 基于索引 短语```db.project.find({$text:{$search:"\"Apache ZooK...

2019-10-19 09:56:53 122

原创 mongodb数据的修改与删除

1.修改```#设置值db.emp.update({_id:1101} ,{ $set:{salary:10300}})#自增db.emp.update({_id:1101} ,{ $inc:{salary:200}})#基于条件 更新多条数据# 只会更新第一条db.emp.update({"dep":"客服部"},{$inc:{salary:100}})# 更新所有 匹...

2019-10-19 09:55:52 406

原创 MongoDb的查询语法

1.数据库与集合的基础操作 #查看数据库 show dbs; #切换数据库 use luban; #创建数据库与集合,在插入数据时会自动 创建数据库与集和 db.friend.insertOne({name:"wukong",sex:"man"}); #查看集合 showtables; show collections; #删除集合 db.frien...

2019-10-19 09:53:44 165

原创 MySQL索引优化实战

2019-10-03 04:11:22 94

原创 Explain详解与索引最佳实践

2019-10-03 03:06:34 267

原创 Spring的MVC原理深度解析

一、spring mvc设计思想与体系结构组成1、回顾servlet与jsp执行过程2、spring mvc执行流程:体系结构UML二、MVC执行流程解析1、MVC具体执行流程...

2019-10-02 23:15:57 113

原创 Spring事务底层原理分析

一数据库的事物的基本特性事物是区分文件存储系统与Nosql数据库重要特性之一,其存在的意义是为了保证即使在并发情况下也能正确执行crud操作。怎么样才算是正确呢?这时提出了事物需要保证的四个特性,即ACID:二、Spring对事物的支持与使用2.声明式事务例子:配置文件:3.事务传播机制...

2019-10-02 18:01:25 348

原创 IOC设计原理与实现

以上方法中重点关注getBean,当用户调用 getBean的时候就会触发Bean的创建过程,其是如何创建的呢?Bean创建时序图...

2019-10-02 15:02:21 135

原创 IOC核心理论

1.实体Bean的构建a.基于Class构建b.构造方法构建c.静态工厂方法创建d.FactoryBean创建2.1.基于Class构建<bean class="com.tuling.spring.HelloSpring"/>这是最常见的方法,其原理是在spring底层会基于class属性通过反射进行构建2.2.构造方法构建<bean clas...

2019-10-02 09:06:44 185

原创 combineByKey函数详解

如下给出combineByKey的定义,其他的细节暂时忽略(1.6.0版的函数名更新为combineByKeyWithClassTag)def combineByKey[C]( createCombiner: V => C, mergeValue: (C, V) => C, mergeCombiners: (C, C) => C,...

2019-09-13 23:49:09 1564

原创 服务注册发现

1.Zookeeper功能 文件系统 通知机制2.分布式程序协调服务 节点选主 配置管理 粗粒度分布式锁 主备高可用切换 服务注册 服务发现3.各服务发现产品比较最合适的产品一般最好是CP, Eureka 2.0不提供更新了,Eureka 1.x 仍可用, 如果在几百台集群时使用zk还行,如果上千台,zk就不...

2019-08-07 22:33:59 102

原创 服务限流、熔断的设计与实践

1.限流、熔断的目的 微服务化之后,系统分布式部署,系统之间通过RPC框架通信,整个系统发生故障的概率随着系统规模的增长而增长。一个小的故障经过链路传导放大,有可能造成更大的故障。 业务方希望在调用服务时,在一些非关键路径服务发生服务质量下降的情况下,选择尽可能地屏蔽所造成的影响。2.业务限流、熔断需求 2.1.大部分熔断返回默认值(null)也可定制,RPC clie...

2019-08-06 23:21:04 367

原创 服务降级设计与实践

1.服务降级目标 保证核心服务可用,非核心服务弱可用,甚至不可用2.服务降级手段 2.1.拒绝部分请求 2.2.关闭部分服务(业务相关)3.拒绝部分请求: 3.1.拒绝部分老的请求 减轻微服务请求处理数量 确保”新“请求正常响应 ...

2019-08-06 00:36:31 183

原创 分布式事务设计之同步场景

1.同步场景: 1)、 读场景:首页推荐商品列表:商品信息,用户信息,社交信息 2)、 写场景 购买商品:下单-》A ; 减库存-》B ;支付-》C2.解决方案: 1)、基于异步补偿的分布式事务 2)、架构设计的三大关键点 ...

2019-08-05 23:42:24 706 1

原创 分布式事务

1.数据不一致性产生原因1.1.数据分散在多处: 多个DB; DB和缓存 案例:二手交易平台案例:用户、商品、交易等功能 电商平台购买商品:下单(订单库)-》减库存(商品库)-》支付(交易库)2.分布式事务分类2.1.刚性分布式事务 强一致性 XA模型 ->ACID CAP -> CP2...

2019-08-05 22:53:04 90

原创 分布式锁设计

1.分布式锁定义:分布式环境下,锁定全局唯一资源, 请求处理串行化,实际表现互斥锁2.分布式锁目的2.1.交易订单锁定防止重复下单解决业务层幂等问题2.2.MQ消息消费幂等性发送消息重复消息消费端去重比如手机提现2.3.在用户对商品下单后,订单状态为待支付,在某一时刻用户正在对该订单做支付操作,商家对该订单进行改价操作状态的修改行为需要做串行处理,...

2019-08-05 00:01:15 213

原创 幂等设计

1.请求的幂等(请求重试)定义:一个请求执行一次,读请求不需要做幂等,写请求需要,因为写请求可能对数据发生改变,原则:谁对数据发生改变就需要做幂等。如:一个写请求网关层发到业务逻辑层1上进行写数据,但由于写操作比较慢,返回网关状态是写超时,但实际上是写入成功的。由于网关得到的是写超时,会将该写请求重先转发给业务逻辑层2上进行再次写操作,这时就会发生重复写,会造成数据的错乱,所以这种场景就需...

2019-08-04 18:11:43 107

原创 完整的故障处理恢复机制

一、完整的故障处理恢复机制服务的发现依赖注册在zk上的服务节点一般网关层与业务逻辑层都是使用长连接,一般不使用http协议(原因:IO不高,都包含头信息,http经常是短连接),一般使用rpc通信1.故障自动发现1.1. 一般业务层(zkclient)与zk都维护着一个心跳, 业务逻辑层提供的服务器挂了,zk就会检测到。1.2.zk不能发现的场景另外:当业务逻辑层提供的服...

2019-08-04 17:52:50 899

TV焦点滑动框移动效果demo

本demo是基于在网上下载的一个demo修改,原有的demo只有焦点移动,现在修改了原有的效果支持焦点框效果,且上下滑动和左右滑动时效果框能够停留在屏幕中间

2018-04-10

推荐系统相关文档集合

包含推荐系统_淘宝 豆瓣推荐系统实践之路 基于混合算法的推荐系统的研究与实现 58同城推荐系统架构设计与实现 京东推荐系统实践-刘思喆五篇文章

2018-03-09

spring\ibatis样例工程

spring3.1 + ibatis构建的web mvc工程,完整的jar包,完全可以运行

2015-11-19

Android应用源码APK实现静默安装整套资料.zip

如果用过一些手机助手的朋友都知道,手机助手下载其他软件的更新程序后会自动静默更新。APK静默安装是指实现了在APK文件安装过程中不会出现系统安装对话框。不仅可以安装新的apk,也适用于更新旧的apk。更新apk必须保证新旧apk签名一致。本次分享的源码就是一套关于apk静默安装的源码,可以实现apk的静默安装或更新。压缩包里有两种实现apk静默安装的方法说明和详细的操作文档与源码。 涉及模块&技术 静默安装

2014-12-04

Android应用源码APK实现静默安装整套资料

如果用过一些手机助手的朋友都知道,手机助手下载其他软件的更新程序后会自动静默更新。APK静默安装是指实现了在APK文件安装过程中不会出现系统安装对话框。不仅可以安装新的apk,也适用于更新旧的apk。更新apk必须保证新旧apk签名一致。本次分享的源码就是一套关于apk静默安装的源码,可以实现apk的静默安装或更新。压缩包里有两种实现apk静默安装的方法说明和详细的操作文档与源码。 涉及模块&技术 静默安装

2014-12-04

Android应用源码之100种图片处理效果大全项目(shop71713971.taobao.com).zip

这套项目源码比那个要强大的很多,总共可以处理出大约100种图片效果,常见的和不常见的滤镜效果可以处理出来,可以说涵盖了市面上所有特效相机可以处理出来的效果。项目所有代码都是纯java代码实现,没有封装成jar包。截图是挑选了几张有代表性的,更多截图可以看一下源码包。本项目为开源项目,项目主页:https://github.com/daizhenjun/ImageFilterForAndroid 涉及模块&技术 图片效果处理 文件读写 ...

2014-12-04

空空如也

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

TA关注的人

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