自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 一款好用的免费内网穿透软件

前几天发现一个免费的内网穿透软件,https://timetunnel.site 真好用啊。官方文档写的也很详细666。

2023-08-14 09:35:00 87

原创 JVM(三) StackOverFlow和OOM 场景模拟

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-02-17 14:08:15 618

原创 JVM(二) 四种GC算法,以及GC日志分析理解

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-02-17 13:32:27 279

原创 JVM (一) 运行时数据区

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-02-15 19:14:59 151

原创 使用CDN 大幅减少webpack打包大小,提升前端页面响应速度

使用CDN 大幅提升页面加载速度前言之前做了一个静态网站,做了个关于地图的小工具,使用了element-ui和xlsx两个组件。在打包之后静态资源目录下的文件大小达到了1.7m 。使用nginx部署在我的云服务器上之后,我的配置很低1m带宽,发现页面每次加载差不多要20s左右。本来自己用,无所谓了,慢点就慢点吧。但是过了两天。测试妹子发消息说。最直接的两个解决方案1 将较大的这个js使用cdn加速来让页面变快,但是显然它有一个致命缺点,需要花钱买cdn服务。直接放弃2 这只是个小工具网页。

2020-11-19 21:20:36 1277

原创 vue-baidu-map简单demo,附github地址

vue使用百度map安装和使用参考官方文档github超简单demodemo已经整合了vue-baidu-map执行npm i将 ak 换成自己的key即可。yarn serve / npm serve 异常问题排查地图不能整合成那个加载出来,请首先排除以下2点原因1 应用类型检查当前的key 对应的百度地图后台的应用的应用类型是否正确,前端调用,应该是浏览器端。。注意在以前,服务端的应用,前端也是正常可以使用key值使用的,但是新版本之后,前端需要使用浏览器端。白名单注意白名

2020-10-27 11:30:52 512

原创 github不能访问,下载慢,终极法宝

起因前两天从github上拉一个项目。因为下载很慢。总是下载半天,最终还失败了。然后我打开百度,搜索 github下载慢。成功的找到一篇文章。我向来是看完文章还,更加喜欢看评论。因为评论区人才很多,说话又好听。。。(有的人说有用,有的人反馈如下!)哈哈哈,我也来试试。不就是修改下host嘛。写这么长,由于文章中修改host的ip都是截图,不能直接复制粘贴。这可真是为难我这种懒人了。我相信评论者中,一定会有课代表,为同学们整理好笔记。果然。将其复制。 打开windows目录C:\Windo

2020-10-22 11:08:37 900 5

原创 使用VUE3 开发Chorm插件(并整合element-ui)不行你来砍死我

网上搜索了很多vue开发Chorm插件的博客,在一步步试的过程中,总是会有这样那样的问题。经过不懈努力,终于走通了一条。下面是我的过程, 如果你只想要demo的代码,请直接调到文档最后有github仓库地址。环境准备1 npm版本 6.13.42 node版本 12.16.13vueCLI 版本 4.5.6如果你还是vuecli2 的话,你要先卸载掉vue-cli2 ,在安装vue-cli3。vue -V // 查看版本号vue install vue-cli g // 安装v

2020-09-28 15:37:01 1648

原创 mongo 遍历循环数据,给每个数据添加新字段

db.your_collection.find("查询条件").forEach(function(item){ var lon = item.longitudevar lat = item.latitudevar location = [lon,lat]item.location = locationdb.your_collection.save(item)})

2020-08-31 15:32:31 709

原创 深入Mybatis(三)二级缓存

二级缓存在深入mybatis(一)中。我们说过,二级缓存是由CacheExecutor进行维护。也叫做事务缓存管理器,有图为证

2020-08-20 17:03:39 161

原创 深入mybatis(二) 一级缓存

