自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 mysql与B+树

索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种数据结

2021-03-04 14:30:43 137 1

转载 线程池的拒绝策略

四种线程池拒绝策略当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize时,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略:ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。ThreadPoolExecutor.DiscardPolicy:丢弃任务,但是不抛出异常。...

2020-03-16 22:57:37 213

原创 线程池类型以及使用场景

线程池的概念线程池是一种多线程处理形式,处理过程中将任务添加队列,然后在创建线程后自动启动这些任务,每个线程都使用默认的堆栈大小,以默认的优先级运行,并处在多线程单元中,如果某个线程在托管代码中空闲,则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后辅助线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要...

2020-03-16 11:10:09 649

转载 ConcurrentHashMap1.7和1.8的不同实现

ConcurrentHashMap在多线程环境下,使用HashMap进行put操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用ConcurrentHashMap代替HashMap,为了对ConcurrentHashMap有更深入的了解,本文将对ConcurrentHashMap1.7和1.8的不同实现进行分析。1.7实现数据结构jdk1.7中采用Segment+...

2019-12-17 11:36:24 96

转载 深入理解 hashcode() 和 HashMap 中的hash 算法

前言Java中的HashMap非常常用也非常重要, 提到HashMap是离不开hashcode()方法的, 整天嘴边挂着HashMap、Hashtable、TreeMap、LinkedHashMap、IdentityHashMap、ConcurrentHashMap和WeakHashMap等词, 也许用起来简单, hash的原理也很简单, 经常不以为然, 但是细想下来总觉得有哪里有疑惑, 这里细...

2019-12-13 14:21:39 163

原创 mysql的引擎

(1):MyISAM存储引擎不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表支持3种不同的存储格式,分别是:静态表;动态表;压缩表静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足...

2019-12-02 17:37:24 114

原创 索引-概念

1、索引的本质是什么MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是...

2019-12-02 16:52:33 97

转载 数据结构:八大数据结构分类

数据结构分类1、数组2、栈3、队列4、链表5、树6、散列表7、堆8、图数据结构分类数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示:每一种数据结构都有着独特的数据存储方式,下面为大家介绍它们的结构和优缺点。1、数组数组是可以再内存中连续存储多个元素的...

2019-12-02 15:30:28 162

转载 mysql联合索引生效原则

mysql中 myisam,innodb默认使用的是 Btree索引,至于btree的数据结构是怎样的都不重要,只需要知道结果,既然是索引那这个数据结构最后是排好序;就像新华字典他的目录就是按照a,b,c…这样排好序的;所以你在找东西的时候才快,比如你找 “中” 这个字的解释,你肯定就会定位到目录的 z 开头部分;组合索引可以这样理解,比如(a,b,c),abc都是排好序的,在任意一段a的下...

2019-11-29 11:19:17 110

转载 IDEA之Maven构建微服务项目父子模块

https://blog.csdn.net/weixin_39986856/article/details/100775426

2019-11-19 11:19:45 533

转载 mysql事物要素(ACID)

https://blog.csdn.net/adudeboke/article/details/81433391

2019-11-19 11:19:11 104

原创 守护线程与守护进程

守护线程在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)Daemon的作用是为其他线程的运行提供便利服务,比如垃圾回收线程就是一个很称职的守护者。User和Daemon两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果 User Thread已经全部退出运行了,只剩下Daemon Thread存在了,虚拟机也就退出了。 因为没有了...

2019-09-17 15:48:24 514

转载 Mybatis入门基础教程

https://blog.csdn.net/hellozpc/article/details/80878563

2019-09-12 09:22:55 87

原创 CountDownLatch 用法

1、简介  CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html官方API。CountDownLatch概念CountDownLatch是一个同步工...

2019-05-23 11:19:11 370

原创 maven动态打包

最近接手了一个比较老的项目,针对不同环境的部署增加了maven动态部署先转一个博客园的URL:https://www.cnblogs.com/mahuan2/p/6909521.html,自己项目中做了简单化处理,主要内容换汤不换药。项目结构如下,配置文件放到了根目录中相对于转发的博友的文章,该项目的配置更加简洁(因项目而异)主要修改点再pom.xml中<profi...

2019-05-22 15:17:48 492

原创 mysql时间转换

通过当前时间进行运算 /*获取当前时间*/SELECT TIME_TO_SEC(NOW()),NOW(),current_timestamp(),REPLACE(unix_timestamp(current_timestamp(3)),'.','');/*当前时间加1毫秒*/SELECT DATE_ADD(NOW(),INTERVAL 1 MICROSECOND);/...

2019-01-08 14:23:45 522

转载 Lucene&全文检索

转:https://blog.csdn.net/zhang18024666607/article/details/78216635solr:https://www.cnblogs.com/peaceliu/p/7786851.html

2018-12-07 17:36:57 115

转载 FTP的主动模式与被动模式

 基础知识:  FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。 主动模式FTP:  主动模式下,FTP客户端从任意的非特殊的端口(N &gt; 1023)连入到FTP服务器的命令端口...

2018-12-07 11:00:00 816

原创 Mybatis分页插件PageHelper的配置和使用方法

