自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zzuhai的博客

一天天积累

转载 Java 8-新的日期和时间API

转载:https://blog.csdn.net/zsx157326/article/details/80887673 日期和时间:LocalDate和LocalTime LocalDate类,该类的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息。另外,它也不附带任何与时区相关的...

2019-09-19 14:06:36

阅读数 7

评论数 0

原创 elasticsearch学习

es的核心概念 基于lucene (1)分布式文档存储引擎 (2)分布式搜索引擎和分析引擎 (3)分布式,支持PB级数据 1. Near Realtime(NRT) 近实时 1. CLuCLuster 集群 2. Node 节点 3. Document 文档 4. Ind...

2019-09-18 11:18:50

阅读数 92

评论数 0

原创 Date相关操作

查询某月第一天 /** * 获取某月第一天 * * @param dateyyyyMM * @return */ private String getFirstDateByMonth(String dateyyyyMM) { ...

2019-09-18 11:17:13

阅读数 15

评论数 0

原创 冒泡排序

原理 (1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。 (2)这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第 N-1 个位置。 (3)N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成。 代码 public sta...

2019-07-29 16:08:58

阅读数 10

评论数 0

原创 插入排序

原理: 从第二个数开始(i=1)循环作为插入的数,和前一个数(index=i-1)进行比较,如果前一个数小于插入的数,则插入数插入index+1位置,如果前一个数大于插入的数,给index+1位置赋值上index位置的数,index–,来循环比较前面的数,直到前一个数(index)小于插入的数,插...

2019-07-29 15:38:34

阅读数 14

评论数 0

原创 快速排序

快速排序的原理: 选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的), 比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。 一次循环: 从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有 继续比较下一个,直到找到第一个比基准值小的值才交换。找到...

2019-07-29 15:08:29

阅读数 18

评论数 0

原创 lambda表达式

函数接口 一般使用注解@FunctionalInterface修饰 在Java 8中,把那些仅有一个抽象方法的接口称为函数式接口。如果一个接口被@FunctionalInterface注解标注,表示这个接口被设计成函数式接口,只能有一个抽象方法 java8自带的常用函数式接口 函数接口 抽...

2019-07-18 14:03:10

阅读数 10

评论数 0

原创 设计模式-装饰者模式

参考:head-first-设计模式 定义 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案 这个模式主要就是,装饰类和被装饰类需要继承同一个超类,实现超类里面的抽象方法 问题描述 一个咖啡店,需要统计订单上的咖啡,以及加的配料,算总价,配料数量、种类经常变化...

2019-07-11 11:33:31

阅读数 14

评论数 0

原创 设计模式-观察者模式

观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态是,它的所有依赖者都会受到通知并更新

2019-07-11 09:27:30

阅读数 16

评论数 0

原创 list删除某个元素的三种方法

Stream List<String> list1 = list.stream().filter(list2->!list2.equals("123")).collect(Collectors.toList()); for循环 for (int i=0;i&...

2019-07-10 16:25:49

阅读数 301

评论数 0

原创 设计模式-策略模式

策略模式定义来了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的用户

2019-07-05 10:07:57

阅读数 30

评论数 0

原创 ThreadLocal源码分析

ThreadLocal最好使用private static修饰 set方法 public void set(T value) { //获取当前线程 Thread t = Thread.currentThread(); //根据获取的线程,调方法获取存放数据的map ...

2019-07-03 15:24:43

阅读数 19

评论数 0

原创 Java并发编程:volatile关键字解析

看这篇文章:https://www.cnblogs.com/dolphin0520/p/3920373.html 总结一下 为了解决缓存不一致性问题 1)通过在总线加LOCK#锁的方式 2)通过缓存一致性协议 Intel 的MESI协议,MESI协议保证了每个缓存中使用的共享变量的副本是一致的 缓...

2019-07-02 15:40:20

阅读数 19

评论数 0

原创 spring boot整合redis

加入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifac...

2019-07-02 13:47:08

阅读数 59

评论数 0

原创 Java 8-Stream详解

Stream使用实际就是把 集合对象转换为stream对象 对stream对象进行过滤筛选等操作 筛选后的结果又转换为集合,或者返回统计结果 串行:.stream() 并行:.parallelStrea() 1. 集合转换为Stream对象 collection集合转换成stream对象 ...

2019-07-01 15:13:25

阅读数 34

评论数 0

原创 oracle合并多条数据不相同字段

需要使用到函数wm_concat(),和分组group by select wm_concat(t.name) from user t group by t.sex ps:当组内某条数据的name为null的时候,只拼接不为null的数据 如果多个字段值相同,可以同时作为分组条件 select ...

2019-06-28 10:00:21

阅读数 286

评论数 0

原创 修改linux服务jdk版本

查看jdk版本,得到jdk和jre路径 进入服务器,cd usr/java/ -->ll 查看jdk版本 cd进入需要的版本 pwd打印出jdk路径 进入jre用pwd打印出jre路径 进入服务 修改vim bin/catalina.sh 如果没有圈起来的HOME就添加,如果有就修改 ...

2019-06-17 22:05:50

阅读数 874

评论数 0

转载 xxl-job任务调度框架的使用

新建程序 加入pom依赖 <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>...

2019-06-17 21:57:51

阅读数 266

评论数 0

原创 遍历http请求参数

遍历请求头 Enumeration<String> headerNames = request.getHeaderNames(); if (null != headerNames) { while (headerNames.hasMoreElements()) { ...

2019-06-17 21:32:36

阅读数 186

评论数 1

原创 Xml和Object转换

以下是相互转换的代码 public final class XmlAndJavaObjectConvert { /** * 将对象直接转换成String类型的 XML输出 * * @param obj * @return */ ...

2019-06-17 21:23:52

阅读数 160

评论数 0

原创 git使用的基本命令

github关联的参考文章 以下只是总结常用命令 初始化仓库 git init 添加到暂存区 $ git add 文件名 #将文件的修改,文件的新建,添加到暂存区。 $ git add . #将所有文件的修改,文件的新建,添加到暂存区。 $ git add -u #将文件的修改、文件的删除,添...

2019-06-17 21:18:27

阅读数 80

评论数 0

原创 spring cloud Zuul网关使用

新建spring cloud程序,添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</a...

2019-06-17 17:29:06

阅读数 63

评论数 0

原创 使用idea自带database连接使用oracle

点击idea右边有database的按钮 点击添加oracle数据库 输入自定义的数据库名字,输入正确的host,port,sid,user,password 观察uri是否和项目中连接数据库的链接相同 点击Test Connection,第一次会报错,提示你安装驱动,点击确定安装好驱动,测...

2019-06-17 15:49:14

阅读数 1438

评论数 0

原创 Eureka注册中心详解(含高可用)

注册中心详解 新建spring cloud程序 添加注册中心依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-s...

2019-06-17 14:37:06

阅读数 252

评论数 0

原创 Hystrix dashboard监控使用

需要加入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix-dashboard</art...

2019-06-17 13:26:25

阅读数 100

评论数 0

原创 基于git的spring cloud config使用详解

一、首先需要启动eureka注册中心 注册中心的编写启动参考:https://blog.csdn.net/forezp/article/details/69696915 二、在git中新建config仓库 输入仓库名 新建文件夹configRepository,并在下面新增application...

2019-06-14 10:31:25

阅读数 25

评论数 0

原创 设计模式-单例模式

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。 通常单例模式在Java语言中,有两种构建方式: 懒汉方式。指全局的单例实例在第一次被使用时构建。 饿汉方式。指全局的单例实例在...

2019-06-05 10:38:42

阅读数 27

评论数 0

原创 RabbitMQ安装和配置

安装和操作 otp下载地址:http://www.erlang.org/downloads otp安装教程:http://blog.51cto.com/10836356/2082658 rabbitmq下载地址:http://www.rabbitmq.com/install-windows.htm...

2019-06-05 09:51:08

阅读数 131

评论数 0

转载 Mysql优化

转载:segmentfault.com/a/1190000012155267 一、EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 1. type列,连接类型。一个好的sql语句至少要达到ran...

2019-06-05 09:50:43

阅读数 48

评论数 0

原创 设计模式是什么

创建型模式 共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式 共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式 共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者...

2019-06-05 09:50:15

阅读数 64

评论数 0

原创 Java多线程一篇就够了

JAVA 线程实现/创建方式 继承Thread类 public class MyThread extends Thread { public void run() { System.out.println("MyThread.run()"); ...

2019-06-04 13:28:02

阅读数 97

评论数 0

原创 RSA加密使用详解

RSAUtils工具类的实现: import org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil; import org.springframework.util.Base64Utils; import java.security.Ke...

2019-06-04 11:30:56

阅读数 472

评论数 0

转载 swagger2的使用详解

1、添加Swagger2依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <...

2019-06-04 11:24:36

阅读数 2360

评论数 0

转载 熔断器Hystrix配置及使用

1、背景 调用链路:A》B》C,如果C不可用,将影响B,进而影响A,形成雪崩效应。 2、熔断机制 Hystrix Command请求后端服务失败数量超过一定比例(默认50%)且10秒内超过20个请求, 断路器会切换到开路状态(Open). 这时所有请求会直接失败而不会发送到后端服务. 断路器保持在...

2019-06-04 11:07:22

阅读数 1000

评论数 0

原创 cron表达式详解

cron表达式 * * * * * ? * 分别表示的是秒,分,时,日,月,周,年 其中年可以省略 * 星号 使用星号(*) 指示着你想在这个域上包含所有合法的值。例如,*在分钟字段时,表示“每分钟” 如 0 * 17 * * ?,每天从下午5点到下午5:59中的每分钟激发一次 ? 问号 该字符只...

2019-06-04 10:52:34

阅读数 97

评论数 0

原创 quartz定时任务的使用

需要加入jar包和配置文件 待分享 配置文件需要修改的地方: 调用的方法: 说明: targetObject:想启动方法所在类的注解名 targetMethod:想启动的方法名(注意这个方法不能有入参,不然会找不到方法) concurrent:为false时表示一次执行完了才执行下一次 需要配...

2019-06-04 10:45:32

阅读数 351

评论数 0

原创 Java导出数据到excel

1.需要添加这个初始化excel的model类到项目中 import org.apache.poi.hssf.usermodel.*; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.ma...

2019-06-04 10:37:08

阅读数 36

评论数 0

原创 Guava缓存的使用

适用于 你愿意消耗一些内存空间来提升速度。 你预料到某些键会被查询一次以上。 缓存中存放的数据总量不会超出内存容量。 cacheLoader方式 //这种方式的返回值不能为null,会报异常 //这种方式使用get方法来获取缓存的值 //使用put赋值缓存,put里面传入的是缓存的key和入参,v...

2019-06-04 10:28:34

阅读数 32

评论数 0

原创 Spring Cloud Eureka 服务上下线监控

EurekaInstanceCanceledEvent 服务下线事件 EurekaInstanceRegisteredEvent 服务注册事件 EurekaInstanceRenewedEvent 服务续约事件 EurekaRegistryAvailableEvent Eureka注册中心启动事件...

2019-06-04 10:18:52

阅读数 133

评论数 0

原创 JVM学习

问题: 如何判断对象是否死亡(两种方法)。 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。 如何判断一个常量是废弃常量 如何判断一个类是无用的类 垃圾收集有哪些算法,各自的特点? HotSpot为什么要分为新生代和老年代? 常见的垃圾回收器...

2019-06-04 10:13:35

阅读数 28

评论数 0

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