自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mytream的专栏

那年此时,仿佛依旧

  • 博客(59)
  • 资源 (8)
  • 收藏
  • 关注

原创 设计模式之中介模式Mediator Pattern——所有编程框架都会使用的模式

中介模式的中文翻译非常形象。大家买房子要中介,中介做的什么事情呢?我们先不会回答这个问题。而是反问依据,如果没有中介,我们买房子的场景会是怎样?其实上面所说的还可能只是其中一角,这也是为什么绝大部分人都选择中介来帮忙购房或中介来托管房屋,进行售房。有了中介,世界就变得如此简单,比如对于购房者而言,只要关注:当然,对于售房者而言,也是一样的简单。因为中介为我们屏蔽了购房过程中的所有角色:购房者 * 售房者 * 银行 * 房地产交易中心,每个角色关注自己的诉求和需要做的事情即可。这就是中介者模式的魅力。还有很多

2022-06-10 00:27:08 233 1

原创 设计模式之桥接模式(Bridge Pattern):我允许你的自我,减去的是羁绊,留下的牵挂

概念桥接模式(Bridge Pattern)是设计模式中最复杂的模式之一,它把事物对象和该对象的具体行为、具体特征分离开来,使它们可以独自进行变化和更改。这样的解释可能比较抽象和令人费解,读者可以通过下面的应用场景进一步来理解。应用场景我们还以绘制图形为例,比如我们要绘制矩形Rectangle、Circle、Triangle,我们需要至少需要定义3个形状类来表示,如果我们要绘制的图形还有不同的颜色,如Red、Yello、Green等,此时我们可能有一下两种设计方案:为每个形状类都提供颜色的实现,比

2022-05-28 21:39:01 206 2

原创 设计模式-外观模式Facade Pattern:我要面对全世界的复杂,只是为你简单

外观模式Facade Pattern,有时又译为门面模式,这是开发人员的经常运用的一种设计模式,在服务器端的开发我们通常都会采用一个MVC类型的框架的来辅助开发,比如Spring MVC、Struts2等。前端开发人员只需要关注服务端提供的接口,而无需进一步了解接口内部如何去做子系统之间的协调及调用。外观模式要解决的问题就是让客户端对各个子系统的调用变得间的。下图是《设计模式》上的一个的插图,Facade将众多复杂的子系统对Client屏蔽开来,Client只需要关注Facade提供的一个简单接口即可。

2022-05-28 21:29:44 264 2

原创 设计模式私家笔记——装饰器Decorator和代理Proxy不是两兄弟

刚学习设计模式的时候,容易对装饰器模式和代理模式有所混淆,所以笔者特意将两者放在一起进行讲解,对比其相似性及区别。装饰器模式 Decorator Pattern我们最初接触装饰器模式,可能是在学习Java的IO相关操作的时候,下面一些类大家或多或少都使用过:java.io.BufferedInputStream(InputStream)java.io.DataInputStream(InputStream)java.io.BufferedOutputStream(OutputStream)ja

2022-05-24 00:09:19 162

原创 Spring源码私家笔记——Bean的元信息BeanDefinition加载流程

上一个回合,我们提到BeanFactory已经被创建了,那紧接着,我们看到BeanDefinition就进行加载了,我们对着核心源码一一道来。自此,我们就已经得到了一个BeanFactory对象,这之后,我们将使用BeanFactory实例完成一系列的后续工作。在refreshBeanFactory中,则有非常重要的一步——loadBeanDefinitions(beanFactory),这里面的源码真的是很庞大,我们还是挑重点进行讲解。protected void loadBeanDefinitio

2022-05-21 00:27:36 367

原创 Spring源码私家笔记——BeanFactory被创建

Spring源码 - BeanDefinition的加载重点关注org.springframework.context.support.AbstractApplicationContext#refresh中调用的obtainFreshBeanFactory方法,这个方法也在AbstractApplicationContext中/** * Tell the subclass to refresh the internal bean factory. * @return the fresh Bea

2022-05-19 00:35:00 289 1

原创 设计模式私家笔记-适配器模式Adapter

