自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (19)
  • 问答 (1)
  • 收藏
  • 关注

原创 ide sonar代码审查问题总结

格式:问题名字+问题出现的次数Resources should be closed2资源未关闭,打开发现有两处用到的IO流没有关闭Conditions should not unconditionally evaluate to "TRUE" or to "FALSE"1if/else判断里出现了重复判断,比如在if(a>10)的执行体里面又判断if(a<0),而后者肯定不会是trueException handlers should preserve the o..

2020-08-07 15:18:15 797

原创 Sonar Java默认扫描规则

规则如下:".equals()" should not be used to test the values of "Atomic" classes:equals()方法不应该用在原子类型的数据上(如:AtomicInteger, AtomicLong, AtomicBoolean). "=+" should not be used instead of "+=":"=+"不可以替代 “+=”. "==" and "!=" should not be used when "equals" is ov

2020-08-07 15:17:10 7250

原创 MySQL删除数据后磁盘空间的释放总览

1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ;2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。truncate table其实有点类似于drop table 然后creat table ,只不过这个create table 的过程做了优化,比如表结构文件之前已经有了等等。所以速度上应该是接近drop table的速度;3、delete from table_name删除表

2020-05-14 16:54:54 453

原创 Return消息机制

Return Listener 用于处理一些不可路由的消息消息生产者通过制定一个Exchane和RoutingKey,把消息送达到某一个队列中去;消费者监听队列进行消费处理。但是在某些情况下,发送消息的时候,当前Exchange不存在或制定的路由key不存在,这时我们需要监听这种不可达的消息。用到的就是Return Listener。1.API中关键项配置Mandatory:tru...

2019-09-29 22:24:44 315

原创 RabbitMQ可靠性消息投递

RabbitMQ可靠性消息投递是通过confirm确认消息机制来实现的Confirm消息确认机制:消息确认,是指生产者投递消息以后,如果MQ服务收到消息,则会给生产者一个应答。生产者接收到应答,用来确认这条消息是否正常发送到MQ服务。Confirm消息确认实现:(1)在Channel上开启确认模式:channel.confirmSelect(); (2)在channel上添加...

2019-09-27 10:48:22 214

原创 同一个类中一个方法(无事务)调用另一个方法(有事务),事务不生效问题

今天同事遇到一事务的问题,pring中同一个service类中方法相互调用事务不生效问题如何解决:此处的this指向目标对象,调用this.b()不会执行b事务的切面(不会执行事物增强aop),因此b方法的事物不会起作用。 在一个Service内部,事务方法之间的嵌套调用,普通方法和事务方法之间的嵌套调用,都不会开启新的事务。 是因为spring采用动态...

2019-09-25 10:51:05 5937

原创 RabbitMQ如何保障100%投递成功解决方案(8)

1、消息百分百投递成功需要注意一下4点(1)生产者消息要发送成功(2)MQ服务器要接收成功(3)发送端(生产者)要接收到MQ确认应答(4)完善的消息补偿机制2、可靠性消息投递的解决方案(1)消息入库,对消息状态进行打标a.业务数据入库的同时,增加一条消息数据记录,状态是未发送;b.启动多线程进行消息投递到MQ,并修改消息记录表数据状态为发送中;c.消费端消费完成...

2019-09-16 22:41:23 235

原创 RabbitMq构件简单的生产者消费者模型(6)

1.在SpringBoot工程引入rabbitmq依赖 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>3.6.5</version> </dependen...

2019-09-11 23:23:33 194

原创 RabbitMQ基础概念介绍(2)

1.RabbitMQ高性能的原因采用Erlang语言,优点在于有着和原生Socket一样的低延迟。2.什么是AMQP是应用层高级消息队列协议3.AMQP核心概念Server:又称Broker,接收客户端的连接,实现AMQP实体服务。Connection:连接,应用程序和Broker之间网络连接。Channel:网络信道,所有的操作都在Channel中进行,Channe...

2019-09-08 22:49:11 120

原创 事物隔离级别

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。Read uncommitted 读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据; 会产生脏读。Read ...

2019-09-05 14:57:18 112

原创 RabbitMQ Spring集成

1.pom文件引入依赖 <!--rabbitmq依赖 --> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</a...

2019-08-13 17:43:49 129

原创 Dubbo负载均衡 集群容错 服务降级 服务熔断 限流

一、负载均衡dubbo默认的负载均默认是随机调用法。一共有4种负载均衡策略:RandomLoadBalance 随机调用负载均衡;RoundRobinLoadBlance 轮询调用;LeastActiveLoadBlance 最少活跃数调用法,使慢的提供者收到更少请求;ConsistentHashLoadBalance 一致性Hash算法,相同参数的请求总是发到同一提供...

2019-08-12 14:34:35 1618

