自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HelloWorld搬运工

HelloWorld搬运工

原创 最新MQ与RabbitMQ面试题

个人博客请访问http://www.x0100.top 为什么使用MQ?MQ的优点 简答 异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。 流量削锋 - 可以通过消息队列长度控制请求量;可以缓解短...

2020-05-28 14:55:47 4 0

原创 拓展并发编程思维,一个使用CountDownLatch的程序Demo

个人博客请访问http://www.x0100.top CountDownLatch是JDK提供的一个同步工具,它可以让一个或多个线程等待,一直等到其他线程中执行完成一组操作。CountDown方法和Await方法,CountDownLatch在初始化时,需要指定用给定一个整数作为计数器。当调用...

2020-05-25 14:56:43 26 0

原创 IO性能优化之零拷贝

个人博客请访问http://www.x0100.top 1 零拷贝 零拷贝(zero copy)技术,用于在数据读写中减少甚至完全避免不必要的CPU拷贝,减少内存带宽的占用,提高执行效率,零拷贝有几种不同的实现原理,下面介绍常见开源项目中零拷贝实现 1.1 Kafka零拷贝 Kafka基于...

2020-05-18 16:36:25 40 0

原创 Kafka+Flink+Redis架构电商大屏实时计算

个人博客请访问http://www.x0100.top 前言 实时大屏(real-time dashboard)正在被越来越多的企业采用,用来及时呈现关键的数据指标。并且在实际操作中,肯定也不会仅仅计算一两个维度。由于Flink的“真·流式计算”这一特点,它比Spark Streaming...

2020-05-18 14:55:37 32 0

原创 深入理解IO复用技术之epoll

个人博客请访问http://www.x0100.top 1.写在前面 今天一起来学习一下高并发实现的的重要基础:I/O复用技术 & epoll原理。 通过本文你将了解到以下内容: IO复用的概念 epoll出现之前的IO复用工具 epoll三级火箭 ...

2020-05-18 11:24:04 30 0

原创 Git常用命令

个人博客请访问http://www.x0100.top 安装Git及基本用法 设置账号和邮箱关联,账号和邮箱可以是码云、GitLab…的账号都行 $gitconfig--globaluser.name"YourName" $gitconfig--globaluser.e...

2020-05-15 16:32:59 24 0

原创 运维需要知道的Redis经验

个人博客请访问http://www.x0100.top Redis 在当前的技术社区里是非常热门的。从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路。随之而来的一系列最佳实践,使得大多数人可以正确地使用 Redis。 下面我们将探索正确使...

2020-05-15 15:56:24 28 0

原创 牛人总结6种延时队列实现方法,总有一款能满足你的业务需求

个人博客请访问http://www.x0100.top 一、延时队列的应用 什么是延时队列?顾名思义:首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。 延时队列在项目中的应用还是比较多的,尤其像电商类平台: 1、订单成功后,在3...

2020-05-15 14:36:37 85 0

原创 了解NIO原理机制

个人博客请访问http://www.x0100.top NIO和IO到底有什么区别?有什么关系? 首先说一下核心区别: NIO是以块的方式处理数据,但是IO是以最基础的字节流的形式去写入和读出的。所以在效率上的话,肯定是NIO效率比IO效率会高出很多。 NIO不在是和IO一样用...

2020-05-14 10:19:33 31 0

原创 JVM GC的这几个问题你了解吗?

个人博客请访问http://www.x0100.top 本文不再重复谈GC算法以及垃圾回收器,而是谈谈在GC发生的时候,有几个可能被忽略的问题。搞懂这些问题,相信将对GC的理解能再加深几分。 本文主要内容 - Q1: GC工作是如何发起的? - Q2: Stop The World到底如何...

2020-05-13 16:40:36 148 0

原创 精选几个开发常用的Linux命令

个人博客请访问http://www.x0100.top 今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。 1 查看目录以及权限 在windows中,使用dir查看当前...

2020-05-09 15:22:11 81 0

原创 反射+注解实现Entity类与Dto类相互转换

个人博客请访问http://www.x0100.top 序言 近期在工作中管理代码时发现,在项目中从Dao层到Service层数据传递中通过大量的get(),set()方法去一个一个的去拿值去赋值,导致代码篇幅过长,对此甚是讨厌,并且严重消耗开发时间。 起初找过些关于这块的资料,现在大部分都...

2020-05-09 14:23:10 99 2

原创 细聊MySQL 索引底层原理

个人博客请访问http://www.x0100.top Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。 我们知道,索引的作用是做数据的快速检索,而快速检索的实现的...

