自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 最简单详细的Elasticsearch-head插件安装

Head插件的安装教程elasticsearch5.0以下版本可以直接在elasticsearch目录下执行对应的命令安装head插件,但是5.0以上不支持直接安装,所以需要借助其他方法安装head插件,本篇介绍5.6.9以上head插件的安装步骤一、下载head插件https://github.com/mobz/elasticsearch-head二、解压到任意目录注意:为避免找不...

2019-02-16 14:58:27 22926 5

原创 最常用的64条正则表达式写法,请收好!

最常用的正则表达式写法,请收好!一、校验数字的表达式1. 数字:^[0-9]*$2. n位的数字:^\d{n}$3. 至少n位的数字:^\d{n,}$4. m-n位的数字:^\d{m,n}$5. 零和非零开头的数字:^(0|[1-9][0-9]*)$6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7. 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8. 正数、负数和小数:^(\-)?\d+(\.\d{1,2})?$

2020-09-08 09:27:07 532

原创 最频繁最通用的十六种Java工具类

最频繁最通用的十六种Java工具类在Java中,工具类定义了一组公共方法。今天工作之余,抽空整理了16种最常用的Java工具类,以下的工具类、方法按使用流行度排名,不会的童鞋们抓紧记忆一下!一、org.apache.commons.io.IOUtilscloseQuietly:关闭一个io流、socket、或者selector且不抛出异常,通常放在finally块toString:转换io流、uri、byte[]为Stringcopy:IO流数据复制,从输入流写道输出流中,最大支持2GBto

2020-08-08 15:25:13 1963 3

转载 三分钟搞定HashMap底层原理

最通俗易懂搞定HashMap的底层原理HashMap的底层原理面试必考题为什么面试官如此青睐这道题?HashMap里面涉及了很大的知识点,可以比较全面考察面试者的基本功,想要拿到一个好offer,这是一个迈不过的坎,接下来我用最通俗易懂的语言带着大家揭开HashMap的神秘面纱。一、HashMap的节点HashMap是一个集合,键值对的集合,源码中每个节点用Node<K,V>表示static class Node<K,V> implements Map.Entry<

2020-08-07 15:47:13 186

原创 四十条代码优化建议,纯干货!

四十条代码优化建议,纯干货!前言代码优化最重要的作用应该是避免未知的错误,因此在写代码的时候,从源头开始注意各种细节,权衡并使用最优的选择,将会很大程度上避免出现未知的错误,从长远看也极大的降低了工作量。所以说,代码优化的目标是减小代码体积、提高代码运行效率。优化是无止境的,本文也只是给出了一些常见的优化建议。1. 尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。

2020-08-05 15:26:20 2209

原创 请使用System.currentTimeMillis()代替new Date().getTime()

请使用System.currentTimeMillis()代替new Date().getTime()Java中使用new Date()和System.currentTimeMillis()获取当前时间戳在开发过程中,通常很多人都习惯使用new Date()来获取当前时间,使用起来也比较方便,同时还可以获取与当前时间有关的各方面信息,例如获取小时,分钟等等,而且还可以格式化输出,包含的信息是比较丰富的。但是有些时候获取你并不需要获取那么多信息,你只需要关心它返回的毫秒数就行了,例如getTime()

2020-08-04 09:16:20 3886

原创 面向对象的三大特性:封装、继承、多态

面向对象的三大特性:封装、继承、多态一、封装1. 什么是封装封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。将类的某些信息隐藏在类的内部,不允许外部程序进行直接的访问调用。通过该类提供的方法来实现对隐藏信息的操作和访问。隐藏对象的信息。留出访问的对外接口。举个比较通俗的例子,比如我们的USB接口。如果我们需要外设且只需要将设备接入USB接口中,而内部是如何工作的,对于使用者来说并不重要。而U

2020-08-03 18:07:07 261

原创 设计模式之适配器模式

设计模式之适配器模式1. 适配器模式适配器模式,作为连接两个接口的桥梁。这个概念感觉有点那啥,很少用接口的朋友可能就没有什么感觉,经常面向接口编程的朋友比较能产生共鸣,简单来说,就是写一个适配器(转换器)来对接对象。2. 适配器模式使用java适配器模式有两种,类适配器和对象适配器(1)类适配器demo类适配器主要是使用继承的方式连接两个接口,我们假设对接接口A和接口B先写接口Bpublic interface MP4{ void play();}接口B的实现类public cla

2020-08-03 14:32:28 209

原创 Intellij IDEA debug断点调试技巧

Return. 这个就是结束debug模式,直接以run的方式重新跑某个程序。直接跑完,到下一个断点停下,没有就直接跑完程序。停止项目或者程序,要是自己的main呢,点一下就停下了,要是Java web项目,则点2下,就把服务给停了。查看所有的断点设置情况。直接取消所有断点,让所有断点无效。要是你一不小心把这个下面的布局给弄乱了,你点这个,就把下面的布局给还原咯。跳转到当前代码所执行的地方,也就是说你在看代码的时候,点到其他地方,一点这个按钮,就到了程序执行到当前哪行的代码的地方。下一步,..

2020-08-03 13:55:10 1006

原创 你不知道的MySQL和Oracle的那些事儿

MySQL与Oracle的区别由于SQL server不常用,所以这里只针对MySQL数据库和Oracle数据库的区别。1. 事务的提交MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要再写commit;指令或者点击commit按钮2. 分页查询MySQL是直接在SQL语句中写"select…from…where…limit x,y",有limit就可以实现分页;而oracle则是需要用到伪列ROWNUM和嵌套查询。3. 事务隔离级别MySQL是read commi

2020-08-02 17:12:24 257

原创 ACID特性的实现原理与MySQL事务的关系

