自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (1)
  • 收藏
  • 关注

原创 spring事务-传播级别

数据库自增id在这时候会跳跃,因为一个事务占了两个id,有一个会退掉了。事务的传播级别是指当前的事务对于外层事务的关系。1.REQUIRED内外为同一个事务,且内层抛出异常后,内层先回滚并把事务设置为rollback-only,外层是在commit时候发现是rollback-only的,所以回滚并抛出UnexpectedRollbackException异常;外层异常后,会把内外的操作同时...

2019-08-12 16:44:15 185

原创 spring AOP

1.InvocationHandler用于接口的代理,拦截。首先一个接口和一个实现类:public interface InvocationService { public void print();}public class InvocationServiceImpl implements InvocationService { @Override publi...

2019-08-06 20:16:05 147

原创 ThreadPoolExecutor源码学习

线程池拒绝策略:1.AbortPolicy ----throw new RejectedExecutionException();2.DiscardPolicy ----reject and do nothing3.DiscardOldestPolicy ----discard oldest task in queue and do excute4.CallerRunsPol...

2019-07-17 16:41:41 176

原创 记录一次由C3P0连接池引起的事故

事故描述从中午11点开始服务报大量的超时,手动调用接口也不通。事故解决首先借用公司的CAT和PINPOIT等,查看有什么异常,在CAT上发现有大量insert异常,错误信息如下: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor175.invoke(Unknown Sour...

2019-07-12 17:58:56 211

翻译 sql执行顺序和隔离级别

首先画出MySQL的基础架构示意图大致来说,MySQL可以分为server层和存储引擎两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。默认的搜索引擎是InnoDB,从5.5.5开始成为默认的。你可以在建表时...

2019-07-01 20:52:17 155

原创 Elasticsearch学习

一 存储结构首先存入的数据按index(必须小写)分为不同的文件,type代表了数据的类型方便读写,_id是唯一的,object可以是json。基本概念可以看下链接2倒排索引 – 一般是id对用的内容这样子索引 倒排是吧数据分词后,记录每个词的所有id(实现时,Lucene将上面内容分别作为词典文件(TermDictionary)、频率文件(frequencies)、位置文件(posi...

2019-06-28 14:42:37 187

原创 红黑树

我们处理红黑树的核心思想:将红色的节点移到根节点;然后,将根节点设为黑色(1) 每个节点或者是黑色,或者是红色。(2) 根节点是黑色。(3) 每个叶子节点是黑色。 [注意:这里叶子节点,是指为空的叶子节点!](4) 如果一个节点是红色的,则它的子节点必须是黑色的(红色节点不能连续)。(5) 从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。private void fixA...

2019-06-14 19:25:41 68

翻译 Docker

基本概念镜像(Image)因为镜像包含操作系统完整的 root 文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 Union FS 的技术,将其设计为分层存储的架构。所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。容器(Container)镜像(Ima...

2019-06-03 13:57:41 63

翻译 shell

nohup & sh&的意思是在后台运行, 什么意思呢? 意思是说, 当你在执行 ./start.sh & 的时候, 即使你用ctrl C, 那么start.sh照样运行(因为对SIGINT信号免疫)。 但是要注意, 如果你直接关掉shell后, 那么,start.sh进程同样消失。 可见, &的后台并不硬(因为对SIGHUP信号不免疫)。nohup的意思是忽略...

2019-05-29 15:12:15 157

原创 Stack&Vector

Stack栈,继承了Vector /** * 取出并删除栈顶的元素 * * @return The object at the top of this stack (the last item * of the <tt>Vector</tt> object). * @throws EmptyStac...

2019-05-22 10:37:25 154

原创 ReentrantLock&Condition

AbstractQueuedSynchronizer/** * Setup to support compareAndSet. We need to natively implement * this here: For the sake of permitting future enhancements, we * cannot explicitly subcla...

2019-05-08 10:43:09 141

原创 Stream

distinctByKey自己写一个方法 重点是最后的方法 自己写一个distinctByKeypackage com.hyq.learning;import com.google.common.collect.Lists;import com.google.common.collect.Maps;import com.google.common.collect.Queues;im...

2019-04-29 13:25:25 266

翻译 netty

概念Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.netty是一个异步的事件驱动(不同的阶段,对应不同的回调方法)的网络框架维护着高性...

2019-04-24 19:40:27 610

原创 RabbitMQ采坑笔记

QueueingConsumer过时QueueingConsumer在Rabbitmq客户端3.x版本中用的如火如荼,但是在4.x版本开初就被标记为@Deprecated。Consumer的消费模式有Pull 和 Push两种,而经常用到的就是Push模式,Push模式在3.x的用法demo如下:QueueingConsumer consumer = new QueueingConsumer...

2019-04-24 10:03:07 5339

原创 MQ-RabbitMQ&ActiveMQ

一 RibbitMQRabbitMQ 是一个开源的 AMQP(高级消息队列协议) 实现,服务器端用Erlang语言编写.

2019-04-20 14:51:30 334

原创 java杂谈

https://blog.csdn.net/qq_34337272/article/details/80012284

2019-04-15 16:22:45 449

原创 单例模式---死锁

在重温单例模式时候,发现一个比较好玩的东西,死锁。首先,有两个单例bean,相互需要。public class Sigton1 { private Sigton2 sigton2; private static Sigton1 sigton1 = null; private Sigton1(Sigton2 sigton2) { this.sigto...

2019-04-09 20:37:41 952

原创 completablefuture初识

在开始学习completablefuture,发现他是Future的升级,所以先来了解一下Future一 Future–interface在并发编程中,我们经常用到非阻塞的模型,在之前的多线程的三种实现中,不管是继承thread类还是实现runnable接口,都无法保证获取到之前的执行结果。通过实现Callback接口,并用Future可以来接收多线程的执行结果。Future表示一个可能还没...

2019-03-01 11:55:17 166

原创 spring理解 -参数处理

一,@requestBody公司的框架中对于入参做了json的处理,但是再用的时候发现list不能解析。此处是分析如何做到list的解析。首先配置拦截器1.拦截器配置https://www.cnblogs.com/yangzhilong/p/3725849.html这篇文章介绍了xml配置方法,还不错。&amp;lt;!-- 可选 设置根据请求头的内容来解析请求body--&amp;gt;&amp;lt;mv...

2019-02-25 11:56:39 157

翻译 集合的学习

1.LRU算法LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。1.使用LinkedHashMap实现LinkedHashMap底层就是用的HashMap加双链表实现的,而且本身已经实现了按照访问顺序的存储。此外,LinkedHashMap中本身就实现了一个方法removeE...

2019-01-04 16:26:25 132

翻译 Redisson使用-springmvc

Redisson使用-springmvc日前在学习redisson,记录一下。配置1.首先官网连接:https://github.com/redisson/redisson2.我采用的是xml配置,一下是官网配置(哨兵模式,其他模式在官网wiki中可以看到):&amp;lt;redisson:client id=&quot;redisson&quot; name=&quot;redisson1,redisso...

2018-12-22 16:19:37 4104

空空如也

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

TA关注的人

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