原创 RabbitMQ 交换机、绑定、队列、消息和虚拟主机详解(7)

1、Exchange 交换机Exchange:接收消息,并根据路由键转发消息所绑定的队列交换机的属性:Name:交换机名称Type:交换机类型 direct、topic、fanout、headersDurability :是否需要持久化,true为持久化Auto Delete:当前最后一个绑定到Exchange上的队列删除后,自动删除ExchangeInterna...

2019-08-11 23:00:01 860

原创 RabbitMQ基本介绍(1)

1.MQ作用异步、解耦、分布式、错峰限流。2.目前主流的MQ介绍Kafka、RabbitMQ、RocketMQKafka:分布式、高吞吐;不支持事务对重复、错误和丢失没有严格要求。RabbitMQ:纯Java开发,高吞吐量,高可用性,适用于大规模分布式系统。ActiveMQ:丰富的API,多种集群构建模式,但吐量下降一般适用于中小型企业。3.消息中间件的组成...

2019-08-04 23:11:54 163

原创 RabbitMQ在Linux下的安装(3)

1.安装Erlang在usr/local下创建rabbitmq文件夹,运行如下命令:[root@localhost rabbitmq]# wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm[root@localhost rabbitmq]# rpm -Uvh erlang-solutio...

2019-08-04 21:29:51 137

原创 redis主从哨兵搭建

1. 为什么要有哨兵机制 哨兵机制是对Redis系统的运行情况的监控,解决主从复制的缺点的。 原理:当主节点出现故障时,由Redis Sentinel自动完成故障发现和转移,并通知应用方,实现高可用性。 作用: a、 监控主数据库和从数据库是否运行正常; b、 主数据出现故障后自动将从数据库转化为主数据库2.redis S...

2019-07-29 23:12:57 424

原创 redis主从复制

1、Redis主从模式作用(1)、当一个节点损坏时,数据因为有备份,可以方便恢复。(2)、避免所有客户端都访问一个节点,有了主从模式后,查询操作就可以通过查询从节点来完成。2、Redis 主从模式特点(1)、1个Master可以有多个Slave(2)、默认情况下Master节点支持读写操作,Slave只支持读操作写是被禁止的。不要修改配置让Slave支持写,应为写入的数据不会被...

2019-07-23 23:20:46 123

原创 redis-cluster 集群增加节点

