自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (13)
  • 收藏
  • 关注

原创 Mybatis-Plus深入浅出

MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。Mybatis-plus框架总结 在Mybatis基础上增加很多便捷的设置,大量简化了开发,例如基础的CRUD操作不用再去写xml配置文件,对象和数据库字段的映射都可以通过注解来解决,例如:1)...

2022-04-22 22:01:37 542

原创 高并发下如何保证接口的幂等性?

接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。不知道你有没有遇到过这些场景: 有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回错误的结果(这种情况不可能直接返回失败吧?),

2022-03-08 10:14:24 199

原创 Rabbit:交换机

RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产 者甚至都不知道这些消息传递传递到了哪些队列中。相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来 自生产者的消息,另一方面将它们推入队列。交换机必须确切知道如何处理收到的消息。是应该把这些消 息放到特定队列还是说把他们到许多队列中还是说应该丢弃它们。这就的由交换机的类型来决定。Exchanges 的类型: 直接(direct), ...

2022-02-24 14:46:51 360

原创 RabbitMQ概念、安装、helloworld(一)

RabbitMQ 是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包 裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑 RabbitMQ 是 一个快递站,一个快递员帮你传递快件。RabbitMQ 与快递站的主要区别在于,它不处理快件而是接收, 存储和转发消息数据。四大核心概念生产者 :产生数据发送消息的程序是生产者交换机 :交换机是 RabbitMQ 非常重要的一个部件,一方面它接收来自生产者的消息,另一方面它将消息 推送到队列中。交

2022-02-17 16:01:07 720

原创 什么是MQ?

什么是 MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常 见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不 用依赖其他服务。为什么要用MQ、能解决什么问题?.1)流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正 常时段我们下

2022-02-16 16:34:07 9280

原创 Redis集群

Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。...

2022-02-15 14:11:50 3010

原创 Redis哨兵模式

