自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不会就问咯

不积跬步,无以至千里;不积小流,无以成江海

  • 博客(42)
  • 收藏
  • 关注

原创 Caused by: javax.management.InstanceAlreadyExistsException: MXBean already registered with name org

在所写的Configuration类中添加注解:@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING) //解决注册重复问题

2020-02-26 15:21:49 1401 2

原创 MongoDB应用场景

高伸缩性的场景: MongoDB 非常适合高伸缩性的场景,它是可扩展性的表结构。基于这点,可以将预期范围内,表结构可能会不断扩展的 MySQL 表结构,通过 MongoDB 来存储,这就可以保证表结构的扩展性。日志系统的场景: 日志系统数据量特别大,如果用 MongoDB 数据库存储这些数据,利用分片集群支持海量数据,同时使用聚集分析...

2020-02-26 14:55:48 214

原创 日期工具类记录

public class DateUtil { public static final String LONG_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static final String LONG_DATE_FORMAT3 = "yyyy-MM-dd HH:mm"; public static final String ...

2019-11-13 14:21:39 157

转载 将毫秒 换算成(天 时 分 秒 毫秒)

/** 毫秒转化天、时、分、秒*/public static String formatTime(long ms) { int ss = 1000; int mi = ss * 60; int hh = mi * 60; int dd = hh * 2...

2019-11-13 11:50:08 1262

转载 如何保证消息队列中的消息不被重复消费

1、面试题如何保证消息不被重复消费啊(如何保证消息消费时的幂等性)?2、面试官心里分析其实这个很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是MQ领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。面试官问你,肯定是必问的,这是你要考...

2019-10-28 09:31:10 2234

转载 B+树详细图解

转载自:伯乐专栏作者/玻璃猫,微信公众号 - 梦见漫画:什么是b+树这一次我们来介绍 B+ 树。一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。...

2019-10-16 11:27:32 571 1

转载 B-树详细图解

本文提到的「B-树」,就是「B树」,都是 B-tree 的翻译,里面不是减号-,是连接符-。因为有人把 B-tree 翻成 「B-树」,让人以为「B树」和「B-树」是两种树,实际上两者就是同一种树。————————————————————————二叉查找树的结构:...

2019-10-16 11:26:58 251

转载 Zookeeper

1. ZooKeeper是什么?ZooKeeper是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。Zoo...

2019-10-14 17:30:26 110

转载 HTTP和HTTPS的区别

无论是在校学习还是找工作的时候,老师和面试官都问过同学http和https的区别。平时上网的时候也没有关注这个问题,只是知道计算机网络里Http的概念,所以最近才查资料好好补补这一块。其实这一块的知识延伸很广,如果之前不太了解加密算法和SSL协议,可以在学习了这个问题的基础上再做研究。一、Http和Https的基本概念Http:超文本传输协议(Http,HyperText Transfer...

2019-10-12 10:58:54 103

转载 Java GC常见算法

在判断哪些内存需要回收和什么时候回收用到GC 算法,本文主要对GC 算法进行讲解。JVM垃圾判定算法常见的JVM垃圾判定算法包括:引用计数算法、可达性分析算法。引用计数算法(Reference Counting)引用计数算法是通过判断对象的引用数量来决定对象是否可以被回收。给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻...

2019-10-12 10:35:21 166

转载 双亲委派机制

预定义类加载器和双亲委派机制 JVM预定义的三种类型类加载器: 启动(Bootstrap)类加载器:是用本地代码实现的类装入器,它负责将<Java_Runtime_Home>/lib下面的类库加载到内存中(比如rt.jar)。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。 标准扩展(Extension)...

2019-10-12 10:09:38 90

转载 对分布式事务及两阶段提交、三阶段提交的理解

一、分布式数据一致性在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。1.什么是数据一致性在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突。造成事实上的数据不一致。2.CAP定理CAP理论认为在分布式的环境下...

2019-10-11 14:27:02 121

转载 数据库事务的四大特性:ACID

事务的4大特性(ACID):原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。一致性(Consistemcy):事务前后,数据库的状态都满足所有的完整性约束。隔离性(Isolation):并发执行的事务是隔离的,一个不影响一个。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该...

2019-10-11 14:03:55 150

转载 可重入锁和不可重入锁 ReentrantLock & synchronize

用lock来保证原子性(this.count++这段代码称为临界区)什么是原子性,就是不可分,从头执行到尾,不能被其他线程同时执行。可通过CAS来实现原子操作CAS(Compare and Swap):CAS操作需要输入两个数值,一个旧值(期望操作前的值)和一个新值,在操作期间先比较下旧值有没有发生变化,如果没有发生变化,才交换成新值,发生了变化则不交换。CAS主要通过comp...

2019-10-11 13:58:49 236

转载 DNS原理及其解析过程

DNS原理及其解析过程为什么需要DNS解析域名为IP地址?网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们...

2019-10-10 17:36:52 248

转载 innodb当前读 与 快照读

当前读和快照读好的学习链接:http://blog.csdn.net/taylor_tao/article/details/7063639快照读历史数据-mvccinnodb的默认事务隔离级别是rr(可重复读)。它的实现技术是mvcc。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。(这也就是是此前以rr隔离级别实践时,不仅可以防止可重复读,也防止...

2019-10-10 17:21:45 166

原创 Redis面试题

Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。使用过Redis分布式锁么,它是...

2019-10-09 11:30:45 229

原创 Java基础--线程

一、线程和进程的概念?1.要想了解多线程,必须先了解线程,要想了解线程,必须先了解进程,因为线程是依赖进程而存在的。2:什么是进程? 通过任务管理器我们就看到了进程的存在 而通过观察,我们发现只有运行的程序才会有进程 进程:就是正在运行的程序 进程是系统进行资源分配和调用的独立单位,每...

2019-10-09 11:28:33 117

转载 算法(三)初等排序后篇[选择和冒泡排序]

1.选择排序根据上一篇文章讲到的插入排序和希尔排序,我们把选择排序的数组也分为已排序部分和未排序部分。图解选择排序在用图来讲解选择排序之前,我们要先了解选择排序的规则。选择排序的规则就是重复执行以下的处理:1.找出未排序部分最小值的位置min。2.将min位置的元素与未排序部分的起始元素做对比,如果顺序错误则将它们进行就交换。以数组a={5,4,8,7,9,3,1}为例,我们...

2019-10-09 11:26:56 61

转载 算法(二)初等排序前篇[插入和希尔排序]

前言排序是算法的基础,排序有很多种方法,有些方法实现起来很简单,但是效率较差,我们可以将这些排序的方法称之为初等排序。这篇文章我们就来学习初等排序中的插入排序和冒泡排序。1.插入排序插入排序比较容易想到,思路与打扑克时排列牌的顺序是类似的。比如我们左手拿牌,然后用右手将牌从左到右,从小到大来排序,这就需要我们把需要进行排列的牌抽出来放到合适的位置,并且不断的重复,直到牌的顺序排好,这个...

2019-10-09 11:26:32 77

转载 算法(一)时间复杂度

1.算法的效率虽然计算机能快速的完成运算处理,但实际上,它也需要根据输入数据的大小和算法效率来消耗一定的处理器资源。要想编写出能高效运行的程序,我们就需要考虑到算法的效率。算法的效率主要由以下两个复杂度来评估:时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。空间复杂度:评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。设计算法时,一般是要先考虑系统环...

2019-10-08 11:10:39 341

转载 5、HashMap在高并发下如果没有处理线程安全会有怎样的安全隐患,具体表现是什么

Hashmap在并发环境下,可能出现的问题:1、多线程put时可能会导致get无限循环,具体表现为CPU使用率100%;原因:在向HashMap put元素时,会检查HashMap的容量是否足够,如果不足,则会新建一个比原来容量大两倍的Hash表,然后把数组从老的Hash表中迁移到新的Hash表中,迁移的过程就是一个rehash()的过程,多个线程同时操作就有可能会形成循环链表,所以在使用ge...

2019-10-08 11:06:22 1344

转载 关于HTTP协议,一篇就够了

关于HTTP协议,一篇就够了HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速...

2019-09-29 17:05:36 157

原创 什么叫DNS?他的作用是什么?

一、DNS的定义? DNS 英文名称DomainNameSystem就是域名解析服务器。依靠他可以将你访问网址的信息传递到你的电脑上。二、组成?域名解析服务器是由解析器和域名服务器组成的。域名服务器里面包含了所有的IP地址和所有主机名,他的作用就是将域名转换为IP地址的服务器域名一定有对应的IP,但是IP不一定有域名域名映射到对应的IP的过程叫做域名的解析域名和IP...

2019-09-29 17:03:54 1255

转载 Redis的缓存更新问题

转自:https://blog.csdn.net/u012031380/article/details/80182901转自酷壳-陈皓-缓存更新的套路如有侵权请联系博主进行删除,此处仅作为学习笔记不做任何商业用途 !看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一...

2019-09-24 09:09:46 788

原创 Spring中ApplicationContext和beanfactory区别

一、BeanFactoryBeanFactory 是 Spring 的“心脏”。它就是 Spring IoC 容器的真面目。Spring 使用 BeanFactory 来实例化、配置和管理 Bean。BeanFactory:是IOC容器的核心接口, 它定义了IOC的基本功能,我们看到它主要定义了getBean方法。getBean方法是IOC容器获取bean对象和引发依赖注入的起点。方法的功能...

2019-09-19 19:42:27 409

原创 spring中BeanFactory和FactoryBean的区别

区别:BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似1、BeanFactory...

2019-09-19 19:41:58 755

转载 3、HashMap、HashTable和ConcurrentHashMap的区别?

HashMap和HashTable的区别一种比较简单的回答是:(1)HashMap是非线程安全的,HashTable是线程安全的。(2)HashMap的键和值都允许有null存在,而HashTable则都不行。(3)因为线程安全、哈希效率的问题,HashMap效率比HashTable的要高。但是如果继续追问:Java中的另一个线程安全的与HashMap功能极其类似的类是什么?同...

2019-09-19 19:40:40 3600

原创 HashMap的源码,实现原理,JDK8中对HashMap做了怎样的优化?

1、HashMap的源码,实现原理,JDK8中对HashMap做了怎样的优化? 答:在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,...

2019-09-19 19:39:58 8287

原创 各种数据结构分析

一、数组和单链表的分析?二、栈和队的分析?一、线性表线性表是最常用且最简单的一种数据结构,它是n个数据元素的有限序列。实现线性表的方式一般有两种,一种是使用数组存储线性表的元素,即用一组连续的存储单元依次存储线性表的数据元素。另一种是使用链表存储线性表的元素,即用一组任意的存储单元存储线性表的数据元素(存储单元可以是连续的,也可以是不连续的)。数组实现数组是...

2019-09-17 14:28:19 1362

原创 MySql基础小结

一、什么叫索引? 索引就是帮助高效获取数据的数据结构。首先用图来解释一下索引二、数据库索引创建规则1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字...

2019-09-17 14:25:47 90

转载 什么是聚簇索引和非聚簇索引?

刚开始学数据库SQL的时候,就知道有主键啊(Primary-key),外键啊(Foreign-key)啥的,连个表查询就已经不清楚是要on 那几个字段了,在数据量不太大的情况下,根本不会考虑索引的问题了,然后,随着大数据时代的到来,数据量大了,没有索引那是要不得的啊,客户又吐槽了,你知不知道,你知不知道,我等到花儿都谢鸟。。。。。没有索引,完全依赖生硬的where条件,达到百万级数据记录之后,如果...

2019-09-17 14:24:16 1039

原创 java四种修饰符的限制范围

java 四中修饰符的访问权限类内部 本包 子类 外部包 public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × × 区别:(1)public...

2019-09-17 14:22:17 3423

原创 Object类中的方法简要概括?

Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。2.getClass方法final方法,获得运行时类型。3.toString方法该方法用得比较多,一般子类都有覆盖。4...

2019-09-17 14:21:26 265

原创 极高并发下HashTable和ConcurrentHashMaon哪个效率高?

为什么 ConcurrentHashMap在多线程下效率更高? oncurrentModificationException 在这种迭代方式中,当iterator被创建后集合再发生改变就不再是抛出ConcurrentModificationException, 取而代之的是在改变时new新的数据从而不影响原有的数据,iterator完成后再将头指针替换为新的数据,这样iterator...

2019-09-17 14:20:18 4141

原创 String类为啥是不能被继承同时设置成不可变的呢?

String是所有语言中最常用的一个类。我们知道在Java中,String是不可变的、final的。Java在运行时也保存了一个字符串池(Stringpool),这使得String成为了一个特别的类。主要是为了“效率”和“安全性”的缘故。若String允许被继承,由于它的高度被使用率,可能会降低程序的性能,所以String被定义成final。一:St...

2019-09-17 14:13:25 163

转载 为什么Redis是单线程的,并且速度还非常快!

一、前言近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。如果你在以前面试的时候还没有遇到过面试官问你《为什么说R...

2019-09-17 14:12:08 2361

原创 Maven POM中的各种scope的行为总结

compile:默认的scope。任何定义在compile scope下的依赖将会在所有的class paths下可用。maven工程会将其打包到最终的artifact中。如果你构建一个WAR类型的artifact,那么在compile scope下引用的JAR文件将会被集成到WAR文件内。provided:这个scope假定对应的依赖会由运行这个应用的JDK或者容器来提供。最好的例子就是se...

2019-09-17 14:09:16 349

原创 tomcat最大线程数、最大等待数和最大连接数

tomcat是目前较为常用的Web容器,那么怎么配置tomcat才能使得自己的服务效率更高,今天我主要解释一下tomcat的最大线程数(maxThreads)、最大等待数(acceptCount)和最大连接数(maxConnections)。maxThreads(最大线程数):每一次HTTP请求到达Web服务,tomcat都会创建一个线程来处理该请求,那么最大线程数决定了Web服务可...

2019-09-17 14:07:04 355

转载 OSI七层模型与TCP/IP五层模型

一、OSI参考模型 今天我们先学习一下以太网最基本也是重要的知识——OSI参考模型。1、OSI的来源 OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。 ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推...

2019-06-17 14:59:32 135

空空如也

空空如也

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

TA关注的人

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