- 博客(61)
- 资源 (2)
- 收藏
- 关注
原创 Java2-3年面试题
Java2-3年面试题一线互联网公司面试题总结。因为csdn传不了2m以上的图,我都传到百度云上了。链接: https://pan.baidu.com/s/1eSosgbo 密码: ktp6百度云中图片包含面试题目,部分答案。完善的答案链接如下完整答案书签文件:/百度云/完整答案书签文件.html
2017-05-12 14:18:07
1848
原创 Jsoup抓取唐诗三百首
Jsoup抓取唐诗三百首需求抓取唐诗三百首获得每一行的最后两个词拼成xx.com,验证该域名是否存在得出没有注册域名的两个词工具用到的工具Jsoup,maven,java代码maven配置文件<dependencies> <dependency> <groupId>org.jsoup</groupId> <artifactId
2016-11-22 10:20:43
722
原创 spring学习之IOC容器2
spring学习之IOC容器2bean的作用域当我们定义一个bean时,你得为创建的很多bean实例提供一种方式。这个方式的定义很重要,它意味着你能为很多实例归并到一种方式里。 可以控制各个依赖和要被插入到从一特定bean定义创建的对象的配置值。 以下作用域支持开箱即用。您还可以创建一个自定义的范围。 singleton代表这在spring-ioc容器中只存在一个实例化的对象对应着bean。p
2016-10-28 12:13:50
370
原创 spring学习之IOC容器
spring学习之spring框架介绍spring ioc和bean的介绍IOC被称为依赖注入,是一个管理对象依赖的过程。也就是说,通过初始化构造参数或者方法,属性来背被初始化并返回一个工厂方法。 当他们创建一个对象时,这时会将这些对象注入到容器中。这个过程是将控制权反转,所以被称为依赖注入。这样就可以直接的使用注入的对象。 org.springframework.beans, org.spri
2016-10-24 00:41:05
370
原创 spring学习之spring框架介绍
spring学习之spring框架介绍开始spring如果你是刚使用spring的开发人员,可以先使用spring-boot来创建一个spring应用。他基于spring框架。主张约定优于配置。被设计成为尽可能快的运行。 参考代码及文档 快速学习spring指南 学习建立一个符合restful规范的web应用spring框架的介绍spring框架是一个java平台项目,他为java应用提供了基
2016-10-21 01:18:21
3788
原创 六大设计原则之里氏替换原则
六大设计原则之里氏替换原则定义第一个定义: 如果对每一个类型为 T1 的对象 o1,都有类型为 T2 的对象 o2,使得以 T1 定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。 第二个定义: 通俗点讲只要父类能出现的地方我子类就可以出现,而且调用子类还不产生任何的错误或异常,调用者可能根本就不需要知道是父类还
2016-10-18 17:56:21
311
原创 六大设计原则之单一职责
六大设计原则之单一职责定义单一职责原则:应该有且仅有一个原因引起类的变化例如 接口:IUserInfo(setUserName(),setPassword(),deleteUser(),addRole()) 就是违背了单一原则。用户的属性和行为没有分开。 应该这样 用户的属性:IUserBo(setUserName(), setPassword()) 用户的行为:IUserBiz(dele
2016-10-17 23:44:19
284
原创 设计模式之解释器模式22
设计模式之解释器模式22背景当我们需要计算a+b-c时,我们需要第一步,定义这个表达式,赋予其逻辑。然后将变量填充,得出结果。我们现在用程序来理解它。类图代码实现表达式的抽象类public abstract class Expression { //解析公式与数值,其中var中的key值是公式中的参数,value值是具体的数字 public abstract int interpret
2016-10-16 23:53:57
256
原创 设计模式之中介模式21
设计模式之中介模式21背景当有多个对象之间相互调用时,生成一个中介来协调处理各个类。举例:销售,采购,库存。销售时,如果有库存则销售,没库存则采购在销售。抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各同事角色之间的通信。具体中介者(Concrete Mediator)角色:具体中介者角色通过协调各同事角色实现协作行为,因此它必须依赖于各个同事角色。同事(Colleague)角
2016-10-13 19:19:36
294
原创 设计模式之原型模式20
设计模式之原型模式20背景当我们发送邮件的时候需要模板来设置一些固定的东东。用到Template。然而,我们在发送时,一个Mail对象被发送多次,为了提升速度需要用到多线程来处理,这时就会有对象数据不安全。这时用到了Cloneable接口来解决这个问题。类图代码实现定义一个模板类public class AdvTemplate { private String subject = "中奖拉,中
2016-10-12 22:21:04
247
原创 设计模式之状态模式19
设计模式之状态模式19背景项目中会遇到各种各样的状态流转,比如,电梯的“打开”,“关闭”,“运行”,“停止”状态。同一时刻只会有一个状态。例如,打开状态,可以打开,关闭,而不能运行和停止。如果正常的写法,将会写很多的switch来判断。 我们用状态模式来实现一下。类图代码实现先把四个状态抽象一下。/** * 状态的抽象 * @author ChenLisong * */public ab
2016-10-12 00:51:40
262
原创 设计模式之访问模式18
设计模式之访问模式17背景如果希望能打印出所有员工的信息(普通员工,经理)。普通的模板方法可以实现。现在尝试下访问模式。拆分对象:员工,普通员工,经理,访问类(集中访问信息的操作)类图代码实现、定义一个员工抽象类,所有角色都继承该类。public abstract class Employee { private String name; private Double salary;
2016-10-11 00:32:53
313
原创 设计模式之责任链模式17
设计模式之责任链模式17背景古代之三从四德,未婚从父,已婚从夫,丧父从子。女子如果想去逛街,先得请示父亲,如果父亲不在则请求丈夫,如果丈夫不在则请求儿子。抽象一下表达。对象拆分:女人(女子),男人(父亲,丈夫,儿子),动作拆分:男子批准女子的逛街请求。男子对象拥有该动作。(基于,谁拥有动作,方法则属于那个对象)类图代码实现抽象女子接口public interface IWoman { //获取
2016-10-09 21:34:12
380
原创 设计模式之观察者模式15
设计模式之观察者模式15背景李斯,张斯是不同国家的当权者,需要监控韩国韩非子的一举一动。韩非子所有的动作都要给李斯,张斯发送报告。然后再报告给各自的老大。类图代码实现定义一个Watcher接口,方便观察者实现。也方便程序自动找到所有实现该接口的类。import java.util.Observer;public interface Watcher extends Observer{}然后再定义一个
2016-09-29 17:44:02
307
原创 spring-guide之uploading-file
spring-guide之uploading-file背景将创建一个spring-boot的应用来接受来自http的multi-part的数据。代码实现build.gradle增加以下配置buildscript { repositories { mavenCentral() } dependencies { classpath("org.spr
2016-09-29 16:23:09
1637
原创 设计模式之组合模式14
设计模式之组合模式14背景迭代器模式pass,因为迭代器模式是在jdk1.2出现Iterator时的模式。对于现在用List,Map遍历即可搞定。一个组织架构图,上至CEO,下至普通开发人员,有这样的一个树结构,我们用组合模式来实现类图代码实现将对象抽离为以下几种员工信息抽象类,大家都有的信息,叶子节点,普通开发, 非叶子节点,组长,管理层客户端调用抽象信息类public abstract
2016-09-28 11:30:25
240
原创 比较nice的文章记录mark
文章记录markzookeeper概述:"http://blog.csdn.net/wangyangzhizhou/article/details/52638079"/>"
2016-09-26 15:30:33
361
原创 设计模式之装饰者模式12
设计模式之装饰者模式12背景有一次考试,小明考了60分,然后学校出了一个成绩单,要家长签字。60分,王老汉肯定不签字。这时,需要加两个装饰。1:最高分是70分,我考了60分。 2:我排名从40到30名。类图代码实现学校给的报告单public abstract class SchoolReport { public abstract void report(); public abst
2016-09-26 14:24:47
284
原创 设计模式之命令模式11
设计模式之命令模式11背景正常做一个项目,有客户,需求组,美工组,开发组。然后项目经理负责统筹整个项目的进度和安排。这时,客户找到项目经理说任何一个事情,增加需求,删除需求,增加页面,修改页面等等。这样就造就了命令模式类图代码实现首先要定义各个组的抽象类public abstract class Group { public abstract void add(); public abs
2016-09-26 12:02:27
278
原创 设计模式之桥梁模式10
设计模式之桥梁模式10背景假如某老板有一房地产公司公司,专门卖房赚钱。另外最近ipod,衣服等赚钱,老板想开个专门山寨的各种公司。但是,老板只关注赚钱。具体的生产,销售,老板不管。类图代码实现首先定义一个产品Product.java,可以被房地产,山寨等产品继承。//定义一个产品public abstract class Product { //生产产品的动作 public abst
2016-09-25 21:26:21
274
原创 spring-guide之spring-jdbc
spring-guide之spring-jdbc创建一个关系数据的spring-jdbc 其中将使用jdk 8新特性来撸代码。mark一下java 8的IBM的新特性描述 https://www.ibm.com/developerworks/cn/java/j-lo-jdk8newfeature/gradle的配置创建gradle的配置文件build.gradle、buildscript {
2016-09-24 00:25:02
316
原创 设计模式之建造者模式10
设计模式之建造者模式09背景如果客户不仅要制造出宝马, 奔驰的车型。还要动态的设置他们去做什么。现有的动作(启动,引擎声,鸣笛,停止)。客户可以定义宝马有启动,停止。而奔驰有启动,引擎声,停止。这时该如何来做?类图将功能区分为车型和车型的建造者。建造者通过自定义sequence来控制各自的车型的动作。不同的车型拥有不用的建造者。代码实现定义一个车型的抽象类public abstract class
2016-09-23 12:49:31
265
原创 设计模式之抽象模板模式09
设计模式之抽象模板模式08背景有一个车辆模型,然后需要录入各种不同类型的车。 写一个抽象类,CarModel 剩下的所有具体的车型都将继承CarModel类图如下代码实现定义车的模型抽象类,其中run方法调用子类的实现public abstract class CarModel { public abstract void start(); public abstract void
2016-09-23 11:46:37
248
转载 线程数究竟设多少合理-摘自58沈剑
摘自58沈剑 http://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=404369373&idx=1&sn=cab2ac9ec0edf92e744a2329662b16cd&scene=21#wechat_redirect一、需求缘起 Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的
2016-09-23 00:18:02
762
转载 秒杀系统架构优化思路-摘自58沈剑
本人摘自: http://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959391&idx=1&sn=fb28fd5e5f0895ddb167406d8a735548&scene=19#wechat_redirect本文曾在“架构师之路”上发布过,近期支援Qcon-AS大会,在微信群里分享了该话题,故对原文进行重新整理与发布。一、秒杀业务
2016-09-22 23:54:10
878
原创 设计模式之抽象适配器模式08
设计模式之抽象适配器模式07背景我们系统中的用户设计是IUserInfo(name,mobile,address),而这时要接入别的项目的用户数据。要做到的程度:既能查询到我们的数据,也能查询到别的系统的用户数据。而这时,对方系统用户设置了基础信息,家庭信息。数据结构不一致,我们做个适配器解决之。类图代码实现我们系统中的用户接口/** * 内部系统用户接口 * @author chenlison
2016-09-22 17:57:29
296
原创 OOD设计原则之开闭原则(OCP)
OOD设计原则之开闭原则(OCP)开闭原则OCP(open-close-principle)在维基百科的定义:在面向对象编程中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变他的源代码的前提下变更他的行为。梅耶开闭原则勃兰特丶梅耶一般被认为是最早提出开闭原则这一术语的人,1988年在面向对象软件构造中给出,这一想法认为一旦完
2016-09-22 16:17:58
361
原创 spring-guide之consuming-rest
spring-guide之consuming-rest创建一个spring的应用来消费符合restful规范的spring we服务。将使用RestTemplate来引用这个产生随机数的url。 http://gturnquist-quoters.cfapps.io/api/random.gradle的配置创建gradle配置文件build.gradlebuildscript { re
2016-09-22 12:11:16
438
原创 spring-guide之scheduled-task
spring-guide之scheduled-task目标:部署一个spring的scheduling-task应用需要准备的大概15分钟一个友好的文本编辑器或者IDEjdk1.8 或者更晚的(我用的1.7)gradle2.3+ 或者maven3.0+ (我用的gradle)也可以直接从github上导入代码 官方:git clone https://github.com/spring
2016-09-22 10:28:37
300
原创 设计模式之门面模式07
设计模式之门面模式07背景大家都是高智商的人,都写过纸质的信件吧,比如给女朋友写情书什么的,写信的过程大家都还记得吧,先写信的内容,然后写信封,然后把信放到信封中,封好,投递到信箱中进行邮递,这个过程还是比较简单的,虽然简单,这四个步骤都是要跑的呀,信多了还是麻烦,比如到了情人节,为了大海捞针,给十个女孩子发情书,都要这样跑一遍,你不要累死,更别说你要发个广告信啥的,一下子发 1 千万封邮件,那不就
2016-09-21 18:23:01
275
原创 学习计划-16.09.21
学习计划spring-guidespring-frameworkspring-mvcspring-bootzookeeperetcd
2016-09-21 16:38:13
230
原创 spring系列学习
spring系列学习从今天开始学习spring知识点 官方文档:http://spring.io/guides 代码地址:http://www.github.com/projects/
2016-09-20 22:41:12
257
原创 spring-guide之rest-service
spring-guide之rest-service目标:创建一个spring的符合restful规范的web service项目,并做出hello world。构建一个简单的符合restful规范的web服务将构建一个接受http get请求的web服务。http://localhost:8080/greeting并且返回一个json格式的响应{"id":1,"content":"Hello, Wo
2016-09-20 22:38:00
389
原创 设计模式之抽象工厂模式06
设计模式之抽象工厂模式06背景好了,我们继续上一节课,上一节讲到女娲造人,人是造出来了,世界时热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋, Shit!忘记给人类定义性别了,那怎么办?抹掉重来,然后就把人类重新洗牌,准备重新开始制造人类。由于先前的工作已经花费了很大的精力做为铺垫,也不想从头开始了,那先说人类(Product 产
2016-09-20 15:56:34
306
原创 关于责任心
关于责任心背景最近一段时间,关于某个跨部门合作的项目。简单描述一下。团队A的哥们1,遇到一个问题,然后一封邮件发给团队B的哥们2。然后,这个事情就这样过了20天。知道有一天,我们这里准备上线了,突然PMO说,这个项目在这个准备方面有点问题,然后把20天前的邮件翻出来。然后他们两个人自20天前再也没有联系。最后,我一看,先把这个事情了解一下,不能卡在这里。项目还得进行。就去关注了下这个事情,然后和各方
2016-09-20 14:35:13
557
2
原创 设计模式之工厂模式05
设计模式之工厂模式05目标 女娲补天的故事大家都听说过吧,今天不说这个,说女娲创造人的故事,可不是“造人”的工作,这个词被现代人滥用了。 这个故事是说,女娲在补了天后,下到凡间一看,哇塞,风景太优美了,天空是湛蓝的,水是清澈的,空气是清新的,太美丽了,然后就待时间长了就有点寂寞了,没有动物,这些看的到都是静态的东西呀,怎么办? 别忘了是神仙呀,没有办不到的事情,于是女娲就架起了八卦炉(技术术语:建立
2016-09-20 11:54:38
302
原创 redis学习之redis命令01
redis学习之redis命令01APPEND命令时间复杂度及开始版本 版本:2.0.0 时间复杂度:O(1)。均摊时间复杂度是O(1), 因为redis用的动态字符串的库在每次分配空间的时候会增加一倍的可用空闲空间,所以在添加的value较小而且已经存在的 value是任意大小的情况下,均摊时间复杂度是O(1)。命令描述 如果 key 已经存在,并且值为字符串,那么这个命令会把 valu
2016-09-19 23:01:04
394
原创 下一个学习计划
下一个学习计划spring系列的学习 http://spring.io/guidesredis的学习 http://redis.cn/documentation.html
2016-09-19 22:18:52
350
原创 尝试做新事情30天-阅读架构即未来-总结
尝试做新事情30天-阅读架构即未来-总结通过这几天的阅读“架构即未来”,读到了第10/30章。这时目前我的进度。本书对于做管理确实是一本不错的书,奈何提到的技术太少,甚至与没有,而且此架构非比架构。 希望过段时间,我再来读这本书。关于“尝试做事情30天”,我的理解是,读书30天,而非某一本书,嗯,这样说过之后,我就能安慰下自己。而且读具体的某一本书并不是非要30天不是。然而读书却真的需要30天。
2016-09-19 22:04:51
2167
原创 尝试做新事情30天-阅读架构即未来05
尝试做新事情30天-阅读架构即未来05危机管理和升级什么是危机 复发性的问题浪费时间,摧毁服务和组织的扩展能力。因为危机占用大量资源,所以瓦解扩展性。允许危机的根源不止一次的出现会浪费大量的资源,所以瓦解扩展性。允许危机的根源不止一次的出现会浪费大量的资源,使组织和服务无法扩展,也会带来摧毁业务的风险。为什么要区分危机和其他的事故、 你不可能像处理正常事故那样对待危机,因为危机对你的影响与正
2016-09-19 21:59:55
544
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人