自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixiaohuai的博客

任何质变都来自于量变的积累。

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 Oracle中可以代替like进行模糊查询的方法instr(更高效)

一、简介相信大家都使用过like进行模糊匹配查询,在oracle中,instr()方法可以用来代替like进行模糊查询,大数据量的时候效率更高。本文将对instr()的基本使用方法进行详解以及通过示例讲解与like的效率对比。二、使用说明instr(sourceString,destString,start,appearPosition)     对应参数描述: instr('源字...

2018-10-30 22:36:03 19369 1

原创 Oracle with..as使用方法

一、简介with..as关键字,是以‘with’关键字开头的sql语句,在实际工作中,我们经常会遇到同一个查询sql会同时查询多个相同的结果集,即sql一模一样,这时候我们可以将这些相同的sql抽取出来,使用with..as定义。with..as相当于一张中间表,可以简单理解为sql片段(类似java复用代码)。下面我们通过两个简单的示例说明with..as的使用方法。二、使用方法...

2018-10-27 17:20:06 6487 3

原创 Oracle踩坑之解决数值0.2只显示成.2方法

一、简介最近在做统计查询时,遇到一个数值0.2查询出来却显示.2的问题,于是查找原因,发现oracle对数值0.n转换成char类型的时候会自动忽略前面的0。本文将通过实际案例讲解怎么解决这种问题。实际项目中一个统计示例sql:select r.xqid,r.yf,r.roomid,r.floorid,r.flowid,r.campus_key,r.roombh,listagg(to...

2018-10-26 16:56:39 2817

原创 Oracle分组合并数据的方法总结 wm_concat() 和 listagg()

一、简介在实际项目中进行一些统计数据时,难免会遇到需要合并数据在列表进行展示的需求。本文将讲解一下oracle 11g合并数据的两种方法 (wm_concat() 和 listagg())。示例:--with as 相当于一张临时表(一次分析,多次使用) with temp as (select 'male' as sex, 'zhangsan' as stu_name f...

2018-10-26 16:05:03 4347

原创 Java排序之Comparable与Comparator详解

一、简介本文主要讲解Comparable接口以及Comparator接口的比较原理以及在实际场景的一些使用方法,以及两者的区别。二、Comparable接口Comparable是一个排序接口,如果一个类实现了Comparable接口,并且实现了compareTo()方法,那么这个类就支持排序。Comparable接口是一个内比较器,这些类可以与自身进行比较。实现了Comparable接...

2018-10-21 10:30:29 820

原创 Java常见排序算法之快速排序详解

一、简介在上一篇文章,我们已经了解了二分查找的算法,今天所讲的快速排序算法就是依据二分法以及递归实现。快速排序采用分治的思想,首先在数组中选择一个基准点,然后从数组的两端扫描数组,设两个指示标志(low指向起始位置,hign指向末尾),首先从后半部分开始,如果发现有元素比该基准点的值小,就交换low和hign位置的值,然后从前半部分开始查找,发现有元素大于基准点的值,就交换low和hign位置...

2018-10-20 22:01:30 366

原创 Java常见算法之二分法查找算法详解

一、简介二分法查找,是在已经排好序的序列中,定义一个起始位置start(即序列第一个元素)和一个终止位置end(即序列最后一个元素),通过mid=(start+end)/2计算出中间位置,通过待查找元素与mid中间位置的元素进行比较,如果待查找元素比中间位置mid对应的值小,那么将end = mid -1(即将end结束位置移动到mid中间左边一个位置),如果比中间对应的值大,那么将start...

2018-10-19 21:55:43 7752 4

原创 常见排序算法之插入排序

一、简介插入排序,就是假定一个参考值,假设该参考值左边的元素都有序,那么从该元素开始从后往前挨个查找,如果找到比参考值大的数,那么就将这个大的数后移,如果未找到比参考值大的数,说明不用移动元素。循环比较,这样经过比较后移之后就会空出下标为0的位置,用于存放这个参考值。二、排序思路排序思路:(假设从小到大)【1】 待排序数组: 5, 6, 3, 7, 2, 1【2】第一趟: 参考...

2018-10-17 21:46:26 5003 5

原创 常见排序算法之选择排序

一、简介选择排序,就是每一趟从待排序的序列中选出最小的元素,顺序放在已排好序的序列最后,直到全部序列排序完毕。简单理解就是假设一个最小值,将剩余的未排序的序列与假设的最小值进行比较,如果发现比假设的最小值还小的值,那么将它与假设的最小值调换位置。二、排序思路排序思路:(假设从小到大)【1】待排序数组: int[] array = {5, 6, 3, 7, 2, 1};【2】第1...

2018-10-16 16:26:20 571

原创 常见排序算法之冒泡排序

一、简介Java中有几种常用的排序算法,比如冒泡排序、二分查找法排序、选择排序等等,本文将对冒泡排序做一个详细的讲解。冒泡排序,主要是比较两个相邻的元素,将值大的元素交换至右端。(假设从小到大排序) 。每进行一趟排序,就会少比较一次,因为每进行一趟排序都会找出一个较大值。二、排序思路排序思路:(假设从小到大排序)【1】、比较相邻的元素。如果第一个比第二个大(小),那么交换两者的...

2018-10-15 21:17:57 360

原创 HashMap分拣存储示例

一、前言众所周知,HashMap是存放键值对的数据结构,但是在实际项目中,还有一个比较常用的HashMap分拣存储思想,本文将通过"统计一句英文中各个单词出现的次数"示例来说明HashMap分拣存储的思想。二、分拣存储原理简单的理解,举一个生活中的例子,分拣存储类似于我们平日生活中的快递分包裹,大家都知道包裹发往全国各地,在打包过程中,假设其中一个包裹是发往北京的,那我们事先准备一个袋...

2018-10-14 21:28:56 458

原创 RestTemplate使用详解

一、简介RestTemplate是spring内置的http请求封装,使用RestTemplate可以轻松的实现HTTP请求。本文将通过RestTemplate在Spring Cloud项目中跨服务调用的示例来讲解RestTempate中常用的GET和POST请求方法,其他方法因为不常用,所以用到的时候再做查阅即可。二、工程准备本文将通过在Spring Cloud中跨服务调用示例来说明...

2018-10-12 18:00:22 681

原创 Java代码优化的一些方法(总结)

一、简介代码优化,目的有两个,第一个就是为了让我们的代码体积尽可能变小,看起来比较清晰,第二个就是为了提高代码运行效率。个人觉得,在平时编写代码的同时,尽量要求自己,养成良好的编码习惯,一个小的优化点,积攒起来肯定会有好处,也能对我们自己以后的代码风格有好处。本文参考了阿里巴巴开发者手册以及网上一些博客,个人进行编码实践之后,重新总结了一些平时项目中常用的一些代码优化技巧,供大家参考学习。...

2018-10-10 11:11:30 1718

原创 Java集合Collection之遍历方法总结(List、Map、Set)

一、简介实际项目中,通常会用到循环遍历List、Map等,今天有空总结了一下List/Map/Set的遍历方法,如下: 二、List遍历List遍历的方法一般有三种: 【a】使用普通的for循环;【b】使用增强for循环;【c】使用Iterator接口遍历;下面以一个示例说明一下List的遍历方法:package com.wsh;import java.u...

2018-10-04 16:17:12 796

原创 Java集合Collection之实现原理解读(HashSet)

一、简介HashSet实现Set接口,底层是由哈希表实现(实际上是HashMap),Set里面的元素无序不重复,可以允许null值。对于熟悉HashMap底层实现的同学相信很容易理解HashSet底层实现原理。 二、实现原理HashSet底层是通过HashMap实现的,通过HashMap来保存所有的元素,HashSet对数据的操作基本上都是调用HashMap的一些方法进行操作,所以...

2018-10-04 15:56:12 424

原创 Java集合Collection之实现原理解读(Map)

一、简介除了List,平时在项目中用的比较多的还有Map,Map是存放键值对的数据结构,键不允许重复,如果键重复会覆盖之前的值。比较常用到的有: HashMap和HashTable。本文将会模仿Map的源码实现两个自定义的Map(一个是没有用hashcode的效率低的版本,一个是用hashcode优化版),只是帮助理解Map底层实现原理,实际项目中没有必要去自定义Map。二、实现原理M...

2018-10-04 09:32:23 1150

原创 Java集合Collection之实现原理解读(LinkedList)

一、简介LinkedList与ArrayList一样都实现了List接口,不过LinkedList底层实现是双向链表,对于插入、修改、删除速度比较快,对于查询就比较慢,因为要循环遍历查找。本章将模仿LinkedList源码实现一个简单的自定义LinkedList,以帮助饿哦们理解LinkedList底层是怎么实现的。二、实现原理LinkedList底层是通过双向链表实现的,通过一系列的...

2018-10-03 20:58:00 1349 1

原创 Java集合Collection之实现原理解读(ArrayList)

一、简介在项目中,相信大家都已经用过集合List,它提供了一系列的API,方便我们使用。今天有空去看了下ArrayList的源码,本章将会模仿源码实现一个简单的ArrayList,只是帮助理解ArrayList底层是怎么实现的,并没有必要去自定义ArrayList。二、实现原理ArrayList底层是通过数组实现的,所有对数据的操作其实底层都是对Object[]数组的操作, 具体的增删...

2018-10-03 16:16:26 405

原创 Spring Cloud Sleuth链路跟踪之使用Mysq保存服务链路跟踪信息(学习总结)

一、简介我们在上上一篇文章(https://blog.csdn.net/Weixiaohuai/article/details/82883280)已经实现了通过RabbitMQ消息中间件的方式来收集服务链路跟踪信息,但是当zipkin-server服务端重启之后,你会发现之前的链路信息都清空了,通过zipkin可视化界面已经不能看到服务之间的调用关系以及服务依赖关系了,这个时候我们就需要考虑将...

2018-10-02 17:11:54 710 1

原创 SpringBoot整合Swagger生成接口文档

一、简介Swagger是一个功能强大的API框架,它支持在线文档的查看以及在线文档的测试,方便我们前后端开发人员对接。Swagger使用起来也很简单,只需要加入swagger对应的依赖以及在controller类以及方法中加入相应的注解说明,swagger就会帮我们自动生成API接口文档。本文主要通过一个简单的模拟增删查改功能实现springboot整合swagger2生成Restful ...

2018-10-01 12:57:43 609

zipkin-server jar.zip

spring cloud zipkin服务链路跟踪server相关jar包,下载完成之后使用java -jar zipkin-server-2.12.9-exec.jar方式运行,就能启动zipkin-server,不建议自己搭建zipkin-server

2020-08-29

空空如也

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

TA关注的人

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