摘要: 目录 (1)倒排索引到底是啥? (2)什么叫分布式搜索引擎? (3)ElasticSearch的数据结构 (4)Shard数据分片机制 (5)Replica多副本数据冗余机制 (6)全文总结 “ 这篇文章,我们来聊一下最近这一两年行业内Java高级工程师面试的时候尤为常见的一个问题:谈谈你对分布式搜 阅读全文
posted @ 2019-03-02 23:32 楼下有位 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 美国时间2018年 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以后支持的首个长期版本。 为什么说是长期版本,看下面的官方发布的支持路线图表。 可以看出 Java 8 扩展支持到 2025 年,而 Java 11 扩展支持到 2026 年。 现在大部分都在用 阅读全文
posted @ 2019-03-02 22:48 楼下有位 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 之前写了如何实现分布式锁和分布式限流,这次我们继续在这块功能上推进,实现一个秒杀系统,采用spring boot 2.x + mybatis+ redis + swagger2 + lombok实现。 先说说基本流程,就是提供一个秒杀接口,然后针对秒杀接口进行限流,限流的方式目前我实现了两种,上次实 阅读全文
posted @ 2019-03-02 22:31 楼下有位 阅读(453) 评论(1) 推荐(0) 编辑
摘要: 首先简单介绍一下Spring,它是一个轻量级开源框架,简单的来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。特点方便解耦,简化开发,AOP编程的支持声明式,事务的支持以及降低Java EE API的使用难度等。 目前主流的Web MVC框架除了Stru 阅读全文
posted @ 2019-03-02 22:09 楼下有位 阅读(3463) 评论(0) 推荐(0) 编辑
摘要: 前言 记得前段时间我们生产上的一个网关出现了故障。 这个网关逻辑非常简单,就是接收客户端的请求然后解析报文最后发送短信。 但这个请求并不是常见的 HTTP ,而是利用 Netty 自定义的协议。 问题是有天突然发现网关解析报文出错,查看了客户端的发送日志也没发现问题,最后通过日志发现收到了许多不完整 阅读全文
posted @ 2019-03-02 21:54 楼下有位 阅读(239) 评论(0) 推荐(0) 编辑
摘要: iostat查看linux硬盘IO性能 rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s w/s: 每 阅读全文
posted @ 2019-03-02 21:23 楼下有位 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 下面是Java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的。 Throwable Throwable是Java异常的顶级类,所有的异常都继承于这个类。 Error,Exception是异常类的两个大分类。 Error Error是非程序异常,即程序不能捕获的异常,一般是编译或者 阅读全文
posted @ 2019-03-02 21:15 楼下有位 阅读(138) 评论(0) 推荐(0) 编辑
摘要: @Transactional注解支持9个属性的设置,这里只讲解其中使用较多的三个属性:readOnly、propagation、isolation。其中propagation属性用来枚举事务的传播行为,isolation用来设置事务隔离级别,readOnly进行读写事务控制。 一、readOnly读 阅读全文
posted @ 2019-03-02 21:12 楼下有位 阅读(10668) 评论(0) 推荐(2) 编辑
摘要: 基本用法 awk是一个强大的文本分析工具,简单来说awk就是把文件逐行读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理 awk命令格式如下 [-F 分隔符]是可选的,因为awk使用空格,制表符作为缺省的字段分隔符,因此如果要浏览字段间有空格,制表符的文本,不必指定这个选项, 阅读全文
posted @ 2019-03-02 21:03 楼下有位 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 同步与阻塞 同步和异步是针对应用程序和内核的交互而言的。 同步:执行一个操作之后,进程触发IO操作并等待(阻塞)或者轮询的去查看IO的操作(非阻塞)是否完成,等待结果,然后才继续执行后续的操作。 异步:执行一个操作后,可以去执行其他的操作,然后等待通知再回来执行刚才没执行完的操作。 非阻塞是针对于进 阅读全文
posted @ 2019-03-02 20:14 楼下有位 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 手动启动 参数说明: -Xms128m 设置的是JVM堆最小内存为128m -Xmx256m 设置的是JVM堆最大内存为256m 这里个问题是-Xmx指定的内存不包括jvm运行中使用的本地内存,所以如果有NIO等涉及到本地内存的情况时,该java进程占用的总内存会超过-Xmx设定的数值 -Xdebu 阅读全文
posted @ 2019-03-02 17:30 楼下有位 阅读(1816) 评论(0) 推荐(0) 编辑