- 博客(25)
- 资源 (4)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 Vue.js与Jquery的比较 谁与争锋 js风暴
普遍认为jQuery是适合web初学者的起步工具。许多人甚至在学习jQuery之前,他们已经学习了一些轻量JavaScript知识。为什么?部分是因为jQuery的流行,但主要是源于经验开发人员的一个错误的理念:因为jQuery是简单的,所以对于初学者也很简单适合。jQuery提供了简洁,不简化jQuery确实克服了很多旧浏览器问题。但是,它在封装DOM API和JavaScript的复杂性上并没
2016-11-11 13:25:18
26424
转载 JavaEE死了,J2EE的发展趋势与前景
当java出世时,那些大玩家像IBM、BEA、Oracle等看到了一个非常好的赚钱机会,因为Java是一个伟大的Web编程语言。但在编程语言上怎么能挣大钱呢?答案是置于其上建立服务器并使其复杂化,这样大公司才会花大价钱购买。这就是为什么我们有JEE的JSR规范,WebLogic,WebSphere和其他服务器。大型应用程序包部署在这些服务器上会跑得太慢了,太多内存损耗。在一个容器内进行开发
2016-11-26 13:41:12
8368
原创 Anagrams 字符串回文组合 cyber-dojo 编程操练
这是编程操练的一道题目。题目是:Write a program to generate all potential anagrams of an input string.For example, the potential anagrams of "biro" arebiro bior brio broi boir boriibro ibor irbo irob io
2016-11-05 15:11:18
989
原创 100 doors 编程操练 java版 dojo
http://www.cyber-dojo.org/这是一个编程操练网站,外国的,可能你还不知道,我推荐一下给你们,有助于你们提高编程实力,也可以使用《重构》、《设计模式》、《重构与模式》这些书里面介绍的一些技巧来设计,这个网站里面有很多编程题目,可以融合一下你所学习的编程技巧。100 doors这是第一道编程题目,以下是我的编程实现,也是一个重构的过程,但是我只给出我的最终版代码,如果演化过
2016-11-03 18:03:28
735
原创 编程道场之fizz buzz重构
题目:Write a program that prints the numbers from 1 to 100.But for multiples of three print "Fizz" instead of thenumber and for the multiples of five print "Buzz". Fornumbers which are multiples
2016-04-10 14:22:30
632
原创 struts2实现让文件输入流流向浏览器显示
我们都知道struts2封装了很多结果集,今天我遇到了一个需求,就是把一张图片流向浏览器显示,而不是提高下载,图片也是文件,可以看做是一个输入流,相对于浏览器而言,具体实现如下:第一、action层的代码如下:package com.psc.oa.web.action;import java.io.InputStream;import java.util.List;import
2016-03-29 20:33:53
2316
原创 单例模式
单例模式是一种很常用的模式,也是很多人都知道的一种模式,单例模式的定义是:保证一个类只有一个实例,并提供一个访问它的全局的访问点。这里的全局访问点就是我们所说的公开的静态获得实例的方法。案例:我们创建两个类,一个类是Singleton,一个类是Consumer,并且都是单例,只允许创建一个实例。Singleton类使用单例模式中的饿汉式实现,Consumer类使用懒汉世来实现。Single
2016-03-06 19:46:55
441
原创 网络编程之对象传递 Serializable接口
网络编程中,有时候我们需要传递的不仅仅是文本,也有可能是对象,我们的对象如果需要在客户端和服务器端进行传输,需要实现Serializable接口。案例如下:第一步:传输对象之前,我们必须有对象,例如我们要传输一个Person对象。import java.io.Serializable;public class Person implements Serializable{ pri
2016-01-13 14:45:19
433
原创 网络编程 一个服务器同时为多个客户端服务
网络编程越来越多人关注,充分利用资源更是无数人的追求,一台服务器同时为多个客户端服务,这是合理的,这也是必须的。我们使用多线程来实现,案例如下:第一步:创建一个线程类,继承Thread类。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.
2016-01-13 14:17:32
2381
原创 使用套接字Socked实现网络通讯(网络编程)
网络编程是一门很流行,也是很基本的技术,我们一般直接使用框架来实现网络编程,很少会直接写底层的通讯代码,我们有必要知道客户端究竟是怎么样服务器进行通讯的。我们来看一个简单的实例,就是客户端请求的时候,服务器把时间发到客户端。第一步:编写服务器端代码。import java.io.IOException;import java.io.OutputStreamWriter;import j
2016-01-11 19:45:11
977
原创 大话设计模式之状态模式(java版实现)
状态模式的定义为:当一个对象的内部状态发生改变时允许改变其行为,这个对象看起来像是改变了其类本身。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列当中,可以把复杂的判断逻辑简化。案例:我们一天的工作状态都是不同的,早上可能精神状态最好,下午可能会犯困,傍晚精神会好转,晚上可能要加班,随着时间的改变而改变。程序实现如下:第
2016-01-10 21:46:49
497
原创 使用java类库中的Observable类和Observer接口实现观察者模式(精简版)
使用java类库中的Observable类和Observer接口实现观察者模式会更加精简,Observable类定义了观察者关注的主题行为,我们只需要继承Observable类就可以达到复用的效果,不用自己定义抽象类或接口,Observable类中有三个方法需要我们了解,第一个是添加观察者的方法addObserver(Observer o),第二个标记我们继承类Observable的主题类对象为已
2016-01-10 18:52:52
1147
原创 Java中一个比String类的split方法好用的分隔字符串类StringTokenizer
在java中我们如果要分隔字符串的时候,一般都是使用split(String regex)方法,这个方法按照一个正则表达式来分隔,而我们很多时候都不熟悉正则表达式,即使我们可以使用java.util.regex.Pattern包下的静态方法quote(String s)来生成一个正则表达式,但是只能按照一个分隔符来分隔,如果我们要以多个分隔符来分隔的时候,这个方法就不用使,也不方便,此时,我们可以
2016-01-10 12:54:35
1130
原创 大话设计模式之观察者模式
观察者模式(发布-订阅模式)定义:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象 。这个主题对象在状态发生变化的时,会通知所有的观察者对象,使得它们能够自动的更 新自己。遵循的原则:依赖倒置的原则、里氏替换原则。观察者模式的特点:将一个系统分隔成一系列相互协作的类有一个很不好的副作用,那就是需要维护相互对象将的一致性,我们不希望为了维护一致性而是各类紧密相连,这样会给维护、扩展和重用都带来不便。使用场景:1.当一个对象改变时需要同时改变其他对象的时候
2016-01-09 16:30:14
306
原创 大话设计模式之建造者模式(生成器模式) 建造队与指挥者的纠缠
建造者模式,相信很多人都听说过,或者使用过,也叫做生成器模式。例如我们都知道人由头部、身体、双手和双脚组成,我们使用建造者模式来实现一下这个功能。第一步:创建一个人对象类,有四个属性,分别代表头部、手、脚、身体,同时也有一个行为,就是显示自己。public class Person { private String head; private String boby; priva
2015-12-30 11:41:36
552
原创 大话设计模式之外观模式(Java版实现) 买股票还是买基金在此揭晓
随着物价上涨,我们发觉我们的钱越来越不值钱,如是很多人想到钱生钱的方式,如炒股票,炒基金,炒楼,买国债等等,作为程序员的我们,就用代码来实现,进而深入分析一下究竟买哪个最好,别急,慢慢来。第一步:创建三个股票类,一个国债类,一个房地产类,他们都有买入和卖出的行为。//股票1public class Stock1 { public void sell() { System.out
2015-12-26 20:00:07
958
原创 大话设计模式之模板方法模式(Java版实现)考生做试卷问题
我们知道随着项目的进展,我们要编写的代码逐渐增加,代码重复的地方难免会有,我们也很纠结,使用面向对象的编程语言却写出了低可重用性的代码,有一种模式可以提高我们代码的可重用性,那就是模板方法模式,其实其它的设计模式也可以,但是这次就不说了,接下来我们了解一下模板方法模式。我们去面试的时候,监考官都会让我们笔试,不同的考生可能有不同的答案,那么我们就用代码来实现一下这个过程。第一步:创建一个试
2015-12-25 21:36:36
577
转载 设计模式的六大原则(Java版)
我们在学习设计模式的时候,都会知道设计模式遵循一些原则,如开闭原则,单一职责原则,接口隔离原则,依赖倒置原则,迪米特原则,里氏替换原则,但是我们或许对这些原则还没有深入的了解或定义认识,这篇文章很大可能会让你对这些六大原则有不一样的认识与了解,有兴趣的可以访问设计模式六大原则
2015-12-25 14:35:30
288
原创 大话设计模式之原型模式(Java版) 拷贝也需要技术
作为程序员的我们,面对时刻需求改变的情况,总会有懒惰的时候,有时候会使用拷贝代码的方式来完成需求,明明知道后果有时是很槽糕的,但是还是去做,可我们是否有一种可以解决在拷贝的方式下减少槽糕的事情发生的模式呢,答案是肯定的,有,那就是我们的原型模式,原型模式的定义是:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这是官方的说法,接下来用案例说明。就例如我们在面试的时候常常要复制简历,
2015-12-24 20:38:03
618
原创 大话设计模式之工厂方法
工厂方法是一个使用很广泛的设计模式,接下来我使用对比的方式来说明工厂方法的优点与不足,与之前发表的文章简单工厂对比。大家可以看代码实现的不同。1.测试类/** * 需求:使用面向对象的思想完成一个简易计算器 * 可以实现+、-、*、/运算 */public class TestCount { public static void main(String[] args) {
2015-12-20 15:07:23
383
原创 大话设计模式之代理模式
对于广大男同胞来说,泡妞是一件很正常的事情,然而有些羞答答的男生,却缺乏主动,从而不敢主动出击,而是通过朋友来传递对喜爱的女生的爱慕之情,帮忙送礼物啥的,最后不但没有泡妞成功,反而给朋友泡了心爱的女生,实在悲惨之至,然而,作为程序员的我们,如果学过设计模式,可能就不会烦这种错误,这是一个代理模式的最好体现了,补充一句,代理模式用途很广,前面是开玩笑的哈!如果要实现这个泡妞的过程,我们可以用代码来实
2015-12-18 20:27:21
499
原创 大话设计模式之装饰者模式
需求:设计一个系统,可以给人装饰不同的服饰,例如:帽子,T恤,背心,帆布鞋等等。分析:我们都知道人的服饰是各种各样的,是不确定的,也就是说不同的人可以有不同的装饰,一个人也可以换不同的服饰,要设计这样一个可以动态换服饰的系统,我们会选择使用装饰者模式来设计,这是一个经典的设计模式,相信很多人都知道。设计步骤:第一步:创建对象Person,也就是我们需要装饰的对象,对象里面有一个属性na
2015-12-18 12:35:28
454
原创 大话设计模式之策略模式(结合简单工厂),程序完善过程蕴含智慧
不管你编程经验多么丰富,也很难一次性写出完美无瑕的程序,程序都是一步步完善出来的,完善的过程中蕴含中无穷的智慧与乐趣,随着你编程的时间增加,你写的程序会一次比一次好,但是前提是你要不断的思考,随着面向对象语言的流行,我们要学会使用面向对象的思想来编写程序,而不是使用面向过程的方式来编写程序,但是这也需要不断锤炼,只要不断思考,我们终究可以写出完全面向对象的程序!废话有点多,请原谅,接下来说重点,说
2015-12-13 14:11:03
450
原创 大话设计模式学习笔记--简易计算器(简单工厂)
需求:使用面向对象的思想实现一个简易计算器,可以进行+、-、*、/运算。可能你觉得这是一个很简单的题目,如是你不会思考太多,就会马上着手开始写代码,你写的代码可能会是这样。import java.util.Scanner;/** * 需求:完成一个简易计算器 * 可以实现+、-、*、/运算 * 菜鸟实现: */public class TestCount1 {
2015-11-30 13:31:04
568
JDK源码(含sun/com/sunw源码)
2017-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人