场景:我们已经有一些已有的系统对外提供服务,但是这些服务不能符合客户的接口形式要求,或者不是基于开放的标准协议构建的。这时候我们需要在已有接口之上增加一个适配层来满足对外的服务需要。适配层往往不是提前的设计,而是基于现有现有的系统进行的妥协和适配。生活中常见的例子比如:美国的电压是110V,中国的电压是220V,购买自美国的电脑电源就需要一个电源适配器。在IE浏览器盛行的时代,他的很多接口都不是符合后来的WEB标准的,所以很多前端框架为了能够提供基于标准协议的SDK,会为了IE做许多的适配工作。通过.

2022-05-07 13:11:12 283

原创 OOP设计原则SOLID——开闭原则Open-Close Principle

开闭原则的背后,除了强调扩展的可能性,更是想推崇模块的稳定性。要做到这样,需要在设计之前就要花很多经理去理解业务流程,去了解更多可能的业务场景。这样才能去抽象出不变的部分是什么,这部分通常包括流程逻辑和核心业务逻辑,是经得起推敲的,这部分的变更也应当是极其慎重的。

2022-05-07 11:53:53 476 1

原创 设计模式私家笔记-单例模式Singleton

场景:有的情况下,我们只需要创建一个实例,以此来节省创建和销毁的消耗,以及保持该实例的稳定性(不希望被外部破坏或篡改)此时我们可以应用单例模式来创建该实例的对象,下面列举几种方法,并且说明其各自的使用场景和优缺点:饿汉模式顾名思义,我很饥饿,我上来就创建该实例,不惯用不用得着,并且以后都使用该实例。示例代码:class Mgr { private static final INSTANCE = new Mgr(); private Mgr() {} public static Mgr ge.

2022-05-06 00:38:57 163

原创 OOP设计原则SOLID——单一职责原则Single-Responsibility Principle

SOLID是5个面向对象设计原则英文单词的缩写,旨在帮助软件设计变得可理解、可伸缩、可维护。在 Robert C. Martin(他是一位软件工程师,也是一位大学老师)2000年的文章《设计原则和设计模式中》,这5个原则首次被提出来。SOLID原则分别指:单一职责原则:有且只有一个引起变更的原因开闭原则:软件实体应该被设计为对扩展开放,对修改关闭里式替换原则:使用基类引用(或指针)的方法,应该无需关注基类的继承(派生)类,就能够使用。也可以参考面向契约的设计接口隔离(分割)原则:多个

2022-05-05 23:42:20 395 1

原创 设计模式私家笔记——概述:设计模式是银弹吗?

就好像软件世界中的经典语录——XXX不是银弹,设计模式同样可以套用一下——设计模式不是银弹。好的设计好代码包括对业务的准确表达,要兼顾未来(这个未来可长可短)的扩展性和维护性,要充分考虑成员的理解水平。所以就像上图表达的一样,哪怕我们用上了各种软件原则、各种设计模式,也未必是是最好的选择。当然我们不会因此就放弃设计模式的学习和使用,它是一把上好的武器,只有理解了它,在合适的时候,我们才能让它绽放光彩!

2022-05-05 00:05:27 440

原创 Spring源码私家笔记—— ApplicationContext.refresh()方法浅析

从本章开始我们将开始进入Spring容器真正的刷新启动过程,直接点击或者debugger进入AbstractApplicationContext的refresh()方法。这里再次提示一下大家,在先前的提到过的“胸有大纲,心中不慌”,大家务必要克制自己挨个debugger进refresh的每个方法进行查看的冲动。大家想啊,Spring的作者把一个个的对象和方法封装出来,就是想要屏蔽底层实现的复杂性,那我们就按照这一个个方法名先理解个大概。建议大家直接把springframework的官方源码clone下来,

2022-05-04 18:49:20 858

原创 Spring源码私家笔记——容器启动前传:Environment就绪,初始化ApplicationContext

所有尝试分析Spring源码的同学都知道refresh()方法是源码中最为关键的一部分。那么在这之前,都做了什么准备工作,以及对于整个Spring容器启动的意义是什么呢?笔者对这个过程进行了一次简单的梳理(如下图),试图把这部分流程解释清楚。1. super(parent)我们使用ClassPathXmlApplicationContext进行测试public class Test { public static void main(String[] args) { Cla

2022-05-04 12:29:33 576

原创 Spring源码私家笔记——Spring启动流程概述

在分析Spring源码之前,很容易陷入的一个误区就是,debugger一路点进去,然后迷失在茫茫的源码之中。其实分析源码跟我们做系统开发一样,不会上来就开始撸代码,而是先做好系统的设计,然后才开始分工合作。正所谓“胸中有大纲,心中不慌张”,无论我们debugger到了何处,想想我们在地图的何处,就可以导航回去。

2022-05-03 18:47:54 353 1

原创 如何自动实时加载页面?

书写HTML页面的过程中,能够一边输入一边在页面中自动加载输入的内容,是一种很好的体验。下面我们用一种很简单的方式来实现。准备node环境可以使用mac环境brew包管理器 在命令行中执行如下命令即可 # 安装node环境 $ brew install node# 如果提示没有brew命令,需要先安装brew包管理器$ /usr/bin/ruby -e "$(cu...

2018-04-26 13:19:01 1209

原创 前端开发规范

前端开发规范HTML1.使用软Tab(2个空格)进行缩进2.嵌套元素必须缩进一次3.属性的值使用双引号(而不是单引号)4.在空元素中不用使用反斜杠5.使用HTML5文档声明6.语言属性使用 7.控制IE版本 8.style、script标签无需指明type属性9.属性使用顺序: class id,name data-* src, for, type, href, v

2016-07-13 23:59:07 1187

原创 指令compile和link函数解析

强调强调 很强调 非常强调图片换行代码· public static void main(){ System.out.println(“Hello markdown!”); } · var i,len,arr; for(i=0,len=arr.length;i一级标题二级标题三级标题四级标题五级标题一级标题二级标题换行对对对 这是一段引用文字 这是接着

2016-03-07 20:06:17 1351

转载 CRLF介绍

CRLF -- Carriage-Return Line-Feed 回车换行1简介▪ CRLF的意思▪ CRLF命令▪ CRLF注入2实际应用▪ CRLF的含义▪ CRLF攻击▪ 避免攻击的方法简介编辑CRLF的意思就是回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)。

2015-08-18 10:52:50 2871

转载 Java语言高级--NIO入门

JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O 元素的知识,并考察更新后的库中的标准 I/O 是如何工作的。您还将了解只能通过 NIO 来完成的工作,如异步 I/O 和直接缓冲区。在开始之前关于本教

2015-04-16 11:50:44 1645 1

转载 Less--动态样式语言

1. Less简介一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js或者Rhino在服务端运行。LESS可以这样来写CSS: @base: #f938ab;.box-shadow(@style, @c)

2014-08-28 21:10:02 2433

原创 Angularjs -- 核心概念

angularjs 前端MVC框架 快速敏捷开发 前端工程师的利器

2014-08-26 22:16:35 8071 1

原创 《国家中长期教育改革和发展规划纲要(2010-2020年)》读后感

这不是一篇新闻评论之类的文章。观点是否肤浅、深邃也就不是值得关注的东西。这是我的个人感受,而非官方感受。  通篇浏览下来,只觉得无异于高中的政治课本,大气磅礴,让人心生景仰。然后又参考了一下别人的评论,才恍然大悟——《纲要》还有诸多亮点,譬如政府将大力发展公办幼儿园,积极扶持民办幼儿园。对于这一点,我有深切的体会(多么矫情的感想)——这是替别人说的。其实我没有任何的感受,当我很小的时候

2012-01-28 17:40:37 5707 2

原创 此逝无伤

春天的遐想,我暗自在心里笑了一下。   春天里,有耀眼的光芒穿过树叶,有窸窣曼妙的声音让人看得眩晕。我想,我的青春已在那些觥筹交错,推杯换盏的醉酒时候早早退场。青春不再,春天亦不再。这个季节也许是与我没有干系的。   这个季节,没有太多的展望,更多的时候倒是回忆。所以,不妨借此机会再最后一次恣肆无羁地挥洒一把,这样的机会以后恐怕也是寥寥,更不会有朝花夕拾的冲动了吧。所以无论矫情,无

2012-01-28 17:28:41 1838 7

原创 又遇高考

星期三,2010年6月9日    今天是高考结束后的第一天,当然这不再跟我有什么确切的关系了。我已经经历了不止一次这样的时刻,而每一次的心情也是随着年岁的推延而截然迥异。     无意间听到身边90后关于“我们80后”的评价,“他们已经老了……”,霎那间我的内心开始感到茫茫然了。我不再能够将自己置身于每天无知无觉,麻木不仁的生活中而无动于衷,泰然自若了。    未曾料想

2012-01-28 17:24:06 1746

原创 我们的幸福想往

我们的幸福想往    夜幕将近时,跟海利和志永通了电话。全因为是一张胡乱涂鸦,却不慎陷入了对过往的种种追忆之中,那不是梦魇,亦算不得是一场美梦。回想这几年的行程当中,每一次莫不是由于瞬间迸发的冲动所致,并且美其名曰“为理想而奋不顾身,而义无反顾”,思绪至此,却不禁喑哑失笑,压抑懊恼之处,欲捶胸顿足,解心头之痛而后快。方得出结论:吾非圣哲,凡夫俗子一个而已,颠笑痴狂之时,做出些许荒唐事情来,可怜

2012-01-28 17:20:27 1809

原创 我曾是三轮车夫

我曾经是一名三轮车夫,对于这个事实,我毫不讳言。    两年前的时候,我带着六百块钱和一张从阜阳到长沙的火车票只身来到了湖南师大。我当时脑海里面考虑的只有一件事情,就是找到学校的领导,申请缓交学费,虽然这个愿望最终没有实现,但是已经无关紧要了。    下火车之后的所有场景,我都那么清晰的记得,就好像刚刚发生过的事情。跟随我的是两个硕大无比的行李包(姑且这么称呼吧,在农村我们往往是称

2012-01-28 17:05:07 5131 4

原创 2012了都!?

我没有想到的是,现在已经是2012年的第二天的凌晨1点了。我居然还没有对过去做出一些总结,也没有什么详细的关于未来的展望和计划。过去的时候我是多么喜欢做这些事情呀——像写作文一样,非得洋洋洒洒的写上个至少千把字,而且豹头、猪肚、凤尾一个都不能少。然而以前的东西我都想不起来了,像似许巍《平淡》中所唱:昨天已逝,昨夜的梦,早已经走远,我已想不起,好像手中燃烧的香烟……exactly,就

2012-01-02 01:55:40 2027 4

原创 我们的团队

自从写过上篇博文《粘上去的博文不要去看》之后,我心里突然有了一种压力感,好些时候都提不起来勇气再往博客上写东西了。在里面我对不负责任写博客的行为很是“蔑视”了一番,然后又提到某个学长是如何辛辛苦苦奋战了好些时候才把自己的佳作提交上去给别人参考。       等到了一个新的时刻,等我点进博客,看到 “粘上去的博文不要去看” 这个显赫的标题映入眼帘,却是如鲠在喉了。再加上这些时日忙着复习和项目

2011-12-15 02:33:57 1917 13

原创 粘上去的博客不要去看

今天和淘宝的一个师兄谈了些关于写博客的感想。于是我做出了一个决定,以后不再草率的写一些没有技术含量的博客了。      他回忆自己以前以前写一篇博客所花费的时间要比单纯学习一项技术上的知识点要多得多。我想到我自个写一篇博客的时间顶多也就三个小时吧,而且很多时候还是参考着学习资料和学习笔记连写带贴的整完了就迫不及待的准备发到博客首页上去,现在想来这真是一件让人脸红的事情——不仅是对不起自己的

2011-12-02 01:43:05 2167 24

原创 什么是云计算?(转载自中国云计算网)

[中国云计算网报道]   什么是云计算?   云计算(cloud computing)是一种基于因特网的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成一片电脑云。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。...

2011-11-29 01:21:11 236

转载 什么是云计算?

[中国云计算网报道]   什么是云计算?   云计算(cloud computing)是一种基于因特网的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成一片电脑云。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。 it精英

2011-11-29 01:09:58 2536

原创 大家都在说云计算

今天浏览了好多关于云计算的信息,现在脑子里面就是一片混沌,我就随便说一说我对云计算的理解,甚至我的疑惑也一并贴上来——等待以后在学习的过程中再来逐渐完善这篇文章吧。1.什么是云计算?其实可以顾名思义,就是把本来在用户终端能够做的事情都交给“云”去处理。云是什么?云可以理解为很多服务器的集群,它为用户提供各种各样的服务,比如计算,存储……云的终极发展目标可能就是终端只要是一个I/O设备即可,

2011-11-29 01:08:03 3010 17

原创 我在"云"里面

昨天公司组织了一个云计算讨论会。分了中南,湖大,师大三个小组。中南的一大帮子人,每个人都挣着当小组长,气氛很好,都很积极。湖大的人也不少。轮到师大时,我赶紧把手给举了,四下望去竟然没发现一张熟悉的面孔。好大一晌之后,另一只举了起来,原来还有个师弟。仨组长,居然连数都没凑齐。好吧,只好安慰自己说,我要做一个孤胆英雄了。早点的时候,在猪八戒网上看到有个1~3万的项目,大家都互相撺掇着去投标

2011-11-28 13:58:47 1996 8

原创 Struts2学习笔记(三)——在action中使用隐含对象

 我们知道,在Struts1.x中我们可以通过HttpServletRequest参数直接使用获得有关的隐含对象进行数据的传递。但是在Struts2中,核心控制器没有给action传递任何的参数,很好的降低了核心控制器和业务控制器action之间的耦合度。有时候我们是必要在Action中使用隐含对象设置一些参数以便在展示页面中使用。下面我们来看一下在action中使用隐含对象的方法,并比较其优...

2011-11-25 23:20:27 157

原创 Struts2学习笔记(三)——在action中使用隐含对象

我们知道,在Struts1.x中我们可以通过HttpServletRequest参数直接使用获得有关的隐含对象进行数据的传递。但是在Struts2中,核心控制器没有给action传递任何的参数,很好的降低了核心控制器和业务控制器action之间的耦合度。有时候我们是必要在Action中使用隐含对象设置一些参数以便在展示页面中使用。下面我们来看一下在action中使用隐含对象的方法,并比较其

2011-11-25 23:04:09 2191

原创 Java Web基础——Web组件重用与JavaBeans

使用可重用的组件可以提高应用程序的开发效率和可维护性。下面我们来看一下在JSP中如何使用静态包含,动态包含和JavaBeans的使用。一.静态包含静态包含是指在JSP页面转换阶段将另一个文件的内容包含到当前的JSP页面中。我们使用一个JSP指令完成该功能:<%@ include file="relativeURL" %>被包含的页面可以是基于文本的文件,如HTML,...

2011-11-25 01:42:41 203

原创 Java Web基础——Web组件重用与JavaBeans

使用可重用的组件可以提高应用程序的开发效率和可维护性。下面我们来看一下在JSP中如何使用静态包含,动态包含和JavaBeans的使用。一.静态包含静态包含是指在JSP页面转换阶段将另一个文件的内容包含到当前的JSP页面中。我们使用一个JSP指令完成该功能:被包含的页面可以是基于文本的文件,如HTML,JSP,XML文件等。我们可以通过下图清晰的看到静态包含的过程:通

2011-11-25 01:34:04 4047

原创 Java Web基础——自定义标签和JSTL

 因为在Struts2中使用到了很多该框架的自定义标签的使用,所以在此特别梳理了一下有关的知识体系标签(动作)的一般语法为:<prefix:标签名 属性表列>,如<jsp:include page="copyright.jsp" />,该标签的作用是把copyright.jsp页面的输出包含到当前页面的输出中我们先来看一下常用的标准JSP动作动作指令,又可以...

2011-11-23 23:38:11 75

原创 Java Web基础——自定义标签和JSTL

因为在Struts2中使用到了很多该框架的自定义标签的使用,所以在此特别梳理了一下有关的知识体系标签(动作)的一般语法为:,如,该标签的作用是把copyright.jsp页面的输出包含到当前页面的输出中我们先来看一下常用的标准JSP动作动作指令,又可以叫做标签指令:jsp:include 在当前页面包含另一个页面的输出jsp:forward 将请求转发到指定的页面jsp

2011-11-23 20:25:28 3657 1

原创 Struts2学习笔记(二)——请求参数的接收

    接收参数的三种方法 一.通过action的属性接收参数 public class UserAction extends ActionSupport { private String name; private int age; public String add() { System.out.println("name=" + name); Sy...

2011-11-23 03:16:22 88

SOA架构体系

SOA架构体系,学习SOA必备手册

2014-08-15

Linux下C编程

Linux 下 C编程 对于学习Linux的Shell操作和C编程都有用处呀

2011-12-17

汇编语言教程

汇编语言教程 x86 汇编语言教程 轻松形象化理解汇编语言 让晦涩难懂的汇编变得亲切可爱

2011-09-23

编译原理 张素琴 清华第二版习题答案

编译原理 张素琴 清华第二版习题答案 作业练习必备

2011-09-23

Java学习教案(生手必备)

有一定C\C++基础的最好 不仅有源代码,还有制作精美的幻灯片

2010-06-27

空空如也

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

TA关注的人

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