自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

【欢迎关注公众号:冬瓜白】

掉不尽的底子玩不尽的味,

  • 博客(71)
  • 资源 (2)
  • 收藏
  • 关注

原创 JUC之AQS之CyclicBarrier

CyclicBarrier的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。CyclicBarrier有两个构造方法:第一个构造方法只有int参数,这个参数表示屏障拦截的线程数量,每个线程调用await方法告诉CyclicBarri...

2018-09-30 18:41:24 287

原创 线程池shutdown和shutdownNow的区别

相关博客:Java 线程池,isShutDown、isTerminated 的作用与区别 关闭线程池有两种方式,可以通过调用线程池的shutdown或shutdownNow方法来关闭线程池。它们的原理是遍历线程池中的工作线程,然后逐个调用线程的interrupt方法来中断线程,所以无法响应中断的任务可能永远无法终止。中断原理:关于线程池状态可以参看:https:...

2018-09-30 16:39:22 3732 1

转载 线程池的五种状态

转自:https://blog.csdn.net/l_kanglin/article/details/57411851线程池的5种状态:Running、ShutDown、Stop、Tidying、Terminated。线程池各个状态切换框架图:1、RUNNING(1) 状态说明:线程池处在RUNNING状态时,能够接收新任务,以及对已添加的任务进行处理。(02) 状态切换:线...

2018-09-30 16:28:15 662

原创 并发编程学习之AbstractQueuedSynchronizer(二)

这是紧接着上一篇:https://blog.csdn.net/Dongguabai/article/details/824616754.共享式同步状态获取与释放在上一篇博客中也介绍过,AQS有两种状态,即独占式同步状态和共享式同步状态。以文件的读写为例,如果一个程序在对文件进行读操作,那么这一时刻对于该文件的写操作均被阻塞,而读操作能够同时进行。写操作要求对资源的独占式访问,而读操作可以是...

2018-09-30 16:04:05 228

转载 Maven Optional & Exclusions使用区别

转自:https://blog.csdn.net/youanyyou/article/details/78990352Optional和Exclusions都是用来排除jar包依赖使用的,两者在使用上却是相反。Optional定义后,该依赖只能在本项目中传递,不会传递到引用该项目的父项目中,父项目需要主动引用该依赖才行。Exclusions则是主动排除子项目传递过来的依赖。用法区别...

2018-09-30 13:47:22 213

转载 maven可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)

转自:https://blog.csdn.net/ado1986/article/details/39547839我们知道,maven的依赖关系是有传递性的。如:A-->B,B-->C。但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖。在maven的依赖管理中,有两种方式可以对依赖关系进行,分别是可选依赖(Optional Dependencies)以及依赖排除...

2018-09-30 13:44:20 461

原创 ZooKeeper数据模型

基本数据模型ZK数据模型是一个树形结构,有点像前端的tree.js组件,也类似Linux操作系统的文件系统,也是以树的形式来存储。严格来说是一颗多叉树,每个节点上都可以存储数据,每个节点还可以拥有N个子结点,最上层是根节点以“/”来代表。在谈到分布式的时候,我们通常说的“节点”是指组成集群的每一台机器,在ZK中,“节点”分为两类,第一类同样是指构成集群的机器;第二类是指数据模型中的...

2018-09-30 11:30:53 1026

转载 ZooKeeper常用命令

转自:https://blog.csdn.net/WuLex/article/details/76039026启动Windows环境双击zkServer.cmd脚本即可启动ZooKeeperLinux环境使用zkServer.sh脚本,如下:3 常用命令3.1. 启动ZK服务: bin/zkServer.sh start3.2. 查看ZK服务状态: b...

2018-09-30 11:18:23 304

转载 数据库高并发下乐观锁的原理

转自:https://www.latrell.me/post-358.html在高并发下,经常需要处理SELECT之后,在业务层处理逻辑,再执行UPDATE的情况。  若两个连接并发查询同一条数据,然后在执行一些逻辑判断或业务操作后,执行UPDATE,可能出现与预期不相符的结果。  在不使用悲观锁与复杂SQL的前提下,可以使用乐观锁处理该问题,同时兼顾性能。   场景模拟:...

