自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蓝天之枫

keep coding

  • 博客(20)
  • 资源 (7)
  • 问答 (4)
  • 收藏
  • 关注

原创 线程池ThreadPoolExecutor、Executors参数详解与源代码分析

转载自:https://www.cnblogs.com/nullzx/p/5184164.html  感谢好文!1. ThreadPoolExecutor数据成员1Privatefinal AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING,0));

2017-12-26 21:56:12 399

原创 HashMap源码剖析

转载:http://www.importnew.com/20321.html 感谢!HashMap简介HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。...

2017-12-22 17:11:14 312

原创 谈谈java的代理模式认识 三————CGLIB代理

接着上篇博客的代理模式,我们继续,上篇博客介绍了JDK的动态代理,但是JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,这样就存在一定的局限性。对于这种情况,我们采用CGLIB来实现。一、CGLIB动态代理     cglib是针对类来实现代理的,其实现原理:CGLIB的底层采用ASM字节码生成框架,使用字节码技术生成代理,比使用反射生成代理的效率要高,是对...

2017-12-05 19:26:12 334

原创 谈谈java代理模式的认识二——动态代理(JDK)

让我们就接着上篇博客的静态代理来开始今天的动态代理。一、动态代理   静态代理需要在运行之前就写好代理类,这样就造成了代码的大量重复,所以我们通过动态代理在运行时期动态生成业务类的代理类,那么动态代理类是如何实现的呢?   动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生...

2017-12-05 19:22:48 421

原创 谈谈JAVA的代理模式认识 一——为什么使用代理模式

一、中介隔离作用    代理模式,第一次接触它,是在学习.Net的时候看的一本书,叫做《大话设计模式》,至今已快三年了。相信看过这本书的同学们,都记得书中的代理模式,就是为他人做嫁衣裳的故事。好,我们回归代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用, 其特征是代理类与委托类有...

2017-12-05 19:18:02 616

原创 Zookeeper client

当我写完Zookeeper leader选举后,准备看看Zookeeper的存储和处理客户端请求的时候发现,如果能看看Zookeeper的API是不是在理解后面的过程更好些呢。Zookeeper的client是通过Zookeeper类提供的。前面曾经说过,Zookeeper给使用者提供的是一个类似操作系统的文件结构,只不过这个结构是分布式的。可以理解为一个分布式的文件系统。我们可以通过Zook

2017-12-04 10:11:09 429

原创 Zookeeper leader选举

在上一篇文章中我们大致浏览了zookeeper的启动过程,并且提到在Zookeeper的启动过程中leader选举是非常重要而且最复杂的一个环节。那么什么是leader选举呢?zookeeper为什么需要leader选举呢?zookeeper的leader选举的过程又是什么样子的?本文的目的就是解决这三个问题。首先我们来看看什么是leader选举。其实这个很好理解,leader选举就像总统选举

2017-12-04 10:10:56 261

原创 Zookeeper启动过程

在上一篇,我们了解了zookeeper最基本的配置,也从中了解一些配置的作用,那么这篇文章中,我们将介绍Zookeeper的启动过程,我们在了解启动过程的时候还要回过头看看上一篇中各个配置参数在启动时的位置。Zookeeper的启动入口在org.apache.zookeeper.server.quorum.QuorumPeerMain。在这个类的main方法里进入了zookeeper的启动

2017-12-04 10:10:43 246

原创 Zookeeper的配置

前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象。本文只关注分布式模式的zookeeper,因为这也是在生产环境的唯一部署方式,单机的zookeeper可以在测试和开发环境使用,但是单机环境的zookeeper就不再是zookeeper了。安装配置

2017-12-04 10:10:13 271

原创 Zookeeper可以干什么

在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. 这大概描述了Zookeeper主要可以干哪些

2017-12-04 10:09:55 286

原创 Zookeeper是什么

转载自:https://www.cnblogs.com/yuyijq/p/3391945.htmlGoogle的三篇论文影响了很多很多人,也影响了很多很多系统。这三篇论文一直是分布式领域传阅的经典。根据MapReduce,于是我们有了Hadoop;根据GFS,于是我们有了HDFS;根据BigTable,于是我们有了HBase。而在这三篇论文里都提及Google的一个lock service

2017-12-03 14:06:18 582

