摘要:
private static ExecutorService exec = new ThreadPoolExecutor(8, 8, 0L,TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(100000), new ThreadPool 阅读全文
摘要:
NIO提供全新的底层I/O模型。与最初的java.io包中面向流(stream-oriented)概念不同,NIO采用了面向块的概念(block-oriented)。在尽可能的情况下,I/O的操作以大的数据块为单位进行,而不是一次一个字节或字符。这样提高java的I/O性能,也牺牲了操作的简单性。 阅读全文
摘要:
在Java中使用Socket(套接字)完成TCP程序的开发,使用此类可以方便地建立可靠的、双向的、持续的、点对点的通信连接。 在Socket的程序开发中,服务器端使用ServerSocket等待客户端的链接。每个Java的网络程序的客户端都使用一个Socket对象表示。 ServerSocket p 阅读全文
摘要:
UDP是不可靠的连接,广泛应用于各种聊天工具 使用UDP发送的信息,对方不一定会接收到。所有的信息使用数据报的形式发送出去,这就要求客户端要始终等待服务器发送的信息才能进行接收。在Java中使用DatagramSocket类和DatagramPacket类完成UDP程序的开发。 UDP程序实现 在U 阅读全文
摘要:
可以通过此类方便地操作集合 常用方法: static final List EMPTY_LIST 返回一个空的List集合 static final Set EMPTY_SET 返回空的Set集合 sttaic final Map EMPTY_MAP 返回空的Map集合 static <T> boo 阅读全文
摘要:
Forward 转向(Forward)是通过RequestDispatcher对象的forward(HTTPServletRequest req, HttpSerletResponse res) 方法来实现的。RequestDispatcher可以通过HTTPServletRequest的getRe 阅读全文
摘要:
客户端 相对于FTP文件上传,Web文件上传速度慢一些,但使用方便,不需要客户端,而且权限比FTP容易控制。 Web文件上传采用POST方式,上传文件需要设置FORM的entype属性为multipart/form-data。由于上传的文件会比较大,需要设置该参数指定浏览器使用二进制上传。否则enc 阅读全文
摘要:
Servlet和传统CGI程序相比的优点: 1. 只需要启动一个操作系统进程以及加载一个JVM,大大降低了系统的开销 2. 如果多个请求需要做同样处理的时候,这时只需要加载一个类,这也大大降低了开销 3. 所有动态加载的类可以实现对网络协议以及请求解码的代码共享,大大降低了工作量 4. Servle 阅读全文
摘要:
类集是一个动态的对象数组,是对一些实现好的数据结构进行包装。类集框架使用方便,本身不受对象数组长度的限制。 类集的特性: 1. 高性能,对基本类集(动态数组、链接表、树和散列表)的实现是高效率的。 2. 框架必须允许不同类型的类集以相同的方式和高度互操作方式工作。 3. 类集必须是容易扩展和修改的, 阅读全文
摘要:
Q:经常看到说“ArrayList和HashMap是异步的,Vector和HashTable是同步的”,这类的东西,怎么创建同步类,异步类?怎么定义他们的? A:类里面的方法会自动同步, 比如你new 一个vector Vector ve=new Vector(); ve.add("1"); ve. 阅读全文
摘要:
java.util提供了Observable和Observer 接口,使用它们即可完成观察者模式。需要被观察的类必须继承Observable类,Observable类的常用方法: public void addObserver(Observer o) public void deleteObserv 阅读全文
摘要:
代理设计指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。好像代理上网一样,客户通过网络代理连接网络,由代理服务器完成用户权限和访问限制等与上网操作相关的操作。 只需要定义一个上网的接口,代理主题和真实主题都同时实现该接口,然后再由代理操作真实主题即可。 阅读全文
摘要:
如果一个类要实现一个接口,则必须覆写此接口中的全部抽象方法,那么如果一个接口中定义的抽象方法过多,但是在子类中又用不到那么多抽象方法,肯定很麻烦。此时就需要一个中间的过渡,但是此过渡类又不希望被直接使用,所以将此过渡类定义成抽象类最合适,即一个接口首先被一个抽象类先实现(此抽象类即适配器类),并在此 阅读全文
摘要:
子类被接口实例化后,调用被子类覆写过的方法,但是存在一个问题: 主方法实际上相当于一个客户端,如果此时需要更换一个子类,则必须修改主方法。 JVM原理:所有的程序只认JVM,每个JVM会根据所在的操作系统不同自动进行设置。 即程序--JVM--操作系统。 所以我们可以类似地,在接口和具体子类间加入一 阅读全文
摘要:
HTTP Basic Authentication很容易让攻击者监听并获取用户名密码。使用Base64来encode用户名密码也只是为将用户名和口令中的不兼容字符转换为均与HTTP协议兼容的字符集。 最好的方式是直接给服务端加SSL,请求由HTTP变成HTTPS请求。 SSL协议的优势在于它是 与 阅读全文
摘要:
spring的核心是ioc, 即控制反转(依赖注入) ioc: 我们拿数据存储为例: 1. 实现数据存储的一般思路:定义一个Database类进行数据库的操作,定义一个business业务逻辑类,调用database类及方法。 实现如下: public class Database{ //向数据库中 阅读全文