自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 收藏
  • 关注

自定义Spring配置标签

引言:在Sping中,一般使用<bean>这样的元素来配置一个bean,Spring在创建容器的时候会扫描这些配置,根据配置创建对象存放于容器中,然后我们再从容器中取出,或者在配置其他bean的时候作为属性注入。使用bean配置的一个限制是我们必须遵循配置文件的XML Schema定义,这在大多数情况下不会出现问题。但是在一些情况下,我们希望实现更为灵活的bean配置。Spring...

2014-08-23 02:36:00 295

实现一个简单的Servlet容器

Servlet规范定义了一个API标准,这一标准的实现通常称为Servlet容器,比如开源的Tomcat、JBoss。容器提供一些基本的服务,使得开发者专注于业务领域。当一个请求到达时,监听在相应端口的容器会接受该请求,将请求的信息转化成一个ServletRequest对象,同时创建一个ServletResponse对象,我们在开发Servlet应用时,就可以直接使用这两个对象(容器传递到serv...

2014-08-02 17:49:00 455

一个MVC例子

MVC模式将代码分为三个部分:模型、视图、控制器。其中,模型定义数据以及对数据的操作接口。视图用于展示模型中的数据给用户,同时相应用户的操作,将用户的操作传递给控制器,控制器根据用户的操作执行相应的业务逻辑,访问或修改模型数据,同时控制器可以根据操作更新视图。另外,数据模型的更新可以通过观察者模式通知视图或者控制器。典型的MVC模式如下图,它们之间的交互通过方法调用或者事件模型来完成:...

2014-06-20 21:36:00 308

GUI中的观察者模式

MVC模式对于用户界面的开发有着重要的意义,在Java中,不是按照标准的MVC模式实现的,而是将控制器和视图结合起来,而模型独立存在。模型成为观察者模式中的被观察对象,而控制器和视图则作为观察者。下面是一个改自《重构》的例子,如下图所示:三个输入框之间的关系为start+length=end。 修改其中的任何一个输入框,都要保持这个关系恒成立。如果将数据模型和GUI界面、事件处理全部混在一...

2014-06-20 14:42:00 314

命令模式

命令模式将命令或者请求封装成一个对象,使用时,我们将命令传递给命令的调用者,命令的调用者对于命令如何执行一无所知,只需调用命令的方法来完成命令。命令锁操作的对象(命令接收者)与命令调用者完全分开。其结构图如下:命令接口定义提供哪些命令,在具体的命令子类中,实现具体的命令操作,具体子类持有命令作用对象,也就是命令接收者的引用。用户类将命令接收者作为构造函数的参数传递给命令对象,创建命令对象这...

2014-06-20 10:09:00 186

策略模式

许多情况下,在一个对象中完成某项任务存在有多种不同的策略。例如,有一个类Sorter对数组进行排序,排序的策略有很多种,实现不同策略排序的一种解决方案是通过类来继承。例如:public class Sorter { public List<Object> sort(List<Object> listTobeSorted) { List<Object> s...

2014-06-19 22:51:00 118

用Java编写一个服务器

一个简单的服务器实现,采用Java语言。/** * */package iotest.serversocket;import java.io.File;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;/** * @author Brandon B. Lin...

2014-06-19 12:38:00 219

Java线程池例子

/** * */package iotest.serversocket;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;...

2014-06-18 22:49:00 145

一个简单的Java服务器

/** * */package iotest.serversocket;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io....

2014-06-18 19:39:00 109

装饰模式

装饰模式顾名思义,就是添加一些额外的功能(装饰)。装饰是为了更加美观、更具艺术性,而基本的的操作不应该在装饰类中完成。装饰模式使得我们可以动态地为对象增加一些功能,而无需事先在类中定义。装饰模式结构图如下:下面是摘自《设计模式》的一个例子,稍微做了修改:先给出类图:下面是代码:/** * @author Brandon B. Lin * */publ...

2014-06-08 12:50:00 128

Java线程

1. 并发:进程与线程关于并发,一个最直观的例子就是你可以同时听歌还能上网,能用Word。即使在同一个程序中,也可能要同时完成多个任务,比如音乐播放器,你一边听着一首歌,另一边还同时下载其他歌曲,你还想改变一下外观,这些任务之所以能完成,就是基于并发的概念。Java语言从语言级别到API都提供了对并发的支持。即使计算机只有一个单核的处理器,也经常存在多个进程和线程。操作系统的时间片机制为多...

2014-06-06 16:21:00 89

Java I/O

Java对文件磁盘、网络连接、内存缓存等输入输出采用统一的抽象实体进行处理,这种抽象就是流。流通过Java的I/O系统连接到物理设备,而所有流采用相同的方式工作。1. I/O流I/O流代表输入源或者输出目标,流可以表示很广泛的输入源或者输出目标,包括磁盘文件、外部设备、其他程序、网络连接(socket)等。另一方面,流支持许多种不同的数据,比如简单的字节、基本的数据类型、本地化字符、对象等...

2014-06-02 23:22:00 122

Java注解

注解(Annotation)是对程序的一种描述和说明,可以理解为是程序的元数据(metadata),它对被注解的代码没有直接的影响,但是我们可以通过反射机制获取注解,然后让处理这些注解称为程序的一部分。本文介绍注解的基本内容。1. 从一个例子开始:我们在重写(Override)一个方法时,经常会这样写: <span style="background-color...

2014-06-02 15:19:00 93

Java异常

异常处理机制是Java许多特性的重要基础。Java采用面向对象的方式来处理异常。本文介绍与异常相关的内容。1. 什么是异常?异常是异常事件(exceptional event)的简写,是程序运行过程中出现的打断(disrupt)正常运行的事件,比如被除数为0导致的程序异常。当程序的方法出现异常时,方法就会创建一个描述该异常的对象,将这个异常对象传递给运行时系统(runtime system...

2014-06-01 05:07:00 206

访问权限控制

Java访问权限控制机制用于控制类、方法、域等Java元素的使用权限。Java语言通过多层次的访问权限控制,实现对访问权限的精确的控制。如果把方法和域看做是服务的话,那么不同的访问权限就像不同的服务级别一样,有普通服务、会员服务、钻石VIP服务等等,每种服务的级别是不一样的。那么,Java是如何实现访问权限控制的呢?主要通过包机制、访问控制符(modifier)这两种机制来实现。包不仅是一...

2014-05-31 21:56:00 156

Java运算符

Java语言提供许多操作符。操作符是特殊的符号(symbol),它对一个或者两个、三个的操作数进行运算,然后返回一个结果,最简单的就像我们一年级学到的+ -号。一般地,可以将运算符分为四大类:算数运算符、位运算符、关系运算符、逻辑运算符。下面详细介绍:内容大概包括:赋值运算符算数运算符位运算符关系运算符布尔逻辑运算符几个特殊运算符运算符优先级1. 赋值运算符赋...

2014-05-31 18:14:00 129

字符编码

From:https://github.com/acmerfight/insight_python/blob/master/Unicode_and_Character_Sets.md#%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81字符编码你是否认为“ASCII码 =一个字符就是8比特”?你是否认为一个字节就是一个字符,一个字符就是8比特?你是否还认为你...

2014-05-31 15:41:00 88

Java基本数据类型

Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限制了变量可以hold哪些值,表达式最终产生什么值。同时限制了这些值可以进行的操作类型以及操作的具体方...

2014-05-31 12:24:00 3036 1

Java枚举类型

在Java中,枚举类型使用enum关键字来定义。枚举类型是一种特殊的数据类型,用于定义和使用一组常数。如果把enum类型当做一种特殊的类(class),那么它的实例必须是预先定义好的常数当中的一个。当我们要使用一组固定的常数时,使用枚举类型(当然,在接口当中定义静态常量也是可以的),例如:<span style="font-family:Microsoft YaHei;font-si...

2014-05-27 22:45:00 105

访问控制符

在Java中,一般认为有4种访问控制符,从最严格的到最宽松为private、default、protected、public。这篇文章讨论这四个访问控制符可以用于修饰类(class)、域(field)、方法(method)、构造器(constructor)的情况。除了这四种类型外,接口、enum等也可以使用访问控制符,但是不是每个控制符都能使用。(在下文中,如果不加说明,类一般指top-lev...

2014-05-27 21:15:00 114

Java包(package)

Java中的包(package)将一组相关的类型(type)组织在一起,这里的type包括类class、接口interface、枚举类型enum、注释类型。枚举类型可以看成是特殊的class,而注释类型可以看成特殊的interface,所以一般说type就是class和interface。包在概念上式一种抽象结构,在代码层次上面,如果要将某个type放进某个包,就在该type的最前面加入一...

2014-05-27 18:24:00 135

Java类修饰符

在Java中,可用于修饰类的修饰符(Modifier)有如下几类:public、protected、(package)、private。这四个为访问修饰符。abstract。 抽象类,不能被实例化。static。静态类,只有一个实例。final。限制类不能被继承。strictfp。控制浮点类型为strict。Annotations。标注。下面具体介绍上面的前四种情况,str...

2014-05-26 20:24:00 159

感知机

弄清感知机(Perceptron)是学好支持向量机和神经网络的基础,本文试图对何为感知机(即感知机模型的表示),如何训练感知机(找到最佳的感知机模型参数)这两个问题作出清楚的回答。什么是感知机?感知机的数学表达:感知机由Rosenblatt在1957年提出,是一种二类线性分类模型。输入一个实数值的n维向量(特征向量),经过线性组合,如果结果大于某个数,则输出1,否则输出-1.具体地...

2014-04-25 20:24:00 530

极大似然估计

极大似然估计,顾名思义是一种估计方法。既然是一种估计方法,我们至少必须搞清楚几个问题:估计什么?需要什么前提或假设?如何估计?估计的准确度如何?直观概念,最大似然估计:给定:模型(参数全部或者部分未知)和数据集(样本)估计:模型的未知参数。基本思想:这一方法是基于这样的思想:我们所估计的模型参数,要使得产生这个给定样本的可能性最大。在最大释然估计中,我们试图在给定模型的...

2014-04-23 23:02:00 430

责任链模式

为了使多个对象都有机会处理一个请求(避免请求发送者和接受者之间的耦合关系),每个对象持有对下一个对象的引用,这些对象就形成一条链。请求来的时候沿着这条链传递该请求,直到有个对象处理它为止。例如,在Tomcat容器的设计中,一个TCP请求就是经过这样一条责任链传递下去,一直到最终处理这个请求的Servlet。【哪些对象可以处理请求?与Strut2中的拦截器有何区别?任一对象都可以处理请求,具体哪...

2014-04-05 16:38:00 150

关联规则挖掘

直接用实例来解释概念更清楚一些,加入数据库中存在10条交易记录(Transaction),具体如下表所示:交易ID(TID)购买商品(Items)B:bread C:cream M:milk T:teaT01B C M TT02B C MT03C MT04M ...

2014-04-03 23:03:00 268

《软件设计精要与模式 第2版》 - 书摘精要

(P15)面向对象思想包括三个核心要素,即“封装”(Encapsulation)、“继承”(Inheritance)与“多态”(Polymorphism),它将面向对象技术推到了思想的境界;(P17) “封装变化”需要与“抽象”相结合,遵循“面向接口编程”的思想,如此才能做到对扩展开放;(P18) “封装变化”是设计模式的核心思想;(P21) 抽象的类型,可以因为实...

2014-03-26 23:21:00 89

《设计模式其实很简单》 - 书摘精要

(P9)需要足够简单的逻辑,才可以在代码级别上违反单一职责“原则”;需要类中方法数量足够少,才可以在方法级别上违反“单一职责原则”;(P14) “开放-封闭”原则是面向对象开发中所有设计原则的核心;(P15) “开发-封闭”原则的定义是 —— 程序的实体对象(模块、类、函数等)应该可以进行扩展,但不应该可以修改;(P17) 只依赖于抽象,实现“开放-封闭”原则的...

2014-03-26 23:15:00 145

《设计模式那点事》 - 书摘精要

(P03)设计模式是实际经验的积累和总结,着重解决具体的实际问题;(P04) 在程序中要尽量使用抽象类型作为对象实例变量类型,这样就保证了将客户程序与具体实现之间解耦,因为使用的是抽象类型,因此具体实现的改变不会影响抽象类型的改变;“对象组合” —— 是指在一个对象中含有另外一个对象的引用,从而可以使用该内部对象的引用作出一些处理行为;“开-闭原则”是一种很抽象的设计原则,...

2014-03-20 00:17:00 114

《高效程序员的45个习惯 敏捷开发修炼之道》 - 书摘精要

(推荐序 二)所有学习上的成功,都只靠两件事:策略和坚持;(译者序) “武功者,包括内功、外功、武术技击术之总和。有形的动作,如支撑格拒,姿式回环,变化万千,外部可见,授受较易,晨操夕练,不难熟练。而无形的内功指内部之灵惠素质,即识、胆、气、劲、神是也,此乃与学练者整个内在世界的学识水平密切相关,是先天之慧根悟性与后天智能的总成,必需寻得秘籍方可炼成。” ———— 摘自《武林秘籍大...

2014-03-14 18:46:00 74

《Java程序员职场全攻略 从小工到专家》 - 书摘精要

(前言)学习招式在次,提升内力才是最主要的;(P10) 选择一门编程语言,只是入门的途径。过分依赖编程语言,只会让自己成为代码高手,而不是开发大牛,要知道编程语言只是一种工具,更重要的是编程思想;(P11) 一个真正的 IT 人凭借着自己的努力,总是可以实现在 IT 精英聚集地安个家这个目标的,当然需要的时间就只能因人而异了;(P12) IT是个勇敢者的游戏,没胆量...

2014-03-13 10:39:00 96

《模式 工程化实现及扩展 (设计模式 C#版)》 - 书摘精要

(P3)面向对象的典型原则可以划分为两类 —— “面向类”的和“面向包”的;“面向类”的,包括:SRP —— 单一职责原则;OCP —— 开放封闭原则;LSP —— 里氏替换原则;DIP —— 依赖倒置原则;ISP —— 接口隔离原则;“面向包”的,包括:REP —— 重用发布等价原则;CCP —— 共同封装原则;CRP —— 共同重用原则;AD...

2014-03-10 19:46:00 175

Microsoft Visual Studio 2013 Update 1 离线安装程序

Microsoft Visual Studio 2013 Update 1 离线安装程序☆ 微软官网地址:☆http://www.microsoft.com/zh-cn/download/details.aspx?id=41650☆ 离线安装程序直接下载链接:☆http://download.microsoft.com/download/8/2/6/826E264A-729E-414A-9E67-...

2014-01-21 09:15:00 133

《易学 设计模式》 - 书摘精要

(前言)设计模式和具体的语言没有关系,学习设计模式最重要的目的就是要建立面向对象的思想,尽可能地面向接口编程、低耦合、高内聚,使设计的程序可复用;在掌握面向对象的思想方式后,再回过头来看设计模式,就会有更深刻的理解;学习设计模式,一定要勤学多练;(P4) 对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题;在...

2013-12-20 21:16:00 114

《修改代码的艺术》 - 书摘精要

(序) 需求总是在改变;(前言) 没有编写测试的代码是糟糕的代码;编程可以是一项回报丰厚并让人感觉是一种享受的工作;(P4) 在不改变软件行为的前提下改善其设计的举动称为重构;(P6) 问题总是不可避免;要想保持熟练,唯一的途径就是经常练习;(P8) 精湛的软件改动就像精湛的外科手术一样,除了细心之外还要有深厚的技术。如果没有辅以正确的工具和技术,即便“小心下手”也...

2013-10-23 14:03:00 130

《深入理解 C# 第2版》 - 书摘精要

(P13) 在很大程度上,C# 2 更像是对 C# 1 的各种不足之处的修修补补,所以并没有一鸣惊人。而 C# 3 中几乎所有特性都是为了构建 LINQ,并且其结果也十分特别;(P24) 为了让委托做某事,必须满足4个条件:—— 声明委托类型;—— 必须有一个方法包含了要执行的代码;—— 必须创建一个委托实例;—— 必须调用(invoke)委托实例;(P30) 事件不是...

2013-09-18 15:16:00 99

Microsoft Visual Studio Ultimate 2013 RC 离线安装程序

Microsoft Visual Studio Ultimate 2013 RC 离线安装程序☆ 微软官网地址:☆官网地址☆ 离线安装程序地址:☆离线安装程序地址 (百度网盘)☆ 文件校验信息:☆File: Microsoft Visual Studio Ultimate 2013 RC.7zSize: 2984394755 bytesMD5: F3BAA88AED93DF99121B61...

2013-09-18 14:02:00 220

Microsoft Visual Studio 2012 Update 4 RC 3 离线安装程序

Microsoft Visual Studio 2012 Update 4 RC 3 离线安装程序☆ 官网地址:☆官网链接☆ 离线安装程序地址:☆离线安装程序地址 (百度网盘)☆ 文件校验信息:☆File: Microsoft Visual Studio 2012 Update 4 RC 3.7zSize: 1525761738 bytesMD5: C34BB3FBEB263B38CD...

2013-09-11 13:54:00 91

《领域驱动设计 C# 2008 实现》 - 书摘精要

(P2) 智能客户反模式被 Eric Evans 定义为“把所有业务逻辑放进用户界面。把系统分解成小函数,作为分离的用户界面实现,并在里面嵌入业务规则。使用关系数据库作为共享的数据仓储。使用现有的自动化程序最高的UI构建技术和可视化编程工具”;(P6) 分层架构的主要原则是一个层的元素之只依赖于同一层的其他元素,或者下层的元素;(P7) 领域层包含业务模型,领域逻辑不会分散到其它层,这两点...

2013-07-26 21:36:00 146

《精通.NET企业项目开发》 - 书摘精要

(P7) 处于任何逻辑层面上的类,对于同一层面上的其他类应该是可重用的;对于在同等范围内其他所有需要该数据的类而言,提供数据的类应该是可以被调用的;(P9) 大多数企业系统都是用平台无关的技术构建的;(P16) 良好设计的代码必须能进行分解,能够划分为独立的功能块;(P17) 企业开发通常要求很强的松散耦合度;(P19) 松散耦合类的真正评价标准是要看针对它编写单元测试的能力;...

2013-07-15 15:52:00 104

空空如也

空空如也

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

TA关注的人

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