自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

转载 基于spring实现事件通知

ApplicationEvent

2023-03-28 13:36:43 274

转载 RSA加解密、签名验签

RSA加解密及验签

2023-03-08 15:12:11 563

转载 JVM调优篇

JVM调优篇

2023-02-17 16:32:16 597

转载 ELK超级好用的日志处理系统

elk的搭建https://www.cnblogs.com/yuhuLin/p/7018858.html

2021-07-07 11:34:33 183

原创 RSA加解密限制处理

import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;import java.io.ByteArrayOutputStream;import java.security.Key;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerato..

2021-05-28 22:39:50 403

原创 git记录查询

导出git提交记录git log --author="名字" --since==2021-01-01 --until=2021-01-31 --date=iso --pretty=format:’"%h","%an","%ad","%s"’ >> commit.csv查git提交了多少代码git log --author="名字" --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log.

2021-03-10 19:19:21 130

原创 IDEA连接远程服务器

IDEA真的好强大居然还能连远程服务器:1.双击shift键出来弹框2.输入账号密码直接默认就行3.进去了之后就直接能把IDEA里的文件直接拖到这边的服务器上4.调出命令行窗口

2021-01-11 15:23:37 874

原创 ES增删改查

@Autowired private RestHighLevelClient restHighLevelClient; //创建索引 @Test public void testCreateIndex() throws IOException { CreateIndexRequest createIndexRequest = new CreateIndexRequest("jlr"); IndicesClient indicesClie..

2020-08-17 10:56:56 501 1

原创 ES存取

