摘要: 获取锁代码: 优点: 1. 可靠性高、实现简单 2. zookeeper因为临时节点的特性,如果因为其他客户端因为异常和zookeeper连接中断了,那么节点会被删除,意味着锁会被自动释放 3. zookeeper本身提供了一套很好的集群方案,比较稳定 4. 释放锁操作,会有watch通知机制,也就 阅读全文
posted @ 2018-11-25 20:07 jessee-blog 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 简介: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 基本思想: 如果想要判断一个元素是不是在 阅读全文
posted @ 2018-11-25 18:02 jessee-blog 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 一般的使用缓存模型: 优点:减轻服务器压力 缺点:假设用户故意使用一个不存在的key请求,服务器每次还是会请求数据库 改进方案: 查询数据库,不存在时,向缓存中存放一个特殊字符 优点:用户使用一个不存在的key重复请求,可以避免给服务器带来的压力 缺点:用户每次使用不同的且不存在的key请求,该模型 阅读全文
posted @ 2018-11-25 17:55 jessee-blog 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 引入jar包 代码示例: 输出结果: 阅读全文
posted @ 2018-11-25 17:24 jessee-blog 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 状态说明: 1.new:新建状态,线程对象被创建时。 2.runnable:就绪态,调用该线程的start方法。 3.running:执行态,线程获得了cpu执行权。 4.blocked:阻塞态,线程放弃cpu执行权,暂时停止运行,直到某种条件满足重新进入就绪状态。 阻塞态分三种: (1):等待阻塞 阅读全文
posted @ 2018-11-25 15:41 jessee-blog 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 事务介绍(引用百度百科): 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失 阅读全文
posted @ 2018-11-25 00:52 jessee-blog 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 如果过多的源同时以很快的速度发送大量的数据包,而此时接收方并没有如此高的接收数据的能力,因此极易导致网络的拥塞。所以,为了控制发送方的发送速度,防止发送方并考虑到受发送缓冲区大小的制约等,要求对发送方已发出但尚未经确认的帧的数目加以限制,同时使网络的传输效率得到提高,滑动窗口协议应运而生,它使得发送 阅读全文
posted @ 2018-11-20 22:32 jessee-blog 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1.静态代理 2.动态代理 3.sping容器中jdk动态代理的实现 4.spring容器中cglib 阅读全文
posted @ 2018-11-20 22:26 jessee-blog 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 一:查找java进程1.通过pas命令查找李,例如:ps -ef|grep java或者ps -ef|grep tomcat,grep后跟关键字,tomcat路径等 2.通过jps命令,例如jps -l3.top命令二:使用javamingl查看jvm情况1.命令jstat,例:jstat -gcu 阅读全文
posted @ 2018-11-20 22:17 jessee-blog 阅读(2339) 评论(0) 推荐(0) 编辑
摘要: JMM-java内存模型: 简介:程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中。 问题:在多核CPU中,每条线程可能运行于不同的CPU中,因此每个线程 阅读全文
posted @ 2018-11-19 22:11 jessee-blog 阅读(551) 评论(0) 推荐(0) 编辑