自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(253)
  • 资源 (11)
  • 收藏
  • 关注

原创 OPPO互联网java后端二面题目

1、MVCC多版本并发控制2、事务的ACID,每项是如何保证的3、1个url对应1个random值,设计1个系统根据url查询random值,表怎么设计,索引怎么加,代码怎么写4、tcp握手挥手过程,以及socket的状态变化5、close_wait和time_wait 说一下6、java里面的红黑树是怎么实现的7、说一下struct2的理解,和springMVC的不同在哪里8、长连接和短链接有什么区别9、堆的结构、堆和树的区别10、集合set实现Hash怎么防止碰撞11、数据一致性如何

2021-07-14 09:27:08 480

原创 腾讯java技术面100道题目及答案

1、raft算法的基本流程?2、raft算法出现脑裂怎么办?3、raft算法和zookeeper的zab算法的区别是?4、有没有了解协程?说下协程和线程的区别?5、http和https有啥区别?说下https解决了什么问题,怎么解决的?说下https的握手过程?6、是否了解tcp/udp,说下两者的定义,tcp为什么要三次握手和四次挥手?tcp怎么保证有序传输的,讲下tcp的快速重试和拥塞机制,知不知道time_wait状态,这个状态出现在什么地方,有什么用(参考quic)?7、知道

2020-12-15 14:40:19 960

原创 高性能编程思路总结

1,拆分拆分是为了降低系统的复杂度,模块或服务“自治”,符合软件设计中“单一职责”原则。拆分的太粗或者太细都会有问题,这里没有什么标准答案。应该按照领域拆分,结合业务复杂程度、团队规模等实际情况来判断。可以想象5个人的小团队去维护超过30多个系统,那一定是很痛苦的;2、隔离拆分本质上也是一种系统级、数据库级的隔离。此外,在应用内部也可以使用线程池隔离等。分清“主、次”,找出“高风险”的...

2020-01-05 18:06:40 719

原创 Mongodb聚合查询介绍

一,mongodb聚合介绍       db.collection.aggregate()是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。通过这张图,可以了解Aggregate处理的过程。1、db.collection.aggregate() 可以用多个构件创建一个管道,对...

2018-11-29 14:50:53 1108

原创 mysql索引查询开发优化100点

一、字段1,尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED;2,VARCHAR的长度只分配真正需要的空间;3,使用枚举或整数代替字符串类型;4,尽量使用TIMESTAMP而非DATETIME;5,单表不要有太多字段,建议在 20 以内;6,避免使用 NULL 字段,很难查询优化且占用额外索引空间;7,...

2018-06-14 11:53:34 695

原创 ByteTCC源码分析(一)

