- 博客(132)
- 收藏
- 关注
原创 Hibernate Optimistic Lock without a Version (or Timestamp)
Last week, I taught Intertech’s Complete Hibernate to a group of students that already had a bit of experience with Hibernate (on the job training as they took over an existing application). Because...
2015-07-30 14:49:52
274
原创 无状态Web应用集成——《跟我学Shiro》
在一些环境中,可能需要把Web应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像会话这种东西,而是每次请求时带上相应的用户名进行登录。如一些REST风格的API,如果不使用OAuth2协议,就可以使用如REST+HMAC认证进行访问。HMAC(Hash-based Message Authentication Code):基于散列的消息认证码,使用一个密钥和一个消息作为输入,生成它们的...
2015-07-14 11:31:37
127
原创 Difficult Exception
1、事件背景,在refactor hkgta项目时,对spring security 模块进行重构,最终发现问题的根源在于我们使用了Hibernate的getCurrentSession()方法,该方法必须在一个事务中执行,我们使用的是spring注解式管理事务,因为之前security有个类直接调用dao层,在dao层加上了@Transaction,发现之后将其删除,导致该线程在一个没有...
2015-07-09 18:03:21
187
原创 Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置两年半前写的关于Maven的介绍,现在看来都还是不错的,自己转下。写博客的一大好处就是方便自己以后查阅,自己总结的总是最靠谱的。 由浅入深,主要介绍maven的用途、核心概念(Pom、Repositories、Artifact、Build Lifecycle、Goal)、用法(Archetype意义及创建各种项目)、...
2015-06-16 16:23:44
60
原创 数据库管理工具
Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。Liquibase具备如下特性: * 不依赖于特定的数据库,目前支持包括Oracle/Sql Server/DB2/MySql/Sybase/PostgreSQL/Caché等12种数据库,这样在数据库的部署和升级环节可帮助...
2015-06-12 17:39:46
125
原创 数字签名和非对称加密
1、签名不是加密,签名只是原文的消息摘要,它对原文的修改敏感,即原文有改动,它的签名也有改动,一般用来验证原文是否被修改 例如请求就接口时对请求报文进行MD5加密作为签名,就是为了防止报文被篡改。2、非对称加密一种常见的用法是用来验证身份的合法性,此一般都是证书形式,证书里带公钥,私钥在发行者手里,一般有一定时长的有效期。如果用来加密会话信息,可以在建立会话时由服务器临时创建公...
2015-06-03 11:48:34
404
原创 设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)
[b]你是否真的需要登录功能?[/b]把这个问题放在最前面并不是灌水,而是真的见过很多并不需要登录的APP去做了登录功能,或者是并不需要强制登录的APP把登录作为启动页。用户对你的APP一无所知,你就要求对方注册并登录,除非APP本身已经很有名气或者是用户有强需求,否则正常人应该会直接把它删掉。比较温和的方式是将一些并不需要登录,但可以给用户带来帮助的东西,第一时间展现给他们,让他...
2015-05-27 10:12:49
119
原创 网上在线支付设计
网银的接口不难,但是开通网银接口需要不小的费用。相关资源汇编下载: http://dotnet.5d6d.com/thread-475-1-1.html 最近关注项目中在线支付,所以看一下文档,在线支付应用开发: 基本所有的在线支付均采用以下方式: 客户点击结帐时将关于訂單的信息和货币信息,相应的信息URL,经过md5或其他方式发送(可能...
2015-04-25 21:37:16
202
原创 【OSGi】OSGi与Maven、Eclipse PlugIn的区别
【OSGi】OSGi与Maven、Eclipse PlugIn的区别分类: 【OSGi】 2013-09-16 21:50 1840人阅读 评论(0) 收藏 举报OSGimavenEclipse Plugin目录(?)[+] OSGi与MavenMaven也具有模块化系统的特征;但是它只是一个编译时工具,而不是运行时框架。Maven并不是OSGi的竞争者,而是OSGi的...
2015-04-23 22:39:42
81
原创 NoSQL与RDBMS:何时使用,何时不使用
Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果。近日,Naresh撰文比较了NoSQL与RDBMS,并详细介绍了他们各自的特点与适用的场景。NoSQL并不是关系型数据库管理系统,本文将会介绍NoSQL数据库与关系型数据库之间的差别,同时还会讨论在何种场景下应该使用NoSQL,何种场景下不应该使用。由于NoS...
2015-03-23 09:35:49
184
原创 多线程 volatile synchronized
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1==============...
2015-03-11 14:32:45
68
原创 可扩展Web架构与分布式系统
开放源代码已经成为一些大型网站的基本原则。而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中。本文旨在介绍一些在大型网站结构设计的过程中需要注意的关键问题以及实现目标的基础工作。本文侧重于介绍网络系统,尽管一些准则在其他分布式系统中也是适用的。1.1. web分布式系统的设计原则搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互...
2015-03-04 15:04:05
126
原创 jquery中ajax各个事件执行顺序
jquery中各个事件执行顺序如下:1.ajaxStart(全局事件)2.beforeSend3.ajaxSend(全局事件)4.success5.ajaxSuccess(全局事件)6.error7.ajaxError (全局事件)8.complete9.ajaxComplete(全局事件)10.ajaxStop(全局事件)...
2015-02-13 15:52:31
113
原创 SLF4J+logBack 代替 Log4j
Ceki Gülcü创造了日志领域界著名的Log4J,现在又实现一个“简单的日志前端接口(Facade)”- SLF4J,和一个“可靠、通用、快速而又灵活的Java日志框架”- LOGBack。作为日志领域中的新秀,已经有种颠覆领域的趋势了。 SLF4J(Simple Logging Facade for Java)作为commons-logging的替代,为各种logging APIs提供了一个...
2015-02-11 10:29:39
102
原创 日志组件logback的介绍及配置使用方法(一)
一、logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以...
2015-02-11 10:28:46
95
原创 Spring Batch 构建企业级批处理应用
使用 Spring Batch 构建企业级批处理应用: 第 1 部分 Spring Batch 是一款基于 Spring 的批处理框架,通过它可以轻易构建出高内聚、低耦合的企业批处理应用。通过本文您可以一步步了解如何开发基于 Spring Batch 的批处理程序。同时,本文还介绍了 Spring Batch 的相关核心概念。查看本系列更多内容 | 8 评论:...
2015-02-10 10:51:22
434
原创 DevOps系统的变迁
一、DevOps的起源和发展历程 在过去的几十年里,为了按时交付软件产品和服务,大家越来越意识到,对于传统把开发和运营割裂开的做法,不适合现代产品和服务开发的需求。于是,把开发和运营作为整体来看待的DevOps工程思想逐步深入人心,随之也逐步有了对DevOps系统的需求,希望能有个平台或工具来统一支持开发和运营的交付工作及之后的环境管理工作,即需要一系列的持续集成,持续交付,自动化部署,自动化测...
2015-02-05 11:10:55
552
原创 云计算平台架构
云计算的体系结构由5部分组成,分别为应用层,平台层,资源层,用户访问层和管理层,云计算的本质是通过网络提供服务,所以其体系结构以服务为核心。如下图:1,资源层资源池层是指基础架构屋面的云计算服务,这些服务可以提供虚拟化的资源,从而隐藏物理资源的复杂性。物理资源指的是物理设备,如服务器等。服务器服务指的是操作系统的环境,如linux集群等。网络服务指的是提供的网络处理...
2015-01-26 15:03:48
1479
原创 大型网站架构改进历程:存储的瓶颈(上)
摘要:什么是大型网站,从网站的技术角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量是衡量的指标,懂点行的人也许会认为是网站在单位时间里的并发量的大小来作为指标,如果按这些标准那么像hao123网站就是了。 大型网站最常遇到的存储瓶颈写到这里一个婴儿般的网站就这样被我们创造出来了,我们希望网站能健康快速的成长,如果网站真的按我们预期成长了,那么一定会有一天我们制造的宝宝屋已经满足不...
2015-01-26 11:11:01
103
原创 大型网站架构改进历程:存储的瓶颈(中)
摘要:在高并发的情况整个网站系统首先暴露出问题的是数据库,如果我们把整个网站系统比作一个盛水的木桶,那么木桶最短的那个板就是数据库了,一般而言网站的服务应用出问题都会是解决存储问题之后才会出现。【编者按】本文转自博客园的夏天的森林,在上一篇中,作者介绍了大型网站的定义、存储瓶颈及如何解决读写分离等问题。而本篇着重详解存储瓶颈及解决之道。大家一起来看下。503错误在 上篇,我讲到某些...
2015-01-26 11:09:27
72
原创 框架和设计模式的区别
框架和设计模式的区别有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。[7] 框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模...
2015-01-19 09:38:49
75
原创 服务架构的演进<转>
Dubbo用户指南中缺少背景,简单想了一下服务架构演进过程: 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。 垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。 此时,用于加速前端页面开发的 Web框架(MVC) 是关键。 分...
2015-01-17 11:06:55
125
原创 zookeeper与dubbo的介绍
zookeeper 参考资料:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/dubbo参考资料:http://alibaba.github.io/dubbo-doc-static/Home-zh.htm
2015-01-17 11:05:55
76
原创 分布式技术比较(RPC,CORBA,WebService)
分布式技术比较(RPC,CORBA,WebService) 2010-08-03 10:20:17| 分类: J2EE平台规范 |举报 |字号 订阅 1、RPC(Remote Procedure Call Protocol)RPC是由Sun发明的远程过程调用协议,是第一种真正的分布式应用模型。面向过程2、CORBA(Common Object...
2015-01-16 10:23:02
465
原创 大数据参考资料
http://www.oracle.com/cn/technologies/big-data/index.htmlhttp://www.oracle.com/technetwork/cn/topics/cloud/articles/oracle-cloud-computing-final-new-332161-zhs.pdf
2015-01-14 10:08:13
249
原创 dubbo管理控制台安装和使用
dubbo管理控制台开源部分主要包含: 提供者 路由规则 动态配置 访问控制 权重调节 负载均衡 负责人,等管理功能。 1、下载dubbo我上传地址:http://download.csdn.net/detail/liweifengwf/7784901官方地址:http://code.alibabatech.com/mvn/releases/com/alibaba...
2015-01-10 12:07:45
122
原创 云服务模式
近日我分析了Techno-Pulse网站的Google Analytics数据,结果发现几个搜索关键字与Cloud Service Models(云服务模式)有关。读者们似乎在寻找服务模式方面的实用信息,以便帮助自己作出决定。虽然我在不少文章中部分提到过这个话题,不过在此专门探讨一下,希望帮助读者更清楚地了解和决定应该选择哪一种云服务模式。云服务模式仅仅意味着哪一种类型的服务提供给客户。不同...
2015-01-05 17:19:01
221
原创 servlet filter listener intercepter联系与区别
一、概念: 1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。 2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一...
2014-12-13 15:58:54
133
原创 springMVC url-pattern /和/*的区别
< url-pattern > / </ url-pattern > 不会匹配到*.jsp,不会进入spring的DispatcherServlet类 < url-pattern > /* </ url-pattern > 会 匹配*.jsp /*这种写法是不正确的。...
2014-12-10 17:41:08
87
原创 shiro
anon org.apache.shiro.web.filter.authc.AnonymousFilterauthcorg.apache.shiro.web.filter.authc.FormAuthenticationFilterauthcBasicorg.apache.shiro.web.filter.authc...
2014-12-09 09:25:44
119
原创 2014面试题
1.讲讲spring2.为什么使用springmvc,不使用ssh3.说说使用的设计模式4.说说sql优化的常用方法5.如果一单例对象要在集群环境下,怎么实现6.string stringbufer stringbuilder区别7.一个List集合,假如存储1—10,10个元素,遇到偶数删除,然后再增加一个偶数,要循环多少次8.开发过程中遇到比较难解决的问题9...
2014-11-27 22:30:40
121
原创 spring中的设计模式解析
下面来简单列举spring中的设计模式: 1.简单工厂 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具...
2014-11-10 11:26:20
384
原创 AOP有三种植入切面的方法
AOP有三种植入切面的方法:其一是编译期织入,这要求使用特殊的Java编译器,AspectJ是其中的代表者;其二是类装载期织入,而这要求使用特殊的类装载器,AspectJ和AspectWerkz是其中的代表者;其三为动态代理织入,在运行期为目标类添加增强生成子类的方式,Spring AOP采用动态代理织入切面。Spring AOP使用了两种代理机制,一种是基于JDK的动态代理,另一种是基于C...
2014-11-10 10:45:40
437
原创 Spring Bean 生命周期
Spring Bean 生命周期任何一个事物都有自己的生命周期,生命的开始、生命中、生命结束。大家最熟悉的应该是servlet 的生命周期吧。和 servlet 一样 spring bean 也有自己的生命周期。本文我就向大家讲述 spring bean 的生命周期,这个对理解 spring 框架有非常好的作用。大家应该知道spring 中有几种供 springbean 生存的容器: B...
2014-11-04 15:33:24
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