nuoWei_SenLin的博客

黄沙百战穿金甲,不破楼兰终不还

Netty入门之TimeServer

嗨,大家好!!! 从过完年后的一段时间,笔者一直在找工作,刚刚入职不到一个月好,一直忙公司的事情,久都没更新技术博客了,实在抱歉哈。幸运的是,笔者已经找到了一份还算满意的工作,这家公司的业务也在蓬勃发展,系统日活、用户量、qps也挺不错,很有技术挑战。 最近,上级给我安排了个任务,要把系统中与...

2019-03-24 16:56:37

阅读数 1454

评论数 0

Dubbo如何正确捕获业务异常

    笔者所在的公司,项目正在重构,从一个SpringBoot项目往Dubbo上迁移,但在拆分后发现一个问题,服务消费者(后文用Consumer代替)无法正确捕获服务提供者(后文用provider代替)所抛出的非受检查异常。在未拆分之前,项目都是打成一个jar包运行,service层未处理的un...

2019-02-09 21:28:17

阅读数 5209

评论数 1

【算法面试】二叉搜索树

每一个内心仰望理想的人,都在低头干活  摘要 顾名思义,二叉搜索树是由两个孩子节点组成的树状的数据结构,由于其特殊的性质,任意一个节点的左子树的每个节点总比这个节点小,右子树的每个节点总比这个节点大,所以二叉搜索树的查询性能比较好。 本文只讲解二叉搜索树,二叉平衡树不是本文重点 ...

2019-02-03 22:30:06

阅读数 2598

评论数 0

【算法面试】TopN问题

竹石   作者:郑燮   咬定青山不放松,立根原在破岩中。 千磨万击还坚劲,任尔东西南北风。  前言  又到了一年一度的南北人口大迁移的时候,没有买票的赶紧买票,今年很早就已经回家准备过年了,因为小编已经离职啦,最近正在积极复习找工作,闲话不多扯,开始今天的正题。 面...

2019-02-01 02:59:01

阅读数 2586

评论数 0

从数据存储角度分析Redis性能为何如此高

  胸藏文墨怀若谷,腹有诗书气自华 前言 Redis作为一种KV缓存服务器,有着极高的性能,相对于memcache,Redis支持更多中数据类型,因此在业界广泛应用。 正文 记得笔者刚毕业那会参加面试,面试官会问我Redis为什么快,由于当时技术水平有限,我只能回答出如下两点: ...

2019-01-30 13:19:04

阅读数 2669

评论数 0

堆排序(JAVA版)