原创 dubbo的底层原理

一、Duboo基本概念解释Dubbo是一种分布式服务框架。 Webservice也是一种服务框架,但是webservice并不是分布式的服务框架,他需要结合F5实现负载均衡。因此,dubbo除了可以提供服务之外,还可以实现软负载均衡。它还提供了两个功能Monitor 监控中心和调用中心。这两个是可选的,需要单独配置。Dubbo的计数架构图如下:我们解释以下这个架构图:Consu

2017-12-03 14:01:37 152302 13

原创 《深入理解mybatis原理》 MyBatis缓存机制的设计与实现

转载:http://blog.csdn.net/luanlouis/article/details/41390801本文主要讲解MyBatis非常棒的缓存机制的设计原理,给读者们介绍一下MyBatis的缓存机制的轮廓,然后会分别针对缓存机制中的方方面面展开讨论。MyBatis将数据缓存设计成两级结构,分为一级缓存、二级缓存:       一级缓存是Session会话级别的缓

2017-12-03 13:56:23 312 1

原创 《深入理解mybatis原理》 MyBatis的二级缓存的设计原理

MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。本文将全面分析MyBatis的二级缓存的设计原理。1.MyBatis的缓存机制整体设计以及二级缓存的工作模式          如上图所示,当开一个会话时,一个SqlSession对象会使用一个Executor对象来完成会话操作,MyBatis的二级缓存机制的关键就是对这个E

2017-12-03 13:54:31 563

原创 《深入理解mybatis原理》 MyBatis的一级缓存实现详解 及使用注意事项

0.写在前面        MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上。MyBatis提供了一级缓存、二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高系统的性能。本文的目的则是向读者详细介绍MyBatis的一级缓存,深入源码,解析MyBatis一级缓存的实现原理,并且针对一级缓存的特点提出了在实际使用过程中应该注意的事项。

2017-12-03 13:47:36 221

原创 MyBatis的工作原理

转载于:http://blog.csdn.net/jiuqiyuliang/article/details/45286191看到Mybatis的框架图,可以清晰的看到Mybatis的整体核心对象,我更喜欢用自己的图来表达Mybatis的整个的执行流程。如下图所示:             原理详解:        MyBatis应用程序根据XML配置文件创建SqlSession

2017-12-03 13:42:48 29966 2

原创 springMVC 的工作原理和机制

springMVC 的工作原理和机制2016-03-11 12:05 by 孤鸿子, 78509 阅读, 0 评论, 收藏, 编辑 工作原理上面的是springMVC的工作原理图:1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器

2017-12-03 13:35:45 504

原创 ConcurrentHashMap与HashTable的区别

ConcurrentHashMap融合了hashtable和hashmap二者的优势。hashtable是做了同步的,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。但是hashtable每次同步执行的时候都要锁住整个结构。看下图:图左侧清晰的标注出来,lock每次都要锁住整个结

2017-12-03 13:31:37 8878

原创 HashMap面试题

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入

2017-12-03 13:26:33 634

原创 HashMap的底层实现

转载:http://blog.csdn.net/ustcbob/article/details/23709589文章详细,谢谢!1. HashMap概述:  HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和n

2017-12-03 13:24:26 282

cas-client.7z

cas-client的jar包,用于测试SSO单点登录的,里面还包含commons-logging-1.1.jar这个jar。本人使用该jar包测试一切正常。

2020-04-12

cas-server.7z

cas-server的war包,拿来即用。用于测试SSO单点登录的,新版本是用gradle构建的,但是这个版本为4.2.4,用于maven来构建的,比较方便。

2020-04-12

redis操作工具类

redis集成springboot,优雅的redis工具类,内置常见方法,以及hash,分布式锁等

2019-05-06

JSch对linux上文件的操作

JSch对linux上文件的上传,下载,批量处理,删除文件等等,已在项目中使用。

2017-09-27

DFA算法实现敏感词过滤

已在项目中使用,绝对是你想要的,高效的DFA算法实现的敏感词过滤功能。

2017-09-27

poi导出数据到excel里

已在项目中使用,poi技术导出数据到excel里,绝对是你想要的。

2017-09-27

各种加密工具

Aes Des Md5 Rsa Sha1Sha256 Sha512 等等。100%有你想要的。

2017-09-27

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

TA关注的人

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