自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadLocal

threadLocal是线程存储信息的一种手段,方便我们在多线程环境下,分层(比如MVC)开发中存储信息的一种手段,比如存放登录用户信息,多租户环境下的来源信息,分库分表/读写分离的信息。首先,生成一个子线程,往ThreadLocal中存放一个的信息,主线程无法获取到,再生成一个同样无法获取到,说明了具有线程隔离性,但是线程B获取到了说明同线程当中,是可以获取到的。输出结果三、源码解读3.1 构造方法类没有继承其他类或者实现任何接口,所以只有一个无参构造方法(其实也提供了一个附带初始化的静态初始化方

2024-08-15 15:35:54 387

原创 Elasticsearch索引初探

"id":2,"name":"默认新增一条数据"

2024-07-21 23:51:32 286

原创 kibana安装

作者目前联系ELK,所以就先使用elasticsearch进行相关部署。

2024-07-21 16:56:48 284

原创 elasticsearch安装

根据自己的操作系统选择对应的下载对应的文件,作者采用的是Windows操作系统,使用的版本是8.14.3,下载后解压到合适的文件夹。通过双击bin目录下的elasticsearch.bat批处理文件进行启动,如果直接启动,会在配置文件内生成一些安全配置,导致启动成功后由于一些安全选项导致无法访问,可以通过修改配置文件的方式来避免这些问题。配置文件是config目录的elasticsearch.yml,可以在启动前添加这些配置,或者第一次启动无法访问后修改这些配置项。启动成功后,浏览器输入。

2024-07-21 16:37:11 418

原创 Idea项目打印mongo sql

1.前言项目中使用到mongodb时,想要验证自己的sql 是否正确或符合预期,就需要查看自己的sql条件拼写是否正确,idea 安装插件配置正确后就可以像查看mysql 语句一样查看mongo sql了2.插件安装Idea 打开File>Setting>Plugins,,右侧选择Marketplace,输入MongoQuery,点击install,安装成功后,下方选择apply、ok,安装成功后可能需要重启Idea。3.项目配置在properties或者yml中加上配置logg

2021-11-18 16:11:30 4533 4

原创 你执行的是run方法是Thread类的还是Runnable接口的?

前言大家面试的时候可能会遇到这样的问题,执行Thread子类的run方法时,如果初始化对象调用的是有参(Runnable runnable)方法,执行的时候执行的究竟是谁的run方法?前置在正式思考这个问题之前,我们先看一个简单的例子,相信大多数人在学习java的时候都写过这样的一个例子:package com.example.demo.web;public class Animal { public void sound() { System.out.println(

2020-08-11 15:55:30 613

原创 Optional工具类学习

1. 作用对对象进行空判断,之后进行一些列附加操作(多重判断,操作之后返回新的对象)的优雅实现,避免了以往代码不够模块化/易读性差等问题,其中大量使用Objects工具类和函数式接口。2. 属性/变量2.1 EMPTY类私有常量,多用于返回不含值的Optional对象private static final Optional<?> EMPTY = new Optional<>();2.2 valueOptional 对象存储的值private final T val

2020-07-31 08:52:32 319

原创 源码分析pagehelper-mybatis分页不生效原因

前言事情发生在一起重构事件中,本身是由老项目迁移而来,新老项目均采用com.github.pagehelper进行分页,旧项目原始springmvc项目,且分页正常。注:项目采用springboot、pagehelper-spring-boot-starter、mysql1.源码分析1.1 pagehelper 是否生效通过断点在项目启动在addPageInterceptor方法内,启动过程中走了断点,说明pagehelper启动中是进行了某些操作,所以引入插件是没有问题的。类声明中有@Cond

2020-07-16 16:08:28 509

原创 优秀工具推荐

脑图1.在线版processon:用过的人都说好,支持多种方式登录,免费用户初始9个脑图保存限制,可以通过各种方式增加额度,也可通过付费手段获得无限保存资格。注册链接:https://www.processon.com/i/5e8d6a200791292c97b29249...

2020-07-01 13:25:59 97

翻译 springcloud gateway简介 filters(三)

6. GatewayFilter 过滤器路由过滤器允许以某种方式修改传入 HTTP 请求或传出 HTTP 响应。路由过滤器的作用域是特定的路由。Spring Cloud Gateway 包括许多内置的网关过滤器工厂。有关如何使用以下过滤器的更详细示例,请参阅unit tests 单元测试6.1 AddRequestHeader 过滤器AddRequestHeader过滤器使用两个参数(name && value )Example 13. application.ymlsprin

2020-06-01 17:37:51 2474

翻译 springcloud gateway简介 Predicates(二)

5. 内置Predicates断言5.1 After 路由断言After 路由断言只有一个ZonedDateTime生成的datetime参数,只有在这个事件之后的请求才能匹配上。Example 1. application.ymlspring: cloud: gateway: routes: - id: after_route uri: https://example.org predicates: - Aft

2020-05-16 16:16:32 4016

翻译 springcloud gateway简介(一)

前言Spring Cloud Gateway该项目提供了一个构建在 Spring 生态系统(包括 Spring 5, Spring Boot 2 ,Project Reactor)之上的 API 网关,旨在提供一种简单而有效的方法来路由到 api,并为它们提供横切关注点,例如: 安全性、监视 / 度量和弹性扩容。官方原文链接1. 引入要在项目中包含 Spring Cloud Gateway,请使用具有 org.springframework.cloud 组 ID 和 spring-cloud-sta

2020-05-16 16:14:20 383

原创 springcloud父工程创建

1.项目创建首先创建一个空的父级maven项目,用于统一依赖版本信息,避免组件版本号不一致导致的各种疑难杂症。我们使用apache的组件来创建一个空的项目然后填写自己的项目名称及包信息这里确定一下自己的输入信息,如果有误的话可以回退重新填写,这里我使用自己的setting,使用的阿里镜像,下载jar包更快2.springcloud及springboot版本号确定<prope...

2020-05-06 18:13:01 237

原创 redis 库存扣减

前言本文内容基于单机redis操作,暂不探讨集群及数据分片。分别采用redis 数字increment和 list的push pop操作扣减库存。1.不加锁操作1.1 数据准备设置key=100,向list push100条简单数据作为库存。示例:redisTemplate.opsForValue().set("key","100");for (int i = 0;i < 1...

2020-05-06 17:24:23 1799

原创 mongodb基础命令

1.创建数据库use xxx2.删除数据库db.dropDatabase()3.创建集合db.createCollection("集合名称")4.删除集合db.dropCollection("集合名称")5.新建文档db.collectionName.save({json数据})db.collectionName.insert({json数据})6.查询...

2020-04-17 16:55:15 84

原创 Java引用

引用分为四大类:强(Refrence)、软(SoftRefrence)、弱(WeakRefrence)、虚(幽灵PhantomRefrence),都可以与引用队列进行关联操作,但是虚引用必须跟引用队列一起使用强引用日常编码中 Object object = new Object(); 其中object就是强引用,无论何时,只要引用还存在即GCroots能够到达,它就不会被jvm回收软引用j...

2020-03-30 16:45:11 89

原创 jvm基础参数

jvm参数设置-Xms-Xmx-Xss-Xmn-XX:MetaspaceSize-XX:+PrintGcDetails-Xms初始化堆内存大小,相当于 -XX:initHeapSize ,默认为系统内存的1/64-Xmx最大堆内存,相当于 -XX:MaxHeapSize,默认为系统的1/4-Xss栈空间,windows取决于内存大小,而其他系统默认为1024k-Xmn新生代大小-...

2020-03-30 16:05:45 179

原创 JVM参数查询

JVM参数查询方式一1.1 jps -l1.2 查询参数1.2.1 jinfo -flag <参数名> <线程ID>1.2.2 jinfo -flags <线程ID>2 java -XX:+PrintXX -version2.1 java -XX:+PrintFlagsInitial2.2 java -XX:+PrintFlagsFinal2.3 java -X...

2020-03-30 12:00:25 221

原创 JDK8 64下载windows & linux

某盘链接:https://pan.baidu.com/s/1E753h9PwkE5B26n5-BbxXw提取码:1i49

2020-03-06 18:16:52 210

空空如也

空空如也

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

TA关注的人

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