自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L__MY的博客

曲硬不硬

  • 博客(121)
  • 收藏
  • 关注

原创 自定义注+切面控制方法执行步骤

自定义注解+切面

2023-10-11 15:19:31 149

原创 自定义注解+切面,环绕通知打印方法日志

自定义注解+切面,环绕通知打印方法日志

2023-10-11 14:39:24 205

原创 通过自定义注解+切面给执行方法加锁

自定义注解+切面+锁

2023-10-11 14:25:44 172

原创 java导出excel浏览器下载,单线程VS多线程

java导出excel浏览器下载,单线程VS多线程。

2023-08-13 20:28:12 208

原创 java操作单线程和多线程导出excel

/标识,既可以导出一个excel,也可以导出多个excel,默认情况下导出单个Excel。//所有的线程都执行结束了,才能进行导出。//一个excel文件就是一个workbook对象。System.out.println(name+“开始执行…private Sheet sheet;//分Sheet页导出。

2023-08-12 21:31:56 588

原创 集群,分布式,微服务

举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。好的设计应该是分布式和集群的结合,先分布式再集群,具体实现就是业务拆分成很多子业务,然后针对每个子业务进行集群部署,这样每个子业务如果出了问题,整个系统完全不会受影响。而分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。而集群并不一定就是分布式的。

2023-06-28 10:13:49 575

原创 Redis哨兵主备切换的数据丢失问题

因此旧master再次恢复时,会被作为一个slave挂到新的master上去,自己的数据会被清空,重新从新的master复制数据。上面的配置就确保了,如果跟任何一个slave丢了连接,在10秒后发现没有slave给自己ack,那么就拒绝新的写请求。即可确保,一旦slave复制数据和ack延时过长,就认为可能master宕机后损失的数据太多了,那么就拒绝写请求。由于 M => R的复制是异步的,所以可能有部分数据还没复制到R,M就宕机,于是这些数据就丢失了。因此在脑裂场景下,最多就丢失10秒的数据。

2023-06-27 15:32:58 453

原创 【无标题】

一、MyISAM引擎介绍1.1什么是MyISAM引擎?MyISAM引擎是MySQL关系数据库管理系统的默认存储引擎(MySQL5.5版本以前)。这种MySQL表存储结构从旧的ISAM代码扩展出许多有用的功能。在新版本的MySQL中,InnoDB引擎由于其对事物参照完整性,以及更高的并发性等优点开始逐步的取代MyISAM引擎。小结:事物参照完整性可理解为数据的一致性。1.2 MyISAM引擎的特点。

2023-06-27 10:51:42 1230

原创 Can't connect to MySQL server on 'localhost' (10061)解决方法

解决方法:第一步cd进入mysql的bin目录下:cd C:\Program Files\MySQL\MySQL Server 5.5\bin输入:mysqld --skip-grant-tables再新开一个cmd,再进入bin目录:cd C:\Program Files\MySQL\MySQL Server 5.5\bin输入:mysql -uroot问题得解决:...

2019-10-22 20:08:23 281

原创 docker的maven插件

此插件个人用来做跟持续集成有关的<build> <finalName>app</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId>...

2019-10-13 22:02:59 221

转载 java中异步处理和同步处理分别是什么意思

                                 &nbsp...

2019-07-29 11:57:11 4703

转载 B2B、B2C、C2C、O2O区别

                                 &nbsp...

2019-07-28 22:18:26 2869

转载 数据库为什么要分库分表

                                 &nbsp...

2019-07-28 20:59:25 398

原创 什么是Gogs

Gogs 是一款极易搭建的自助 Git 服务。Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。地址:https://gitee.com/Unknown/gogsGogs安装与配置安装(1)...

2019-07-24 22:19:35 3151

原创 理解持续集成

什么是持续集成持续集成 Continuous integration ,简称CI随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile)在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成...

2019-07-24 21:38:20 233

原创 DockerMaven插件,自动部署把配置中心发布到服务器

微服务部署有两种方法:(1)手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝至JDK容器。(2)通过Maven插件自动部署。对于数量众多的微服务,手动部署无疑是非常麻烦的做法,并且容易出错。所以我们这里学习如何自动部署,这也是企业实际开发中经常使用的方法。Maven插件自动部署步骤:(1)修改宿主机的docker配置,让其可以远程访问vi...