1.插槽(slot)1.1 插槽的分配:整个Redis提供了16384个插槽,也就是说集群中的每个节点分得的插槽数总和为16384。./redis-trib.rb 脚本实现了是将16384个插槽平均分配给了N个节点。1.2 数据如何保存到集群中set abc 12345命令时,redis是如何将数据保存到集群中的执行步骤如下:(1)接收命令setabc 12345(2...

2019-07-22 23:45:59 1998

原创 Redis 4.x 集群部署

1.Redis简介redis是基于内存非关系型存储数据库,同时支持持久化操作。2.安装环境Redis使用c语言开发,需要使用gcc编译程序进行编译。gcc安装命令:yum -y install gcc3.安装redis安装 参考该文章https://blog.csdn.net/yiyijianxian/article/details/944107854.redis集群...

2019-07-21 18:16:18 349

原创 JAVA虚拟机(JVM)介绍

1.什么是JVMjvm是运行在JDK的底层,负责和操作系统交互,用来屏蔽操作系统环境,提供完整的java运行环境。操作系统装入jvm是通过jdk的java.exe来完成的。2.JVM 内存模型(jdk8)线程私有:程序计数器,虚拟机栈,本地方法栈线程共享:元空间,JAVA堆3.JAVA内存模型中堆和栈的区别·栈自动释放,堆需要GC回收·堆比栈的内存空间要大·...

2019-07-20 16:15:01 205

原创 MySql 如何优化慢语句

1.打开慢语句记录查看慢语句是否开启和慢语句设定时长SHOW VARIABLES LIKE 'slow_query%'SHOW VARIABLES LIKE 'long_query_time%'修改设置SET GLOBAL slow_query_log ='ON'SET GLOBAL long_query_time=1;2.explain分析慢查询语句标示logs...

2019-07-19 16:20:11 678

原创 redis 集群之 安装redis-ruby

Redis安装ruby过程中:执行yum -y install zlib ruby rubygems后,执行安装redis-gem的操作gem install redis发现报错(若执行 gem install redis 时报错(不报错的童鞋直接忽略))即安装redis需要ruby版本最低是2.2.2,而centos yum库中ruby版本支持到2.0.0,所以需要手动安装升级rub...

2019-07-08 23:37:40 395

原创 Redis linux安装指南

1、登入Linux系统在usr/local下创建download文件夹2.使用wget 命令下载redis包wget http://download.redis.io/releases/redis-4.0.14.tar.gz3.解压redis-4.0.14.tar.gz使用解压命令 tar -zxvf redis-4.0.14.tar.gz ./usr/local/redis40...

2019-07-01 22:13:30 139

转载 CENTOS 下service network restart失败最全解决方案

经常会有人在centOS 7下更改完静态ip后发现network服务重启不了,翻遍了网络,尝试了各种方法,终于解决了。现把各种解决方法归纳整理,希望能让大家少走点歪路。首先看问题:执行service network restart命令后出现下面的错误: Restarting network (via systemctl): Job for network.service fai...

2019-06-30 11:08:14 13001 5

原创 Linux 通过scp向win传输文件

1.在windows平台安装WinSSHD下载地址:https://bitvise-winsshd-remove-only.updatestar.com/1.1安装运行BvSshServer-Inst_v6.44.exe勾选“I agree……”,可自定义选择安装路径,然后点击Install按钮选择“Personal edition”,点击OK按钮。【注意:“Stand...

2019-06-28 16:42:37 1277

原创 spring声明试或注解事物不会滚问题解决

1.什么是Spring 注解事物:就是直接在Service层的方法上面加上@Transactional注解。 什么是声明试事物:就是使用spring 的AOP配置事物。2.事物不回滚通常是出现在注解事物或声明式事物,编程式事务一般需要手写回滚 通常不会出问题。3.常见的事物不会滚通常有以下几种情况: 3.1声明试事物配置的切入点表达式错误,没有切入service中的方法。...

2019-06-19 10:34:55 281

原创 多数据库数据同步问题的处理方式

对于分库(垂直分割,根据业务分库)数据如何确保数据最终一致性,这里说明一下为什么进行数据同步,而不是通过服务调用获取。这里主要是对应于公共的数据信息,比如(人员,组织等)关联的数据多,查询量大通过本地数据库保存一份的方法来降低全局数据库的压力,提高查询效率。 实现的方法有如下几种: 1.直接查询变动数据同步 写一个定时任务扫描要同步的表数据,当有数据变动...

2019-05-24 09:59:50 2772

原创 Redis和数据库数据一致性的问题,怎么解

缓存存储用的越来越广泛,缓存存储也是数据库冗余的一种方式,既然存在冗余,就存在数据一致性的问题。1.如果你的数据库只有一个,读写操作都在一起 1.1读取数据时先读缓存,缓存没有数据再从数据库读取,并放入缓存。 1.2发生写操作时,先删除缓存数据,再往数据库放数据。 如果此时有读操作,发现缓存没有数据,就会读取数据库,而此时数据库正在进行写...

2019-03-21 11:37:29 1087

原创 Redis 持久化操作

一、Redis 持久化操作: Redis把内部数据以文件形式在硬盘中保存一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)里,数据保存到硬盘的过程就称为“持久化”效果。redis有两种持久化功能: 一种是“快照持久化(RDB)”:默认开启,一次性把redis中全部的数据保存一份存储在硬盘中,如果数据非常多(10-20G)就不合适频繁操作该持久化...

2019-03-20 17:30:17 1259

原创 Linux 添加ssh公钥 实现免密认证

ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对1.添加A服务器公钥到B服务器2.到A服务器输入命令ssh-keygen  一路回车 3.找到A服务器的/root/.ssh/id_rsa.pub 打开复制内容4.找到B服务器的/root/.ssh/authorized_keys 将A服务器的id_rsa.pub公钥内容复制进去即可...

2019-02-22 11:26:31 10123

原创 Linux下WebSocket达到一定值之后无法再建立新连接的问题

1.查看当前建立的进程连接数:netstat -ant | grep "ESTABLISHED" | wc -l 2.socket接收的所有连接都是存放在队列类型的数据结构中,关键问题是这种队列有两个,而且其长度都是可以设置的。分别是: tcp_max_syn_backlog 和net.core.somaxconntcp_max_syn_backlog是指定所能接受SYN同步包的最大...

2019-02-15 13:34:07 1156

原创 多线程并发

1.并发就是对共享资源同时进行访问,而产生的现象。2.线程的实现方式:继承Thread或实现runnable 都要重写run方法。3.启动线程是通过Thread的start(用户进程)方法实现的。如果直接调用run(守护进程)方法启动的线程和当前主线生命是同时结束的。4.共享变量:多个线程对同一个变量进行访问时,都是先从jmm主内存读取变量的值到自己的本地内存,等线程运行结束了后再把自...

2019-02-12 09:24:20 292 1

原创 Jenkins

1.管理员账号登录,点击系统管理2.选择系统设置3.添加远程web应用服务器信息4.填写应用服务器配置信息5.录好之后保存 6.新建发布任务7.选择自由风格项目 选完之后拉到最后点击确定 8.配置jenkins基础信息9.我的是通过shell脚本下载源码的10.构建触发器和构建环境都不选11.在构建栏 添加...

