自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沉默

追求永远不止,你才能成功!

  • 博客(41)
  • 收藏
  • 关注

原创 跟着实例学习设计模式(9)-桥接模式bridge(结构型)

桥接模式属于结构型设计模式。设计意图:将抽象部分与实现部分分离,使它们都可以独立的变化。一看到设计意图,大家可能有些发懵,我们看到的继承和接口不都是抽象和实现分离的吗?尤其是接口和抽象类都是这样的实现啊!那怎么还有这么个桥接的分离呢?我们先来看个例子。例如:汽车品牌内置导航仪,我们希望实现,每个品牌的导航仪都可以在任何一个牌子的汽车上安装并启动。汽车品牌有两个:宝马、奔驰。

2015-07-15 00:13:59 5704 3

原创 跟着实例学习设计模式(8)-适配器模式adapter(结构型)

适配器模式属于结构型设计模式设计意图:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。该模式正如名字一样适配器,就是为了能使之前的老接口可以焕发青春的模式,使用一个新的接口把已经存在的接口发布出去。这样的设计模式,我们一版在企业信息化升级时会经常使用,有些企业存在的老接口经常不能对外接收数据,而重构

2015-07-13 20:19:24 987

原创 跟着实例学习设计模式(7)-原型模式prototype(创建型)

原型模式是创建型模式。设计意图:用原型实例指定创建对象的类型,并通过拷贝这个原型来创建新的对象。我们使用构建简历的例子的类图来说明原型模式。类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。这里我们定义了一个抽象的原型接口,声明了用于clone自己的方法,这里我们已创建简历为具体原型类,Prototype类需要具备以下两个条件:

2015-07-12 23:18:04 993

原创 跟着实例学习设计模式(6)-生成器模式builder(创建型)

生成器模式是创建型设计模式。设计意图:将一个复杂的类表示与其构造相分离,使得相同的构建过程能够得出不同的表示。实例类图:IVehicleBuilder:抽象建造者,为创建一个Vehicle对象并创建它的相关部件指定的抽象接口,把产品的生产过程分解为不同的步骤,从而使具体的建造者在具体的建造步骤上具有更多弹性,从而创造出不同表示的产品。(这里就是小车和卡车)CarBuilde

2015-07-12 20:56:37 1126

原创 跟着实例学习设计模式(5)-工厂方法 、抽象工厂的区别

工厂方法和抽象工厂都属于工厂模式,那么它们到底有什么区别呢?让我们来比较一下,首先我们从工厂接口的角度来分析一下。工厂方法:                工厂方法是创建一个系列的产品的同分类产品不同功能的创建接口,并且同分类不同功能的产品返回的产出物还得是相同的。例如:汽车的发动机的制造就可以使用工厂方法,

2015-07-12 13:29:43 813 1

原创 跟着实例学习设计模式(4)-抽象工厂(创建型)

抽象工厂属于创建型设计模式设计意图:提供一个接口,可以创建一系列相关或相互依赖的对象,而无须指定它们具体的类。光看设计意图有些抽象,不好理解,让我们来看一下实例类图,结合类图我们再做具体的解释,相信会让大家豁然开朗的。我们以生产汽车为例,我们生产的汽车分两个系列,小车、卡车,每个系列汽车都有发动机和油箱。上图:IAbstrcatFactory:抽象工厂接口,声明创建抽象产品的方

2015-07-12 11:37:38 751

原创 跟着实例学习设计模式(3)-工厂方法(创建型)

工厂方法属于创建型设计模式。设计意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。       静态工厂使用面向对象的方式,有效的解决了增加新产品给客户端和实现类带来的代码修改问题,封装了创建过程,减低了增加新产品带来的代码修改错误,但是新增功能需要修改客户端代码和工厂创建类的判断逻辑,这样的设计违背了开放-封闭原则,对扩展开放,对修改封

2015-07-10 12:16:52 858

原创 跟着实例学习设计模式(2)-静态工厂(创建型)

静态工厂设计模式是创建型设计模式。设计意图:实例化出我们需要的类对象,这些对象可以实现不同的功能,也可能只实现一个功能!类图关系:通过类图关系我们可以看到静态工厂负责创建OperationFather类的对象,我们来看一下实例代码。我们是想实现一个计算器,计算器的功能暂时有加法、减法功能,以后可能随时增加新的功能如乘法、除法等。如果使用一般的做法,实际上我们写一个类就可以实现。

