- 博客(43)
- 资源 (2)
- 收藏
- 关注
原创 总结整理2PC/3PC/TCC/消息队列最终一致性/XA协议之间的关系
分布式事务三种角色两个协议应用(AP)事务协调器(TM)数据库(RM)2PC1.准备阶段2.根据准备结果是否就绪决定后续操作最原始的分布式事务解决方案(鼻祖、根本原理)问题:1.如果协调者发生故障,参与者会一直阻塞。2.如果发生网络抖动,消息丢失会导致最终不一致。3PC1.准备阶段2.确认准备阶段3.根据确认结果是否就绪决定后续操作基于2PC的扩展方案,增加了参与者超时机制。TCC(应用内的2PC)TC.
2022-01-27 11:39:34
910
原创 接口压测总结
首先明确压测的目的:为了在业务高峰期到来之前,确保服务器经得起高峰期的压力。但是每个系统的用户数量以及业务量都不一样。那么,在压测之前就需要根据系统的规模,定个小目标。一般情况,没啥人用的服务 tps 20,RT300ms就行了十万到百万级的服务,响应能达到tps50 RT200ms就可以了后台服务,能达到tps 20 RT200ms即可(通常后台同时使用也没多少人)秒杀类的短时间高并发……TPS100或200 在 100ms内响应 应该也能撑一段时间(具体情况还是要看业务量)例如,
2021-10-25 16:38:47
4608
原创 会话保持的实现方式
三种保持会话的方式(一)session机制保持会话存在的问题* 高并发情况下,会占用服务器大量内存* 分布式(一个业务分成几个子业务,部署在多个服务器)或者集群(一个业务部署在多个服务器)的时候,session不能共享。解决方案* 高并发的时候可以将session存储到redis,如果用户长时间没有访问,将session存储到redis,就减少了服务器的压力。* 分布式或者集群的时候,先通过redis来判断用户状态也可以实现session共享....
2021-10-21 14:56:41
1480
转载 chrome iframe 跨域_chrome禁止三方cookie
背景新版chrome(80+)浏览器默认屏蔽所有三方cookie已经不是什么新闻了,具体原因这里不去深究,有大量相关文章介绍,由于目前许多网站都依赖三方cookie,因此该特性的推出还是造成了一些的影响,比如收集用户信息的广告商,而且主流的浏览器都跟进chrome的策略,已经成为了既定事实,本篇文章主要聚焦于各种解决方案,大家可以针对自身情况采用不同的解决办法。限制说明SameSitecookie新增的属性,取值包括:Lax(默认),None,Strict1.None:将关闭SameS.
2021-09-13 17:04:10
1437
原创 spring boot mybatis 多数据源
1.application.properties:#default---开发环境spring.datasource.default.driver-class-name=oracle.jdbc.OracleDriverspring.datasource.default.jdbc-url=jdbc:oracle:thin:@10.XX.27.XX:1521:orclspring.datasource.default.username=aaaspring.datasource.default.
2021-09-06 11:32:36
165
原创 子网掩码计算技巧
1.我们都知道,ip地址一般分为四个段,每个段不超过254。例如:192.168.1.22.计算一下会发现,255转化为二进制是8位1。(1111 1111)3.而254转化为二进制是7位1。(1111 1110)4.以此类推,得出如下表格: 十进制 2进制 2进制从左边数,1的位数 255 1111 1111 8 254 1111
2021-08-26 17:48:35
4270
原创 linux开放端口
开放端口的方法:方法一:命令行方式 1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 2.保存:/etc/rc.d/init.d/iptables save或iptables-save 3.重启服务:/etc/init.d/iptables restart 4.查看端口是否开...
2021-08-26 17:46:00
5936
原创 js json转excel并下载
JSONToExcelConvertor.jsfunction JSONToExcelConvertor(JSONData, FileName,title,filter) {if(!JSONData)return;//转化json为objectvar arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;var excel = "<table>";//设置表头var
2021-08-26 17:39:19
396
原创 低版本浏览器内核不支持replaceAll的解决方案
if(String.prototype.replaceAll==undefined){String.prototype.replaceAll = function (targetStr, newStr) {var sourceStr = this.valueOf();while (sourceStr.indexOf(targetStr) !== -1) {sourceStr = sourceStr.replace(targetStr, newStr);}return sourceSt
2021-08-26 17:34:18
2211
原创 boot RocketMq配置
依赖包版本:dependencyManagement {imports {mavenBom "org.springframework.cloud:spring-cloud-dependencies:Greenwich.SR3"mavenBom "org.springframework.boot:spring-boot-dependencies:2.1.0.RELEASE"}}compile group: 'org.apache.rocketmq', name: 'rocketmq
2021-08-26 16:22:46
446
原创 mybatis mapper if 条件判断的坑,NumberFormatException
<if test="str!=null and str!='' and str='0'">追踪源码时发现,myabtis在解析上面这个标签时,把'0'识别成了dobble类型跟str做equals比较,从而需要将str转为dobble类型。因此报错:NumberFormatException解决方案:在'0'后加toString(),将0转回String类型去比较,如下:<if test="str!=null and str!='' and str='0'.toStri
2021-08-26 16:19:00
591
原创 linux oracle 中文乱码解决方案
linux oracle 中文乱码解决方案su - oraclecd /home/oracle1.查看客户端编码env |grep LANG2.修改客户端编码vi.bash_profile修改/加入如下配置:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8source .bash_profileenv |grep LANG3.查看数据库默认语言sqlplus / as sysdbaselect userenv('la..
2021-04-12 10:52:15
272
原创 centos-Oracle安装步骤
1.vi /etc/hosts前两行注释掉,文件最后写入:127.0.0.1 localhost2.安装依赖包yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* liba
2021-04-09 17:17:55
1538
4
原创 漏洞修复引发的项目报错
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure由于安全组进行漏洞修复,升级了TLS版本,但是项目没有跟着升级,于是得到了如下报错:HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfi
2021-03-30 15:17:31
618
原创 springboot idea junit 单元测试
Step1:安装junit插件Step2:设置测试类生成路径:Step3:设置生成测试类模板:按照自己的需求设置,我的是这样的:######################################################################################## ## ## Available variables: ##...
2018-11-30 09:43:05
548
原创 验证码图片生成
步骤1:创建画图工具类:RandomGraphicpackage test;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.IOException;...
2018-11-22 16:48:57
366
原创 集合排序工具类封装(注解方式)
集合排序工具类封装(注解方式):1.首先,创建一个注解类,用于标记排序字段:package com.qiang.util;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import ...
2018-10-29 17:28:32
532
原创 RedisUtil(RedisTemplateUtil)操作redis的工具类
操作redis的工具类:package com.qiang.util;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.c...
2018-10-29 17:10:25
5227
原创 spring事务的7种传播行为整理一下,方便记忆
事务的传播行为分为三种类型:1.创建型的:嵌套创建、挂起创建、加入创建嵌套创建(nested):存在当前事务则嵌套创建,不存在就新建。挂起创建(requires_new):存在当前事务则挂起创建新事务,不存在就新建。加入创建(required):存在当前事务则加入,不存在就新建。2.非事务型的:加入非事务、挂起非事务加入非事务(supports):存在当前事务则加入,不存在...
2018-09-26 11:45:16
823
1
原创 在普通类中注入(获取)spring管理的bean实例的ContextUtil工具类
开发过程中,有时会遇到需要在普通类中注入spring管理的单例bean。直接注入是注入不进去的,如图:此时就可以使用下面的工具类来获取bean实例,如图:附上ContextUtil代码:package com.qiang.Util;import org.springframework.beans.BeansException;import org.springframe...
2018-09-19 16:20:07
3802
原创 java设计模式---3种工厂模式核心原理、区别总结
一、简单工厂模式: 1.原理: 普通类作为工厂类。 2.特点: 1.1 对用户而言------很不方便------用户需要指定所需产品的种类。 1.2 耦合度高------公共的逻辑和私有的逻辑都耦合在一个工厂类中实现。 1.3 可扩展性差------增加种类时,需要更改公用的工厂类中的逻辑。 1.4 冗余代码少--...
2018-05-19 17:01:05
954
转载 关于myeclipse项目左下角有红叉的修改(有强迫症入)
http://blog.youkuaiyun.com/liudianch/article/details/53160528关于myeclipse项目左下角有红叉的修改。但是不影响项目启动这个版本要与Java Compiler 一致。
2018-04-25 10:51:27
246
转载 RMI(Remote Method Invoker) java 远程方法调用
RPC(远程过程调用) 的一种,初次之外PRC架构还有Hessian、dubbo等。下面仅介绍java中自带的远程调用工具:RMI1.对外接口:public interface IService extends Remote { public String queryName(String no) throws RemoteException;}2.服务实现:import java.rmi....
2018-04-25 10:50:43
210
原创 ava.security.InvalidKeyException: Illegal key size or default parameters
ava.security.InvalidKeyException: Illegal key size or default parametersIllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher解决方案:使用aes加密时,jdk要替换两个jar包替换${j...
2018-04-25 10:47:46
513
原创 HTTP建立连接---三次握手
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.其中,对于我们日常的分析有用的就是前面的五个字段。 它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有 DATA数据传输,RST表示连接重置。 其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应...
2018-04-25 10:46:46
339
原创 dubbo no provider 异常
原因1:虚拟网络导致-----解决方案------控制面板禁用虚拟网络原因2:组播地址无效。检查这个地址:dubbo.registry.address=multicast://224.5.6.168:1234组播报文的目的地址使用 d 类 ip 地址,范围是从 224.0.0.0 到 239.255.255.255。d 类地址不能出现在 ip 报文的源 ip 地址字段。224.0.0.0~224....
2018-04-25 10:42:51
1159
原创 powerDisigner注释comment拷到name中
toos---executeCommands---run javaScript,执行如下脚本:Option Explicit ValidationMode = True InteractiveMode = im_BatchDim mdl ' the current model' get the current active model S...
2018-04-25 10:41:10
143
原创 myeclipse maven 命令无效
installed jres :VMargs:-Dmaven.multiModuleProjectDirectory=$M2_HOME环境变量:
2018-04-25 10:39:12
333
原创 密码加密解密工具类(其中的keyValue/key为公钥)
import java.security.Key;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;impo...
2018-04-25 10:36:56
1918
原创 java HTML字符实体、iso8859-1字符实体转中文
HTML字符实体转html:StringEscapeUtils.unescapeHtml("&aring;&sup1;&iquest;&aring;&middot;\u009E");ISO8859-1实体字符转中文UTF-8:new String(StringEscapeUtils.unescapeHtml("&aring;&sup1;&am...
2018-04-25 10:33:16
1027
原创 uploadifive demo
$('#file_upload').uploadifive({ 'uploadScript':'上传目的地址', 'buttonText':'选择文件', 'multi':false, 'onUploadComplete':function(file, data) {//每一个文件上传完毕时执行
2017-08-23 11:49:11
2992
1
原创 Java MacUtil 获取mac地址 工具类
package com.ccw.coms.common.utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * MAC地址工具 * @author DanaHe */public class MacUtils { /** *
2017-08-22 11:37:49
1477
1
原创 js json str 互转
字符串转jsonArray:var array=eval(jsonStr);字符串转jsonObject:var obj=JSON.parse(jsonstr);//方式一var obj = eval('(' + str + ')');//方式二var obj = (new Function("return " + str))();//方式三(这种方式不常用)jsonObj
2017-08-07 17:36:57
1216
原创 java response 文件下载 文件名 乱码
filename使用iso8859-1编码方式:new String (filename.getBytes("utf-8"),"iso8859-1");
2017-08-03 16:36:41
657
原创 tipso插件---消息提示框
很多时候,我们会遇到这样的情况:字符串太长了,显示超出了应该在的范围,或者根本显示不全。这个时候,我们往往都很郁闷,既要显示信息,又要保证样式好看,怎么办呢,一般都是:给这个div加个mouseOver事件,在事件中设置详情提示框。但是,如果有很多很多这样的情况呢?是不是感觉要加到累死呀~~HowEver链接:http://pan.baidu.com/s/1dESJ
2017-07-31 17:58:54
1678
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人