从商城爬取数据写入ES/** * 解析网站的数据写入ES * @param keyWords * @throws IOException */ public boolean parse(String keyWords) throws IOException { //爬取数据 List<Product> products = EsReptile.reptile(keyWords); //创建...

2020-08-17 10:53:18 284

原创 ElasticSearch环境搭建

1.在官网把包下载下来直接解压即可使用2.进入到bin目录下elasticsearch.bat文件双击就开启了如下图就是启动成功了默认端口是9200就直接可以用Postman进行调用(get)3.Postman返回参数如图4.集成IK分词器 4.1下载到包进行解压到下面的位置(elasticsearch目录下的/plugins/目录下) 4.2重新启动elasticsearch 4.3在用postman进行测试学习来源:http...

2020-08-14 16:38:36 111

原创 redis工具类

package com.kuang.utils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import org.springframework.util.CollectionUtils;import ja.

2020-08-14 11:12:43 96

原创 redis持久化之RDB和AOF

前段时间在B站上看到的狂神说JAVA的 号看了他的一个视频redis做个笔记1、RDB持久化方式能够在指定的时间间隔内对你的数据进行快照存储2、AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据, AOF命令以Redis协议追加保存每次写的操作到文件未尾, Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大。3、只做缓存,如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化4、同时开启两种持久化方式在这种情况

2020-08-13 14:25:13 96

转载 HashMap什么时候由链表转红黑树

结论是目前能触发转化的两个条件是:一个是链表的长度达到8个,一个是数组的长度达到64个为什么要触发这个转换,目前官方的解释:Because TreeNodes are about twice the size of regular nodes, we use them only when bins contain enough nodes to warrant use (see TREEIFY_THRESHOLD). And when they become too small (due to re

2020-08-11 18:36:52 3458

原创 RestTemplate下载文件

场景描述:需要在服务器上面把Excel模板下载下来然后再把数据写入Excel导出起初我们的做法是将文件上传到服务器,会产生一个下载地址http://localhost:8080/api/123.xlsx//直接获取文件流Resource res = new UrlResource(url + "=" + param.getTokenId());//可以获取到这个文件,文件名File file = res.getFile();String filename = res.getFilena.

2020-07-24 15:16:19 5268 2

转载 异步调用使用AsyncRestTemplate

http://www.manongjc.com/article/49956.htmlhttps://blog.csdn.net/qq_38622452/article/details/81874483?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-b

2020-07-20 17:38:24 298

原创 微服务构建过程

2020-07-15 16:47:36 266

原创 数据库导出Excel乱码 解决

导出查询结果的时候用这个导出在数据库查询的时候加这个函数和不加看上去没有什么去区别不加这个函数导出结果为SELECT t1.name,t1.description from demo t1使用这个CONVERT(字段名USING utf8)SELECT CONVERT(t1.name USING utf8),CONVERT(t1.description USING utf8) from demo t1导出结果就是正常了...

2020-06-18 15:53:27 1687

转载 项目中遇到哪些难点,如何解决的

Sanno限时秒杀抢票系统亮点:在高并发情况下的秒杀优化,我们知道当并发数达到一定量的时候,会对数据库服务器带来很大的压力,那么如何缓解这些压力以及提高并发的QPS就是整个项目的重点。(不断的提高QPS)。亮点3个:1.利用缓存减少数据库的压力,以及读取缓存的速度远远快于数据库(网络时延+IO)2.页面静态化技术加快用户访问速度,提高QPS,异步下单增强用户体验,以及内存标记减少Red...

2020-03-27 12:30:17 17552 1

转载 阿里Excel读写神器(海量数据)----easyExcel

https://github.com/alibaba/easyexcel/tree/master/src/main/java/com/alibaba/excelhttps://alibaba-easyexcel.github.io/

2019-11-29 10:39:30 1058

转载 Spring Boot整合RabbitMQ详细教程

1.首先我们简单了解一下消息中间件的应用场景异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式(1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这种做法让客户端等待没有必要等待的东西.(2)并行方式:将注册信息...

2019-11-26 20:13:42 252

原创 移动端浏览器上直接打开txt显示文本乱码

1、问题描述后台往前端输出流中没有指定编码,所以会默认使用浏览器本身的编码。移动端的主流浏览器不会像pc端一样自动进行编码转换,所以当文本的编码是utf-8的时候会显示正常,但是当编码为GB2312或ANSI时,显示为乱码。附件为几个不同编码的文本使用notepad++打开右下角会显示具体编码:2、解决方案2.1、判断数据流的编码参考下面这篇文章:http...

2019-11-06 10:20:13 6168

转载 java中什么是锁?什么是cas?什么是AQS?

java中什么是锁?什么是cas?什么是AQS? synchronized 终极锁核心Atomic 什么是cas? 那cas都明白了,AQS还难?synchronized大部分入门的人,都知道这个,都知道把它加到对象,方法上就能锁住代码,它的原理也很简单,同步锁,顾名思义就是把访问到这个方法的都变成串行。意思就是说一个方法很多线程来访问,...

2019-09-19 11:48:12 181

转载 锁升级 原理 和 优化

在JVM中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐填充。如下: 实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐。 填充数据:由于虚拟机要求对象起始地址必须是8字节的整数倍。填充数据不是必须存在的,仅仅是为了字节对齐。而对于顶部,则是Java头对象,它实现synchronized...

2019-09-14 13:31:21 239

转载 多线程 无锁不能!!!

1.简介 JAVA中实现加锁是通过Synchronized关键字以及java.util.concurrent包下的相关类。Java提供的用于实现加锁的相关API:Lock提供了比使用Synchronized同步方法和同步语句块更广泛的锁定操作。2.java.util.concurrent包Lock接口 //试图获取锁. void lock() ...

2019-08-31 17:41:45 120

转载 线程安全问题 这样回答才牛逼嘛

不是线程的安全面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。切记望文生义。同理,“线程安全”也不是指线程的安全,而是指内存的安全。为什么如此说呢?这和操作系统有关。目前主流操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问...

2019-08-17 13:37:46 122

转载 WeakHashMap很有意思的一个Map

以前是真没见过这个Map ,评论下你在哪里见的 ,我在前几天看cglib源码的时候看到,就把它给挖出来了 。。。。。JavaWeakHashMap到底Weak在哪里,它真的很弱吗?WeakHashMap的适用场景是什么,使用时需要注意些什么?弱引用和强引用对Java GC有什么不同影响?本文将给出清晰而简洁的介绍。总体介绍在Java集合框架系列文章的最后,笔者打算介绍一个特...

2019-05-18 15:32:45 108

原创 Mysql数据库 InnoDB锁类型

行级别的锁1、共享锁:也称为读锁,多个读锁是共享一把锁,只能读数据,如果去修改数据可能会造成死锁;2、排他锁:也称为写锁,不能与共享锁或者排他锁并行 (新增、修改、删除语句会自动加上排他锁)手动加锁:select * from demo where id =1 for表级别的锁意向锁的作用:提高加锁的效率,比如当一行数据被加排他锁,会相对应开启意向排他锁锁住整张表,当别的事物再去尝试锁...

2019-04-15 10:43:43 128

转载 ConcurrentHashMap原理分析

一、背景:线程不安全的HashMap因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。效率低下的HashTable容器HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTabl...

2019-03-13 18:43:26 63

转载 深挖HashMap

Map解析1. hashmap的数据结构Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“),请看下图(横排表示数组,纵排表示数组元素【实际上是一个链表】)。从图中我们可以看到一个hashmap就是一个数组结构,当新建一个hashmap的时候,就会初始化一个数组。Entry就是数组中的元素,它持有一个指向下一个元素的引用,这就构成了链表。...

2019-03-12 18:48:17 112

转载 java多线程中如何保证变量的可见性、原子性

首先,理解一下可见性:线程在修改主存变量的时候会先拷贝一份到自己的线程栈中去处理,每个线程都有自己的空间,相互是独立的,在变量修改完成到写入主存中,这个过程对其它线程是不可见的。(这里不明白的话可以看一下java内存模型及线程间的通信)那么问题来了 不可见会如何?数据的一致性会被打乱,程序出bug,A线程改了变量c的值,B线程读到的却是c原来的值(其实想要的是A线程改后的值)解决办法:...

2019-03-12 17:25:57 956

原创 虚拟机CentOS安装步骤,静态IP设置

安装前准备工作:1.1虚拟机版本:VMware® Workstation 14 Pro1.2虚拟机镜像:CentOS Linux release 7.5 1804(Core)1.3服务器配置:CPU:4核及以上内存:8G及以上硬盘:50G及以上一、新建虚拟机1.打开VMware Workstation 14,点击【创建新的虚拟机】,如下图:2.选择典...

2019-01-06 15:46:32 325 2

转载 poi导入excel表格实现联动效果

一、主要步骤 1 创建workbook,创建要展示的sheet,即需要用户填写的sheet,设置表头等必须字段 2 创建隐藏sheet,列出下拉列表中需要展示的项信息 3 名称管理器设置name 4 利用名称管理器关联到隐藏sheet中信息 5 设置有效性,添加验证 二、详细步骤 可以先熟悉在excel文件中新建多级联动做法,可参照Excel多级下拉菜单联动自动匹配内容 (http...

2018-12-12 17:20:34 1652 2

转载 java“锁”事

前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:1. 乐观锁...

2018-12-03 15:39:29 128

原创 第11篇:熔断监控Hystrix Dashboard

Hystrix Dashboard是Hystrix的仪表盘组件,主要用来实时监控Hystrix的各项指标信息,通过界面反馈的信息可以快速发现系统中存在的问题。 Hystrix Dashboard快速体验 一:在服务消费者方整合Hystrix Dashboard 二:pom依赖springcloud以前的版本需要依赖3个 1 2 3 4...

2018-12-03 15:35:55 176

原创 第十篇:Feigh对Hystrix的支持

说明:feign只能服务降级,无法实现服务的熔断,我了解的就是这样的。 Feign 本身支持Hystrix,不需要额外引入依赖。 1:在application.properties文件中开启hystrix 1 feign.hystrix.enabled=true 2:创建熔断实现类 1 2 3 4...

2018-11-13 14:50:14 269

原创 第九篇:断路器--Hystrix简介

一:雪崩效应如下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者。A不可用引起了B的不可用,并将不可用像滚雪球一样放大到C和D时,导致整个系统瘫痪,雪崩效应就形成了。  雪崩过程:1:由于网路或其他原因(硬件故障、程序Bug、用户大量请求)A服务变得不可用,A服务的不可用导致B服务会出现线程的长阻塞,此时如果有大量的请求涌入(用户重试加大流量),B服务s...

2018-11-13 14:47:48 219

原创 第八篇:Feign使用注意事项

我们定义一套用户信息增删改查的接口,详细给大家介绍Feign客户端定义。一:服务提供者暴露的接口package com.wendao.provider.web;import com.wendao.provider.pojo.User;import org.springframework.web.bind.annotation.PathVariable;import org...

2018-11-13 14:44:48 983

原创 第七篇:Feign访问服务集群

一、 什么是  Feign ?Feign 是一种声明式、模板化的 HTTP 客户端,在 Spring Cloud 中使用 Feign,可以做到使用 HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个 HTTP 请求。Feign 的灵感来源于 Retrofit、JAXRS-2.0 和 WebSocket,它使得 Java HTTP ...

2018-11-13 14:41:47 1673

原创 第六篇:负载均衡器Ribbon

什么是RibbonRibbon是Netflix公司开源的一个负载均衡的项目,是一个客户端负载均衡器,运行在客户端上。它是一个经过了云端测试的IPC库,可以很好地控制HTTP和TCP客户端的一些行为。 Feign已经默认使用了Ribbon。 Ribbon的工作流程 1:user微服务1、user微服务2、user微服务3是一个服务集群,它们都会向注册中心注册服务(它们的应用名...

2018-11-13 14:39:19 208

原创 第五篇:RestTemplate访问服务集群

在生产环境,为了防止单节点故障,服务应用往往要搭建服务集群,而咱们上一讲使用的远程调用方式是没法对集群进行访问的,只能对某个应用节点进行访问。代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 @RestController public ...

2018-11-13 14:32:52 969

springBoot原理&流程

随着公司对简化开发的追求,springBoot已经成为一种趋势,它大大简化了我们的开发流程,做到了零XML配置,也是学习springCloud的必经之路。掌握springBoot在一线城市至少12k,二三线城市9k应该是没问题

2018-09-11

springBoot入门到不放弃

随着公司对简化开发的追求,springBoot已经成为一种趋势,它大大简化了我们的开发流程,做到了零XML配置,也是学习springCloud的必经之路。掌握springBoot在一线城市至少12k,二三线城市9k应该是没问题

2018-09-11

空空如也

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

TA关注的人

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