- 浏览: 517275 次
- 性别:
- 来自: 杭州
最新评论
-
ben_wu007:
没数据库设计 而且这样要写代码 还是做成配数据库好 ...
使用AOP做权限控制 -
邢邢色色:
支持楼主,但这本书没有讲trident,有些过时了~到amaz ...
《Storm入门》中文版 -
java_web_hack1:
我在FunctionProvider中,获取的Property ...
在Osworkflow中使用PropertySet存储业务数据 -
greemranqq:
腾飞 ~。~
Java并发和多线程译者征集 -
fantasy:
leonevo 写道hi, 我也在设计cmdb. 我觉得基于传 ...
ITSM-CMDB数据库设计-四种方案任你选
文章列表
附件中有本文的源代码和Pdf版。本文写的很长的原因,是不希望大家学习AOP时到处找资料,大家有时间可以按照本文动手实践下,相信会有非常大的收获的,有什么问题互相交流,有问必答!
1 AOP各种的实现
AOP就是面向切面编程,我们可以从几个层面来实现AOP。
在编译器修改源代码,在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码,以下是各种实现机制的比较。
类别
机制
原理
使用独立的单点登录应用程序来做单点登录,这样可扩展性和安全性会更好。
1:用户访问App1的某个URL,App1通过cookie(必须加密)去单点登录服务器验证当前用户是否已经登录,如果没有登录,则跳转到单点登录应用的登录页面,并传递用户访问的URL。
2:用户提交用户名和密码,单点登录应用验证登录成功后跳转回App1,并传递token和sign(用于防止token被篡改)。
3:App1将返回的token和sign通过接口去单点登录应用进行验证,如果验证成功跳转用户访问的URL。
4:用户退出App1,清空登录验证的cookie。
那么即使新增一个app2或app3,照样可以支持单点登录。 ...
程序员可能都认为质量很重要,但是很多项目质量都不是很高,原因可能是
程序员是乐观的,觉得自己写的程序没什么问题。
程序员不愿意做测试,做测试没有成就感。
程序员没有时间做测试。
我觉得提高质量,最重要的 ...
JVM
JVM即Java虚拟机,它是一个想象中的机器,通过它Java可以实现编译后的跨平台运行。
主要的JVM有
Oracle的HostSpot。(原来叫Sun HostSpot)
Oracle的JRockit。(原来叫Bea JRockit,本称为世界上最快的JVM)
Google的Dalvik。(Google android的虚拟机,特点编译后dex文件比jar小很多,编译器对字节码进行了很多优化,使其变得更小)
HotSpot虚拟机
HotSpot由一个字节码解析器和两个JIT编译器组成。
字节码解释器:用于解释执行。负责将字节码解 ...
/**
* JAVA DOC由<b>Java Tag</b>和<b>HTML标记</b>组成。
*
* <br/>
*
* <h3>HTML标记:</h3>
* <ul>
* <li>用来定义注释的格式,大多数HTML标记都支持,常用的有。</li>
* <li>p:段落</li>
* <li>br:换行</li>
* <li>a:超链接</li>
* &l ...
Jetty的架构
Connector(连接器)集合负责接收HTTP连接。handler(处理器)集合负责处理连接请求并给予响应。而Jetty Server(服务器)则是前两者的管道连接器。负责创建并初始化connector、handler、ThreadPool组件,然后调用start方法启动他们。ThreadPool(线程池)为他们完成工作提供线程。Jetty Server演示代码
//1:定义server
Server server = new Server();
//2:把连接器集合放到server里
Connector connector=new SelectChan ...
其实要管理的不是时间,而是自己。通过锻炼自己的心智来管理好自己。心智指的是人的各项思维能力的总和。心智包含三方面能力,获取知识,应用知识和抽象推理。
所有人面临的困境是不愿意花时间思考。苏格拉底揭示所谓的思考过程是“提问和回答”,培根说读书使人完整,讨论使人完备,写作使人完善。不思考的人没有问题可问。会思考的人有问题却往往并不去问他人,因为他们能自己解决。所有学生提问都源于所有人共同的缺点:懒惰。老师的提问则是引导学生思考。很多学生“既勤奋又懒惰”源于他们感受到“时间的压力”,是一种急功近利的表现。
培根说的,“读书使人完整、讨论使人完备、写作使人完善。”读书能够让人获得没 ...
最近花了几个晚上看完了《蔡康永的说话之道》,书中有一些很不错的说话之道在此分享一下,希望更多的人透过说话,认真看待人与人之间的沟通,懂得把别人放在心上,从而靠近幸福。
你说什么样的话,你就是什么样的 ...
之所以阅读这本书,是为了提高阅读的效率。之前在锐捷网络的时候,听说刘总很喜欢读书,每当他想学习某项知识的时候,就买6本相关领域的书,买6本是因为兼听则明,如果多个作者都持有同样的观点,那么可信度更高, ...
建议每一个人都阅读下这本书,能够促进你心智成熟。
为什么明白很多做事的技巧,却仍然不是很高效。明知道做事不要切换,却一会看看旺旺,一会听听音乐。最近朋友也和我说明明知道要努力,却还是喜欢玩。答案是缺乏自律。#少有人走的路# 是一位心理学家写的关于如何走上心智成熟之路的书,其中的核心观点就是自律。带着问题重看此书又有新的收获。
人生是一个面对问题并解决问题的过程 。问题能启发我们的智慧和激发我们的勇气,为解决问题而付出的努力,能使心智不断成熟。面对问题和解决问题,能让我们得到最好的学习。问题不会自动消失,即使现在不解决,以后也的解决。而自律是解决人生问题的首要工具。
所谓自 ...
HttpClient是一个模拟HTTP请求的工具类,目前我们在两个地方用到了HttpClient。
Eclipse插件调用第三方的HTTP接口。
Action自动化测试。
我们对HttpClient进行了一个简单的封装:
package com.alibaba.itu.tala.util;
import static org.apache.commons.httpclient.params.HttpMethodParams.SO_TIMEOUT;
import java.util.Map;
import java.util.Map.Entry;
import ...
Eclipse插件开发
- 博客分类:
- Java
插件开发工具
我觉得进行RCP开发还是用专门的IDE比较好,自己的Eclipse装的插件太多,Debug时候启动非常慢。
Eclipse插件开发IDE: http://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/indigor
window Builder插件:http://dl.google.com/eclipse/inst/d2wbpro/latest/3.4
插件开发资料
组件DEMO:http://www.eclipse.org/swt/wi ...
什么是存储过程?
是一个可以用编程的方式来操作SQL的集合。
存储过程的优点?
执行效率很高,因为存储过程是预编译的,即创建时编译,而SQL语句是执行一次,编译一次。调用存储过程可以大大减少同数据库的交互次数。
降低网络通信量,因为存储过程执行的时候,只需要call存储过程名,不需要传递大量的SQL语句。
有利于复用。
存储过程的缺点?
移植性非常差,如果在oracle上写的存储过程,移植到mysql需要修改。
代码可读性差,实现一个简单的逻辑,代码会非常长。
存储过程的用途?
造测试数据:可以使用存储过程,往表里造几百万条数据。
...
Opencomet之Session设计
- 博客分类:
- Java
本文主要介绍Opencomet 里的Session设计。见附件!
Opencomet之Pigeon协议详解
- 博客分类:
- 开源
Opencomet 是一个开源的长连接服务器(尚在开发当中)
Pigeon是Opencomet 支持的长连接协议之一。