在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。前端分页一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。特点是:简单,很适合小规模的web平台;当数据量大的时候会产生性能问题,在查询和网络传输的时间会很长。后端分页...

2018-11-23 10:56:47 1043

原创 excel oracle字段命名(大写下划线分词)转 驼峰命名

 (帕斯卡)=LEFT(C251,1)&amp;MID(SUBSTITUTE(PROPER(C251),"_",""),2,100)(驼峰)=LOWER(LEFT(A:A,1))&amp;MID(SUBSTITUTE(PROPER(A:A),"_",""),2,100) 在原有基础上拼接 成“private String xx;”=CONCATENATE("privat...

2018-11-21 14:08:23 1582

原创 easyPoi实现Excel文件上传下载

easyPoi 官方APIhttp://easypoi.mydoc.io/pom引入 &lt;dependency&gt; &lt;groupId&gt;cn.afterturn&lt;/groupId&gt; &lt;artifactId&gt;easypoi-base&lt;/artifactId&gt; ...

2018-10-31 16:46:52 2093 4

原创 element-UI el-table合并单元格

vue+element-ui合并单元格,如果id列值一致,则合并。&lt;el-table :data="tableData6" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px"&gt;      &lt;el-table-column prop="id" label="ID&qu

2018-10-30 14:37:18 13093 6

转载 HTTP错误码

HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。 HTTP 错误 401 401.1 未授权:登录失败 此错误表明传输给服务器的证书与登录服务器所需的证书不匹配。 请与 Web 服务器的管理员联系,以确认您是否具有访问所请求资源的权限。 401.2 未授权:服务器的配置导致登录失败 此错误表明传输给服务器的证书...

2018-10-24 09:40:28 158

转载 SpringBoot使用Druid数据源

Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池)一、依赖为了测试,使用jdbcTemplate&lt;!-- jdbcTemplate --&gt;&lt;dependency&gt; &...

2018-09-27 10:18:20 174

原创 mysql 中 drop、truncate、delete区别

相同点:  truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点:  1.     truncate 和 delete 只删除数据不删除表的结构(定义)  drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。  2. ...

2018-08-23 16:10:30 177

转载 消息中间件

1.概述中间件 非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件。 消息中间件 管制关注于数据的发送和接收,利用高效可靠的异步消息传递机制集成分布式系统。 优点 ① 解耦 ② 异步 ③ 横向扩展 ④ 安全可靠 ⑤ 顺序保证(比如kafka) jms java消息服务(Java Message Service)即JMS,是一个J...

2018-08-23 08:56:33 124

转载 springboot 文件上传下载

SpringBoot后台如何实现文件上传下载?最近做的一个项目涉及到文件上传与下载。前端上传采用百度webUploader插件。有关该插件的使用方法还在研究中,日后整理再记录。本文主要介绍SpringBoot后台对文件上传与下载的处理。单文件上传// 单文件上传@RequestMapping(value = "/upload")@ResponseBodypublic Strin...

2018-08-09 14:40:39 981

转载 常用数据库连接池(dbpc,c3p0,Druid)

1. 引言1.1 定义数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为...

2018-08-09 14:23:53 1905

原创 菜单树的生成代码

public class MenuService implements IMenuService { @Autowired private SysMenuMapper sysMenuMapper; public List&lt;SysMenuDTO&gt; queryAll(){ String lang = LocaleContextHolder.g...

2018-08-06 15:44:13 394

原创 Velocity入门

官网:http://velocity.apache.orgVelocity是一个基于Java的模板引擎。它允许任何人使用简单而强大的模板语言来引用Java代码中定义的对象。当Velocity用于Web开发时,Web设计人员可以与Java程序员并行工作,以根据模型 - 视图 - 控制器(MVC)模型开发Web站点,这意味着网页设计人员可以专注于创建一个看起来很好的站点,程序员可以专注于编写一...

2018-07-31 11:13:01 826

转载 注解@Slf4j

如果不想每次都写private  final Logger logger = LoggerFactory.getLogger(XXX.class); 可以用注解@Slf4j一、在pom文件加入依赖&lt;dependency&gt;   &lt;groupId&gt;org.projectlombok&lt;/groupId&gt;   &lt;artifactId&gt;lombok...

2018-07-31 10:46:09 826

转载 利用set集合进行list集合高效去重

  我们可以知道Set集合是没有重复数据的特性,那么对于元素为对象 的情况是否也同样奏效?可以看一下。举一个例子:SetTest.java:  class VO { private String name; private String addr;   public VO(String name, String addr) { this....

2018-07-30 10:48:00 1158

转载 转头条:阿里p7架构师:三年经验应该具备什么样的技能?

问:工作中,有时候实现一个功能,会去看有没有现成的轮子可用。对于重复造轮子与改造轮子有什么看法?答:一定会的,其实这也是一个提高技术能力的方法,比如今天想做个日期转换的功能,JDK8有日期的新特性就会考虑直接使用LocalDate.now().format(DateTimeFormatter.BASICISODATE),以前都是自己写个DateUtils。如果已有的轮子不满足需求,我觉得可以基于已...

2018-03-27 11:00:35 9576

转载 linux 压缩解压命令详解

tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到

2017-11-24 15:19:16 175

空空如也

空空如也

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

TA关注的人

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