2019-07-24 21:05:48 501 1

原创 Docker私有仓库

私有仓库搭建与配置(1)拉取私有仓库镜像docker pull registry(2)启动私有仓库容器docker run ‐di ‐‐name=registry ‐p 5000:5000 registry(3)打开浏览器 输入地址http://192.168.184.135:5000/v2/_catalog看到 {“repositories”:[]} 表示私有仓库搭建成功并且内容...

2019-07-23 20:57:19 324

原创 Dockerfile概念

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。1、对于开发人员:可以为开发团队提供一个完全一致的开发环境;2、对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了;3、对于运维人员:在部署时,可以实现应用的无缝移植。常用命令使用脚本创建镜像(1)创建目录mkdir –p /us...

2019-07-23 20:06:18 263

原创 SpringClould实现交友服务思路

交友微服务-添加与删除好友1)创建工程friend,pom.xml引入依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jp...

2019-07-20 16:40:15 358

原创 Feign实现服务间的调用及負載均衡

Feign是简化Java HTTP客户端开发的工具(java-to-httpclient-binder),它的灵感来自于Retrofit、JAXRS-2.0和WebSocket。Feign的初衷是降低统一绑定Denominator到HTTP API的复杂度,不区分是否为restful。现在在溝通微服务调用基础微服务的方法(根据ID查询标签)(1)在gy模块添加依赖<!--将gy注册成e...

2019-07-20 15:35:15 406

原创 利用SpringCloud完成服务注册思路

将微服务注册到Eureka模块中,这样所有的微服务之间都可以互相调用了。(1)将其他微服务模块添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client&lt...

2019-07-20 15:22:51 375

原创 什么是SpringCloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再...

2019-07-20 15:20:23 345

原创 Dubbo项目命令打包运行

首先在提供者和消费者的pom.xml中添加数据源的依赖 放在build即可build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artif...

2019-07-18 11:49:04 745

原创 基于JWT的Token删除案例使用拦截器方式实现token鉴权

删除用户功能需求:删除用户,必须拥有管理员权限,否则不能删除。前后端约定:前端请求微服务时需要添加头信息Authorization ,内容为Bearer+空格 +tokenjwtutil工具类package util;import io.jsonwebtoken.Claims;import io.jsonwebtoken.JwtBuilder;import io.jsonwebto...

2019-07-18 09:17:43 5114

原创 BCrypt密码加密

任何应用考虑到安全,绝不能明文的方式保存密码。密码应该通过哈希算法进行加密。有很多标准的算法比如SHA或者MD5,结合salt(盐)是一个不错的选择. Spring Security 提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。BCrypt强哈希方法 每次加密的结果都不一样。(1)maven工程的...

2019-07-17 16:02:32 1016

原创 token的创建与解析

token的创建(1)创建maven工程,引入依赖<!-- 引入jjwt的依赖--><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.6.0</vers...

2019-07-17 09:01:05 555

原创 基于JWT的Token认证机制实现

