- 浏览: 90878 次
最新评论
文章列表
http://blog.chinaunix.net/uid-27795088-id-3977915.html
生产者消费者模式的好处:
它的确是一种实用的设计模式,常用于编写多线程或并发代码。下面是它的一些优点:
独立地或并发的编写消费者和生产者,它仅仅只需知道共享对象是谁
生产者不需要知道谁是消费者或者有多少消费者,对消费者来说也是一样
生产者和消费者可以以不同的速度执行
分离的消费者和生产者在功能上能写出更简洁、可读、易维护的代码
经典的方法是使用wait和notify方法在生产者和消费者线程中合作,在队列满了或者队列是空的条件下阻塞,Java5的阻塞队列(Blocki ...
1、fusioncharts
- 博客分类:
- note4.1-js图表
大公司封装了他的report报表,又不给我demo,我表示看不懂,只好自学usioncharts,动手几个demo还是很容易的:
官网:http://www.fusioncharts.com/
5、JAVA数据库连接池实现
- 博客分类:
- notes
转:http://greemranqq.iteye.com/blog/1969273
在一个成套的web系统中,不能更改源代码的情况下,要进行频繁的数据库操作,需要进行数据库连接管理而不影响原系统运行,这里就是一个java实现连接池的demo:
主要是对连接数的控制,比如最大20,最小2的连接。
package pool;
import java.sql.Connection;
import java.sql.SQLException;
public interface IConnectionPool {
// 获得连接
...
4、结构型模式---
- 博客分类:
- notes2
Adapter ( 适配器模式 )
1、Adapter ( 适配器模式 )
目标(Target)角色:这就是所期待得到的接口。注意:由于这里讨论的是类适配器模式,因此目标不可以是类。
源(Adapee)角色:现在需要适配的接口。
适配器(Adaper)角色:适配器类是本模式的核心。适配器把源接口转换成目标接口。显然,这一角色不可以是接口,而必须是具体类。
public class Adapter extends Adaptee implements Target {
@Override
public void sampleOperation2() {
}
...
1、单例模式【Singleton Pattern】
几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销。
怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例易于被访问呢?
解决方案
1)全局变量:一个全局变量使得一个对象可以被访问,但它不能防止你实例化多个对象。因为你的任何代码都能修改全局变量,这将不可避免的引起更多调试的意外。换句话说,全局变量的状态总是会出现一些问题的。
2)类构造函数私有和类自身的静态方法:让类自身负责 ...
2、创建型模式---工厂模式
- 博客分类:
- notes2
工厂模式可以分为三类:
1)简单工厂模式(Simple Factory)
2)工厂方法模式(Factory Method)
3)抽象工厂模式(Abstract Factory)
1、简单工厂模式(simple factory)是类的创建模式,又叫静态工厂方法(static factory method)模式。
简单工厂模式根据传入的参数决定创建哪一类实例。
public class peopleFactory{
public static people create(int type){
if(type==1){
return new chinese();
} ...
1、设计模式---6大设计原则
- 博客分类:
- notes2
1、单一职责原则
用户的属性(Properties)和用户的行为(Behavior)没有分开,这是一个严重的错误!非常正确,确实是这个接口设计的一团糟,应该把用户的信息抽取成一个业务对象(Bussiness Object,简称BO),把行为抽取成另外一您 ...
4、javaweb listener 应用场景
- 博客分类:
- notes
一、统计当前在线人数
@Override
public void sessionCreated(HttpSessionEvent se) {
ServletContext context = se.getSession().getServletContext();
Integer onLineCount = (Integer) context.getAttribute("onLineCount");
if(onLineCount==null){
context.se ...
HttpSessionActivationListener 监听器
原文:http://blog.csdn.net/kjfcpua/article/details/7290352
Jsp/servlet 标准不要求一个web容器支持分布式应用,但是他一定要支持HttpSessionActivationListener借口,以使代码可以支持分布式环境。一般免费的web容器都不支持分布式,weblogic websphere是支持的。为了负载均衡或者fail-over,web容器可以迁移一个session到其他的jvm.session的passivation是指非活动的ses ...
ServletContextAttributeListener, HttpSessionAttributeListener 和ServletRequestAttributeListener,这三个接口中都定义了三个方法来处理被监听对象中的属性的增加,删除和替换的事件,同一个事件在这三个接口中对应的方法名称完全相同,只是接受的参数类型不同。
attributeAdded 方法:
1 public void attributeAdded(ServletContextAttributeEvent scae)
2 public void attributeReplaced(HttpSess ...
web监听器
主要有三类:
1.ServletContext:对servlet上下文(application对象)进行监听
2.Session:对session监听
3.Request:对request的监听
监听器是一个实现特定接口的普通java类,这个程序专门用于监听另一个java对象的方法调用或属性改变,当监听到事件发生后,监听器的某个方法立即执,相关接口[EVENT/LISTENER]
平时做开发的时候,我们是写监听器去监听其他对象,那么我们如果想设计一个对象,让这个对象可以被别的对象监听又该怎么做呢?
...
16款响应式布局框架
- 博客分类:
- new
http://www.iteye.com/topic/1137820
HTML5框架可以快速构建响应式网站,它们帮助程序员减少编码工作,减少冗余的代码。如今有很多免费的HTML5框架可供使用,由于它们有着响应式设计、跨浏览器兼容、相对轻量级等特点,这些框架在 ...
5、获取dom-内容
- 博客分类:
- WEB-FRONT
1、HTMLDivElement
alert(obj.innerHTML);
2、object
alert(index.USERID);
在项目中使用多线程的场景并不是很多,我想是一般项目对线程要求不高,但是线程在实际开发中带来的好处是很多的:
1.一件事:用单线程可以做,但是使用多线程可以更快。
2.典型应用tomcat,tomcat内部采用的就是多线程,上百个客户端访问同一个web应用,tomcat接入后都是把后续的处理扔给一个新的线程来处理,这个新的线程最后调用到我们的servlet程序,比如doGet或者doPost方法。
迅雷多任务下载,word, 浏览器,
3.后台线程:比如定期执行一些特殊任务,如定期更新配置文件,任务调度(如quartz),一些监控用于定期信息采集等。
...