`
文章列表
        springmvc+mybatis+maven整合demo,Restful风格,json格式返回。来源于:https://github.com/hellsam/springmvc_spring_mybatis_maven         以后可以直接拿来使用。           不过,部署的时候有几个问题处理:        (1)ClassNotFoundException: org.junit.runner.RunWith。 原因分析: 原来使用的是Eclipse自带的junit4,出现以上错误,发现junit包版本太低,需要4.5或以上的版本 。 ...

国内maven仓库

    博客分类:
  • Java
记录下,国内好用的maven仓库,oschina提供的:http://maven.oschina.net/content/groups/public/ 在setting.xml中配置地址为: <mirrors> <mirror> <id>CN</id> <name>OSChina Central</name> ...
  script tag iframe ajax websocket polling 低效, 可以跨域 / 低效, 无法跨域 / long-polling 中效, 可以跨域 中效, 无法跨域 中效, 无法跨域 / streaming / 高效, 无法跨域 / 高效, 兼容性差   经过对比, 最终只有两种 comet 技术胜出: script tag long-polling, 和 iframe streaming(forever iframe). script tag long-polling 这是最通用, 浏览 ...
Web 通信 之 长连接、长轮询(long polling)   基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性。     一、什么是长连接、长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息。这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已。     二、长连接、长轮询的应用场景 长连接、长轮询一般应用与WebIM、ChatRoom和一些需要及时交互的网 ...

计算本周第一天

    博客分类:
  • Java
网上有很多计算本周第一天的代码,但是大多数都不太全面。 现在自己写了一个,进行测试: /** * * @param date * @param isMondayAsFirst 周一是否为一周第一天 * @return */ private static Date getFirstDateOfWeek(Date date, boolean isMondayAsFirst) { Calendar cal = Calendar.getInstance(); cal.setTime(date); int i = cal.getActualMi ...
同步与异步、阻塞与非阻塞的概念都是在IO的场合下。 IO操作中涉及的2个主要对象为程序进程、系统内核。以读操作为例,当一个IO读操作发生时,通常经历两个步骤:   1,等待数据准备   2,将数据从系统内核拷贝到 ...
1、transient      如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如:  class T { transient int a; //不需要维持 int b; //需要维持 }      这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存。  2、volatile      Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。 ...
参考:岑文初 Local Cache的小TIP 以下内容为转载:       现在local cache + 远端cache是提高性能的必备,所以如何做好local cache 很有讲究。       由于有网络传输带来的性能损失(包括连接数并发限制),很多大请求量系统都 ...
说明:红色字体表示要特别注意点   索引是在数据库表或者视图上创建的对象,目的是为了加快对表或视图的查询的速度。 按照存储方式分为:聚集与非聚集索引按照维护与管理索引角度分为:唯一索引、复合索引和系统自 ...
策略(Strategy)模式:        策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。          假设现在要设计一个贩卖各类书籍的电子商务网站的购物车(Shopping Cat)系统。一个最简单的情况就是把所有货品的单价乘上数量,但是实际情况肯定比这要复杂。比如,本网站可能对所有的教材类图书实行每本一元的折扣;对 连环画类图书提供每本7%的促销折扣,而对非教材类的计算机图书有3%的折扣;对其余的图书没有折扣。由于有这样复杂的折扣算法,使得价格计算问题需要系统地解决。 ...
1、定义       多个工厂模式:工厂类中定义多个方法,每个方法对应生成产品       静态工厂模式:工厂类中定义静态方法,每个静态方法对于生成产品;或者定义一个静态方法来生成产品;     2、例子       拿简单工厂模式(1)的例子进行改进,SenderFactory采用多个工厂模式/静态工厂模式的方法       多个工厂模式: public class SenderFactory { public Sender createMailSender() { return new MailSender(); } public Sender cr ...
 1、定义        简单工厂模式:一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。       类图如下:         2、例子      举个例子:用户提交了业务单据后,发送消息通知给相应处理人,消息通知方式有短信、邮件、push通知等。      类图定义如下:         (1)定义Sender接口       public interface Sen ...
Class.isAssignableFrom()是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的子类或接口。   格式为:        Class1.isAssignableFrom(Class2)     调用者和参数都是java.lang.Class类型。     而instanceof是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。    格式是:o instanceof TypeName       第一个参数是对象实例名,第二个参数是具体的类名或接口名,例如   String,InputStream。 package com.bill99. ...

Java多线程之教程

    博客分类:
  • Java
《Java并发编程实践》是非常详细阐述了Java多线程开发技术,包括synchronized、threadlocal、lock、reentrantlock、原子操作、无锁算法等一系列技术。  个人感觉这个文章写得相当透彻,强烈推荐给各位学习多线程的童鞋们。
最近自己在工作之余做一个金融类的项目(类似股票),采用mina开源框架进行服务端和客户端之间交互。开始学学mina。转入正题... (1)首先需要引入以下几个包:   mina-core-2.0.x.jar,slf4j-api-1.6.x.jar,slf4j-log4j12-1.6.x.jar 这里需要注意下:slf4j-api-1.6.x.jar,slf4j-log4j12-1.6.x.jar 必须是同样二级版本号,即1.6版本,如果一个是1.5版本、一个是1.6版本,运行时会报错:java.lang.NoSuchMethodError: org.slf4j.helpers.Mess ...
Global site tag (gtag.js) - Google Analytics