mybatis一级缓存在深入mybatis(一)中,我们说到是由BaseExecutor 维护的一级缓存。查询缓存在BaseExecutor 中,查询语句都会经过这里,如下图这里先查询了缓存,如果缓存中有则从缓存中取出,否则queryFromDatabase(),我们看下该方法。 private <E> List<E> queryFromDatabase(MappedStatement ms, Object parameter, RowBounds rowBounds

2020-08-19 11:33:46 225

原创 设计模式之-装饰器模式

装饰器模式 所谓装饰器模式,字面意思就是对一个玩意儿进行装饰。举个形象的例子。一个人早上起来得穿衣服,穿裤子吧。洗脸,刷牙,然后抹上发蜡,穿上鞋子,然后再出门,你看,这就是装饰器模式。你每天都在用到装饰器模式。装饰器模式是一个非常灵活,拓展性非常强的设计模式。灵活性体现在哪里呢?比如周末的时候,你不出门,你就可以不穿衣服就穿条大裤衩,洗个脸和刷个牙就行了。 过了一周,胡子长长了,你只需要添加个刮胡子的装饰就行了。代码实现我们的代码 按照给一个人来实现装饰,来形象的说明下装饰器模式,我们需要一下几种角

2020-08-18 13:51:44 100

原创 深入学习mybatis(一) Executor 执行器

mybatis 执行流程从图中可以看出大部分业务逻辑主要都在Executor 中得到执行。下面将详细梳理一下Executor的结构。Executor 执行器Executor 是mybatis 执行sql的接口。所有的增删改查,以及其他操作,最终都会由Executor 来执行。它功能主要包括基本功能: 增,删,改,查缓存维护: 执行器Executor 主要维护的是1级缓存服务,主要包括创建缓存,清理缓存,判断缓存是否存在事务管理: 事务提交,回滚,关闭,批处理更新Executor的实现类

2020-08-18 11:10:38 432

原创 Netty实战读书笔记-第三章Netty的组件和设计(一)

EventLoop接口一个EventLoopGroup 包含一个或者多个EventLoop一个EventLoop在它的声明周期内只和一个Thread 绑定所有EventLoop处理的IO事件都是在它的专有Thread 上被处理一个Channel 在它的声明周期内只注册一个EventLoop一个Eventloop 可能会被分配给一个或者多个ChannelChannelFutureNetty 中所有的IO操作都是异步的,因为一个操作可能不会被立即返回。ChannelFuture 相当于一个占位

2020-08-10 08:35:03 395

原创 springboot使用RestTemplate完全手册

优雅的http客户端注意,我测试的接口返回类型全部是String 类型,所以ResponseType 全部是String.class,所以请根据实际情况,酌情修改!1 不带参数的GET请求 // 方式1: 返回是一个response 对象 ResponseEntity<String> forEntity = restTemplate.getForEntity("http://127.0.0.1:1234/test1", String.class);

2020-08-03 20:30:23 974 1

原创 Gradle(二) Java 构建

Java插件Gradle 对java的支持,是通过插件实现的。Java 插件是基于合约的,这意味着插件已经给项目的许多方面定义了默认的参数,比如 Java 源文件的位置. 如果你在项目里遵从这些合约,那么只需要很少的配置。引入java插件apply plugin: 'java'或者plugins { id 'java'}然后就可以使用插件中的任务了。java 插件在项目中添加许多任务。通常只会用到其中的一小部分任务。常用的任务有build 编译和测试代码,生成jar包cl

2020-07-22 10:15:15 155

原创 Gradle(一) gradle基础

Gradlejava 环境 JDK6以上自带groovy库projects tasksprojects 项目tasks 任务每一个构建都是由一个或者多个projects组成,一个project代表一件想做的事情每一个project 由一个或者多个tasks 构成,一个task 表示更加细化的工作,可能是编译classes 创建一个jar。生成javaDoc,或者生成某个目录的压缩文件。gradle 命令运行一个gradle命令会在当前的目录下寻找一个build.grade的文件,b

2020-07-21 19:12:41 162

原创 JAVA注解

注解本质和原理注解的本质就是,定义了一个接口实现了java.lang.annotation.Annotation 接口。我们定义一个注解类,然后进行编译,再反编译。如下,我们定义一个自定义的注解public @interface MyAno { int a() default 0; boolean b() default true; String c() defau...

2020-03-22 22:27:03 130

原创 ArrayList 与LinkedList

对比在java集合类中,不管是谁一定都用过如下两种集合。通常我们呢只是会用就行了,记住ArrayList 查询快,增删慢,LinkList刚好相反 查询慢增删快,即可,但是实际真的是这样吗? 下面我们做一个测试,使用的是JDK11 public static void main(String[] args) { ArrayList<Integer> list1...

2020-03-22 22:24:53 253

原创 Guice依赖注入入门

---title: Guice依赖注入入门date: 2019-12-17 18:55:00tags: 依赖注入 googlecover: https://i.loli.net/2019/12/11/ocgeXKj6OxzAWkM.jpgGuice依赖注入入门首先什么是依赖注入在Springboot中,用的最多的一个注解就是@Autowire了,我一直知道它是依赖注入,要用哪个类的方法...

2020-01-01 14:36:23 1000

原创 redis 哨兵集群

redis哨兵集群搭建可以分两部分redis主从机集群搭建哨兵集群的搭建这里我们使用docker 来模拟redis集群(首先安装docker compose)redis 主从集群的搭建为了好操作我们新建立一个单独目录docker/redis文件夹来实验建立docker-cmpose.yml文件里面配置了一个主节点,两个从节点,三个哨兵(同时配置了固定ip,目的是哨兵是通过配置...

2019-08-14 14:09:59 168

原创 zookeeper 分布式锁理解

基本命令zkService.sh start 启动zkServerzkService.sh stop 停服务端zkCli.sh start 启动客户端zkCli.sh stop 停止客户端zkService.sh status // 客户端状态 默认是standalonenode节点create /路径 节点数据 // 创建持久节点 默认create -s ...

2019-08-08 09:21:04 1548

原创 rabbitmq几种交换机的理解以及实践

交换机direct 直连把消息路由到那些binding key与routing key完全匹配的Queuetopic Routing Key必须与Binding Key相匹配的时候才将消息传送给Queue和direct 都需要绑定route-keytopic的#和*,# 表示和多个关键字匹配,* 和一个关键字匹配header 匹配不依赖于route-key和banding...

2019-08-08 09:17:52 1075

原创 红黑树的深入理解

二叉树每个节点最多有两个子节点。比根节点大的放右边,比根节点小的放左边。二叉树的问题二叉树容易导致像一边偏(左偏或者右偏)导致查找性能变差,偏的多了就变成线性查找了。在此基础上就诞生了红黑树。红黑树功能 :将树变的矮矮胖胖的红黑 只是一个标签,用来适配红黑树的规则(规则规定的是 红和黑)。。元素本身没有特别的地方。利用红黑树的规则进行插入元素可以使树的结构矮矮胖胖。5 条规则...

2019-07-23 12:41:32 306

原创 JAVA的泛型

泛型泛型只在编译阶段有效目的是限制输入数据类型如下,如果不指定List的类型,我们是可以将String Integer 或者其它类型的数据添加到list中的,如果误将int数据添加到ArrayList中,而在取出来用的时候,,我们以为全是String 在使用String强制装换的时候会报错。如果在List定义的时候就指定的泛型为String,那么如果我们添加的是Int就会报错。 ...

2019-07-22 20:57:59 99

原创 java的hascode,equles, 以及基本的几种collection的理解

集合功能存放对象先记录几个知识点。equles 和 ==判断两个对象相等无非就这两个操作,那么有什么区别呢?== 基本数据类型直接比较值,引用数据类型判断引用的地址,即对象的引用内存地址equles是Object的方法。默认equles也是用== 来判断的。。。那么equles意义何在,equles本没有意义,你赋予它灵魂之后,它才有意义,你不赋予它灵魂,它就等价于==举个例...

2019-07-22 11:28:34 330

原创 java并发变成的艺术知识点摘要理解

线程间的通信共享内存访问内存中的公共状态----隐式通信消息传递线程之间没有公共状态-通过发送消息,来显示通信线程之间的同步共享内存方式,需要手动指定不同线程发生顺序 – 显式消息传递,消息的发送必须再消息接收之前,所以是,同步是—隐式的。内存抽象堆: 实例,静态域,数组栈:内存屏障从源代码到指令序列的重排序1 编译器优化重排序2 指令级并行重排序3...

2019-07-18 08:48:30 121

原创 Jenkins +docker+github+springboot 构建自动化发布环境总结

流程 原理简述很久之前就想部署一套jenkins+docker+github 自动化部署系统了。。无奈之前对docker的理解不够深入,对命令理解也不够透彻,所以一碰壁很多,知道最近这两天对docker有了更深入的理解,我又开始了尝试。1 先说一下想实现的功能。 我的想法是,实现我本地编辑代码,提交到github以后,打开jenkins,点击构建,然后 jenkins就从github上拉代码...

2019-07-05 16:22:11 808

原创 nacos 的使用以及springboot集成nacos实现

1 安装nacos Server ,,安装过程中很简单,github下载对应的压缩包,windows启动的话进入安装bin目录下,双击starp.cmd启动好之后界面如下可以看到默认就是以单机模式启动,启动以后就可以在http://localhost:8848/nacos/index.xml 看到nacos的界面了。初始密码和用户名都是nacos界面如下2 那么nacos主要功能是什么...

2019-07-02 18:46:49 5498 1

原创 Springboot集成redis ,以及redis的使用

1 redis入门redis 数据库是非关系型数据库,是基于内存的数据库,所有读写数据巨快,常用于高并发的应用场景中。  redis只能安装在linux上和mac上。2 redis可以存储的数据类型1 普通的key-valueset key value 存get key 取exists key 查del key 删exp...

2019-06-27 19:18:21 184

原创 Springboot集成Ehcache

我的简单理解Ehcache 我的简单理解Ehcache 是进程内缓存,就是Ehcache的缓存占用的存储空间,和JAVA虚拟机是在一块儿的,也就是说随着缓存的增多,java虚拟机所消耗的内存也会变大。。这是与redis最明显的区别。。因为Ehcache 缓存和java虚拟机在一起,所以读写速度自然也是极快的。Ehcach的工作机制就是,当一个请求来了之后,如果我们在查询的方法上添加了@C...

2019-06-26 20:46:01 2805

原创 mongodb数据库入门以及Springboot整合mongoDB数据库

1 mongodb基本操作选择好安装路径之后一路next,等待安装完成,打开安装目录下的bin文件夹,运行mongo.exe可以运行进入monge的shell命令行界面,如下monge常用操作指令1 创建数据表库Use 数据库名称2 检查当前使用的数据库db3 show dbs 展示数据库列表注意,空的数据库不会显示出来,必须至少插入一个文档。4 删除数...

2019-06-25 20:34:37 891

原创 SpringSecurity 理解

SpringSecurity 是基于Spring的安全框架。1 主要作用对客户端的http请求进行认证和权限管理。2 原理(拦截器+过滤器)如下图所示在你添加SpringSecurity的依赖以后 添加如下Security配置类@Configuration@EnableWebSecuritypublic class WebSecurityConfig extends WebSec...

2019-06-20 21:04:57 269

转载 跨域

https://blog.csdn.net/a78270528/article/details/78282804

2019-06-18 23:17:58 112

原创 CORS

CORS跨域请求https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS两个遇到的问题。1 请求头添加ContentType如果设置为非默认的会使得请求变为复查请求,请求会产生CORS预检响应头的2 当请求头中有token时候,响应头中的Access-Control-Allow-Origin: 不能使用通配...

2019-06-18 22:59:35 689

原创 mySql压缩包版本的下载安装运行

1 下载一个mysql的压缩包。解压2 配置环境变量系统环境变量的path3 设置配置文件 my.ini该配置文件默认不带哦,可以自己兴建一个,放在解压目录下如图注意这里的 安装目录和 数据存放目录的路径,,,不要粘贴直接用。看你的实际想存放在那个位置[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#...

2019-06-13 14:49:48 308

原创 JSON WEB TOKEN (JWT)

什么是JWT就是token JWT是一种规范。用来生成一种紧凑安全的token,由三部分组成。1 Headerheader主要是两部分信息声明类型加密算法数据如下{'typ':'JWT','alg':'HS256'}然后进行base64加密结果如下eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ92 payloadpayload 是我们to...

2019-06-12 19:45:05 636

原创 springboot 集成支付宝支付

最简单的springboot集成支付宝1 注册沙箱沙箱是一个模拟环境登录,百度蚂蚁金服开放平台,支付宝扫码登录如下然后沙箱需要注册一下,非常之简单,注册好以后进入到如下页面,选沙箱工具,然后下载一个生成密钥的工具。然后解压按照里面的readme生成公私密钥,选择沙箱应用 上传公钥即可。。沙箱到这里就基本完成了,里面还有沙箱版本的的android app可以下载下来。java 程序...

2019-06-11 15:44:48 6224 19

原创 SpringCloud 实践

一、Eurela Server环境搭建1 创建一个EurekaServer 添加 EurekaServer的依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-ser...

2019-06-08 18:11:21 560

原创 springCloud(Eureka feign hystrix Zuul)学习笔记

Eureka原理其中:Eureka 服务注册组件Region 类似于一个很多机房的一个集群Availability Zon 类似于机房我的理解如下  EUREKA 是一个不同微服务注册的组建。不同的微服务可以注册到一个EurekaServer 上。 注册在EurekaServer上的每个微服务也就成了EurekaClient即Eureka客户端。是Eureka Server 和Eur...

2019-06-08 17:33:38 231

fetched-v10.17.rar

需要下载 fetched-v10.15.3-linux-x64 和 fetched-v10.15.3-win-x64 这两个

2021-12-10

空空如也

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

TA关注的人

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