2020-05-09 11:10:26 97 0

原创 不再使用的对象赋值为null会有意料之外的惊喜

个人博客请访问http://www.x0100.top 前言 许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。 鉴于网上有太多关于此问题的...

2020-05-08 11:35:11 47 0

原创 ES数十亿数据量级的场景下查询性能优化?

个人博客请访问http://www.x0100.top ES 客户端读取数据的流程 客户端 -> shard -> filesystem cache -> 磁盘文件 海量数据检索查询性能优化思路 如果内存足够大, filesystem cache 会缓存,...

2020-05-07 11:20:37 78 0

原创 SQL错误用法大盘点

个人博客请访问http://www.x0100.top 今天场主为大家搜集了几类SQL错误用法,纯纯纯纯干货,来了! 1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, creat...

2020-05-07 10:36:03 31 0

原创 Kafka知识点大全整理

个人博客请访问http://www.x0100.top 一、kafka概述 1.1、定义 Kakfa是一个分布式的基于发布/订阅模式的消息队列(message queue),主要应用于大数据的实时处理领域 1.2、消息队列 1.2.1、传统的消息队列&新式的消息队列的模式 ...

2020-05-07 10:30:24 75 0

原创 MySQL常用优化指南,及大表优化思路

个人博客请访问http://www.x0100.top 当MySQL单表记录数过大时,增删改查性能都会急剧下降 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问...

2020-05-07 10:24:27 37 0

原创 日志采集的几种方式

个人博客请访问http://www.x0100.top 由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器。而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一。如何有效便捷的采集nginx的日志进行有效的分析成为大...

2020-05-06 15:06:59 214 0

原创 JAVA多线程和并发基础面试

个人博客请访问http://www.x0100.top 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点) Java多线程面试问题 1...

2020-05-06 11:26:59 53 0

原创 系统用了Redis锁后,满脸都是泪,但我不后悔

个人博客请访问http://www.x0100.top 谈起 Redis 锁,下面三个,算是出现最多的高频词汇: Setnx RedLock Redisson Setnx 目前通常所说的 Setnx 命令,并非单指 Redis 的 setnx key va...

2020-04-30 17:06:34 52 0

原创 Java并发之CountDownLatch、CyclicBarrier和Semaphore

个人博客请访问http://www.x0100.top CountDownLatch 是什么 先看一下官方的解释: CountDownLatch:A synchronization aid that allows one or more threads to wait until a s...

2020-04-30 16:13:39 38 0

原创 JVM的ReentrantReadWriteLock锁了解一下

个人博客请访问http://www.x0100.top 概念 顾名思义,ReentrantReadWriteLock名为“可重入读写锁”,它维护两个锁:读锁和写锁。在没有写锁的情况下,读锁允许多个线程同时访问,而写锁是独占的, ReentrantReadWriteLock主要特性有以下几个:...

2020-04-30 10:58:40 45 0

原创 程序员常用的8种数据结构

个人博客请访问http://www.x0100.top 快速介绍8种常用数据结构 数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。 几乎所有已开发的程序或软件系统都使用数据结构。此外,数据结...

2020-04-29 17:59:33 66 0

原创 Redis面试题最新总结

个人博客请访问http://www.x0100.top 概述 什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。 Redis 可以存储键和五种不同类型的值之间的映...

2020-04-29 16:23:37 324 0

原创 以面试的方式了解消息中间件MQ与RabbitMQ

个人博客请访问http://www.x0100.top 为什么使用MQ?MQ的优点 简答 异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。 流量削锋 - 可以通过消息队列长度控制请求量;可以缓解短...

2020-04-29 15:11:31 64 0

原创 通过面试题简单了解Spring Cloud

个人博客请访问http://www.x0100.top 为什么需要学习Spring Cloud 不论是商业应用还是用户应用,在业务初期都很简单,我们通常会把它实现为单体结构的应用。但是,随着业务逐渐发展,产品思想会变得越来越复杂,单体结构的应用也会越来越复杂。这就会给应用带来如下的几个问题: ...

2020-04-29 11:17:47 59 0

原创 细聊redis 分布式锁的 5个坑,真是又大又深

个人博客请访问http://www.x0100.top 最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug。我就熬夜写了一个bug被骂惨了。 由于是做商城业务,要频繁的...

2020-04-29 10:51:32 41 0

原创 比读写锁更快的锁 StampedLock