2015-07-09 21:22:49 593

原创 跟着实例学习设计模式(1)-单例模式(创建型)

单例模式属于创建型设计模式。  设计意图:保证一个类只有一个实例,并提供一个访问它的全局访问点。  单例模式根据单例,一种是懒汉式单例。饿汉式单例在单例类被加载时候,就实例化一个对象交给自己的引用;而懒汉式在调用取得实例方法的时候才会实例化对象。  代码如下:  懒汉式:package com.home.singleton;/** * 饿汉式单例

2015-07-06 00:35:25 1115

原创 跟着实例学习java多线程10-定时任务实例Quartz等

定时任务是我们经常遇到的业务场景,我们有很多的功能都需要这样的技术来实现,例如:定时获取一些数据push出去,定时处理一些清理任务,定时检查某个值等。那么我们该怎么实现,在实现中又该注意一些什么?定时任务就是另开一个线程来执行,其实也是并发的一类,大家可能不好理解,说定时不就是到时间执行一下,怎么还会产生并发,这里主要是看两个指标,一是看执行频率,二是看每次执行的时间,如果执行频率高并且执行任

2015-02-07 01:35:13 3022

原创 跟着实例学习java多线程9-并发容器

并发容器专门为并发而生的,最常用的就是ConcurrentHashMap、BlockingQueue了,这两个并发容器是我们比较常用的,前者取代同步Map提供了很好的并发性,后者提供了一种生产者与消费者模式的队列,ConcurrentHashMap官方介绍说了,它并没有提供在Map上加锁独占访问,这说明什么?这说明它在原子性上是没有保障的,但是它在内存可见性上是完全保证的,也就说如果你需要使用独立

2015-02-04 23:19:11 744

原创 跟着实例学习java多线程8-同步容器类的问题

我们知道java有很多线程安全的容器类,我们也知道如果把可变状态的管理交给这些线程安全类来管理就可以实现线程安全,但是我们还可能遇到不可想象的问题。例如:package com.home.thread.thread8;import java.util.Vector;/** * @author gaoxu * 实践出真知! */public class VectorQueue

2015-02-04 01:35:40 1304

原创 跟着实例学习java多线程7-对象的组合发布

我们学习线程安全与同步的知识目的就是要实现一些可复用组件或编写出更大的程序。java中类是对象抽象,那么怎么实现一个线程安全类是我们必须要知道的并正确使用的技术。在设计线程安全类的过程中,需要包含以下三个基本元素:       找出构成对象状态的所有变量。       找出约束状态变量的不变性条件。       建立对象状态的并发访问管理策略。package com.hom

2015-02-03 00:21:46 1160

原创 跟着实例学习java多线程6-如何正确发布线程安全的对象

我们前面所讲的一切其实都只是为了一个目标那就是能正确发布一个线程安全的对象。一:线程封闭这个很好理解如果一个变量是在一个线程中完成的状态改变,那么这个变量肯定是线程安全的。我们常使用的是栈封闭和ThreadLocal类。在java运行时内存区中有一个虚拟机栈,栈封闭说的就是这个栈,这个栈是线程私有的,它的生命周期与线程相同。虚拟机栈描述描述的是java方法执行的内存模型:每个方法被

2015-02-02 02:41:25 2276

原创 跟着实例学习java多线程5-初识volatile变量

同步机制可以保证原子操作和内存可见性,但是同步机制对变量的访问性能是我们不得不考虑的问题,java语言提供了一种弱同步机制,volatile变量。它的原理大致是这样的,当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取volatile类型的

2015-02-01 23:01:57 1301

原创 跟着实例学习java多线程4-内存可见性

前三篇我们主要说了多线程访问共享可变状态时需要进行正确的同步处理,保证同一时刻只有一个线程访问相同的数据,我们使用synchronized关键字来实现原子性操作。今天我们在来认识一下同步的另一个重要方面:内存可见性,这个概念其实很好理解,就是保证在同一个时刻,共享可变状态对访问它的线程呈现出自己最新的状态变化。我们经常遇到的情景是这样的,一个全局变量计数器,一个线程负责更新该数值,另一些线程获

2015-02-01 14:59:51 1022 1