2018-09-29 21:07:53 528

原创 ZK的zoo.cfg文件和节点属性说明

zoo.cfg安装完ZooKeeper后在conf下有这样一个文件:一般会将其重命名为zoo.cfg,在zoo.cfg钟有这样几个比较重要的配置:tickTime=2000   用于计算的时间单元,默认单位是毫秒,整个Zookeeper中的时间都是以tickTime为基准的。比如session超时:N*tickTimeinitLimit=10用于集群,允许从节点连接并同...

2018-09-29 20:27:53 1058

原创 通用的webService(CXF、Axis)调用工具类(无强制依赖)

要支持Axis需要这么几个不常见的依赖:<dependency> <groupId>org.apache.axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency&am

2018-09-29 19:40:48 1702 3

原创 VMware虚拟机在Linux执行ifconfig eth0没有IP

今天电脑死机,然后重新进入虚拟机后就这样了:eth0:网络接口link encap : 网络类型HWaddr : 网卡物理地址Inet addr :(internet address) IP地址Bcast:广播地址Mask:子网掩码UP:正在使用的网络接口RX packets,TX packets : 接收和传输的数据包个数RX byte,TX byte : 表示接收和传输...

2018-09-29 16:22:32 1239

原创 MyBatis用JavaBean作为返回接口集的一个问题

今天出现了这样一个异常:说是没有构造,但是我的Query是有有参构造的,有参构造第一个参数类型是BigDecimal,第二个参数类型是String:异常显示的是没有构造,其中第一个参数类型是String,第二个参数类型是BigDecimal。而SQL查询结果是第一个参数是String,第二个参数是BigDecimal:也就是说SQL查询结果集的顺序要与Query对象的构造顺...

2018-09-28 19:00:33 810

转载 使用淘宝api来获取ip的地区,isp服务商等信息

转自:https://javaweb.io/post/14使用淘宝api来获取ip的地区,isp服务商等信息接口地址:http://ip.taobao.com/service/getIpInfo.php演示代码依赖库Fastjsonimport java.io.BufferedReader;import java.io.InputStreamReader;import ja...

2018-09-28 15:45:35 1297

原创 在IDEA中配置Google Style Guides

进入:https://github.com/google/styleguide将下面这个文件拉下来:进入IDEA:简单测试下:格式化后:

2018-09-28 15:09:53 858

原创 Mybatis XML文件中的大于、小于转义

     &            &     <            <     >            >     "             "     '              '    <=            <=            ...

2018-09-27 15:57:06 338

原创 双重检查锁(DCL)问题

问题来源以”懒汉式“单例模式为例(思想就是延迟高开销对象的初始化操作),代码如下。这是一个普通的POJO:/** * @author Dongguabai * @date 2018/9/23 22:21 */import lombok.AllArgsConstructor;import lombok.Data;import java.time.LocalDateTim...

2018-09-27 14:26:49 7409 6

原创 Error:Failed to load project configuration: cannot parse xml file xxx_exploded.xml

启动IDEA时出现了这样一个异常:Error:Failed to load project configuration: cannot parse xml file xxx_exploded.xml提前结束。直接将这个文件删除,再启动Tomcat即可。

2018-09-25 22:20:38 6869 2

原创 JUC之AQS之CountDownLatch

