搜索到与相关的文章
编程技术

Struts2中的拦截器的内部结构

让我们再来回顾一下之前我们曾经用过的一张ActionLifeCycle的图:图中,我们可以发现,Struts2的Interceptor一层一层,把Action包裹在最里面。这样的结构,大概有以下一些特点:1.整个结构就如同一个堆栈,除了Action以外,堆栈中的其他元素是Interceptor2.Action位于堆栈的底部。由于堆栈"先进后出"的特性,如果我们试图把Action拿出来执行,我们必须首先把位于Action上端的Interceptor拿出来执行

系统 2019-08-29 22:25:43 2250

编程技术

笔者带你剖析轻量级消息中间件ActiveMQ

《笔者带你剖析轻量级消息中间件ActiveMQ》前言软件系统的发展,简单来说是从单机应用逐步演变为分布式+集群模式,当然这根互联网的兴起是密不可分的。笔者曾经面试过一些开发人员,当你们使用代码编写一个简单的Login模块时,大概需要花费多少周期?有些开发人员不假思索的脱口而出,5分钟、10分钟等。OK,我们先不管他们是否真的能够在这么短的时间内开发出一个简单的Login功能,我真正想问的是,这个看似简单的功能背后,如果存放在互联网场景下,如何能够保证系统同

系统 2019-08-12 09:30:36 2250

编程技术

论缓存之第一

看一粒沙中的世界,一朵野花中的天堂。把无限握于掌中,把永恒握于瞬间。——威廉•布莱克开始讨论缓存之前,让我们先来讨论讨论另外一个问题:理论和实践.从ahuaxuan接触的程序员来看,有的程序员偏实践,有的程序员偏理论,但是这都是不好的行为,理论和实践同样重要,我们在做很多核心的算法的时候,没有理论根本无从下手,而在我们多年的实践中,不总结理论就不能加深自己的理解.所以理论和实践同等重要.缓存是当今各种软件或者硬件系统中不可缺少的技术之一,所以对每个程序员来

系统 2019-08-12 09:30:29 2250

编程技术

视网膜New iPad与普通分辨率iPad页面的兼容处理

一、这是篇经验分享就算不是果粉也应该知道,iPad2与newiPad的重大区别之一就是显示屏的分辨率。newiPad显示屏被称之为“视网膜显示屏”,其设备分辨比(之前有详细介绍,点击这里查看)是iPad2的两倍。–iPadmini也是普通分辨比。iPad2与newiPad同时显示一个页面,宽度都是1024像素的,那差别在什么地方呢?——就在于newiPad每个像素点实际上有4倍的普通像素点,如下示意(©smashingmagazine):我们使用CSS设置

系统 2019-08-12 09:30:10 2250

各行各业

kettle常见问题(一)

转载kettle常见问题(一)作者:gemini5201314摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案1.Join我得到A数据流(不管是基于文件或数据库),A包含field1,field2,field3字段,然后我还有一个B数据流,B包含field4,field5,field6,我现在想把它们‘加’起来,应该怎么样做.这是新手最容易犯错的一个地方,A

系统 2019-08-12 09:27:09 2250

各行各业

KVO 的使用和举例

KVO(key-valueObserver),通过命名可以联想到,一个监视着监视着键值配对,让一个对象A来监视另一个对象B中的键值,一旦B中的受监视键所对应的值发生了变化,对象A会进入一个回调函数,有机会对于B中的受监视键值的改变立刻进行处理和应对。注:虽然对象A中的回调函数有点像代理方法,但是回调函数的调用和键值发生变化处在同一个线程中,并非像某些代理方法会在另一个线程中进行回调。也就是说,如果对键key进行了监视,一旦键key对应的值发生了变化,就会去

系统 2019-08-12 09:26:55 2250

各行各业

POJ1328Radar Installation

http://poj.org/problem?id=1328题的大意就是说在海里有小岛,坐标位置会给出,需要岸边的雷达覆盖所有的小岛,但雷达的覆盖范围有限,所以,需要最少的雷达覆盖所有的小岛,但若是有小岛没法被雷达给覆盖到,就输出-1;这个题的话可以转化成区间问题就是看雷达的覆盖范围作为半径,A若是小岛的位置,根据雷达的覆盖范围只要不小于这个点的Y坐标,那个覆盖范围就是这个三角形的斜边,所以只要雷达位于1,2边上就可以覆盖到这个小岛1#include

系统 2019-08-12 09:26:48 2250

数据库相关

leetcode Palindrome Partitioning II

题目和上题一样leetcodePalindromePartitioning,这里需要求的是最小的分割数,也就是上一题的所有可能里面最少的一个分割。例如:Forexample,givens="aab",Return1sincethepalindromepartitioning["aa","b"]couldbeproducedusing1cut.很明显,如果我们和上体一样把所有的答案求出来,然后返回最少元素的长度-1就可以了,但是MemoryLimited了。

系统 2019-08-12 01:53:46 2250

各行各业

关于宏##的使用注意一点

在看《C语言高级编程》时,里面有个关于宏##的题目:1.已知#defineA“menu”#defineB“osd”,若请使用宏A,B表示出字符串”menuosd”答案:1答案1:#defineCAB答案2:#define_C_(a,b)a##b#defineC(a,b)_C_(a,b)然后我实际动手测试了一下,先来第一种:#include#defineA"menu"#defineB"osd"#defineSTRABintmain(inta

系统 2019-08-12 01:31:55 2250