JavaEE死了,J2EE的发展趋势与前景 当java出世时,那些大玩家像IBM、BEA、Oracle等看到了一个非常好的赚钱机会,因为Java是一个伟大的Web编程语言。但在编程语言上怎么能挣大钱呢?答案是置于其上建立服务器并使其复杂化,这样大公司才会花大价钱购买。这就是为什么我们有JEE的JSR规范,WebLogic,WebSphere和其他服务器。大型应用程序包部署在这些服务器上会跑得太慢了,太多内存损耗。在一个容器内进行开发
Vue.js与Jquery的比较 谁与争锋 js风暴 普遍认为jQuery是适合web初学者的起步工具。许多人甚至在学习jQuery之前,他们已经学习了一些轻量JavaScript知识。为什么?部分是因为jQuery的流行,但主要是源于经验开发人员的一个错误的理念:因为jQuery是简单的,所以对于初学者也很简单适合。jQuery提供了简洁,不简化jQuery确实克服了很多旧浏览器问题。但是,它在封装DOM API和JavaScript的复杂性上并没
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
100 doors 编程操练 java版 dojo http://www.cyber-dojo.org/这是一个编程操练网站,外国的,可能你还不知道,我推荐一下给你们,有助于你们提高编程实力,也可以使用《重构》、《设计模式》、《重构与模式》这些书里面介绍的一些技巧来设计,这个网站里面有很多编程题目,可以融合一下你所学习的编程技巧。100 doors这是第一道编程题目,以下是我的编程实现,也是一个重构的过程,但是我只给出我的最终版代码,如果演化过
编程道场之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
struts2实现让文件输入流流向浏览器显示 我们都知道struts2封装了很多结果集,今天我遇到了一个需求,就是把一张图片流向浏览器显示,而不是提高下载,图片也是文件,可以看做是一个输入流,相对于浏览器而言,具体实现如下:第一、action层的代码如下:package com.psc.oa.web.action;import java.io.InputStream;import java.util.List;import
单例模式 单例模式是一种很常用的模式,也是很多人都知道的一种模式,单例模式的定义是:保证一个类只有一个实例,并提供一个访问它的全局的访问点。这里的全局访问点就是我们所说的公开的静态获得实例的方法。案例:我们创建两个类,一个类是Singleton,一个类是Consumer,并且都是单例,只允许创建一个实例。Singleton类使用单例模式中的饿汉式实现,Consumer类使用懒汉世来实现。Single
网络编程之对象传递 Serializable接口 网络编程中,有时候我们需要传递的不仅仅是文本,也有可能是对象,我们的对象如果需要在客户端和服务器端进行传输,需要实现Serializable接口。案例如下:第一步:传输对象之前,我们必须有对象,例如我们要传输一个Person对象。import java.io.Serializable;public class Person implements Serializable{ pri
网络编程 一个服务器同时为多个客户端服务 网络编程越来越多人关注,充分利用资源更是无数人的追求,一台服务器同时为多个客户端服务,这是合理的,这也是必须的。我们使用多线程来实现,案例如下:第一步:创建一个线程类,继承Thread类。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.
使用套接字Socked实现网络通讯(网络编程) 网络编程是一门很流行,也是很基本的技术,我们一般直接使用框架来实现网络编程,很少会直接写底层的通讯代码,我们有必要知道客户端究竟是怎么样服务器进行通讯的。我们来看一个简单的实例,就是客户端请求的时候,服务器把时间发到客户端。第一步:编写服务器端代码。import java.io.IOException;import java.io.OutputStreamWriter;import j
大话设计模式之状态模式(java版实现) 状态模式的定义为:当一个对象的内部状态发生改变时允许改变其行为,这个对象看起来像是改变了其类本身。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列当中,可以把复杂的判断逻辑简化。案例:我们一天的工作状态都是不同的,早上可能精神状态最好,下午可能会犯困,傍晚精神会好转,晚上可能要加班,随着时间的改变而改变。程序实现如下:第
使用java类库中的Observable类和Observer接口实现观察者模式(精简版) 使用java类库中的Observable类和Observer接口实现观察者模式会更加精简,Observable类定义了观察者关注的主题行为,我们只需要继承Observable类就可以达到复用的效果,不用自己定义抽象类或接口,Observable类中有三个方法需要我们了解,第一个是添加观察者的方法addObserver(Observer o),第二个标记我们继承类Observable的主题类对象为已
Java中一个比String类的split方法好用的分隔字符串类StringTokenizer 在java中我们如果要分隔字符串的时候,一般都是使用split(String regex)方法,这个方法按照一个正则表达式来分隔,而我们很多时候都不熟悉正则表达式,即使我们可以使用java.util.regex.Pattern包下的静态方法quote(String s)来生成一个正则表达式,但是只能按照一个分隔符来分隔,如果我们要以多个分隔符来分隔的时候,这个方法就不用使,也不方便,此时,我们可以
大话设计模式之观察者模式 观察者模式(发布-订阅模式)定义:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象 。这个主题对象在状态发生变化的时,会通知所有的观察者对象,使得它们能够自动的更 新自己。遵循的原则:依赖倒置的原则、里氏替换原则。观察者模式的特点:将一个系统分隔成一系列相互协作的类有一个很不好的副作用,那就是需要维护相互对象将的一致性,我们不希望为了维护一致性而是各类紧密相连,这样会给维护、扩展和重用都带来不便。使用场景:1.当一个对象改变时需要同时改变其他对象的时候
大话设计模式之建造者模式(生成器模式) 建造队与指挥者的纠缠 建造者模式,相信很多人都听说过,或者使用过,也叫做生成器模式。例如我们都知道人由头部、身体、双手和双脚组成,我们使用建造者模式来实现一下这个功能。第一步:创建一个人对象类,有四个属性,分别代表头部、手、脚、身体,同时也有一个行为,就是显示自己。public class Person { private String head; private String boby; priva