SpringAOP源码分析总结

1、Advisor(增强器):充当Advice和Pointcut的适配器,类似使用Aspect的@Aspect注解的类(前一章节所述)。一般有advice和pointcut属性。 祖先接口为org.springframework.aop.Advisor,应用中可直接使用org.springframework.aop.support.DefaultPointcutAdvisor < aop:advisor>大多用于事务管理,定义通知器(通知器跟切面一样,也包括通知和切点) 2、Advice:用于
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

SpringIOC源码分析总结

大致的加载过程: spring ioc容器的加载,大体上经过以下几个过程: 资源文件定位、解析、注册、实例化 1.资源文件定位:主要发生在ApplicationContext中,由于applicationContext继承于ResourceLoader,所以调用getResource()方法,将外部的资源解析成Resource类 2.解析:主要发生在BeanDefinitionReader中完成,最常用的类是XMLBeanDefiniationReader, ac利用loadBeanDefin
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

WC2019 冬眠记

Day1 做高铁来广州 晚上开幕式,亮点在CCF的日常讲话。dzd有事换wh讲。 我们WC比赛的人数是最多的,性价比是最高的 然后掌声雷动 相信大家鼓掌是同意我的话 再次掌声雷动(雾 Day2-Day5 听不懂,真冬眠 Day6 早上是WC考试,日常咕咕咕。发了一大堆修正、注意事项。 先浏览题目。T1看起来暴力可打,T2看起来不是很可做,T3看起来第一个测试点31分比较良心可以做一做。 然后开T1。先写个并查集做一个子任务,然后好像不太会了,看T2。T2仔细看半天才发现不是大模拟,然后写出了写
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

Spring事务源码分析总结

Spring事务是我们日常工作中经常使用的一项技术,Spring提供了编程、注解、aop切面三种方式供我们使用Spring事务,其中编程式事务因为对代码入侵较大所以不被推荐使用,注解和aop切面的方式可以基于需求自行选择,我们以注解的方式为例来分析Spring事务的原理和源码实现。 //配置事务管理器 <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="transactionManager" cl
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

一本通1581旅游规划

1581:旅游规划 时间限制: 1000 ms 内存限制: 524288 KB 描述 W市的交通规划出现了重大问题,市政府下决心在全市的各大交通路口安排交通疏导员来疏导密集的车流。但由于人员不足,W市市长决定只在最需要安排人员的路口安放人员。具体说来,W市的交通网络十分简单,它包括n个交叉路口和n-1条街道,任意一条街道连接两个交叉路口,并且任意两个交叉路口之间都存在一条路径互相连接。经过长期调查结果显示如果一个交叉路口位于W市交通网的最长路径上,那么这个路口必然拥挤不堪,所谓最长路径定义为某
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

1.SpringMVC设计理念与DispatcherServlet

SpringMVC作为Struts2之后异军突起的一个表现层框架,正越来越流行,相信javaee的开发者们就算没使用过SpringMVC,也应该对其略有耳闻。我试图通过对SpringMVC的设计思想和源码实现的剖析,从抽象意义上的设计层面和实现意义上的代码层面两个方面,逐一揭开SpringMVC神秘的面纱,本文的代码,都是基于Spring的 3.1.3RELEASE版本。 任何一个框架,都有自己特定的适用领域,框架的设计和实现,必定是为了应付该领域内许多通用的,烦琐的、基础的工作而生。Spri
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

Java数据库操作

问题及答案来源自《Java程序员面试笔试宝典》第四章 Java基础知识 4.11Java数据库操作 1、如何通过JDBC访问数据库 2、JDBC处理事务采用什么方法? 3、Class.forName的作用是什么? 4、Statement、PreparedStatement和CallableStatement有什么区别? 5、getString()方法和getObject()方法有什么区别? 6、使用JDBC时需要注意哪些问题? 7、什么是JDO 8、JDBC与Hibernate有什么区别?
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

Insyde BIOS@G50-80 继续研究

继续研究发现,计算机的固件真的很有趣。参考了一些重要的资料,比如 http://donovan6000.blogspot.com/2013/06/insyde-bios-modding-advanced-and-power-tabs.html 等,对于IDA的使用也了解了一些。最后,总结一下目前看来可行性的方案: 0. 基础知识储备,包括UEFI BIOS的概念,Insyde BIOS的结构,IDA逆向的基本知识,BIOS-MOD、MDL上关于BIOS修改的基本知识等 明确:本文针对UEFI
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

最小生成树-QS Network(Prim)

题目大意: 给出的案例结果得出步骤,如下图所示,从结点1开始查找,找出的一条路径如绿色部分所标注。(关键处在于连接每条路径所需要的适配器的价格得加上去) 代码实现: 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 #define MAX 1000 5 //注意此处范围得按照题意设置为>=1000,否则会Segmentation Fault 6 #define MAXCOST 0x7fffffff
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

[bzoj1021] [SHOI2008]Debt 循环的债务

Description   Alice、Bob和Cynthia总是为他们之间混乱的债务而烦恼,终于有一天,他们决定坐下来一起解决这个问题。不过,鉴别钞票的真伪是一件很麻烦的事情,于是他们决定要在清还债务的时候尽可能少的交换现金。比如说,Alice欠Bob 10元,而Cynthia和他俩互不相欠。现在假设Alice只有一张50元,Bob有3张10元和10张1元,Cynthia有3张20元。一种比较直接的做法是:Alice将50元交给Bob,而Bob将他身上的钱找给Alice,这样一共就会有14张
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

CNN学习笔记:池化层

CNN学习笔记:池化层 池化   池化(Pooling)是卷积神经网络中另一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效地原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

SpringBoot整合SpringDataElasticSearch操作ES

(1)、添加starter依赖 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-data-elasticsearch</artifactId> 4 </dependency> (2)、配置相关属性 1 spring.data.elasticsearch.cluster-nam
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

Map、Set使用过程中可能出现的问题

修改了key之后不能remove class Student implements Serializable { Integer id; String name; public Student(Integer id, String name) { this.id = id; this.name = name; } public Student() {
分类: 其他 发布时间: 02-08 21:21 阅读次数: 0

jmeter学习指南之Boundary Extractor和正则表达式提取器

这是在jmeter4.0版本的后置处理器中增加的一个新元件,功能强大,使用方便;
分类: 企业开发 发布时间: 02-08 21:10 阅读次数: 0

生成token

利用中间件生成token 1.安装中间件 npm install jsonwebtoken 2. 使用 Sign() 里面有3个参数,第一个是token里面传递的数据 ,第二个是 key ,第三个是过期s时间 const payload = { id: user.id, name: user.name, avatar: user.avatar }; const token = jwt.sign(payload, keys.secretOrKey, { expir
分类: 其他 发布时间: 02-08 21:04 阅读次数: 0

搞懂分布式技术5:Zookeeper的配置与集群管理实战

搞懂分布式技术5:Zookeeper的配置与集群管理实战 4.1 配置文件 ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为“zoo_sample.cfg”的文件,是ZooKeeper配置文件的模板。 ZooKeeper启动时,会默认加载“conf/zoo.cfg”作为配置文件,所以需要将“zoo_sample.cfg”复制一份,命名为“zoo.cfg”,然后根据需要设定里面的配置项。 配置项很简单,说明如下: tickTime=2000 这个时间是作为 ZooKee
分类: 其他 发布时间: 02-08 21:04 阅读次数: 0

搞懂分布式技术10:LVS实现负载均衡的原理与实践

搞懂分布式技术10:LVS实现负载均衡的原理与实践 浅析负载均衡及LVS实现 原创: fireflyc 写程序的康德 2017-09-19 负载均衡 负载均衡(Load Balance,缩写LB)是一种网络技术,它在多个备选资源中做资源分配,以达到选择最优。这里有三个关键字: 网络技术,LB要解决的问题本质上是网络的问题,所以它实际上就是通过修改数据包中MAC地址、IP地址字段来实现数据包的“中转”; 资源,这里的资源不仅仅是计算机也可以是交换机、存储设备等; 最优,它则是针对业务而言最优,所
分类: 其他 发布时间: 02-08 21:04 阅读次数: 0

搞懂分布式技术12:分布式ID生成方案

搞懂分布式技术12:分布式ID生成方案 ## 转自: 58沈剑 架构师之路 2017-06-25 一、需求缘起 几乎所有的业务系统,都有生成一个唯一记录标识的需求,例如: 消息标识:message-id 订单标识:order-id 帖子标识:tiezi-id 这个记录标识往往就是数据库中的主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。 这个记录标识上的查询,往往又有分页或者排序的业务需求,例如: 拉取最新的一页消息 select message-id
分类: 其他 发布时间: 02-08 21:04 阅读次数: 0

搞懂分布式技术13:缓存的那些事

搞懂分布式技术13:缓存的那些事 缓存和它的那些淘汰算法们 为什么我们需要缓存? 很久很久以前,在还没有缓存的时候……用户经常是去请求一个对象,而这个对象是从数据库去取,然后,这个对象变得越来越大,这个用户每次的请求时间也越来越长了,这也把数据库弄得很痛苦,他无时不刻不在工作。所以,这个事情就把用户和数据库弄得很生气,接着就有可能发生下面两件事情: 1.用户很烦,在抱怨,甚至不去用这个应用了(这是大多数情况下都会发生的) 2.数据库为打包回家,离开这个应用,然后,就出现了大麻烦(没地方去存储数
分类: 其他 发布时间: 02-08 21:04 阅读次数: 0

搞懂分布式技术17,18:分布式事务总结

搞懂分布式技术17:浅析分布式事务 众所周知,数据库能实现本地事务,也就是在同一个数据库中,你可以允许一组操作要么全都正确执行,要么全都不执行。这里特别强调了本地事务,也就是目前的数据库只能支持同一个数据库中的事务。但现在的系统往往采用微服务架构,业务系统拥有独立的数据库,因此就出现了跨多个数据库的事务需求,这种事务即为“分布式事务”。那么在目前数据库不支持跨库事务的情况下,我们应该如何实现分布式事务呢?本文首先会为大家梳理分布式事务的基本概念和理论基础,然后介绍几种目前常用的分布式事务解决方
分类: 其他 发布时间: 02-08 21:04 阅读次数: 0