hi,你礼貌吗
码龄7年
关注
提问 私信
  • 博客:309,654
    309,654
    总访问量
  • 62
    原创
  • 1,436,550
    排名
  • 74
    粉丝
  • 0
    铁粉

个人简介:热衷分享,希望有朝一日能在分享与交流中遇见一位引路人为我解惑。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:菲律宾
  • 加入CSDN时间: 2017-12-13
博客简介:

好记性不如烂笔头

查看详细资料
个人成就
  • 获得365次点赞
  • 内容获得117次评论
  • 获得1,334次收藏
  • 代码片获得538次分享
创作历程
  • 4篇
    2022年
  • 10篇
    2021年
  • 12篇
    2020年
  • 36篇
    2019年
成就勋章
TA的专栏
  • rabbitmq使用笔记
    2篇
  • Spring Cloud
    6篇
  • elasticsearch
    3篇
  • 记录工作的点点滴滴
    8篇
  • spring学习之路
    3篇
  • java多线程
    3篇
  • 手记
    17篇
  • 工具
    6篇
  • mybatis
    9篇
  • objectFactory
  • 动一动手
    1篇
  • MySQL
    2篇
  • java
    2篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

350人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

线程同步(Lock、Condition、synchronized、AtomicInteger、volatile、ThreadLocal)