/** * Copyright 2014-2016 yangming.liu<[email protected]>. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and...

2018-05-24 11:44:11 2995

原创 百度Java面试题前200页和答案都在这里了

其中题目来源github.com/tangyouhua/program-resource/blob/master/program-interview/java-baidu-200.md,答案我自己整理的。有兴趣可以加入我QQ群 368614849(大型网站架构技术交流),操作系统中 heap 和 stack 的区别什么是基于注解的切面实现什么是 对象

2017-12-10 10:33:00 11461

原创 java海量大文件数据处理方式

http://dotnet.cnblogs.com/page/68772/ 1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对每个url求取,然后

2017-10-20 23:31:08 12661 2

原创 kafka9重复消费问题解决

原文:http://blog.csdn.net/u011637069/article/details/72899915背景:之前用的kafka客户端版本是0.8,近期升级了kafka客户端的版本,写了新的消费者和生产者的代码,在本地测试没有问题,可以正常消费与生产。但最近的项目中使用了新版的代码,当数据量较大时会出现重复消费的问题。现将问题的排除与解决过程记录下来,避免再次踩坑。

2017-09-22 11:25:51 2449

原创 阿里java高级工程师面试100题

大型网站架构技术QQ群:3686148491,java堆,分新生代老年代,新生代有Eden,from surviver,to surviver三个空间,堆被所有线程共。eden内存不足时,发生一次minor GC,会把from survivor和eden的对象复制到to survivor,这次的to survivor就变成了下次的from survivor,经过多次minor GC,默认15次...

2017-08-10 21:22:25 70359 5

原创 Dubbo源码分析 Handler & Filter

原文转:http://blog.csdn.net/zhanghj07409/article/details/51781413本文将主要介绍Server端处理一次请求的流程,同时讲解一个比较巧妙的设计——Filter。根据前面的分析我们可以推断出Server端处理网络通信的组件为NettyServer,对应处理具体事件的handler为NettyHandler,它的构造函

2017-07-31 22:48:46 572

原创 SpringBoot RestTemplate源码分析

类定义为public class RestTemplate extends InterceptingHttpAccessor implements RestOperations,

2017-07-02 12:46:42 1383 1

原创 Dubbo源码分流程析

原文:http://humn-chou.iteye.com/blog/1866272也希望加入我们QQ群一起交流      IT互联网技术交流 368614849这是本人对于Dubbo源码分析的系列一,没有说明Dubbo是什么,不清楚请先了解,此处只是为了给自己做个笔记,也给正在学习Dubbo的同学一些借鉴,后期会继续奉上所有关于Dubbo的逻辑分析,包括Dubbo简介、初始化

2017-06-10 09:21:44 653

原创 分布式事物处理方式要点

1,柔性事物,二阶段2PC型,补偿型,异步确保型,最大努力通知型。      2PC适合场景:客户账,收费异步确保型:会计性,资金订单,通知数据。核心交易数据分库并分表,消费记录数据分库分表,商户交易数据分库分表。        保持多个维度的数据集群可以使用MQ异步同步,MQ异步也会导致数据不一致,则引入实时监控服务,实时计算2个维度集群差异,作一致性同步。2,事务型

2017-04-01 14:19:46 5428

原创 轻松搞定面试中的链表题目

转自:http://blog.csdn.net/luckyxiaoqiang/article/details/7393134/#topic9链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文对链表相关的面试题做了

2017-01-01 10:16:47 575

原创 支付模块分析

1,一笔订单支付成功,会在第一时间通知,系统收到通知处理逻辑,必然返回1个SUCCESS,第三方接到SUCCESS就不再通知,否第三方支付平台会认为未收到通知,然后再过10s 20s 180s再 通知你。客户端会上传接收通知的接口,定时调用,客户端也要定时去查询,在错过第一次接收后,通知通知,异步通知,支付状态查询。2,认证支付:用户在绑卡时,将卡信息提供给电商,这样在支持时,就无需再

2016-11-27 15:18:58 3420

原创 电商秒杀系统设计分析

1,乐视秒杀,每秒钟10万的订单更新(insert/update),以用户ID分库分表,二叉树分库扩容,表级同步,DB1 - DB8, order1 - order10, DB编号 = (uid/10)%8,表编号=uid%10,这样单库基本上可以保持1万左右的并发,可以业务层分库分表,也可以使用mycat之类的中间件。订单ID结构:分库分表信息+时间戳+机器号+自增序号分信息:1bit数

2016-11-26 00:32:17 9387 1

原创 使用Spring Cloud Config搭建配置中心

文章转载出自:http://blog.csdn.net/gongxsh00/article/details/51292200使用Spring Cloud Config搭建配置中心笔者的微服务项目中需要使用一个统一的管理分布式系统的配置中心,之前试用过Disconf。实际使用发现,Disconf可以很好地满足项目的需求,同时提供了一个友好的图形化界面供操作。但是,其服务器端使

2016-10-30 16:09:30 1626

原创 分布式微服务要点

1,配置dubbo.properties,IP,注册中心,端口(hessia及rest),日志,通知的MQ等Spring配置dubbo,使用zookeeper注册中心暴露服务地址,注解扫描器。发布服务使用dubbo:service interface 或者注解发布。消费服务也有非dubbo环境的消费端,更新pom文件,加入hessia jar,添加hessia协议配置并设置使用hess

2016-10-06 22:25:11 2558 1

原创 分布式DB规划要点

1,划分核心非核心功能,例如游戏的接入业务中,登录注册校验为核心功能,msg和日志为非核心功能,DB,server和cache都需要物理隔离,只要核心非核心存在共享资源,如DB公用1个,要是非核心出现大量整表查询,核心功能会受到影响,核心和非核心之间采用接口访问。2,一张大表拆分到不同DB,来提升数据库性能。DB分为4个分库,模值为1024,每个分库占据256个位置,hash (test123

2016-10-06 17:00:48 1375

原创 分布式系统和数据同步要点

1,基础缓存更新应该采用Databus实时同步,Solr采用cancel等工具实时同步,非基础数据采用业务层做同步。2,redis失效用户请求会压倒DB如何处理,A设置不同的过期时间 B对有些数据设置永不过期 C考虑服务降级 D二级缓存本地缓存。3,写库失败,第二部淘汰缓存失败,出现数据不一致,如果先淘汰缓存再DB失败,则会引发cache miss,肯定是先淘汰缓存再写DB,加入1个服务层

2016-10-06 16:13:36 7065

原创 分布式事务方式

作者:何明璐  链接:http://www.zhihu.com/question/29483490/answer/98237582 来源:知乎首先是不建议采用XA两阶段提交方式去处理分布式事务,要知道要能够支持XA分布式事务,必须是要实现XA规范才可以,而Service本身是无状态的,如果这样去做了等于是把Service内部的东西暴露了出去。对于分布式事务最好的方式还是事务补偿或者

2016-06-05 10:31:39 711

原创 ZooKeeper 笔记(4) 实战应用之【消除单点故障】

原文出自:http://www.cnblogs.com/yjmyzz/p/Solve-the-problem-of-single-point-of-failure-using-ZooKeeper.html关键节点的单点故障(Single Point of Failure)在大型的架构中,往往是致命的。比如:SOA架构中,服务注册中心(Server Register)统一调度所有服务,如

2016-03-06 20:19:02 1456

原创 ZooKeeper 笔记(2) 监听数据变化

原文出自:http://www.cnblogs.com/yjmyzz/p/4604864.htmlZK中的每个节点都可以存储一些轻量级的数据,这些数据的变化会同步到集群中的其它机器。在应用中程序员可以添加watcher来监听这些数据的变化,watcher只会触发一次,所以触发过后想要继续监听,必须再手动设置监听,这比较麻烦,好在ZkClient已经做了一些增强,在watcher的基础上

2016-03-06 20:12:21 5130

原创 ZooKeeper 笔记(1) 安装部署及hello world

原文出自:http://www.cnblogs.com/yjmyzz/p/4587663.html先给一堆学习文档,方便以后查看官网文档地址大全:OverView(概述)http://zookeeper.apache.org/doc/r3.4.6/zookeeperOver.htmlGetting Started(开始入门)http://zook

2016-03-06 20:09:44 622

原创 ZooKeeper 笔记(3) 实战应用之【统一配置管理】

原文出自:http://www.cnblogs.com/yjmyzz/p/4604947.html大型应用通常会按业务拆分成一个个业务子系统,这些大大小小的子应用,往往会使用一些公用的资源,比如:需要文件上传、下载时,各子应用都会访问公用的Ftp服务器。如果把Ftp Server的连接IP、端口号、用户名、密码等信息,配置在各子应用中,然后这些子应用再部署到服务器集群中的N台Serve

2016-03-06 20:06:50 966

原创 基于ZooKeeper大规模集群配置系统概述

转载自:http://blog.csdn.net/keyeagle/article/details/6936927  通常大型互联网公司都拥有较大规模、结构复杂的服务器集群。随着互联网迅速发展,用户访问量以及服务器规模的越来越大,Web应用项目需要部署在数目众多的服务集群上协同工作,才为用户提供更可靠、稳定、优质的互联网服务。       一般在互联网公司发展初期,服务器以及W

2016-03-06 19:51:06 768

原创 redis主备部署方案

转载自:http://www.cnblogs.com/aspnethot/articles/3468823.htmlRedis部署方式采用主备的方式,通过keepalived来对外提供虚IP,并实现主备自动切换功能。主实例A:192.168.20.30备实例B:192.168.20.232虚IP:192.168.20.110正常工作时,虚IP在主实例A上

2016-03-06 18:24:41 1711

原创 redis主从集群搭建及容灾部署(哨兵sentinel)

转载出自:http://www.codesec.net/view/275841.htmlRedis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅。提纲Redis安装整体架构Redis主从结构搭建Redis容灾部署(哨兵sentinel)Redis常见问题Redis安装发行版:CentOS-6.6 64bit

2016-03-06 17:53:04 2256

原创 Redis集群方案redis-twemproxy-keepalived

转载原文自:http://ju.outofmemory.cn/entry/60425redis现在的版本还不支持分布式,这会在3.0版本加上。Redis目前只支持“主从同步”和“从从同步”,所以需要根据需求应用自己来实现。tp ------ 192.168.10.15tp1------ 192.168.10.18tp tp1 虚拟vip: 192.168

2016-03-06 15:44:42 869

原创 Codis 高可用负载均衡群集的搭建与使用

转载原文自:http://blog.csdn.net/ztsinghua/article/details/48231575此篇文章,涉及到东西比较多,文章比较长,适合耐心的童鞋们阅读,生产环境部署可参考此篇文章。Codis 并不太适合 key 少,但是 value 特别大的应用, 而且你的 key 越少, value 越大,最后就会退化成单个 redis 的模型 (性能还不如

2016-03-06 15:30:20 1416

原创 Redis集群研究和实践(基于redis 3.0.5)(不错)

转载原文自:https://www.zybuluo.com/phper/note/195558前言redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。现在的2.x的稳定版本是2.8.19,也是我们项目中普遍用到的版本。redis在年初发布了3.0.0,官方支持了redis cluster,也就是集群。至此结束了redis 没

2016-03-06 15:09:23 1110 1

原创 Codis集群的搭建与使用

转载原文自:http://www.cnblogs.com/xuanzhi201111/p/4425194.html一、简介  Codis是一个分布式的Redis解决方案,对于上层的应用来说,连接Codis Proxy和连接原生的Redis Server没有明显的区别(不支持的命令列表),上层应用可以像使用单机的Redis一样使用,Codis底层会处理请求的转发,不停机的数据迁移

2016-03-06 14:04:38 1088

原创 keepalived+twemproxy部署redis集群高可用

转载原文链接:http://bylijinnan.iteye.com/blog/2175191架构图 机器说明 Java代码  10.75.201.67:keepalived + twemproxy  10.75.201.66:keepalived + twemproxy  初始化时,VIP绑定在10.75.201.67  

2016-03-06 13:11:59 677

原创 codis集群部署实战

转载原文链接:http://navyaijm.blog.51cto.com/4647068/1637688一、概要1、折腾codis集群已经快两个月了,感谢一直以来codis的作者刘奇和黄东旭的耐心支持,在这里给你们点个赞,现在我司已经有一个业务跑在了codis集群上,目前只是切了整个业务的10%的量,预计下周会全量切到codis上,这个时候大家肯定特别想知道codis稳定吗?

2016-03-06 13:01:50 1293 1

原创 redis3.0.0 集群安装详细步骤-【超人学院】

转载原文链接:http://blog.csdn.net/xu470438000/article/details/42972123Redis集群添加节点1:首先把需要添加的节点启动cd /usr/local/cluster/mkdir 7006cp /usr/local/cluster/redis.conf  /usr/local/clus

2016-03-06 12:24:11 580

原创 Redis集群方案及实现Sentienl

转载原文链接:http://blog.csdn.net/yfkiss/article/details/38944179之前做了一个Redis的集群方案,跑了小半年,线上运行的很稳定差不多可以跟大家分享下经验,前面写了一篇文章 数据在线服务的一些探索经验,可以做为背景阅读应用我们的Redis集群主要承担了以下服务:1. 实时推荐2. 用户画像3. 诚信

2016-03-06 12:11:41 900

原创 2台主机极致实现双主复制架构及MMM

简介MySQL复制中较常见的复制架构有“一主一从”、“一主多从”、“双主”、“多级复制”和“多主环形机构”等,见下图;最常用,也最灵活的就要数“一主多从”复制架构了,其能满足多种需求,如:为不同的角色使用不同的备库(例如添加不同的索引或使用不同的存储引擎);把一台备库当做待用的主库,除了复制没有其它数据传输;将一台备库放在远程数据中心,用作灾难恢

2015-10-11 13:10:12 1260

原创 maven POM.xml 开发配置标签详解

pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。[xml] view plaincopyprint?span style="padding:0px; margin:0px

2015-09-25 18:32:54 856

原创 数据库分库分表-水平分表笔记

分表笔记    作者Q:359559774  一起探讨场景,主表与从表进行关联,主表数据较小,百万内,从表较大分表方式:userId%从表分表总数 求余得到所在分表,主表不切分,从表切分 (例如从表按照主表userId进行切分)结合业务逻辑和表间关系,将当前shard划分成多个更小的shard,通常情况下,这些更小的shard每一个都只包含一个主表(将以该表ID进行散列的表)和多个与其

2015-09-25 15:10:53 5762

java实现mongodb数据库的操作

内部资料,mongodb的存储检索等。完整程序代码封装

2015-01-23

嵌入式Linux设备驱动开发详解光盘实例代码

嵌入式Linux设备驱动开发详解光盘实例代码, 买了那本书,就把代码上传吧,需要用到的就下载,也需要多多光顾我的资源库。

2013-05-28

madplay音乐播放器移植手册

madplay音乐播放器移植手册,这是标准的,相信如果想从事这个开发,就会明白的

2013-05-27

基于TX2440A开发板的网络远程视频监控系统移植手册

基于TX2440A开发板的网络远程视频监控系统V1.1,MJPE-streamer,boa等的移植,视频监控系统的实现,好东西咯。

2013-05-27

开发板utu2440驱动

这是扬创2440开发板的驱动源代码,是板子提供商的,正确无误。基本上2440驱动 都一样。里面是十几个驱动源码。我研究过

2013-05-27

S3C2440完整datasheet

S3C2440完整datasheet,网上的一般不是很全,我上传个完整的,标准的,喜欢的就下载。对开发学习帮助比较大

2013-05-26

程序员面试题精选:C .C++_百度_腾讯_google

程序员面试题精选:C .C++_百度_腾讯_google,我是靠这个练就的,多经典 就不用多说了,举世闻名

2013-05-26

C++经典面试笔试题目

这是比较经典的面试题,至少我面试过很多遍了,对面试还是比较了解,知道题目到底对不对称

2013-05-26

java面试经典题目

这是比较经典的面试题,至少我面试过很多遍了,对面试还是比较了解,知道题目到底对不对称

2013-05-26

Linux内核分析

Linux内核分析

2012-11-30

httpd-2.0.47.tar.gz

httpd-2.0.47.tar.gz Linux http的安装部署

2012-11-16

空空如也

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

TA关注的人

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