哨兵模式:反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库在自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错。1.配置哨兵:sentinel monitor mymaster 127.0.0.1 6379 12.启动哨兵:其中mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量。3.停止6379主服务器4.6379主服务器断连,6381接管成为主服务器(大概1...

2022-02-10 11:24:20 600

原创 Redis主从复制

主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主这样做的好处:1.读写分离减轻服务器的压力2.容灾的快速恢复;当服务挂掉以后可以通过从机快速恢复,如果害怕主机挂掉需要做集群。实现:1.在服务器根目录下创建myredis文件夹mkdir /myredis2.复制redis.conf文件到创建好的myredis文件夹cp /redis/redis.conf /myredis/redis.conf...

2022-02-09 13:49:58 412

原创 Redis事务_锁机制

事务的定义Redis事务是一个单独的隔离操作,事务中所有的命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送过来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。Multi、Exec、Discard从输入multi命令开始,输入的命令都会一次进入命令列队中,但不会执行,知道输入exec后,redis会将之前的命令列队中的命令依次执行。在组队过程中可以通过discard来放弃组队,命令将不会被执行。案例:组队成功,提交成功组

2021-12-31 11:18:31 82

原创 注册中心使用nacos还是eureka?

为什么要使用注册中心 Eureka注册中心 nacos注册中心 图片为什么要使用注册中心有使用过ip:port地址直接调用服务的开发经历么?该段痛苦的经历在此处省略500字......,该种方式的缺点: 需要手动的维护所有的服务访问ip地址列表。 单个服务实现负载均衡需要自己搭建,例如使用nginx负载均衡策略,或者基于容器化多实例部署单个服务,在实例之间做负载均衡。 使用注册中心能够实现服务治理,服务动态扩容,以及服务调用的负载均衡,完整调用链路..

2021-12-08 14:15:27 2102

原创 Nacos启用外置数据库无法启动

最近看看nacos在本地Windows环境下测试正常,上linux环境后死活启动不了,最后发现因为数据库版本的和nacos版本导致的问题;使用的nacos版本为nacos-server-1.3.0.tar.gzmysql版本为8.0.25 (使用select version(); 查看版本),解决方案:1、nacos-server-1.3.0下面依次创建包: plugins/mysql/ ,网上有很多博主写着 在nacos_home目录下新增 nacos/plugins/mysql/ ,其...

2021-11-17 15:33:07 906

原创 SpringCloud Stream消息驱动

概念:屏蔽底层消息中间件的差异,降低切换版本,统一消息的编程模型比方说我们哦用到的RabbitMQ和Kafka,由于这两个消息中间件的架构上的不同,像RabbitMQ有exchange,kafka有Topic主题和Partitions分区,这些中间件的差异性导致我们实际项目开发给我们造成了一定的困扰,我们如果用了两个消息队列的其中一种,后面的业务需求,我们想往另外一种消息队列进行迁移,这时候无疑就是一个灾难性的,一大堆东西都要重新推到重新做,因为它跟我们的系统耦合了,这时候springclou.

2021-11-17 15:27:47 58

原创 Hystrix断路器

重要概念:服务降级:服务器忙,请稍后再试,不让客户端等待并立刻返回一个友好提示,fallback场景:程序运行异常、超时、服务熔断出发服务降级、线程池/信号量也会导致服务降级服务熔断:类比保险丝达到最大服务访问后,直接拒绝访问,拉闸限电,然后调用服务降级的方法并返回友好提示。可理解为就是保险丝;服务的降级->进而熔断->恢复调用链路服务限流:秒杀高并发等操作,严禁一窝蜂的过来拥挤,大家排队,一秒钟N个,有序进行 @HystrixCommand...

2021-10-28 13:49:56 59

原创 Spring Cloud Ribbon

SpringCloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。主要功能是提供客户端的软件负载均衡算法和服务调用Ribbon官网:Getting Started · Netflix/ribbon Wiki · GitHubRibbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The pri

2021-10-26 11:38:20 72

原创 怎么做好项目的内、外部管理?

在项目研发过程中我们不仅要做好项目团队内部的管理,也需要对外进行管理,这样才能保证项目按照计划正常的进行。外部管理怎么做的?做好相关方管理:搞清楚项目相关方对待项目的态度和责任以及关注度,在调研期间充分了解他们的需求。做好项目汇报:定时通过邮件(前期确定好的沟通方式)汇报项目状况,让大家充分了解项目情况,对项目研发有信心!积极的态度:积极沟通项目过程中的问题,对于甲方提出的问题积极响应,及时给出解决方案。贯彻项目管理思想:强调项目管理的原则,重要性,贯彻项目管理思想。需求:确...

2021-10-18 11:15:34 3154

原创 项目研发过程中甲方要增加合同外的需求,项目经理该如何处理?

搞清楚需求提出人在项目中的角色?非甲方项目指定负责人(对接人):让他去找项目负责人,并强调根据项目实施计划书中,新需求需由甲方项目负责人出具书面说明向乙方提出。(可能是甲方项目相关方的一个想法,甲方项目经理可能并不知情,无需理会,先让甲方内部进行协商。)甲方项目指定负责人:问题如下经常性提出新需求还是偶发性提出需求? 如果是小需求例如,新增字段,加个排序规则等可立即修改,如果是涉及到新的页面开发和大流程变动且耗费一定的工时和成本且影响了项目交付时间和进度需走需求变更流程。经常性:...

2021-10-18 10:20:59 2219 1

原创 Git常用命令

1.设置用户签名git config --global user.name 用户名git config --global user.email 邮箱说明: 签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看 到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。※注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任 何关系。2.初始化本地库git initgit add 文件名git

2021-10-13 16:38:55 55

原创 RocketMQ学习笔记(一)

1. MQ介绍1.1 为什么要用MQ消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完

2021-09-06 15:18:54 274

原创 连接mysql报错1251

,两种情况,1密码错误;版本不一致导致加密方式不一致所有即使密码是对的,经过处理后密码还是错误的。例如,低版本的SQLyog或者Navicat链接高版本数据库8.0+;8.0以上的数据库加密方式为caching_sha2_password;低版本的加密方式为mysql_native_password,加密方式不一样所以会报错说是密码错误-- 1首先查看mysql库中的user表SELECT * FROM USER-- 2将密码重置为空UPDATE USER SET authenticat.

2021-06-07 17:04:37 345

原创 centos7.8安装mysql最新版

下载数据库wget -i -chttp://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmyum -y install mysql80-community-release-el7-3.noarch.rpmyum -y install mysql-community-serversystemctl start mysqld.servicesystemctl status mysqld.service8.0以上..

2021-06-07 11:35:17 268

原创 关于PMP认证的那些事儿

1.什么是PMP?PMP是美国项目管理协会(PMI)颁发的项目管理专业资格认证,有了这个认证就说明你有能力操作项目,这个证书在全球208个国家范围内有效,也是全球公认的项目管理认证,适用于任何行业。2.怎么考?怎么申请考试?一年能考几次?费用多少?证件有效期多久?怎么考?需要报培训班,要学满35学时才可以申请考试,根据学历的不同要求有不同时长的项目管理经验,比如,专科需要750...

2019-10-30 15:04:48 636

原创 Mysql搜索引擎及索引的选择

Mysql搜索引擎及索引的选择Mysql作为目前主流的开源关系型数据库,它的搜索引擎及索引的选择是十分关键的,选择正确能为数据库带来倍数的效率提升,而且这些效率提升是资源限制无关的,简单说就是免费的搜索引擎分为MyISAM和Innodb两种1. MyISAM(My Index Sequential Access Mode)索引循序存取法,MyISAM可压缩,读取...

2019-10-24 14:41:40 206

原创 给项目经理的五个建议

我做项目经理的时间不长,这几年间,经历的大大小小的项目也不少,作为过来人,回想当时的自己,在陌生过程中走过的一些弯路,也得到过很多领导,前辈的指点,在短短几年时间里从实践经验中提炼出几点建议分享出来。欢迎讨论!一、多想想项目到底需要什么在开始项目之前需要和项目关键相关方大量的沟通,理解项目的前因后果,多想想到底需要什么?清楚的了解项目背景,对于项目的成功推进至关重要。每个项目都有...

2019-10-16 11:18:41 4312

原创 希望所有IT从业者每天都开心每天都有所收获

希望大家都能养成好习惯每天早上到公司第一件事就是刷一遍自己的任务清单排好优先级,选几个优先级较高的今天必须要做的事情先做清楚今天的工作目标是什么?要解决什么问题?带着目标工作效率就会不一样自己不排优先级,看着任务清单上要做的事情很多 又什么都想做,都很紧急结果就是什么都做不好时间都在几个任务来回切换中、焦虑中、抱怨中过去了另外做开发的时候拿到一个新需求不要着急写代码,先...

2019-10-09 19:48:14 183

原创 解决mysql经常断开重连的问题

解决mysql自动断开连接的问题有三个方法可以解决这个问题:1:修改MySQL配置参数2:修改JDBC3:修改第三方的数据库连接池应用 Proxool.xml方法1的解决方案:这个参数的名称是 wait_timeout,其默认值为 28800秒(8小时)。其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL会...

2019-08-28 10:13:47 5227

原创 SpringBoot控制返回值为null替换为空字符串

SpringBoot控制返回值为null替换为空字符串package com.muen.util;import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind....

2019-07-25 15:20:30 1655

原创 MySQL数据库百万级数据量分页查询方法及其优化

方法1: 直接使用数据库提供的SQL语句 语句样式:MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景:适用于数据量较少的情况(元组百/千级) 原因/缺点:全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃....

2019-06-06 15:33:19 1263

原创 权限管理模块数据库设计

今天面试谈到一个权限管理,总结下权限管理模块的数据库部分设计我们比较常见的就是基于角色的访问控制,用户通过角色与权限进行关联。简单地说,一个用户拥有多个角色,一个角色拥有多个权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间、角色与权限之间,通常都是多对多的关系。如下图:基于这个,得先了解角色到底是什么?我们可以理解它为一定数量的权限的集合,是一个权限的载...

2019-06-05 19:56:57 10814 2

原创 分享一下最近看的一些不错的书

最近好多人让推荐下好看的书,好不好看因人而异,我最近在看这些书,有兴趣可以了解下=======作者是华为AI研发总监 周明耀============1《大话Java性能优化》介绍系统调优的解决思路和技术实现,结合大家熟知的12306、电商等案例,架构设计、算法等多层次多角度思路和策略,涉及内存、IO等各种问题,提供丰富的经验参考。语言通俗易懂,很好的一本书2《技术领导力》 这本书是作者...

2019-06-05 19:38:17 227

原创 Thymeleaf 语法详解(常用内容)

一、变量输出 与 字符串操作 th:text 在页面输出值 th:value 可以将一个值放入到value标签中输出Thymeleaf 内置对象 注意语法:1,调用内置对象一定要用# 2,大部分的内置对象都以 s 结尾 strings、numbers、dates${#strings.isEmpty(key)} 判断字符串是否为空,如果为空返回 ...

2019-05-22 19:20:08 1747

原创 SpringBoot视图层技术(第三章)

章节介绍;整合jsp 整合 freemarker 整合thymeleaf一、整合jsp1.创建项目(参考第一章)2.修改pom文件,添加坐标<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schema...

2019-05-22 18:56:04 245

原创 SpringBoot整合web(第二章)

章节介绍:静态资源访问 文件上传一、静态资源访问1. classpath/static 目录 (注意这里存放文件的目录必须命名为 static)直接输入http://localhost:8080/aa.jpg可访问2.ServletContext 根目录下 一定是在webapp目录下,这里可不需要statichttp://localhost:8080/ima...

2019-05-22 14:53:19 381

原创 SpringBoot入门(第一章)

章节介绍:Spring Boot 介绍 构建 Spring Boot 项目及启动器讲解 Spring Boot 入门 HelloWorld一、Spring Boot 介绍1.Spring Boot 特点:Spring Boot 设计目的是用来简化新 Spring 应用的初始搭建以及开发过程 嵌入的Tomcat , 无需部署 war 文件 Spring Boot 并不是对 Sp...

2019-05-22 12:57:26 302

原创 springmvc org.springframework.web.servlet.DispatcherServlet

在写springMVC时,导入所有需要的包后,运行程序,控制台报以下错误:严重: Servlet [springDispatcherServlet] in web application [/SpringMVC-1] threw load() exceptionjava.lang.ClassNotFoundException: org.springframework.web.servlet...

2019-04-23 20:58:07 986

转载 刚工作常被问到的十个 Java 面试题

今天同事问我找第一份工作的时候面试问的问题是否还记得,我试图回忆了下,总结如下。欢迎讨论接下来,就让我们来看看这些问题。1. 以满分十分来评估自己——你有多擅长 Java?如果你并不完全确信你自己或是你对 Java 的熟练程度,那么这会是一个非常棘手的问题。如果有这种情况,你应该把打分调低一点。之后,你大概会得到与你承认的水平相符的问题。因此,假如你给自己满分,却不能回答一个有点难的问...

2018-12-25 09:41:09 625

原创 论在开发中技术选型的重要性

今天国庆假期后的第一个工作日晚上跟朋友聊天他说他部门的一个同事今天提离职申请。先来说说这位同事,他毕业两年一份工作经历,面试时候很自信,对每个知识点都有自己的理解,没有死记硬背。这也是我那位项目经理朋友 录用他的原因,平时工作也很用心,虽然效率不是很高,但是态度很好,几乎天天加班很晚,我朋友也跟他聊过几次不要把自己搞得很累有压力说出来大家一起解决,项目开发过程中沟通很重要。国庆前他刚转正。...

2018-10-08 09:59:13 1831

原创 Mysql mysql lost connection to server during query

备份数据恢复到本地的时候报错,在查询或者修改Mysql中的的表数据量较大的时候就会出现这种情况;我用的下面方案2:直接在mysql.ini最后一行添加了max_allowed_packet=500M,然后重启服务就可以了========================方案1.在mysql配置文件[myslqd]下面添加一行设置skip-name-resolve.需要重启mysql服务....

2018-09-29 15:00:30 4687

原创 mysql查询问题ONLY_FULL_GROUP_BY

这个错误因为mysql版本问题,数据库服务重新启动导致包含GROUP BY的SQL全部查询无效,因为版本设置了ONLY_FULL_GROUP_BY只能有一个结果,去掉这一项就好解决方法查看:SELECT @@global.sql_mode查询出来的结果:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE...

2018-09-29 11:36:56 882

原创 老爱忘记记录一下给mysql用户添加数据库

给用户mysql用户test添加数据库testDB用root用户执行:GRANT ALL PRIVILEGES ON testDB.* TO test@'%' IDENTIFIED BY 'test123456';格式说明:GRANT 操作权限 ON 数据库名称.* TO 用户名称@'%' IDENTIFIED BY '密码';%表示所有IP可访问,如果是服务器部署这里可改成lo...

2018-09-10 16:13:16 307

原创 如果你害怕独当一面,你会慢慢被职场抛弃

1.独当一面是什么?人在职场,我们总想要有更多的机会,更高的位置,更好的薪水,这些都无可厚非。但我却发现有相当一部分“老实人”,哼哧哼哧辛苦干活,对领导的话言听计从,但一到升职加薪,就没他们什么事。读者桔子前一段时间就因为这事很苦恼,他苦思冥想,不知道自己这种“模范员工”,为啥老没机会。我问桔子:“你说自己任劳任怨,领导说一句,你照办一件;领导没说的,你就不去做?”桔子说:“那...

2018-07-05 20:10:00 1465 1

RabbitMQ hello world,消息生产者给消息消费者发送消息,消费者获取消息的dmo,代码下载即可运行

运行时需要将代码中rabbitmq服务器ip改成自己rabbitmq的ip即可。

2022-02-16

管理系统源码解压即可用java语言,SpringBoot+mybatis组合

使用SpringBoot+mybatis+shiro的后台管理系统,可做扩展和二次开发,内含文档及数据库sql,可直接导入idea或eclipse运行即可

2021-05-07

tomcat监控工具probe

probe是一个tomcat监控工具,部署后可实时查看tomcat的运行情况,实时查看项目log,很方便,很强大

2017-08-29

springAOP代码实例

springaop详细解释以及代码实现demo,包含了所以aop通知类型

2016-09-07

struts2文件上传

struts2实现的文件上传

2016-07-29

WebService

包括webService服务端和客户端两个项目demo,其中WebService客户端请求的是一个免费的天气接口,并包含测试代码

2016-07-28

spring使用poi将excel数据导入到数据库

找了好久都每一个合适的,自己总算搞定了就传上来共享下,使用springmvc+poi,先要上传然后需要获取上传的地址然后解析excel就可以了不要忘记了加上配置文件中的bean

2015-06-17

SQL-SERVER从入门到精通

SQL入门到精通所有代码,语法、例题、讲解、详细注释

2013-06-05

SQL-SERVER 索引

SQL SERVER 索引的应用,内容包括:创建、使用 源代码 解压后是sql文件

2013-05-30

SQL-server 事务

SQL SERVER数据库中的高级部分--事务,内容包括:创建事务、使用、训练题目,源码文件解压之后sql后缀名,有注释及讲解。

2013-05-30

SQL-Server视图-——源码

SQL SERVER 视图的创建及使用源码,还有注释绝对值得珍藏!解压之后是sql后缀名的文件,如没有装sql数据库,可用txt打开。

2013-05-30

模拟false的图片滚动效果

模拟false滚动显示页面效果,3秒钟换一张图片

2013-03-27

可以在页面上移动的广告

网页上的悬浮广告,可以随意的在页面上漂浮,很多网站都用了这种方法

2013-03-27

空空如也

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

TA关注的人

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