自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 警惕static与volatile使用

在后端服务中,如果使用static做flag控制或做数据共享时,在高并发中有可能会遇到在A线程已经变更但在B线程中读到的还是脏数据,这是因为JAVA中每个线程都有一个私有线程,会复制主内存中变量做副本到私有线程中,当A线程更新静态变量时,先更新的是本地私有内存中的副本变量,然后再同步到主内存中,如:private static boolean stopRequested; pub...

2019-04-01 18:07:54 4591 1

原创 Hystrix(豪猪)的原理探索(一)

在使用SpringBoot过程中,对于一些有瞬时高并发的项目中,存在被竞争对手刷接口的风险,导致单个模块或接口请求量持续高,继而导致后端服务处理不过来,持续的过程中接口就会发生线程阻塞,接着就会由单个模块引起雪崩导致整个应用宕机,这个时候就需要个在单个模块或接口在线程阻塞时,阻止雪崩效应产生(熔断),将阻塞控制在单个模块工或接口内。Hystrix就是这样的一个框架.。Hystrix可以...

2019-03-30 10:52:27 2420

原创 redHat RabbitMq集群安装踩坑

在配置RabbitMq集群时,首先需要做的是修改.erlang.cookie的值需要一样.一、修改.erlang.cookie的值,启动加入集群还是失败,当前node的cookie的值一直显示为其它内容.    1).erlang.cookie,在/root和/var/lib/rabbitmq下都有一个.erlang.cookie,需要 修改/var/lib/rabbitmq/.erlan...

2019-01-18 10:58:04 328

原创 ECLIPSE 使用MAT分析堆栈

ECLIPSE 使用MAT分析堆栈1、使用JPS -v查看当前运行的JAVA进程ID 2、使用jmap -dump:format=b,file=d:/heap/heap.bin 进程ID,打印堆栈 3、在eclipse中直接打开该堆栈文件 4、通过Historgram显示堆栈的大对象。也可以直接在首页中的Tab content显示Accumulated Objects by Class in

2017-10-30 16:27:20 4260

原创 JVM(二)

JAVA虚拟机执行JVM的执行都是通过字节码指令来执行。如两个int类型数据相加通过iadd指令,所以JAVA文件经过编译后,可能形成的是各种指令。同步的实现JAVA的同步使用两个指令来实现monitorenter,monitorexit,同步块是使用这两个指令显示的达到锁的效果,当monitorenter进入后,线程就是持这个块的锁,阻塞了其它的访问,直到monitorexit指令被调用 ,同步方

2017-10-07 19:31:40 272

原创 JVM(一)

JVM(一) JVM JAVA的虚拟机,包含PC寄存器、本地方法栈、JAVA栈,JAVA堆、方法区,常量池,JAV之所以能跨平台、跨系统无障碍运行,是因为JAVA虚拟机将JAVA的字节码翻译成机器识别的机器码。包含PC寄存器本地方法栈JAVA栈*JAVA堆方法区常量池PC寄存器 PC寄存器保存正在执行的方法对应的字节码地址,每个线程都有一个PC寄存器JAVA虚拟机支付多个线程同

2017-10-05 15:08:42 342

原创 Eclipse 在线安装SVN的(SVN CONNECTOR按官方指引不成功)

使用的当前最新的Eclipse 4.7 版本安装安装方式是使用在线安装:在INSTALL NEW SOFTWAR中输入地址:http://download.eclipse.org/releases/juno,在加载出来的插件列表中,输入SUB来过滤出SVN插件。接下来都按提示来操作安装完SVN后,还需要安装SVN CONNECTOR,通过WINDOWS-PREFERENS-TEAM-S

2017-08-28 18:04:52 9526

原创 Dubbo源码介绍

Dubbo是阿里的一个分布式服务框架介绍 Dubbo通过Zookeeper注册服务及获取服务注册信息,并使用JAVA spi机制生成服务,使用RPC协议远程调用服务,具体实现使用了Netty调用服务,这样Dubbo本身是无法使用全局事务,需要借助额外TCC事务。 生成 Dubbo服务可以在服务端注册后,调用端引用服务端的API,并连接到注册中心。就可以获取服务端注册的服务类相关信息,调用端面需