原创 跟着实例学习java多线程3-synchronized的多种写法有何区别?

同步代码块是一种有效实现操作原子性的方法,上一章我们讲了一些同步的原子操作的基础。现在我们回忆一下上一章的两个问题。1:不同的synchronized的写法有什么区别,又该怎么写创建线程的代码呢?以class实例对象作为锁的写法写法1package com.home.thread;/** * @author gaoxu * */public class SafeT

2015-01-20 23:29:59 1105

原创 跟着实例学习java多线程2-synchronized锁住的是对象还是代码

上一篇文章我们通过一个实例来说明了并发编程为什么要做同步处理,下面我们再来巩固一下。       对象如果拥有可变状态的变量,并且被多线程访问,那么这个时候我们要对可变状态变量的状态改变做原子操作处理。       锁机制是保证这样的操作的一个有效的方法,它可以保证变量的状态在被更新时是在一个原子操作中进行的。       java提供了一种内置锁机制来支持原子性:同步代码块(Sync

2015-01-18 15:24:06 1064

原创 跟着实例学习java多线程1-为什么使用?

如今的互联网时代、移动互联网时代,我们开发的所有的系统和网站以及服务都要求支持高负载、大并发,要求的是效率,串行的代码已经不能满足我们对执行效率的需求,当然也会白瞎了如今这么好的硬件,现在是个台式机至少都是2核、4核的了,更别说32核、64核的高端服务器,要想充分利用cpu资源那就不能让他们闲着,所以多线程并发也就越来越重要了。线程有很多优势:1、提高多处理器的利用效率2、简化业务功能

2015-01-17 23:38:38 990

原创 Solr学习笔记-在Tomcat上部署运行Solr

上一篇我们初识了Solr并且学习了Jetty的启动方式,查看了Solr的管理界面,这一篇我们来实现在Tomcat上部署运行Solr。部署环境:                window7                jdk1.6.0_14                Solr-4.7.2                tomcat-6.0.37Solr的安装配置Sol

2014-08-24 02:09:32 3771

原创 Solr学习笔记-认识solr及安装配置

Solr(http://lucene.apache.org/solr),Apache Lucene项目的子项目,是一个基于Lucene的Java搜索引擎服务器。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语,更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容,通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以

2014-08-23 19:31:14 1147

原创 java实战系列-实战中MAVEN私服的搭建

实战中MAVEN私服的搭建 利用maven来管理项目的构建,报告和文档已经成为了我们现在的共识,任何开源软件基本都在使用,当然我们现在的大部分公司也基本都在使用,我把以前使用maven的一些经验在进行加工呈现给大家,希望可以帮助一些当前正在学习maven的初学者们还有刚毕业的学子们!我会结合Eclipse+nexus+maven的实践来个大家做介绍!Ne

2014-06-23 14:05:41 2933

原创 java反射机制的业务应用场景-1

好久不写东西,最近整理之前的东西时发现以前有一些写好的东西,其实都是一些学习笔记或是对某个技术理解的一些感想,觉得很有意思,拿出来和大家分享一下。       这篇文章我们先来说一下java的反射机制,java的反射机制其实在1.2的时候就已经有了,那时我们还没有机会使用呢!而且也未必有那样的场景需要使用,前几年遇到一个场景使用java的反射机制在适合不过了,所以就使用了一下,发现确实好使,于

2014-03-27 22:52:24 4233

原创 17点50分系列-如何能让你的技术掌握的更深入?

如何能让你的技术掌握的更深入?昨天的17点50分我的团队讨论了这个问题。请大家最后10分钟想想?放松!思考!、 17:50:38 追究一下为什么17:50:53 1.时常关注一些论坛。2.深入的研究。3.总结。4.用于操作中17:52:13 学习 实践 理解 实践17:52:13 坚持一个问题反复回锅17:52:14 实际使用并配合查阅资料17:

2013-07-26 13:01:04 1010

原创 17点50分系列-如何平静的工作

今天我们开始一个新的系列,17点50分系列。前两天利用下班前的10分钟给我的团队做了一个问卷调查,很有意思!让我们来看看大家的回答。问题:如何平静的工作?请思考回答。10分钟每个人都得回答?放松10分钟,学会思考!第一个回答出现了:1.首先要提前有个强大的心里准备,设想到任何可能发生问题。也就是给自己打心里预防针。第二个回来出现了:思路被打断后,

2013-07-24 23:26:18 780

原创 深入理解管理“八心”系列-期望之心

管理者应具备的“八心”2、 期望之心,给予期望,激发员工的技能,不停监督、监督;          我想期望之心我们都有,但是我们缺乏的是激发员工技能的技巧和监督机制。          如何激发员工的技能,这个还真不是太容易,我的方式很简单,我觉得很有效,那就是让员工自己掌控事情,培养他们的责任感,独立想事情的能力。          我曾经带过一个团队,这个团队组建之初基本都是

2013-02-16 22:30:26 920

原创 深入理解管理“八心”系列-尊重之心

管理者应具备的“八心”1、 尊重之心,用心管理的原则是尊重;是啊,尊重每个人,让每个人发挥出最大的潜力,让每个人都有自己的思想,让每个人都能成长,总之尊重很是重要。      有些人工作经验、社会经验等等都很丰富,自己就开始不尊重那些刚毕业的或是比自己经验少的人了,看这个也不对,看那个也不对,总想让别人按照自己的想法去做,总是不让别人说话,总是打断别人的想法,这些都是不对的。

2013-01-23 20:19:25 1147

原创 java你要学习多长时间?

应该是没有时间的限制。java的所有技术与框架并不是孤立的,所以学习也没有长短之分。学习只有深入和肤浅。肤浅的学习,都学了也就一个月就可以了,但是你找不到工作。深入的学习,也就一个月,但是你可以找到工作。惊讶吧!为什么深入学习也只是一个月呢?听我慢慢说:学习不是学内容,而是学习方法,你要深入研究其中的一个领域,只有你把兴趣都放到那个领域后,其它的东西你就会很感兴趣,这样你就

2012-12-28 13:49:33 2511 1

原创 具备什么样的能力才能成为总监

有人说开发总监\技术总监都是技术职务,应该以技术为主,少关心业务。我不认为这两个是矛盾的,正好相反,这两个是相辅相成的,我认为一个开发总监必须具备以下几点能力(个人意见)1:开发能力(技术能力),你必须把握你的团队的技术方向与公司的产品发展是一致的。这也是你的威信所在。2:产品能力,你必须有产品思想,同时还是产品创新发展的倡导者,否则你会被老板剔出游戏圈。3:设计能力,你必须有架构

2012-06-27 23:12:52 1672

原创 注重产品及技术架构的长久发展才是企业生存的最佳之道

京东商城技术副总裁兼首席科学家何刚认为,在中国从事云计算的中小企业生存状况比国外更为艰难。中国企业更在意如何赚钱,而国外企业和开发者更看重技术本身以及产品本身的价值。是啊,中国的企业总是说我们得先赚钱生存,其实等你能生存了也就意味着你要死去了,因为你为了生存把你所有能发展好产品和技术的最好时间都错过了,等到你在也不能混下去的时候也就该凋谢了。注重产品及技术架构的长久发展才是企业生存的最佳之

2012-05-25 10:04:04 1739 1

原创 参加云计算大会去了-感谢CSDN赠票啊!

参加了CSDN的CTO俱乐部活动,主持人说我们今天会抽出10张云计算大会门票送给到场的各位,哦,很想去啊,一直没有舍得花钱买,今天是不是有机会啊!“带名片的都可以把名片放到门口的箱子里”主持人说,一摸兜什么也没有带,赶紧找主持人说:“给我一张纸吧,我把电话和姓名写上”,主持人反应了一下,赶快给我找纸,而且还撕成了和名片大小的纸片,说这样公平,写好了放到箱子里。放心回去听讲,终于到中场休息了,抽

2012-05-21 23:31:08 991

原创 再说,产品设计不是说着玩的

以前写了一篇《产品设计不是说着玩的》今天又看到了这个主题,我补充一些。产品是做给用产品的人的,这一点是产品的灵魂。设计产品者要有与产品使用人同样的思维,并且要模拟使用人不同的使用产品场景,这是产品思维和体验的表现。产品要小范围发布体验版,招募一些有使用经验的用户做志愿者,产品的新功能要先给他们体验,这样反复确认修改,直到这些体验者都满意了,然后在正式发布产品,这是一种良好的需求采集模式

2012-05-16 18:02:20 542

原创 我们要做个有想法的员工,但是不能瞎想。

前两天看到同事在学习英文,今天遇到了就和他开玩笑说“学英文是不是要出国啊!”同事笑笑说“不出,学习一下可以看看英文资料什么的”,我顺口说了一句话“有想法”。每个人工作了几年如果没有想法的话,那也许也就意味着这个人不会在具备竞争力了,但是不能瞎想。我们公司曾经来过两个同事,他俩基本是同一年入职的,来时看着都不错,两个人都挺能干活,而且也都挺认真地。过了三年A工资翻了一倍多,B工资只长了原来工

2012-05-16 17:27:40 2311 4

原创 做一个高效率的开发者必须做的11件事

1. 只做需要做的工作2. 站在巨人的肩膀上3. 了解数据结构和算法4. 不要怕买工具,它可以节省你的时间5. 集中注意力6. 尽早并且经常性地进行代码重构7. 只管去做8. 挑选一个编辑器,并掌握它9. 整洁的代码胜过巧妙的代码10. 潜意识是强大的工具11. 推动自身和团队进步

2011-12-31 15:52:00 393

原创 原型设计必须细致入微

原型设计必须做到细致入微,否则将大打折扣。    我们平时做原型时总喜欢点到为止,殊不知这样的后果就是要付出更多的时间花在与开发人员的交流上,本来想设计成这样就行了,赶快开发吧,越早开发不是越省时间吗?其实不然,设计原型如果不完善就开发,会浪费很多时间。   所以原型设计一定要细致入微,所有的细节都要想到,任何一个逻辑都要清晰明确,千万不能敷衍了事。这是一种负责任的态度和职业素质。

2011-10-19 18:54:45 477

原创 产品设计不是说着玩的

1:产品是有灵魂的,是活的。2:要有产品设计思维,体验思维。3:建立好的需求采集模式。4:建立好的产品体验平台。5:全公司都要统一思想。

2011-05-30 13:17:00 493

原创 一个很累的项目结束后-我是这么说的

<br />刚做完一个项目,感觉很累,从来没有这么累了,本来这个产品交给手下的一个teamleader做了,但是由于他自身经验的问题,项目无法搂住了,只得亲自来管理,好在最后在大家的共同努力下产品是做出来,而且市场反馈还可以。<br />      以下是我的项目感言和产品随想与大家分享。<br /><br />      项目感言:很困、很累、很有压力,但是很有成就感。享受过程、品味其中的酸、甜、苦、辣。感谢所有领导的大力支持与不离不弃。在我们困难的时候给予鼓励,感谢我的团队兢兢业业,认认真真的做好每一件

2011-05-26 18:46:00 1018

原创 没有任何一本书比得上你自己的总结!

<br />没有任何一本书比得上你自己的总结!

2010-12-01 18:11:00 743 1

转载 2010移动开发者大会系列报道:在App Store日进斗金的推广秘诀

<br />由CSDN和创新工场联合主办的“2010中国移动开发者大会”将于2010年10月21~ 22日在北京召开。大会开始之前,为了让网友提前知晓移动大会的精彩内容,CSDN将推出讲师专访系列,同时我们期待大家的积极参与和讨论,您可以跟贴,发表您希望听到的内容。本文为系列第一篇,专访空中网iPhone项目负责人洪亮,请他分享在App Store游戏推广中的经验与心得。<br />空中网iPhone项目负责人洪亮在“App Store的游戏推广”上有丰富的经验,其成功运作的《鲨鱼的宝藏》、《帮我做决定 I

2010-09-17 14:42:00 525

原创 其实幸福就是这么简单

老婆孩子热炕头,一幅多么温馨的画面啊,每当我累了的时候我都会打开小女的相片不断的翻看,每每看到她可爱的表情我都会情不自禁的笑起来,原来幸福就是这么的简单,其实任何东西都不是最重要的,最重要的永远是能陪在你身边并且在不经意间给你带来幸福感的东西,我想在这个时间这样的东西只能是你的老婆和孩子,因为他们永远都是爱你的。记住哥们幸福其实就在你的身边,累了一定要回到家里,在这里重新修整,好好休憩,明天再

2010-08-24 22:45:00 461

空空如也

空空如也

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

TA关注的人

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