线程不安全的问题public class Demo implements Runnable { private long count = 0; @Override public void run() { for(int i=0;i<100000;i++) { count++; } } public static void main(String[] args) { Demo demo = new Demo(); Thread t1 = new Threa
原创
发布博客 2022.04.15 ·
966 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Springboot配置文件相关语法及读取方式

配置文件的形式目前,springboot的配置文件有2种形式。1、.properties文件,一般习惯称其为properties文件,e.g.application.properties;2、.yml/.yaml文件(2个后缀都是一样的文件,一般常用.yml),一般习惯称其为yaml文件,e.g.application.yml/application.yaml;语法它只有2种核心语法,一种是key-value,一种是数组。以下以yaml文件为例。1、key-value形式它支持字
原创
发布博客 2022.04.06 ·
1691 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

线程池ThreadPoolExecutor应用

一个老生常谈的问题:线程的创建及销毁是非常消耗时间及资源的。ThreadPoolExecutorThreadPoolExecutor提供了很多构造方法,这里主要说以下这个,其他构造方法都是基于此方法:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,
原创
发布博客 2022.03.21 ·
1104 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

如何创建线程及线程特性与常用API

继承Thread类public class ExtendsThreadTest extends Thread { @Override public void run() { System.out.println("我是新开的线程:" + Thread.currentThread().getName()); // TODO 执行其他业务 } public static void main(String[] args) { ExtendsThreadTest test = n
原创
发布博客 2022.03.18 ·
717 阅读 ·
2 点赞 ·
1 评论 ·
1 收藏

Sentinel

Sentinel能在项目中干什么Sentinel官方文档链接:https://gitee.com/rmlb/Sentinel/wikis/%E4%B8%BB%E9%A1%B5?sort_id=3419413当前博客内容根据SpringCloud环境编写,非SpringCloud环境使用Sentinel参考官方文档。1、简介Sentinel是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。2、特征a、应用场景丰富;b、完备的实时监控:Sent
原创
发布博客 2021.07.22 ·
874 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SpringCloud Gateway

SpringCloud Gateway中文官方文档:https://cloud.tencent.com/developer/article/1403887SpringCloud Gateway官方文档:https://spring.io/projects/spring-cloud-gateway#overview为什么要有网关什么是网关?API网关是一个服务器,是系统对外的唯一入口。API网关封装了系统内部架构,为每个客户端提供一个定制的API。API网关方式的核心要点是:所有的客户端和消费
原创
发布博客 2021.07.17 ·
1033 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Spring Cloud Hystrix(服务保护)

服务容错在整个微服务架构中,每个服务之间都可能会进行相互调用,某些服务如果在被调用的过程中出现故障(就算为某些重要服务部署集群,同样不可能保证100%高可用),可能就会出现连锁效应,导致整个调用链路不可用,进而让这个微服务架构的系统变得不可用。这种情况称为服务雪崩效应。比如:某个业务需要服务A、服务B、服务C配合完成,整个调用链路是服务A-->服务B-->服务C,如果此时服务B或者服务C任何一个变得不可用,就会导致整个链路变得不可用,进而导致整个微服务架构的系统变得不可用。为了使系统变得更加
原创
发布博客 2021.07.13 ·
283 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

SpringBoot整合Knife4j(Swagger)

Knife4j是一款基于Swagger的增强工具(所以,该集成方式同样适用于swagger),拥有更强的功能以及更符合大众审美观的UI。Knife4j官网:https://doc.xiaominfo.com/knife4j/ (学习以及获取更多的功能用法、资讯一定要习惯去官网获取)友情提示借用官网一个友情提示1、目前已经发行的Knife4j版本,Knife4j本身已经引入了springfox,开发者在使用时不用再单独引入Springfox的具体版本,否额会导致版本冲突。另外在网关层聚合(例.
原创
发布博客 2021.05.30 ·
2614 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

RestTemplate使用说明

RestTemplate是Spring提供的用于访问http接口的客户端工具,它提供了多种便捷访问http服务的方法。在任意SpringBoot项目中,都有默认集成,不用引入任何多余的jar包。相比较传统的HttpClient、Okhttp以及java原生的URLConnection,有着极高的封装度,能够大大的提高对第三方http接口访问的编写效率。配置RestTemplateRestTemplate工具提供两种装配方式。一种是RestTemplate类,一种是RestTemplateBuilde
原创
发布博客 2021.05.27 ·
2260 阅读 ·
2 点赞 ·
4 评论 ·
6 收藏

Spring Cloud Feign

在Spring Cloud体系中,Feign的作用就是可以与Eureka和Riibon组合在一起简化各服务之间的http调用,它存在的意义就是简化jttp调用,让开发者可以像调用方法一样访问http接口,在非Sping Cloud体系项目中,遇到需要调用第三方接口的需求,也可以使用它去简化一些http的调用。Feign是一个声明式的Rest客户端,它能让http调用更加简单。Feign提供了http请求的模板,通过编写简单的接口和插入注解,就可以定义好http请求的参数、格式、地址等信息,这样,就可以像
原创
发布博客 2021.05.25 ·
715 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Spring Cloud Ribbon

客户端负载均衡Ribbon在整个微服务架构中,为了保证各个服务的高可用,一定少不了负载均衡。目前主流的负载均衡实现就两种:一种是服务端实现负载均衡,有硬件的(比如F5),也有软件的(比如Nginx)。另一种就是客户端根据自己的请求情况实现负载均衡。常见的,一个服务A,部署到3台机器,A1,A2和A3,配合Nginx形成一个简单的集群,当客户端请求过来之后,随机访问A1、A2、A3,这就是服务端负载均衡;同样的,将A服务部署到3台机器,A1、A2、A3,当客户端自己记录自己的请求情况,依次访问A1、A2、
原创
发布博客 2021.05.22 ·
197 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring Cloud Eureka

注册中心在微服务中是必不可少的一部分,主要用来实现服务治理功能。本示例基于:Spring Cloud NetflixSpring Cloud发展至今,已经形成了Spring Cloud Netflix和Spring Cloud Alibaba两大阵营以及其他小众开源阵营。犹记得前几年刚接触Spring Cloud,被这个版本各种折磨。创建eureka项目1、创建一个maven项目后引入如下依赖:<parent> <groupId>org.springfram
原创
发布博客 2021.05.18 ·
228 阅读 ·
1 点赞 ·
3 评论 ·
0 收藏

SpringBoot中管理多环境配置文件

在项目开发中,一般会分为开发环境、测试环境和生产环境。如果总是在一个文件中修修改改,难免会出现错误,尤其是在交接的过程中,一旦出现问题,轻则丢失绩效、重则删库跑路。实现1、可以通过配置项 spring.profiles.active 的值来激活对应的环境(思路:使用一个默认的文件作为通用配置文件,不同的配置项写入不同环境的配置文件中,部署不同环境时,只需要修改spring.profiles.active的值即可。个人习惯在通用配置文件只保留spring.profiles.active一个配置项,灵活
原创
发布博客 2021.05.10 ·
419 阅读 ·
1 点赞 ·
4 评论 ·
0 收藏

利用SpringAOP实现单实例系统防重复提交

如果没有防重复提交,当用户在做一个新增操作时,多次点击新增按钮,那么会在数据库生成多条一模一样的数据。前端处理的方式就是,当用户点击新增后,禁用按钮,直到服务端响应成功。有句话说得好,作为一个服务端开发人员,不能相信客户端的任何输入。所以,一个健壮的系统,不仅要有前端校验,服务端校验更是必不可少。实现思路1、当客户端发起第一次请求,记录下该次请求。2、当客户端发起第二次请求的时候,校验上次请求是否在指定的限制重复请求时间内。如果在,抛出指定的异常;如果不在,则放行请求。引入j...
原创
发布博客 2021.04.28 ·
580 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

在SpringBoot中使用ElasticSearch(7.x版本)

前言ES7.X版本较之前改动比较大,相应的springboot对它的支持改动也特别明显。在spring-date-elasticsearch官网:https://docs.spring.io/spring-data/elasticsearch/docs/4.0.1.RELEASE/reference/html/#new-features,可以查看到版本匹配信息,如下:(一定要学会去官网查看文档)如果版本不匹配,比如我本地安装elasticsearch7.x版本,springboot是2.
原创
发布博客 2020.12.30 ·
6293 阅读 ·
6 点赞 ·
2 评论 ·
20 收藏

elasticsearch的简单使用

基础名词概念理解基础概念有助于更好的理解elasticsearch集群和节点:一个es集群由一个或多个节点组成,每个集群都有一个唯一的标识和唯一的名称(名称默认是elasticsearch,所有的节点都是通过集群名称来加入某个集群),即每个节点都必须有相同的集群名称和标识。索引:含有相同属性的文档集合,类似于mysql的一个数据库(database,一个mysql连接可以创建N个数据库),故此,一个es可以建立任意多个索引,比如:一个政府门户网站,可以建立起政策索引、法律法规索引等。在es中,所
原创
发布博客 2020.12.24 ·
790 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

windows下,elasticsearch的安装

单实例下载安装1.下载地址:https://www.elastic.co/cn/downloads/elasticsearch2.下载后解压,如下:bin文件夹:es的操作命令包,包括启动命令;config文件夹:配置文件目录;data文件夹:es的数据存储目录,可以直接拷贝到其他地方或从其他地方直接拷贝使用;jdk文件夹:es运行依赖的java环境,在低版本中没有此文件夹,则需要单独安装java环境(如果有jdk目录且安装了java环境,默认以安装的java环境运行);.
原创
发布博客 2020.12.07 ·
766 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

在SpringBoot中使用RabbitMQ

开始之前RabbitMQ涉及的重要的概念Channel 信道。消息的读写操作在信道中进行,客户端可以建立多个信道,每个信道代表一个会话。 Message 消息。应用程序和MQ服务之间传送的数据,消息可以非常简单,也可以很复杂。有Properties和body组成。Properties为外包装,可以对消息进行修饰,比如消息的优先级、延迟等高级特性;body就是消息体内容。 Exchange 交换器,一个MQ服务器可以有一个或多个交换器。应用程序通过交换器,按照一定路由规则将消
原创
发布博客 2020.07.28 ·
592 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

windows下RabbitMQ安装及配置

下载安装ErlangrabbitMQ运行需要依赖erlang环境下载地址:http://www.erlang.org/downloads下载后的安装包,如下。直接执行安装到任意指定目录即可下载安装RabbitMQ需要注意下载的版本是否与安装erlang版本支持,可在rabbitMQ的更新说明中查看。如下下载地址:https://www.rabbitmq.com/download.html下载后的安装包,如下。直接执行安装到任意指定路径即可。安装好后如下
原创
发布博客 2020.07.22 ·
249 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringBoot集成uid-generator

uid-generatoruid-generator是百度开源的,基于雪花算法的一款唯一主键生成器(数据库表的主键要求全局唯一是相当重要的)。要求java8及以上版本。官方介绍传送门:https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md引入uid-generator方式一:下载源码,本地引入下载链接:https://github.com/baidu/uid-generator/blob/master/READ
原创
发布博客 2020.07.06 ·
3723 阅读 ·
2 点赞 ·
3 评论 ·
5 收藏
加载更多