堆排序原理就不解释了,大家可以自行查找,建议大家阅读《算法导论》第六章堆排序,很详细哦,在这里直接把源码贴出来。 如果大家想了解另外两种牛掰的排序算法,请猛戳下面链接 快速排序 归并排序  平均复杂度O(nlogn) public class HeapSort { public...

2019-01-29 17:34:25

阅读数 2589

评论数 0

快速排序(JAVA版)

快速排序,原理就不介绍了网上一搜一大堆,这里只贴出源码 如果大家想了解其他两种牛掰的排序算法,请猛搓下面链接  堆排序  归并排序 public class QuickSort { public static void main(String[] args) { ...

2019-01-27 18:01:43

阅读数 2496

评论数 0

归并排序(JAVA版)

最近复习算法,为了年后找工作做准备,看了看网上归并排序,只懂算法原理源码没有看懂,算了,还是根据原理手撸吧!!! 如果大家想了解其他两种牛掰的排序,请猛戳下面链接 快速排序  堆排序 归并排序复杂度O(nlogn) public class MergeSort { public...

2019-01-27 17:16:01

阅读数 2556

评论数 0

并发编程JUC包源码分析——从AtomicInteger到Unafe

AtomticInteger类 我们都知道,在多线程环境中操作一个Integer类型的数据会产生数据不一致现象,比如i++操作,这是因为i++操作并不是一个原子操作,来看下面的例子: public class Main{ public static int i = 0; pu...

2018-11-22 17:20:37

阅读数 7099

评论数 0

MySQL InnoDB存储引擎体系架构 —— 索引高级

        众所周知,在MySQL的InnoDB引擎,为了提高查询速度,可以在字段上添加索引,索引就像一本书的目录,通过目录来定位书中的内容在哪一页。         InnoDB支持的索引有如下几种: B+树索引 全文索引 哈希索引         笔者上一篇文章已MySQL Inn...

2018-11-03 18:02:20

阅读数 7158

评论数 0

MySQL InnoDB存储引擎体系架构 —— 内存管理

        笔者最近研究MySQL的Innodb引擎底层方面的技术,打算写一系列关于MySQL优化方面的技术文章,今天给大家分享的内容是MySQL InnoDB内存和缓冲池方面的知识。         我们都知道,InnoDB引擎是基于磁盘存储的,但由于物理硬盘访问速度与内存访问速度存在着巨...

2018-10-13 00:27:25

阅读数 7369

评论数 0

Nginx性能调优,解决C10K问题

        公司的技术总监最近出了一道架构方面的问题让我们同组的开发人员设计,题目是这样的:有个签到功能,需要记录每个⽤户每年每⼀天的签到情况。假设⽤户量在千万,甚⾄亿级,该如何设计。 思考这个问题后,我给出的设计方案如下: 第一层:通过DNS,同一个域名绑定多个IP,在DNS上进行负载均...

2018-09-10 20:06:07

阅读数 7683

评论数 0

Apache 开源的curator 基于Zookeeper实现分布式锁以及源码分析

前一段时间,我发表了一篇关于Redis实现分布式锁 分布式环境下利用Redis实现分布式锁,今天我带领大家熟悉用zookeeper实现分布式锁。 在学习分布式锁之前,让我们想一想,在什么业务场景下会用到分布式锁以及设计分布式锁要注意什么? 分布式锁介绍 1、在什么业务场景中会使用到分布式锁 ...

2018-08-25 20:38:50

阅读数 7354

评论数 0

RabbitMQ中的事务与confirmSelect模式

好久没写技术文章了,由于公司马上要做消息相关的业务,所以最近在Docker上搭了一台RabbitMQ并研究研究。 从网易蜂巢上拉取的镜像: docker pull hub.c.163.com/library/rabbitmq:latest 启动容器: docker run -d --h...

2018-08-06 19:34:58

阅读数 9416

评论数 0

老司机带大家领略MySQL中的乐观锁和悲观锁

为什么需要锁在并发环境下,如果多个客户端访问同一条数据,此时就会产生数据不一致的问题,如何解决,通过加锁的机制,常见的有两种锁,乐观锁和悲观锁,可以在一定程度上解决并发访问。乐观锁乐观锁,顾名思义,对加锁持有一种乐观的态度,即先进行业务操作,不到最后一步不进行加锁,"乐观&...

2018-05-27 18:55:28

阅读数 9929

评论数 0

Java内存溢出(OOM)异常完全指南

这也许是目前最为完整的Java OOM异常的解决指南。1、java.lang.OutOfMemoryError:Java heap spaceJava应用程序在启动时会指定所需要的内存大小,它被分割成两个不同的区域:Heap space(堆空间)和Permgen(永久代):这两个区域的大小可以在J...

2018-05-22 22:46:30

阅读数 9081

评论数 0

HashMap部分源码剖析

HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的结构如下:我们可...

2018-05-19 16:36:59

阅读数 9516

评论数 0

JVM性能调优总结

1.堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。典型设置: java -Xmx3550m -Xms3550m -Xmn...

2018-05-11 19:17:31

阅读数 10847

评论数 0

分布式环境下利用Redis实现分布式锁

    在某些高并发的业务场景下,例如秒杀、选课等系统,为了避免出现商品超卖、选课人数超出课程规定人数的问题发生,读写数据库时需要进行加锁操作,保证某时刻已有一个用户在操作。在Java单机应用中,直接使用synchronized关键字没有任何毛病,但在分布式系统中就不行了,这时就需要引入分布式锁来...

2018-04-22 21:25:38

阅读数 10942

评论数 0

KeepAlived配置与Nginx高可用

keepalived安装和nginx高可用 一、安装keepalived 1.1  下载keepalived 官方网址 http://keepalived.org , 下载1.1.19版本:  wget http://www.keepalived.org/software/keepali...

2018-04-11 15:40:25

阅读数 10840

评论数 0

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