什么是JWTJSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。JWT组成一个JWT实际上就是一个字符串,它由三部分组成,头部、载荷与签名。头部(Header)头部用于描述关于该JWT的最基本的信息,例如其类型以及签名所用的算法等。这也可以被表示成一个JSON对象。{“typ”:“JWT”,“alg”:“HS256...

2019-07-16 21:38:09 302

原创 常见的认证机制

HTTP Basic Auth (无状态)有状态登录:你的服务器端要存登录信息 存到Session无状态登录:服务器端不用存登录信息HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和 password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,...

2019-07-16 20:59:48 221

原创 微服务开发之注册发送短信验证码

前期工作:docker环境下安装mysql容器,redis容器,rabbitmq容器MySql:一、安装docker1、按着教程https://docs.docker.com/install/linux/docker-ce/centos/#uninstall-old-versions当前安装的dockeer版本是一个稳定版sudo yum install docker-ce-17.0...

2019-07-14 11:46:38 1650

原创 用idea实现rabbitmq主题模式demo

什么是主题模式任何发送到Topic Exchange的消息都会被转发到所有关心RouteKey中指定话题的Queue上如上图所示此类交换器使得来自不同的源头的消息可以到达一个对列,其实说的更明白一点就是模糊匹配的意思,例如:上图中红色对列的routekey为usa.#,#代表匹配任意字符,但是要想消息能到达此对列,usa.必须匹配后面的#好可以随意。图中usa.newsusa.we...

2019-07-13 19:34:24 454

原创 用idea实现rabbitmq的分列模式demo

什么是分列(Fanout)模式当我们需要将消息一次发给多个队列时,需要使用这种模式任何发送到Fanout Exchange的消息都会被转发到与该Exchange绑定(Binding)的所有Queue上。1.可以理解为路由表的模式2.这种模式不需要RouteKey3.这种模式需要提前将Exchange与Queue进行绑定,一个Exchange可以绑定多个Queue,一个Queue可以...

2019-07-13 19:11:09 351

原创 用idea实现rabbitmq发送,接收消息的demo,直接模式

先创建队列 my代码实现-消息生产者(1)创建工程rabbitmq_demo,引入amqp起步依赖 ,pom.xml如下:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifact...

2019-07-13 17:33:04 1936

原创 docker环境下的RabbitMQ的安装

一、安装docker1、按着教程https://docs.docker.com/install/linux/docker-ce/centos/#uninstall-old-versions当前安装的docker版本是一个稳定版sudo yum install docker-ce-17.03.2.ce-1.el7.centos(1)下载镜像:(此步省略)docker pull rabbi...

2019-07-13 16:23:49 272

原创 RabbitMQ安装与启动

windows环境下的安装(1)下载并安装 Eralngotp_win64_20.2.exe (以管理员身份运行安装)(2)下载并安装rabbitmqrabbitmq-server-3.7.4.exe。双击安装,注意不要安装在包含中文和空格的目录下!安装后window服务中就存在rabbitMQ了,并且是启动状态。(3)安装管理界面(插件)进入rabbitMQ安装目录的sbin目录,...

2019-07-13 16:13:55 1061 1

原创 linux中 HEAD插件安装

先安装elasticsearch修改/usr/share/elasticsearch.yml ,添加允许跨域配置http.cors.enabled: truehttp.cors.allow‐origin: "*"重新启动elasticseach容器一、安装docker1、按着教程https://docs.docker.com/install/linux/docker-ce/cen...

2019-07-13 12:18:50 568 1

原创 linux中IK分词器安装

要安装elasticsearch快捷键alt+p进入sftp , 将ik文件夹上传至宿主机sftp> put ‐r d:\setup\ik在宿主机中将ik文件夹拷贝到容器内 /usr/share/elasticsearch/plugins 目录下。docker cp ik tensquare_elasticsearch:/usr/share/elasticsearch/plu...

2019-07-13 12:16:26 1214

原创 Elasticsearch Docker环境下安装

一、安装docker1、按着教程https://docs.docker.com/install/linux/docker-ce/centos/#uninstall-old-versions当前安装的dockeer版本是一个稳定版sudo yum install docker-ce-17.03.2.ce-1.el7.centos安装elasticsearch(此步骤省略)下载镜像doc...

2019-07-13 12:14:27 219

原创 elasticsearch与MySQL数据同步

什么是LogstashLogstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。Logstash安装与测试解压,进入bin目录logstash-5.6.8.ziplogstash ‐e 'input { stdin { } } output { stdout {} }'控制台输入字符...

2019-07-13 12:06:48 1070

原创 什么是IK分词器

我们在浏览器地址栏输入http://127.0.0.1:9200/_analyze?analyzer=chinese&pretty=true&text=我是程序员,浏览器显示效果如下{"tokens" : [{"token" : "我","start_offset" : 0,"end_offset" : 1,"type" : "","position" : 0...

2019-07-13 12:01:29 3236

原创 Head插件的安装与使用

Head插件安装如果都是通过rest请求的方式使用Elasticsearch,未免太过麻烦,而且也不够人性化。我们一般都会使用图形化界面来实现Elasticsearch的日常管理,最常用的就是Head插件步骤1:下载head插件:https://github.com/mobz/elasticsearch-headelasticsearch-head-master.zip步骤2:解压到任...

2019-07-13 11:53:09 1142

空空如也

空空如也

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

TA关注的人

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