自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (5)
  • 收藏
  • 关注

原创 Multiple annotations found at this line: - For artifact {org.springframework

spring boot项目打包报错 pom文件报错

2022-11-07 22:51:10 214 1

原创 linux系统sqlserver备份cron定时器执行失败

3.查找sqlcmd命令所在目录find-namesqlcmd。1.查看cron日志报错显示sqlcmd命令没有权限。4.在profile文件里面配置该路径path。2.把sqlcmd复制到bin目录,执行报错。

2022-07-15 13:36:42 359

原创 java计算年卡剩余天数

/** * * @param 开卡日期 * @return 剩余天数 */ public static Long cludate(Object o){ SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"); Date d = null; try { d = df1.parse(o.toString()); ...

2022-05-24 11:44:54 350

原创 linux系统下sqlserver数据库备份脚本以及异机备份

主机备份脚本#/bin/bashuser=sapasswd=123456back_path=/home/shell/db_name=testdbback_time=`date +%Y%m%d_%H%M%S`back_filename=$back_path$db_name$back_timedel_time=`date -d "2 day ago" +"%Y%m%d"`del_backfile=$back_path$db_name$del_timesqlcmd -S l

2022-04-21 16:14:17 5750

原创 NAVICAT 42000 SQLSERVER 出现文件**错误(LINUX版本SQLSERVER )

注意要换成linux写法如果报错排它锁错误就重启数据库

2022-04-19 14:30:06 2213

原创 CentOS8更换yum源后出现同步仓库缓存失败的问题

报错截图因为CentOS 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本,所以建议更换yum源。阿里云建议使用Centos-vault-8.5.2111.repo把系统/etc/yum.repos.d文件 CentOS-Base.repo 换成下面配置,目录下其他的文件备份删除。# CentOS-Base.repo## The mirror system uses the connecting IP address of the clien

2022-03-11 10:04:05 1759

原创 java语言的介绍

1.1.java的介绍Java是一种面向对象编程的高级程序语言,由Sun Microsystems公司1995年5月推出,2009年sun公司被oracle公司收购并维护。它有三个版本,有着不同的作用,分别为javaSE,javaEE,javaME。1.2.java版本介绍javaSE是基础版本,是所有版本的基础,它允许开发和部署在桌面服务器嵌入式环境中使用的java应用程序。javaEE是企业版本,它为了帮助开发和部署在服务器端的java应用程序。它是在javaSE的基础上构建的,...

2022-03-11 09:55:36 2621 3

原创 循环删除list已经处理完数据

List list = new ArrayList(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); for (int i = 0; i < list.size(); i++) { list.remove(i); }以上代码在删除中会出现,当i已经为2了,list的长度因为被remove后变成2,导致不会再次进入for循环。正确方法如下: Iterator<...

2022-01-25 22:15:54 250

原创 报错org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call time

发送消息不能太快,连接太多把发送消息的代码加了个超时时间就可以或者sleep几秒

2021-12-10 16:47:22 1137

原创 Rocketmq实例以及详解

一.为什么用Mq 服务之间通信的中间件。 可以让应用之间解耦,相互之间依赖减小,形成异步调用。还可以用来流量削峰。数据分发。 但是会有消息一致性问题,系统复杂性增加,如果Mq宕机,系统可用性会降低。二.特点 灵活可扩展,支持海量消息单机10万级别,使用文件做持久化, 并支持分布式事务(虽然可能造成较多的写脏), 异步刷盘,内存预分配, 高可用采用了同步双写及异步复制的方式三.介绍RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apac...

2021-12-10 15:04:38 6205 1

原创 linux系统安装部署RocketMQ集群(同步双主双从)

1. 环境准备下面我们将要部署双master双slave同步复制的RocketMQ集群,这里需要准备两个虚拟机。192.168.10.50和192.168.222.下载rocketmq安装包(根据自己系统源地址下载)wget http://mirror.bit.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.9.2-bin-release.zip3.建立数据储存区mkdir date 以及子目录rocketmq4.在conf下进入到 2..

2021-12-02 16:56:34 3103

原创 JWT(JSON WEB TOKEN)实例

1.jwt简介jwt是一种跨域认证技术,主要用于分布式,微服务架构下,单点认证后全服务都能识别用户信息。还可以通过JWT进行信息交换,但是尽量不要放敏感信息以及尽量通过https传输保证通道安全。例如我们用jwt做登入认证,可以在用户进行验证登入成功后生成一个jwt返回在前端保存(服务器端可保存也可不保存),然后前端带着它可以进行跨域跨系统传输,就可以避免重复登入校验。2.组成部分jwt加密串由三部分组成分别为头部(header),载体(playload),签名(sign)。中间用.隔开。如

2021-11-02 15:44:10 568

原创 Object类equal和hashcode方法讲解

介绍①boolean equals(Object obj)比较2个对象是否相等,相等返回true 不相等返回false通过之前的学习我们知道,比较基本数据类型我们可以用==比较2个数 据是否相等,但是当我们比较他们的包装类和引用数据类型的时候我们就得 用equal。Object类里面的equal比较的是2个对象的引用,何为引用呢?我们的 对象在内存中存的方法是一个名字一块区域,然后通过引用指向它的值。当我们在new一个对象的时候,...

2021-10-01 08:52:55 238

原创 普通代码块,静态代码块,构造代码块,构造方法

1.使用示例2.静态代码块介绍在类中通过static修饰然后大括号里面的内容就是静态代码块。见13.1实例static {}静态代码块在类被加载的时候执行,并且他只会执行一次,优先于其他所有代码块以及构造方法执行,如果有多个静态代码块则按编写顺序执行。静态代码块在项目启动的时候执行, 静态代码块不能存在方法,主要放一些项目启动就需要加载的配置或者固定资源以及属性。比如我们可以放一些固定的正则表达式...

2021-09-27 15:07:15 2028

原创 面向对象设计的六大法则

1.开闭原则:对扩展开放,对修改关闭。一个软件尽量通过扩展软件实体的行为来实现变化,而不是通过修改现有的代码来完成变化,我们在设计软件的时候也应该尽量的提高灵活和稳定度来真正的拥抱变化。比如我们的登入功能,现在登入功能只有账号密码登入,现在有一个新需求是新加手机验证码登入。我们有的同学就直接在登入接口类加上一个验证码登入接口,然后在实现类实现,最后调用这个方法。虽然这样简单粗暴的方法完成了这个功能,其实这是违反我们的开闭原则的。我们可以新加一个验证码登入的实现类,实现之前的登入接口方法,或者

2021-08-25 11:41:11 134

原创 springcloud alibaba架构介绍

springcloud alibaba是由阿里巴巴开发的新一代微服务架构解决方案,方便微服务的管理。 微服务优点:方便扩展,灵活管理,简化部署,相互影响小可靠性高 缺点: 复杂度高,运维及人力成本高,可能影响整个系统性能一.组件介绍 负载均衡 前段基于nginx负载均衡策略并进行域名解析,后台服务之间基于ribbon。 分布式配置 ...

2021-05-13 12:01:21 1575

原创 JAVA 内部类

一 。Java 类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根据定义的方式不同,内部类分为静态内部类,成员内部类,局部内部类,匿名内部类。 1.静态内部类 定义在类内部的静态类,就是静态内部类。 public class Out { private static int a; private int b; public static class In...

2021-04-08 16:20:45 63

原创 java垃圾收集器版本有哪些

各种版本对比 名称 特点 缺点 介绍 Serial GC 单线程,精简,结构简单,初始化简单 进行垃圾收集过程中,会进入臭名昭著的“Stop-The-World”状态 它是最古老的垃圾收集器,JVM 参数是: -XX:+UseSerialGC ParNew GC 多线程 线程切换卡顿,和用户线程抢占CPU Serial GC的多线程版本,对应参数 -XX:+UseConcMarkSweepGC -XX:+UseParNe

2021-03-25 16:36:54 149

原创 Map map = new HashMap((int initialCapacity, float loadFactor);

简介HashMap是无序,非线程安全基于哈希表的键值对集合,允许存null,但key不能重复。数据结构底层采用数组,链表,红黑树的数据结构实现特点效率高,读取快,关键参数/**实际存储的key-value键值对的个数*/transient int size;/**阈值,当table == {}时,该值为初始容量(初始容量默认为16);当table被填充了,也就是为table分配内存空间后,threshold一般为 capacity*loadFactory。HashMap

2020-11-17 17:53:33 1047 2

原创 什么是静态代理和动态代理

当实现同一个接口的很多类需要进行同样的操作,我们需要重复写很多代码,这个时候我们可以使用代理模式,减少代码的冗余,增加代码的层次感。比如我们需要统计一个接口的运行时间: 接口类public interface Dongwu { public void eat(String str); public void drink(String str); public void play(String str); } 实...

2020-10-30 11:31:34 400

原创 缓存淘汰策略

1.先进先出 FIFO 缺陷:没有考虑数据的实际价值2.末尾淘汰制 LFU (按访问次数,多的在前面,少的后面淘汰) 缺陷:没有考虑数据的时效性3.丢最长时间不访问的LRU (操作后位置重排在第一个) LRU要干的事情: 新数据进来,我们要插到列头 当缓存命中的时候,我要把之前的数据位置删除,同时插入到列头3.当老数据访问的时候,老数据也要移动到列头 当缓存空间满了的时候,我们要删除一个末尾数据,同时...

2020-07-07 16:16:32 156

原创 springboot集成ES以及ES详细解读

未完待续

2020-04-27 17:19:38 3637 3

原创 redis常见问题以及解决方法

穿透 原因: 客户端一直在查数据库没有的数据,导致没有查缓存然后直接到了数据库。 解决方式: 1.布隆过滤器 :预先把数据ID全存在过滤器里面(实时更新),当在查缓存为空时,再判断过滤器里面有没 有,没有的话直接返回,有的话再查数据库。 ...

2020-04-01 18:21:25 401

原创 数据库事务的四大特性以及隔离级别

一 .四大特性 原子性 事务中的所有操作要么全失败要么全成功,失败了进行回滚,不会对数据库数据改变。 一致性 事务中的所有操作执行之前和执行之后对数据的改变结果必须是一致的。 比如A B两个人账户转钱,总共5000元,A减少了1000,B就得增加1000. ...

2020-03-19 16:37:18 75

原创 分布式锁实现

代码示例如下设置超时时间:为了finally代码块执行前线程卡死没有释放锁,防止死锁。clientId作用:给每个线程取ID,setnx时候value保存,每个线程和锁ID绑定。finally里面判断作用:只有当锁ID和线程ID一样时候才释放锁,防止当本线程没有执行完,但是到了超时时间,本线程锁解锁了,然后其他线程进来加锁,把其他线程加的锁给解锁了。redisson...

2020-03-17 17:34:42 81

原创 为什么mysql索引要用B+Tree数据结构

二叉树 不适合自增长索引,失去索引效率,树单边增长,成链表状。 (从1插入到4)红黑树(平衡二叉树) 不适合数据量大,树太高。如果查找数据在叶子节点,则需要查树高次数。 (从1插入到5)hash表 hash冲突,并且不支持范围查询,...

2020-03-06 19:30:48 612 1

原创 Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.8', bu

升级JDK1.7到1.8正常操作后执行javac命令正常,执行java命令报错:Error:Registrykey'Software\JavaSoft\JavaRuntimeEnvironment'\CurrentVersion'hasvalue'1.8',but'1.7'isrequired.百度了很多资料大概都是如下1.改注册表java运行环境版本2...

2019-12-23 18:58:07 293

原创 常用linux命令

(操作)mv 移动 改名cd 进入文件夹cp 复制 -r 目录递归复制mkdir 建立空文件夹touch 建立空文件ls 查看文件ll 查看文件详细信息cat 查看文件内容vi vim 编辑文件 (以下是进入后命令) /查找内容 继续按n下一个 shift+n上一个 more 分页查看 :q不保存退出 ...

2019-12-09 12:10:58 109

原创 Object o = new Object()深度解析

Object o = new Object();对象初始化过程申请内存初始化成员变量 0设置初始值 8对象头包括什么锁的信息Gc标记信息 标记清除算法 GC年龄(4位最大15) 为什么标记清除算法标记年龄最大15 对象头GC标记信息最大4位hash码八个字节64位栈不需要垃圾回收,直接弹出一个boject占多少个字节?最小16个字节 8+4...

2019-12-04 17:27:34 3549 2

转载 tomcat优化

一.Tomcat内存优化Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数 JAVA_OPTS参数说明   -server 启用jdk 的 server 版   -Xms java虚拟机初始化时的最小内存   -Xmx java虚拟机可使用的最大内存   -XX: PermSize 内...

2019-12-04 14:21:32 83

原创 什么是CAS/ABA以及volatile的使用

1.CAS原理介绍CAS全称 比较和交换(Conmpare And Swap),它是一种思想,是乐观锁。内存地址V,内存地址V中旧值C,获取的旧预期值A,要修改的新值B, 工作内存W我们需要把C修改成B时首先从V中取到值进入W中时,不像悲观锁一样,把V中值锁住,而是先把A放入W中,然后用A和C进行比较,如果不一样,则修改失败。然后重新从V中获取A,这个过程叫自旋,使用了自旋...

2019-11-12 15:04:55 432

原创 数据库优化

三个大方向 1.优化sql以及数据库设计 2.升级数据库以及硬件 3.更换数据库类型,更换newSQL、noSQL数据库大方向1之数据库设计篇 --表库设计 1.1 字段避免null,null值很难优化,推荐默认数字0替代 1.2 尽量准确使用数据类型,并合理的设计长度,比如使用enum char而不用varchar,char定长的,var...

2019-07-23 11:06:24 82

原创 什么是三次握手

一 。形象表示三次握手 二。4层模型链路层 常用协议ARP网络层 常用协议ip,用于选择路由地址传输层 常用协议tcp,udp,用于提供端对端的服务应用层 常用协议http DNS...

2019-06-19 11:24:30 194

原创 java垃圾回收算法

我们知道垃圾回收主要是回收堆区的内存1. 堆区我们分成eden区 s1 s0区 老年代2.JVM对象的引用分为了四种类型:(1)强引用:默认情况下,对象采用的均为强引用(这个对象的实例没有其他对象引用,GC时才会被回收)(2)软引用:软引用是Java中提供的一种比较适合于缓存场景的应用(只有在内存不够用的情况下才会被GC)(3)弱引用:在GC时一定会被GC回收(4)虚引用...

2019-02-19 17:29:40 152

原创 java运行时数据区

未完待续

2019-01-31 15:18:50 69

原创 用synchronized关键字加锁

官方介绍synchronized作用: 同步方法支持一种简单的策略来防止线程干扰和内存一致性错误:如果一个对象对多个线程可见,则用改对象变量的所有读取或写入都是通过同步方法完成的。一句话来说:能够保证一段时间内只有一个线程执行该段代码,以达到并发安全的效果,是一种悲观锁。看2段代码: public static void main(String[] ar...

2019-01-31 11:25:27 177

原创 为什么final修饰的String值不能改值,而final修饰的map能改值

 如题           final int a =1;          final Map  map = new HashMap();            private void test(){             a=2;    //报错             map.put("1", "1");         }我们都知道final修饰的类不能被...

2018-12-04 17:10:03 8567

原创 nginx1.8安装详细过程

1.下载组件安装 gcc安装 Nginx 的编译环境 gccyum install gcc-c++安装 pcre pcre-develnginx 的 http 模块使用 pcre 解析正则表达式,所以安装 perl 兼容的正则表达式库yum install -y pcre pcre-devel安装 zlibnginx 使用 zlib 对 http 包的内容进行 gzip...

2018-11-01 15:32:56 1034

原创 mysql5.7安装详细步骤,解决groupby语句不好使以及密码修改出错问题和一些注意事项

1.这里我将mysql安装在/usr/local/mysql目录里面,也可以安装在其他地方mkdir /usr/local/mysql2.下载mysql压缩包wget http://dev.MySQL.com/get/Downloads/MySQL-5.7/mysql-5.7.11-Linux-glibc2.5-x86_64.tar.gz也可以本地下载好再上传上去 百度mysql...

2018-10-31 16:34:01 372

原创 mybatis动态代理原理初步解析

 为什么我们在调用一个未实现的方法能够执行定义的方法,就是因为mybatis用动态代理给我们实现了。首先mybatis里面有一个实现InvocationHandler接口的类叫MapperProxy,类里面有一个方法叫Mapperproxy.invoke();通过Proxy.newProxyInstance创建一个代理实例,我们在写代码时用sqlSession.getMapper实现。...

2018-10-10 16:55:17 545

spring基本原理的小实验,可供初学者学习使用

如果你是spring原理的小白,你学习完这个项目后,你将有很好的对spring的认识,该项目简单易学,纯手编写,非常适合学习。

2022-07-05

rocketmq-dashboard.zip

rocketmq-dashboard.zip

2021-12-10

SpringCloudAlibabaDemo.zip

SpringCloudAlibabaDemo.zip

2021-05-13

elasticsearch-analysis-ik-7.5.0.zip

elasticsearch-analysis-ik分词器

2020-04-27

java秒杀系统

该系统为学习秒杀系统基本原理后自己开发项目,适合初学想了解秒杀系统原理的同学。系统架构简单易学易懂。

2018-06-21

空空如也

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

TA关注的人

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