自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 问答 (1)
  • 收藏
  • 关注

原创 MySQL 5.7 JSON 数据类型使用总结

[@TOC]一、JSON数据类型简介从版本5.7.8开始,mysql开始支持json数据类型,json数据类型存储时会做格式检验,不满足json格式会报错,json数据类型默认值不允许为空。二、简单使用示例数据准备create table json_tab( id int unsigned primary key auto_increment comment '主键'...

2019-03-30 14:39:40 19217

原创 记一次OOM的分析

前言测试同学反馈测试环境不能正常访问,查看日志发现OOM。虽然是测试环境,但是还是排查了一下原因,以免线上也出同样的问题。处理步骤1、保留现场首先使用jmap -heap pid查看堆空间使用情况,结果发现年轻代和老年代空间都满了还能看到的信息是JVM使用的垃圾收集器是Parallel Scavenge + Serial Old。保留现场:1.使用jmap -histo pid...

2020-02-21 17:33:23 650

原创 IntelliJ IDEA 控制台乱码问题解决

IntelliJ IDEA控制台乱码问题存在好久了。。。官方也不给解决下,坑了不少人,所以网上出现了很多解决办法,不过都是差不多的内容,对于直接下载安装Idea的玩家都能解决问题,但是如果你跟我一样,使用ToolBox安装的,那乱码问题再使用网上千篇一律的解决方法肯定是没效果的,具体原因可以直接往下翻到第2种安装方式的解释。1、如果你是直接下载安装的Idea:第一步:修改bin目录下ide...

2019-08-14 19:26:18 248

转载 java--内部类、静态内部类、成员内部类、局部内部类、匿名内部类

转:https://blog.csdn.net/qq_21918021/article/details/88052728知识总结内部类外部类只能是public或者默认,不可以是protected之类内部类是一个编译是的概念,一旦编译成功,就会成为完全不同的两个类,分别为outer.class和outer$inner.class类。内部类的成员变量/方法名可以和外部类的相同。可以很好...

2019-07-25 15:25:58 235

转载 Java 8 Lambda实现原理分析

转自:https://feiyeguohai.iteye.com/blog/1500108为了支持函数式编程,Java8引入了Lambda表达式,那么在Java8中到底是如何实现Lambda表达式的呢?Lambda表达式经过编译之后,到底会生成什么东西呢?在没有深入分析前,让我们先想一想,Java8中每一个Lambda表达式必须有一个函数式接口与之对应,函数式接口与普通接口的区别,可...

2019-07-25 15:17:05 283

转载 为什么匿名内部类参数必须为final类型

转自:https://feiyeguohai.iteye.com/blog/15001081) 从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的2) 为什么JAVA中要加上一条限制:只能访问final型的局部变量?3) JAVA语...

2019-07-25 15:14:33 299

转载 String的intern()方法详解

0.引言什么都先不说,先看下面这个引入的例子:[java]view plaincopyStringstr1=newString("SEU")+newString("Calvin"); System.out.println(str1.intern()==str1); System.out.println(str1=="SEUCalvin");...

2019-07-21 23:33:59 526

转载 Java的快速失败和安全失败

转:http://www.cnblogs.com/ygj0930/p/6543350.html 一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。原理:迭代器在遍历时直接访问集合中的内容,...

2019-07-21 14:38:28 139

转载 Kafka 设计与原理详解

转:https://blog.csdn.net/suifeng3051/article/details/48053965一、Kafka简介本文综合了我之前写的kafka相关文章,可作为一个全面了解学习kafka的培训学习资料。1转载请注明出处 : 本文链接1.1 背景历史当今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几...

2019-07-21 14:31:34 130

转载 Java 8系列之重新认识HashMap

转自美团技术团队,因为一些图片没显示出来,做了下处理,在链表rehash的代码讲解部分加了点说明,便于理解,原文链接:https://tech.meituan.com/2016/06/24/java-hashmap.htmlHashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMa...

2019-07-21 13:58:26 114

转载 Netty中如何解决select空轮询导致cpu使用率升至100%的bug

1、 BUG出现的原因:若Selector的轮询结果为空,也没有wakeup或新消息处理,则发生N多次空轮询,使得CPU使用率100%2、Netty中的解决思路:对Selector()方法中的阻塞定时 select(timeMIllinois)操作的 次数进行统计,每完成一次select操作进行一次计数,若在循环周期内 发生N次空轮询,如果N值大于BUG阈值(默认为512),就进行空...

2019-07-21 09:59:58 3395 1

转载 Paxos、Raft、ZAB

https://blog.csdn.net/qq_34370153/article/details/80998622

2019-07-21 00:12:34 649

转载 一文搞懂Raft算法

https://www.cnblogs.com/xybaby/p/10124083.html

2019-07-20 22:11:33 370

转载 HashMap源码注解 之 静态工具方法hash()、tableSizeFor()(四)

https://blog.csdn.net/fan2012huan/article/details/51097331

2019-07-20 18:32:19 133

原创 HashMap的tableSizeFor方法解析

前言HashMap的源码有点小复杂,一次性没办法全部弄懂,所以分多次去理解,看懂一点就记录一点,最后再来写个汇总篇,这里先记录其中的tableSizeFor方法。另外jdk版本是1.8.上代码 /** * Returns a power of two size for the given target capacity. */ static final in...

2019-07-20 18:14:23 378

转载 MySQL索引原理

声明:本文是摘抄他人的博客,因这个人也是转载其他人的,但是没有附上原文链接,所以我这里不放链接了(他不放原作者的,我也不放他的,手动滑稽^-^)摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,...

2019-07-20 17:08:05 99

转载 HashMap中的hash函数

转自:https://www.cnblogs.com/zhengwang/p/8136164.html在写一个HashSet时候有个需求,是判断HashSet中是否已经存在对象,存在则取出,不存在则add添加。HashSet也是通过HashMap实现,只用了HashMap的key,value都存储一个赘余的Object,如下是HashSet中持有的HashMap对象,add函数:  ...

2019-07-20 11:40:36 149

转载 mysql数据库主从同步的3种一致性方案实现,及优劣比较

数据主从同步的由来互联网的很多业务,特别是在高并发的场景下,基本都是读远远大于写,如果数据库读和写的压力都同在一台主机上,这显然不太合理。于是,把一台数据库主机分为单独的一台写主库(主要负责写操作),而把读的数据库压力分配给读的从库,而且读从库可以变为多台,这就是读写分离的典型场景如下:为了进一步的降低数据库端的压力(高并发的瓶颈),这个时候也会在业务层部署分布式缓存集群(redis、m...

2019-07-19 17:49:31 10741

转载 Mysql redo、undo、bin、relay log 区别

https://blog.csdn.net/qq_17612199/article/details/80284080

2019-07-19 17:42:28 210

转载 Zookeeper的Quorum机制-谈谈怎样解决脑裂(split-brain)

转:http://suroot.cn/306.html在使用zookeeper的过程中,我们经常会看到这样一些说法:1.zookeeper cluster的节点数目必须是奇数。2.zookeeper 集群中必须超过半数节点(Majority)可用,整个集群才能对外可用。这个说法在大多数情况下是正确的。实际上ZooKeeper提供了几种方式来认定整个集群是否可用,Majority...

2019-07-19 12:06:31 451

转载 JVM类加载机制

转:http://blog.csdn.net/ns_code/article/details/17881581类加载过程类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示:其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四...

2019-07-18 13:37:58 111

转载 HotSpot中七种垃圾收集器

转:https://crowhawk.github.io/2017/08/15/jvm_3/如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。接下来讨论的收集器基于JD...

2019-07-18 13:02:01 355

转载 三张图秒懂Redis集群设计原理

转:https://blog.csdn.net/yejingtao703/article/details/78484151Redis集群设计包括2部分:哈希Slot和节点主从,本篇博文通过3张图来搞明白Redis的集群设计。节点主从:主从设计不算什么新鲜玩意,在数据库中我们也经常用主从来做读写分离,直接上图:图上能看得到的信息:1,只有1个Master,可以有N...

2019-07-18 09:50:37 111

转载 线程池ThreadPoolExecutor参数设置

转:https://blog.csdn.net/zhouhl_cn/article/details/7392607JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到预期的效果,甚至仅相当于或低于单线程的效率。ThreadPoolExecut...

2019-07-18 09:28:43 137

原创 面试题总结(2019-07-17)

1、LinkedList是单向的还是双向的?双向,因为有previous和next两个方向的指针。那面试官可能会接着问,那是双向链表还是双向重复链表呢?jdk1.6是双向循环链表,head节点首尾相连;jdk1.7是双向链表,去掉了header节点,对应的加了first,last两个节点。为什么jdk要做这样的优化呢?链表在表头表尾做操作情况居多,新的结构只需要在first前或者last...

2019-07-18 01:18:02 434

转载 Hive表的分区与分桶

转自:https://blog.csdn.net/lzm1340458776/article/details/430854231.Hive分区表Hive使用select语句进行查询的时候一般会扫描整个表内容,会消耗很多时间做没必要的工作。Hive可以在创建表的时候指定分区空间,这样在做查询的时候就可以很好的提高查询的效率。创建分区表的语法:create table tablenam...

2019-07-16 10:26:43 131

转载 yum国内镜像配置

转自:https://blog.csdn.net/anigon/article/details/54018733yum默认链接的还是国外的镜像,速度相对不理想,配置成国内的镜像会快很多,这里以阿里镜像为例进行配置:CentOS系统更换软件安装源base源第一步:备份你的原镜像文件,以免出错后可以恢复。mv /etc/yum.repos.d/CentOS-Base.repo /etc...

2019-07-14 21:32:35 193

原创 VirtualBox6 安装Centos7网络设置

1、选择NAT还是桥接?我选的桥接,宿主机和虚拟机互相能够ping通,详细信息请另行查阅。2、桥接怎么配置配置网卡 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static(重点,dhcp不行)DEFROUTE=yesI...

2019-07-14 20:53:24 940

原创 Hadoop相关WebUI端口记录

以下均为默认端口号,可根据配置文件修改:HDFS:50070yarn:8088Hive:10002HBase:60010Spark:8080Flink:8081Storm:8080

2019-07-14 12:11:15 1595

转载 Hadoop Yarn 框架原理及运作机制

转自:https://blog.csdn.net/liuwenbo0920/article/details/433042431.1YARN 基本架构YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster。其中Re...

2019-07-13 21:24:52 93

转载 干货 | Flink及主流流框架比较

https://blog.csdn.net/aa5305123/article/details/83095275

2019-07-13 16:41:19 232

转载 yarn的原理和资源调度

https://blog.csdn.net/yunpiao123456/article/details/51802986

2019-07-12 21:56:55 388

转载 HDFS高可用原理

https://blog.csdn.net/jarth/article/details/52839864

2019-07-12 21:24:07 168

转载 logback的使用和logback.xml详解

转载自:https://www.cnblogs.com/warking/p/5710303.htmllogback的使用和logback.xml详解一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块 logback-cl...

2019-05-31 09:12:17 130

原创 Redis有序集合

文章目录一、有序集合介绍二、常用命令介绍三、有序集合数据结构为什么有序集合需要同时使用跳跃表和字典来实现?采用哪种编码由什么决定?压缩列表压缩列表节点的构成跳跃表一、有序集合介绍有序集合,顾名思义,元素有序且唯一的集合,满足有序性、唯一性、确定性,sorted set、zset都是指的有序集合。二、常用命令介绍有序集合共有25个相关命令,这里只介绍常用的命令,其他的可以去官方文档查看。添...

2019-05-15 20:31:36 6259

原创 《Redis实战》读后感

前言最近在做的项目需要用到Redis,因为之前对Redis只是有一个很粗浅的了解,所以打算选一本Redis的书籍进行阅读,以便帮助我更好的完成项目,最后选择了《Redis实战》这本书进行阅读。读后感《Redis实战》不愧有实战之名,除了第一章和第三章是介绍Redis的数据结构以及操作指令、第四章介绍数据安全和性能保障外,其他每个章节基本都是结合业务场景在进行讲解,能够让读者更清楚的知道...

2019-05-08 08:44:18 396

原创 JAVA设计模式之代理模式

JAVA设计模式之代理模式1、什么是代理模式为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。真实角色:实现抽象角色,定义真...

2019-03-30 18:30:36 164

转载 Netty的十一个疑问

转载自李林峰老师的文章:https://mp.weixin.qq.com/s/ksf5hvxw6AjzirMuIwUDxQ个人认为这是初学者必读的一篇文章,对于了解Netty有很大的帮助,鼓励大家关注李林峰老师的微信公众号【Netty之家】,和大佬直接面对面沟通^_^。Netty的十一个疑问李林锋Netty之家2015-05-311.Netty是什么?...

2019-03-27 21:51:44 118

原创 Netty学习Flag

Netty学习Flag先把Netty权威指南看一遍,看完记录心得体会再看Netty源码,贴出重要的源码与使用示例,总结

2019-03-27 21:00:00 306

原创 回调函数学习笔记

回调函数学习笔记 回调函数是一种思想,不限于哪种语言,回调是什么意思呢,举个栗子,主管分配给你一个任务,你完成任务后需要告知主管你完成了任务,最后这个告知的动作就是回调。 回调又分同步回调和异步回调,写过多线程程序的人大概也都知道同步异步是个怎么回事,不清楚的请看我下面的栗子代码,保证让你秒懂,我比较熟悉的是Java语言,下面给出Java版的简要Demo.代码public ...

2018-05-17 20:02:37 516

空空如也

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

TA关注的人

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