2017-08-20 16:30:25 270

原创 阅读TOMCAT 8源码(一)

阅读TOMCAT 8源码(一)了解TOMCAT工作主体流程 :启动监听端口创建线程 tomcat 是通过socket服务及多线程来构建容器的,并通过java的nio来获取请求数据并写回返回数据1、启动 启动是在网上阅读其它前辈的笔记的,目前学习源码感觉找源头比较痛苦,TOMCAT还好,有一个统计一的源码入口,其它的框架类感觉不太好找,有好的方法同学请不吝赐教 TOMCAT的

2017-08-07 11:07:33 453

原创 VirtualBox + Ubuntu 网络配置

在公司VirtualBox配置网络连接,奋斗了一天多,一直只能虚拟机PING 主机,而主机不能PING虚拟机偿试了桥接、NAT、网络地址(NAT)及桥接+网络地址转换(NAT) 、网络地址转换(NAT)+Host Only效果都无法达到主机与虚拟机及外网互通无碍。后来将电脑拿回家后,桥接方式达到了互通无碍。可见是公司的桥接方式+DHCP的问题,一般如果没有特殊限制的话使用桥接方式+网络地址转换

2017-06-12 10:18:51 1253 1

原创 NGINX + KEEPALIVE 实践

NGINX本身只能单点反向代理,当NGINX本身挂掉的话,就会导到整个服务都无法提供服务,当NGINX+KEEPALIVED 时可以解决nginx单点的问题Keepavlived通过一个虚拟IP来代理两台NGINX,两台主备Keepalived服务共用 一个虚拟IP来进行平滑切换keepalived每三秒钟执行一个检查脚本,判断nginx是否存活,如果不存活,则执行启动NGINX脚

2017-05-24 16:34:10 1203

原创 ubunt 安装keepalived时缺少openssl

在ubuntu环境缺少openssl时,需要安装 apt-get install libssl-dev

2017-04-30 11:10:28 1290

原创 nginx 启动失败 缺少libpcre.so.1

首先需要确保安装 了pcre-8.38.tar.gz包,安装完后,在启动nginx时提示libpcre.so.1文件不到,通过命令:ldd /usr/local/nginx/sbin/nginx 会发现not found:然后将/usr/local/lib/libpcre.so.1链接到/lib下或/lib65下面ln -s /usr/local/lib/libpcre.so.

2017-04-30 10:51:28 1217

原创 ubuntu mysql 启动失败

系统 版本ubuntu 12.04.5 LTS 64位mysql版本5.7.11在更新了libmysqlclient-dev后,再重新启动电脑和mysql ,启动mysql时失败,错误提示:. * The server quit without updating PID file (/var/run/mysqld/mysqld.pid).经过网上资料在查找 ,原来 在/etc/

2017-04-29 10:45:55 4674

原创 Zookeeper集群搭建- 奇葩问题解决1

在搭建Zookeeper集群时如遇到 Cannot open channel to 3 at election address node2/****:2888除开网络等问题,需要查看zoo.cfg中的当前节点IP是不是设置成0.0.0.0:2888:3888,如当前节点属于myid=1server.1=0.0.0.0:2888:3888server.2=192.168.109.14

2017-04-23 16:53:43 431

原创 Spring循环体内的事务控制

Spring循环体内事务控制

2017-04-13 16:56:21 6440

原创 GSON 转换JSON为JAVA对象的日期坑

GSON 转换JSON为JAVA对象的日期坑 当使用GSON对JSON转换成JAVA对象时,一定要设置日期格式,否则在上线后,在生产环境不一定就被坑的很惨。因为GSON对日期格式解析的格式来源于当前系统 的日期格式,有可能是YYYY-MM-DD HH:MM:SS,也有可能 是MM:DD:YYYY之类的。 指定转换GSON日期格式: new GsonBuilder().setDateFormat

2017-04-13 16:11:20 1374

原创 多线程Synchronized验证

Synchronized慎重使用

2017-03-24 17:06:00 434

空空如也

空空如也

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

TA关注的人

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