深入学习MySQL事务:ACID特性的实现原理事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理。一、基础概念事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。作为一个关系型数据库,MySQL支持事务,本文介绍基于MySQL5.6。首先回顾一下MySQL事务的基础知识。1. 逻辑结构和存储

2020-07-28 14:00:58 198

原创 Java实现异步调用

Java实现异步调用一、创建线程 @Testpublic void test0() throws Exception { System.out.println("main函数开始执行"); Thread thread=new Thread(new Runnable() { @Override public void run() { System.out.println("===task start==="); try { Thread.s

2020-07-23 15:24:37 383

原创 深入学习集合框架

集合框架,你不知道的事一、Java集合框架概述集合可以看作是一种容器,用来存储对象信息。所以集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下。数组与集合的区别如下:数组长度不可变化而且无法保持具有映射关系的数据;集合类用于保存数量不确定的数据,以及保存具有映射关系的数据。数组元素既可以是基本类型的值,也可以是对象;集合只能保存对象Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出了三

2020-07-20 14:39:01 106

原创 设计模式之策略模式

Java设计模式之策略模式详解为了更好的理解这个模式,我们再举一个例子,我们出去旅游的时候可能有很多种出行方式,比如说我们可以坐火车、坐高铁、坐飞机等等。不管我们使用哪一种出行方式,最终的目的地都是一样的。也就是选择不同的方式产生的结果都是一样的。1.策略模式的优点我们在做判断的时候,往往会使用if-else语句,也就是用户不选择A就选择B这样的一种情况。这种情况的耦合性太高了,而且代码臃肿,有了策略模式我们就可以避免这种现象。策略模式遵循开闭原则,实现代码的解耦合。扩展新的方法时也比较方便,

2020-07-18 11:13:41 94

原创 对比JPA、Hibernate、Mybatis的区别

对比JPA、Hibernate、Mybatis的区别JPA、Hibernate、Mybatis的简单了解JPA:本身是一种ORM规范,不是ORM框架,由各大ORM框架提供实现。目前最流行的ORM框架,设计灵巧,文档丰富(完全自动操作),只是性能不好控制(自己去控制性能,不是很好控制)。Hibernate是一个完整的ORM框架,常规CRUD我们不需要写一句SQL。本是apache的一个开源项目iBatis,提供的持久层框架包括SQL Maps和Dao,允许开发人员直接编写SQL(更好灵活)。(Sql

2020-07-13 16:37:52 212

原创 CentOS7.3下搭建svn服务器

CentOS下搭建svn服务器一、介绍SVNSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。二、安装SVN官网下载: http://subversion.apache.o...

2019-08-02 17:04:18 164

原创 设计原则之单一职责原则

Java设计原则之单一职责原则无论是什么设计原则,全部都是围绕“项目的生命周期”和“高内聚,低耦合”这两个关键字。定义单一职责原则(SRP:Single responsibility principle)又称单一功能原则,它规定了一个类应该只有一个发生变化的原因,即一个类只负责一项职责。字面上很好理解,但是如果做起来却很难做到,因为很难划分职责。代码现需求设计一个用户类,要求用...

2019-02-23 09:37:07 133

原创 设计模式之工厂模式

Java设计模式之工厂模式详解定义:工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,而不必事先知道每次要实例化哪一个类。三种形态简单工厂模式:又称静态工厂方法工厂方法模式:又称多态性工厂模式或虚拟构造子模式抽象工厂模式:又称工具箱模式简单工厂模式专门定义一个类来负责其他类的实例,被创建的实例通常具有共同的父类或接口。1. 适用场景工厂类复制...

2019-02-18 17:32:28 203

原创 最简单详细的Elasticsearch-postman操作数据

Elasticsearch-postman简单入门安装ES步骤此处忽略,请大家自行安装1.创建索引和mapping代码实现如下:--put localhost:9200/local_librarylocalhost:9200/local_library 代表索引名mappings:{ "mappings":{ "book":{ ...

2019-02-16 15:01:55 12988 1

原创 最简单详细的Elasticsearch-kibana插件安装

Kibana的安装教程仅适用于windows系统,ios的请自行绕路。一、简介Kibana是一款开源的数据分析和可视化平台,它是Elastic Stack成员之一,设计用于和ElasticSearch协作。您可以使用Kibana对ElasticSearch索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。Kibana可以使大数据通俗...

2019-02-16 14:53:14 768

原创 Springboot集成elasticsearch 报扫描不到Repository

项目依赖 &lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt; &lt;version&gt;2.0.0.RELEASE&lt;...

2019-02-14 18:45:50 7986 8

原创 设计模式之单例模式

Java设计模式之单例模式详解在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过。我们总是沿着前辈的狙击去做设定好的思路,往往没去探究为何这么做,所以这篇文章对单例模式做了详解。一、单例模式定义单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、...

2019-02-01 18:49:25 142

原创 Swagger的说明、配置

Swagger的说明、配置一、什么是Swagger?官方介绍:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化Restful Web Service。专业角度:Swagger是由庞大工具集合支撑的形式化规范。这个集合涵盖了从终端用户接口、底层代码库到商业Api管理的方方面面。二、配置1.开发环境介绍jdk 1.8swagger 2.8.02.在pom.xml...

2019-01-20 15:19:43 399

原创 Java中字符串的比较

在c++中判断两个字符串str_a,str_b的值是否相等,可以使用if(str_a == str_b)。但是在Java中不能使用if(str_a == str_b)来判断字符串str_a,str_b的值是否相等。“==”判断的是字符串str_a,str_b两个String对象在内存中存储位置是否一致,而不是字符串str_a,str_b的值是否相等。如需判断字符串str_a,str_b的值是...

2018-12-08 17:03:01 158

空空如也

空空如也

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

TA关注的人

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