源代码分析
文章平均质量分 89
不动明王1984
就怕其心一也
展开
-
SpringCache实现原理及核心业务逻辑(三)
SpringCache是SpringFramework3.1引入的新特性,提供了基于注解的缓存配置方法。它本质上不是一个具体的缓存实现方案(例如EHCache),而是一个对缓存使用的抽象,通过在已有代码中打上几个预定义的注释,就可以实现我们希望达到的缓存效果。SpringCache支持跟第三方缓存例如EHCache集成;另外也提供了开箱即用的默认实现,可以直接拿来使用。SpringCache支持使...原创 2017-12-08 02:05:05 · 8135 阅读 · 0 评论 -
SpringCache实现原理及核心业务逻辑(二)
SpringCache是SpringFramework3.1引入的新特性,提供了基于注解的缓存配置方法。它本质上不是一个具体的缓存实现方案(例如EHCache),而是一个对缓存使用的抽象,通过在已有代码中打上几个预定义的注释,就可以实现我们希望达到的缓存效果。SpringCache支持跟第三方缓存例如EHCache集成;另外也提供了开箱即用的默认实现,可以直接拿来使用。SpringCache支持使用SpEL(Spring Expression Language)来定义缓存的key和各种condition,原创 2017-12-01 23:52:20 · 4507 阅读 · 0 评论 -
SpringAOP基本概念及实现原理(三)
面向切面编程(AOP)是针对面向对象编程(OOP)的补充,可以非侵入式的为多个不具有继承关系的对象引入相同的公共行为例如日志、安全、事务、性能监控等等。SpringAOP允许将公共行为从业务逻辑中抽离出来,并将这些行为以一种非侵入的方式织入到所有需要的业务逻辑中,相较于OOP纵向模式的业务逻辑实现,其关注的方向是横向的切面。从Spring2.0开始,引入AspectJ注释来对POJO进行标注,支持...原创 2017-12-20 21:00:11 · 1228 阅读 · 1 评论 -
SpringAOP基本概念及实现原理(二)
面向切面编程(AOP)是针对面向对象编程(OOP)的补充,可以非侵入式的为多个不具有继承关系的对象引入相同的公共行为例如日志、安全、事务、性能监控等等。SpringAOP允许将公共行为从业务逻辑中抽离出来,并将这些行为以一种非侵入的方式织入到所有需要的业务逻辑中,相较于OOP纵向模式的业务逻辑实现,其关注的方向是横向的切面。从Spring2.0开始,引入AspectJ注释来对POJO进行标注,支持...原创 2017-12-17 16:54:32 · 875 阅读 · 0 评论 -
HyperSQL调研学习文档(三)
最近调研HyperSQL,把整理的资料记录一下,并分享给大家,由于时间略紧,内容肯定有遗漏和谬误的地方,欢迎大家指正。本人也会持续的修改更新。4. 数据库启动与建立连接流程4.1 Server启动流程当我们使用: Server server = new Server(); server.setPort(8743); server.setDatabaseName(0, "test"); ...原创 2018-01-22 13:36:16 · 1614 阅读 · 0 评论 -
HyperSQL调研学习文档(四)
最近调研HyperSQL,把整理的资料记录一下,并分享给大家,由于时间略紧,内容肯定有遗漏和谬误的地方,欢迎大家指正。本人也会持续的修改更新。5. 核心概念及数据结构5.1 database, catalog, schema与schema对象schema代表了一组schema对象及相应权限的概念,是在catalog之下又进行的一层逻辑划分。而schema对象,根据文档定义,是指用来包含数据或者管理...原创 2018-01-22 17:02:59 · 1285 阅读 · 1 评论 -
HyperSQL调研学习文档(二)
最近调研HyperSQL,把整理的资料记录一下,并分享给大家,由于时间略紧,内容肯定有遗漏和谬误的地方,欢迎大家指正。本人也会持续的修改更新。2. HyperSQL架构介绍2.1 通信层次架构2.1.1 socket层涉及到的类:ServerSocket, Socket, HttpURLConnection在非In-Processing模式下,HyperSQL服务端与客户端底层通过socket或h...原创 2018-02-08 10:50:18 · 1638 阅读 · 0 评论 -
SpringCache实现原理及核心业务逻辑(一)
springcache是springframework3.1引入的新特性,提供了基于注解的缓存配置方法。它本质上不是一个具体的缓存实现方案(例如EHCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种annotation,即能够达到缓存方法的返回对象的效果。springcache支持和主流的专业缓存例如EHCache集成;另外也提供了开箱即用的默认实现,可以直接拿来使用。原创 2017-11-30 00:16:22 · 6378 阅读 · 1 评论 -
SpringAOP基本概念及实现原理(一)
面向切面编程(AOP)是针对面向对象编程(OOP)的补充,可以非侵入式的为多个不具有继承关系的对象引入相同的公共行为例如日志、安全、事务、性能监控等等。SpringAOP允许将公共行为从业务逻辑中抽离出来,并将这些行为以一种非侵入的方式织入到所有需要的业务逻辑中,相较于OOP纵向模式的业务逻辑实现,其关注的方向是横向的切面。从Spring2.0开始,引入AspectJ注释来对POJO进行标注,原创 2017-12-16 14:51:32 · 734 阅读 · 0 评论 -
HyperSQL调研学习文档(一)
最近调研HyperSQL,把整理的资料记录一下,并分享给大家,由于时间略紧,内容肯定有遗漏和谬误的地方,欢迎大家指正。本人也会持续的修改更新。1.HyperSQL使用简介1.1 HyperSQL数据库存储方式说明每一个HyperSQL的数据库被称为一个目录(catalog),根据数据库存储方式不同分为几种:• mem: 整个的保存在RAM内存中-在JVM进程的生命周期之外不做任何的持久化。mem:...原创 2018-01-22 11:19:50 · 1873 阅读 · 0 评论 -
SpringBoot工作机制概述
1 SpringBoot简介SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。SpringBoot并不是要成为Spring平台...原创 2018-01-03 10:03:48 · 26593 阅读 · 5 评论 -
Reference,ReferenceQueue及GC垃圾回收机制分析
前言java在最开始设计的时候一个对象只存在被引用和没有被引用两种状态,如此设计在概念上会比较清晰,且垃圾回收的判断与实现也会比较简单。但是随着应用场景的增加,实际上,我们更希望存在这样的一类对象:当有足够的内存时,这些对象能够继续存活;而当内存空间不足需要进行垃圾回收,或者在进行了垃圾回收之后空间还是非常紧张,则可以抛弃这些对象。这种特性,可以在很多场景下发挥作用,例如缓存功能、对象存活周期监控、堆外内存释放等等。在JDK1.2之后对引用的概念进行了扩充,将引用分为强引用(Strong Refer原创 2021-02-03 15:03:46 · 1419 阅读 · 1 评论