2019-01-25 14:37:02 99

转载 23种设计模式全解析

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两...

2019-01-17 13:35:02 92

转载 jvisualvm远程监控tomcat

1、在 $CATALINA_HOME/bin/startup.sh 倒数第二行(也就是exec "$PRGDIR"/"$EXECUTABLE" start "$@"一行上边)加上如下内容:export CATALINA_OPTS="$CATALINA_OPTS-Dcom.sun.management.jmxremote-Djava.rmi.server.hostname=192.168....

2019-01-15 16:11:44 213 1

原创 eclispe远程调试Tomcat服务器代码(Win)

       Java虚拟机提供了Java调试的功能 , 调试平台通过调试交互协议向Java虚拟机请求服务以对在虚拟机中运行的程序进行调试 这里我们的eclipse就是那个调试的前台。我们需要将本地的调试平台和服务器运行的项目结合起来。1.在服务端的tomcat\bin  文件夹下复制startup.bat  改名字为startup-debug.bat2.修改startup-debu...

2019-01-08 15:26:21 232

转载 在一个千万级的数据库查寻中,如何提高SQL的查询效率

一、数据库设计方面1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引;2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: sele...

2019-01-04 17:07:25 1967

原创 Linux安装JDK8后 java -version仍显示1.7的问题

 1.查看环境配置如下图是1.8 2.在控制台查看jdk版本发现是1.7,这是应为先安装了1.7之后又升级为1.8的,linux系统文件的软连接没有修改,我们只是吧环境配置的指向地址改成了ldk1.8.3.解决方案3.1  which java ——查看默认的jdk安装路径3.2  通过cd命令进入 /usr/bin ,执行sudo rm -rf java (删除默认的...

2019-01-03 11:18:43 3752 3

原创 Docker 运行SpringCloud统一配置中心Config

1.在config项目下创建Dockerfile文件,如下图2.Dockerfile 文件配置 FROM hub.c.163.com/library/java:8-alpineMAINTAINER lf 815*****[email protected] target/*.jar app.jarEXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]...

2019-01-02 11:49:52 1564

原创 Docker 运行SpringCloud注册中心Eureka

1.在erueka项目下创建Dockerfile文件,如下图2.Dockerfile 文件配置FROM hub.c.163.com/library/java:8-alpineADD target/*.jar app.jarEXPOSE 8761ENTRYPOINT ["java","-jar","/app.jar"]3.构建应用 mvn clean package -Dm...

2019-01-02 10:12:56 1601

BvSshServer-Inst_v6.44.exe

linux 向win传输文件,可以直接使用scp命令在linu上操作

2019-07-02

Docker 安装插件

docker安装需要下载的boot2docker.iso插件,需要放置的目录是C:\Users\.docker\machine\cache

2018-12-02

WebSocket重练机制

Uncaught ReferenceError: ReconnectingWebSocket is not defined; 说明缺少包资源,需引入reconnecting-websocket.js和reconnecting-websocket.minjs 创建WebSocket对象使用ReconnectingWebSocket 如下: var ws = new ReconnectingWebSocket(' ws:// .... ');

2018-11-22

maven Nexus私服

windows版maven Nexus2.14私服服务器,亲试是可以的使用的。。。。。。。。。。。。。

2018-04-30

session共享

jredis session 共享 jdk8 Tomcat8

2017-11-24

Activity工作流插件

Eclipse 所需要的Activity插件

2017-07-04

dubbo需要的架包

分布式服务框架架包

2017-06-08

取汉字拼音首字母的存储过程

SQL存储过程,获取汉字首字母

2017-04-14

Tomcat7+redis实现session共享

Tomcat7+redis实现session共享

2017-04-06

Ext_js API 文档

Ext_js中文API 文档

2014-09-04

java反编译工具

java反编译工具,对学习java查看代码有很大的帮助。

2012-11-15

mysql客户端工具

mysql客户端工具,开发过程中非常实用方便

2012-11-15

html只是全解

是关于html常用知识的详解,在日常开发中很实用。

2012-11-15

J2EE SSH所需的架包

J2EE开发中的SSH架构 所需的架包名称

2012-11-15

计算机网络

计算机网络方面的习题答案,帮助大家学好知识

2011-12-22

网络交换机

在网络工程中交换机站着非常重要的位置,而核心成交换机又是网络的核心,三层交换机如何如二层交换机相连就非常重要了。

2011-12-04

Dreamwever配置

网站的搭建环境,配置路径。。。。动态的网站够建环境。。

2011-11-15

java、jsp项目基础知识

java方面的jsp基础框架知识。。。。。。。。。。。。。。。。

2011-11-04

计算机信息

计算机信息化发展历程,2012 计算机科学与信息、安全工程国际学术会议

2011-11-04

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

TA关注的人

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