个人博客请访问http://www.x0100.top 什么是读写锁 读写锁:允许多个线程同时读,但是只允许一个线程写,在线程获取到写锁的时候,其他写操作和读操作都会处于阻塞状态,读锁和写锁也是互斥的,所以在读的时候是不允许写的,那如何实现一个读写锁呢? 读写锁比传统的synchroni...

2020-04-27 15:24:39 48 0

原创 搞懂Java 的几把 JVM 级锁

个人博客请访问http://www.x0100.top 简介 在计算机行业有一个定律叫"摩尔定律",在此定律下,计算机的性能突飞猛进,而且价格也随之越来越便宜, CPU 从单核到了多核,缓存性能也得到了很大提升,尤其是多核 CPU 技术的到来,计算机同一时刻可以处理多个任务...

2020-04-26 18:15:59 92 0

原创 centos中安装配置ElasticSearch-Head插件

个人博客请访问http://www.x0100.top 关于es是什么?能做什么?有什么优势?本文不在多说,如有不清楚请查看Elasticsearch学习,请先看这一篇! 本文主要是记录如何在linux下安装es环境以及配置,博主使用的是Centos,linux系统间相差不大。 首先ES需要...

2020-04-26 11:39:15 66 0

原创 用Insert into select语句导表,结果被裁了

个人博客请访问http://www.x0100.top 前言 Insert into select请慎用。这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份。本想通过程序先查询查出来然后批量插入。但xxx觉得这样有点慢,需要耗费大量的网络I/O,决定采取别的方法进行实现。通过在B...

2020-04-23 09:48:24 81 0

原创 Elasticsearch开发人员最佳实战指南

个人博客请访问http://www.x0100.top 几个月以来,我一直在记录自己开发Elasticsearch应用程序的最佳实践。本文梳理的内容试图传达Java的某些思想,我相信其同样适用于其他编程语言。我尝试尽量避免重复教程和Elasticsearch官方文档中已经介绍的内容。本文梳理的内...

2020-04-22 15:42:45 69 0

原创 Nginx在高并发下的性能优化点

个人博客请访问http://www.x0100.top 例如:Nginx 的进程模型 本篇,我们则来讲讲Nginx的几种性能优化方式。 目录[-] 1、Nginx运行工作进程数量 Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后...

2020-04-21 16:54:46 61 0

原创 ElasticSearch 使用 Logstash 从 MySQL 中同步数据

个人博客请访问http://www.x0100.top 目的是希望将现有的数据导入到 ElasticSearch 中,研究了好几种,除了写代码的方式,最简便的就是使用 Logstash 来导入数据到 ElasticSearch 中了。 因为现有的数据在 MySQL 数据库中,所以希望采用log...

2020-04-21 15:17:28 168 0

原创 聊聊Java 中的 Unsafe 和 CAS

Unsafe 简单讲一下这个类。Java无法直接访问底层操作系统,而是通过本地(native)方法来访问。不过尽管如此,JVM还是开了一个后门,JDK中有一个类Unsafe,它提供了硬件级别的原子操作。 这个类尽管里面的方法都是public的,但是并没有办法使用它们,JDK API文档也没有提...

2020-04-21 14:39:32 46 0

原创 主流的扫码登录技术原理

个人博客请访问http://www.x0100.top 1、引言 扫码登录这个功能,最早应该是微信的PC端开始搞,虽然有点反人类的功能(不扫码也没别的方式登录),但不得不说还是很酷的。 下面这张图,不管是IM开发者还是普通用户,应该很熟悉: 于是,搞IM产品的老板和产品经理们,从此又多...

2020-04-20 16:33:35 180 1

原创 Java Semphore信号量的使用

个人博客请访问http://www.x0100.top 前言:在多线程环境的同步中,我们为了让每个线程具有同步的作用,经常采用synchronize、reetrantlock等同步手段进行上锁,以便在同一时间只能有一个线程具有访问变量和读写变量的权力。然而假如实际的业务场景是允许一组线程访问(组...

2020-04-20 07:34:28 50 0

原创 为什么不建议用double定义商品金额

个人博客请访问http://www.x0100.top 先看现象 涉及诸如float或者double这两种浮点型数据的处理时,偶尔总会有一些怪怪的现象,不知道大家注意过没,举几个常见的栗子: 典型现象(一):条件判断超预期 System.out.println(1f==0.9999999...

2020-04-20 07:14:12 224 0

原创 Elasticsearch 在互联网公司大量真实的应用案例

个人博客请访问http://www.x0100.top 国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运...

2020-04-17 16:02:53 79 0

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