CountDownLatch允许一个或多个线程等待其他线程完成操作。比如如果要实现一个这样的功能:要让主线程等待所有线程完成自己的操作后再执行,最简单的做法是使用join()方法(可参看https://blog.csdn.net/Dongguabai/article/details/82255331)。这是一个比较简单简单的例子:package dgb.test.concurrent;...

2018-09-24 12:24:40 374

原创 javac命令出现: 错误: 编码GBK的不可映射字符

今天在使用javac命令的时候出现了这样一个异常:解决方法可以使用windows自带记事本打开.java文件,保存为ANSI即可:

2018-09-24 09:30:09 584

转载 深入理解DCL(双检锁)的安全性

个人感觉本文观点有误。可参看:https://blog.csdn.net/Dongguabai/article/details/82828125原文地址:http://www.edu114.cn/java/java785333_2.html对于双检锁,其实有多种不同的用法,有很多种用法是无论如何不会出现问题的.我最初用双检锁来获取jndi对象时,立即有人告诉我双检锁是不安全的,我笑着告...

2018-09-22 22:41:02 575

原创 使用IDEA查看运行Java代码生成的汇编指令

将两个文件复制到:编辑Configurations:输入的指令:-server -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:CompileCommand=compileonly,*TestInterrupt2.main//最后的TestInterrupt2.main根据实际替换即可运行main...

2018-09-22 22:01:47 6512 2

转载 58到家数据库30条军规解读

原文地址:http://chuansong.me/n/1574852446614军规适用场景:并发量大、数据量大的互联网业务军规:介绍内容解读:讲解原因,解读比军规更重要 一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险...

2018-09-22 20:56:15 317

原创 Spring MVC设置不拦截静态资源

在Spring Boot中:这里还可以自行添加拦截器:Spring在Registry中通过org.springframework.web.servlet.config.annotation.InterceptorRegistry#registrations来存储各个拦截器。套路和之前分析过的Spring Boot自定义消息、类型转换器差不多(可参看:https://blog.csd...

2018-09-22 01:29:58 488

原创 再谈线程中断

无意中在某地方中看到了这样一个问题,大致代码如下:/** * @author Dongguabai * @date 2018/9/22 0:01 */public class TestInterrupt2 { public static void main(String[] args) throws InterruptedException { Thread ...

2018-09-22 00:10:59 164

转载 CentOS下date命令 - 显示和设置系统日期与时间

原文地址:https://www.cnblogs.com/wych/p/4180382.html显示系统日期要显示系统日期,只要输入:$ dateThu Dec 5 22:55:41 WIB 2013格式化显示日期日期有很多格式。如果你不喜欢默认的格式,你可以换一种格式。你可能会想"为什么我需要改变格式? 默认的输出对我足够了。"是的,你说的对,但是当你在编程时,默认输...

2018-09-21 17:31:38 7212 1

原创 jps命令

jps命令是JDK 1.5之后提供的可以由于查看Java进程的一个工具。比如:输入jps:再结合jstack命令(可参看:https://blog.csdn.net/Dongguabai/article/details/82318483):下面内容转自:https://blog.csdn.net/gtuu0123/article/details/6025520jps...

2018-09-20 20:43:19 294

原创 同一个表,用sql查询今天和昨天的差值,然后排序

SELECT tagId2, yesterday, cha, absSumFROM ( SELECT tt.tagId2, tt.yesterday, tt.absSum, tt.cha, rownum AS rn FROM ( SELECT tagId2, yesterday, before_yesterday - yesterday AS cha , abs(before...

2018-09-19 19:00:00 3863

原创 Mysql数据库中的using()函数

在Mysql中using()用于两张表的join查询,而且在using()中指定的列在两个表中均存在,并且作为join的条件。比如:select a.*, b.* from a left join b on a.id = b.id等价于:select a.*, b.* from a left join b using(id); ...

2018-09-19 18:26:43 2830

转载 maven编码 gbk 的不可映射字符

原文地址:https://www.cnblogs.com/xdp-gacl/p/4239006.html参考地址:http://capslk.iteye.com/blog/1419958一、问题描述  今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误:百思不得其解啊,java源代码在MyEclipse中显示是没有任何错误的,可是执行"maven i...

2018-09-17 23:49:56 2953

原创 Solr 4升级Solr 5

最有效的其实就是看官方文档了,官方文档下载地址:链接:https://pan.baidu.com/s/1DYSCJzHJSy3dq51EXlthHQ 密码:9h3f在最后已经说明的很清楚了:也可以参看这篇博客:https://blog.csdn.net/jiangchao858/article/details/53292981...

2018-09-16 17:11:34 846

原创 Spring定时任务的简单配置

在Spring的配置文件中加上:xmlns:task="http://www.springframework.org/schema/task"http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd配置好包扫描路径后,接下来可...

2018-09-14 16:32:39 224

转载 不会排查线上问题?来学学这些命令吧!

原文地址:https://mp.weixin.qq.com/s/75zCoSdVTnFhDBU48dQTLA众所周知计算机的几大组成部分是:CPU、内存、磁盘、网络。那么线上机器出现问题的时候,很多时候也是这几样东西出现了问题。所以排查线上问题的关键,就是观察这几块资源的使用情况。CPU查看CPU使用情况有许多命令,其中用得最多的还是top命令。它不仅可以列出每个CPU的使用情况,还可...

2018-09-14 13:59:21 191

转载 为什么redis 是单线程的?

//Todo最近有朋友遇到找个问题了,在网上找了一篇博客,先记着。不过个人感觉这个问题真的要追究起来是很复杂的,跟Reactor模式、I/O有关。以后再写一篇博客探讨这个问题。 原文地址:https://blog.csdn.net/world6/article/details/79381682以前一直有个误区,以为:高性能服务器 一定是 多线程来实现的原因很简单因为误区二导致的...

2018-09-14 13:47:12 260

原创 加锁要注意的地方-脏读

加锁要注意整体性,比如现在正在给一个参数进行setValue,可能setValue的方法耗时比较长,这时候又有一个线程去getValue去了,这个时候就会有问题,所以set和get都要加锁。Oracle的一个示例比如现在有一个用户A在9:00查看一张很大的表,查询到最后一条数据dataLast=100需要十分钟,这时候有一个用户B在9:05分修改了dataLast=200,这个时候...

2018-09-13 17:46:21 566

原创 使用synchronized要注意的地方

相关博客:再看 synchronized避免多个线程同时竞争一把锁一个线程想要执行synchronized代码体中的代码:1.尝试获得锁;2.如果拿到锁,执行synchronized代码体内容:拿不到锁,这个线程就会不断的尝试获得这把锁,直到拿到为止,会是多个线程同时去同时竞争这把锁(会有竞争问题);(有个问题是如果抢占锁的线程过多,这样对CPU的资源消耗极大,所以要避免多个...

2018-09-13 17:42:53 5280

原创 并发编程学习之AbstractQueuedSynchronizer(一)

队列同步器AQS,是用来构建锁或者其他同步组件的基础框架,它使用了一个int类型的成员变量state表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。同步器的主要使用方式是继承,子类通过继承同步器并实现它的抽象方法来管理同步状态,在抽象方法的实现过程中免不了要对同步状态进行更改,这时就需要使用同步器提供的3个方法(getState()、setState(int newState...

2018-09-13 17:22:39 346

转载 分页优化

原文地址:https://www.cnblogs.com/waterystone/p/9392421.html一、传统分页Select * from table limit 10000,10;二、LIMIT原理Limit 10000,10 偏移量越大则越慢;三、推荐分页3.1   1 2 Select * from table WHE...

2018-09-13 16:16:16 269

原创 Druid 参数配置一次事故现场

From:威哥之前项目在进行压测的过程中,客户的数据库发生宕机,但是当客户数据库恢复后,数据库(Oracle)出现了大量连接数,直接锁住数据库。将之前的总结文档记录到博客:历史疑点1.情景无法重现现只能重现过以下情景,且只存在当连接池中连接数逼近数据库设置的并发数时才会出现数据库无法通过客户端或者sqlplus等登录失败的情况;数据库服务正常运行场景下的1521端口连接统计,数...

2018-09-13 15:26:29 12062 2

转载 线程状态:park, wait, sleep, interrupt, yeild 对比

原文地址:http://www.cnblogs.com/23lalala/p/6214356.htmlJVM线程状态NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATEDBLOCKED是等待获得对象锁WAITING是调用了wait, sleep, park 操作系统线程状态sleep, 进入TIMED_W...

2018-09-13 15:01:18 1009

skywalking 6.5、6.6、6.6 es7 版本 tar 包

skywalking 6.5、6.6、6.6 es7 版本下载包,官方下载太慢。要注意如果连接 ES 7 记得下载 es7 版本

2021-02-04

IDEA查看Java运行代码的汇编指令工具

IDEA查看Java运行代码的汇编指令工具,将文件导入jre/bin中后,在IDEA中进行相关配置,即可查看汇编指令,具体方法可参看:https://blog.csdn.net/Dongguabai/article/details/82818120

2018-09-22

空空如也

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

TA关注的人

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