自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

转载 spring AOP

在软件开发中,分布于应用中多处的功能被称为横切关注点。通常,这些横切关注点从概念上是与业务逻辑相分离的(但是往往直接嵌入到应用的业务逻辑之中)。将这些横切关注点与业务逻辑相分离是面向切面编程(AOP)所要解决的。依赖注入有助于应用对象之间的解耦,而AOP可以实现横切关注点与他们所影响的对象之间的解耦。  横切关注点可以被模块化为特殊的类,这些类被称为切面。  切面的工作被称为通知(

2017-10-12 12:02:27 152

转载 Spring MVC

对于很多Java开发人员来说,基于Web的应用程序是主要的关注点。如果你有这方面经验的话,你会意识到这种系统所面临的挑战。具体来说,状态管理、工作流以及验证都是需要解决的重要特性。HTTP协议的无状态性决定了这些问题都不容易解决。Spring的Web框架就是为了解决这些问题而设计的。Spring MVC基于模型-视图-控制器(Model-view-Controller,MVC)模式实现,它

2017-10-12 11:45:45 280

转载 概要设计与详细设计分别要做什么

概述    概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。     详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。    概要设计阶段通常得到软件结构

2017-10-11 22:39:57 13778

转载 JVM结构解析

一、什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。    Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入

2017-07-25 21:22:39 215

转载 java编程思想

程序设计其实是对复杂性的管理:待解决问题的复杂性,以及用来解决该问题的工具的复杂性。java的设计目标就是为程序员减少复杂性。减少开发健壮代码所需的时间以及困难。

2017-07-20 11:40:41 378

一个简单的cookie操作类

/********************************************** * COOKIE操作类 * 功能列表 * 开发信息 * 时间:05.10 * 开发者:来自网络 CMJ 改造 ***********************************************/ function Cookie(){ this._Cookie=[]; this.load=function(){ //若cookie存在则初始化 this._Cookie if(document.cookie.indexOf(";")!=-1){ var _sp,_name,_tp,_tars,_tarslength; var _item=document.cookie.split("; "); var _itemlength=_item.length; while(_itemlength>0){ _sp=_item[--_itemlength].split("="); _name=_sp[0]; _tp=_sp[1].split(","); _tars=_tp.slice(1,_tp.length); this._Cookie[_name]=[]; this._Cookie[_name]=_tars; this._Cookie[_name]["timeout"]=_tp[0]; } return true; } return false; } this.save=function(){ var _str,_ars,_mars,_marslength,timeout,i,key; for(key in this._Cookie){ if(!this._Cookie[key])return; _str=[]; _mars=this._Cookie[key]; _marslength=_mars.length; for(i=0;i<_marslength;i++){ _str[_str.length]=_mars[i]; } document.cookie=key+"="+_mars["timeout"]+(_str.length>0?",":"")+_str+(_mars["timeout"]==0?"":";expires="+new Date(parseInt(_mars["timeout"])).toGMTString()); } } this.getCookieCount=function(){ var _length=0,key; for(key in this._Cookie)_length++; return _length; } this.create=function(name,days){ days=days?days:0; if(!this._Cookie[name])this._Cookie[name]=[]; this._Cookie[name]["timeout"]=days!=0?new Date().getTime()+parseInt(days)*86400000:0; } this.modifyDays=function(name,days){ this.create(name,days); } this.getTime=function(name){ return new Date(parseInt(this._Cookie[name]["timeout"])); } this.Delete=function(name){ this.create(name,0); } this.addItem=function(name,value){ this._Cookie[name][this._Cookie[name].length]=value; } this.modifyItem=function(name,index,value){ this._Cookie[name][index] = value; } this.delItem=function(name,index){ var _ttime=this._Cookie[name]["timeout"]; this._Cookie[name]=this._Cookie[name].slice(0,index).concat(this._Cookie[name].slice(parseInt(index)+1,this._Cookie[name].length)); this._Cookie[name]["timeout"]=_ttime; } this.getCount=function(name){ return this._Cookie[name].length; } this.getItem=function(name,index){ return this._Cookie[name][index]; } }

2010-05-11

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除