`
deepnighttwo
  • 浏览: 52124 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
nio简介 nio的Socket编程中改变最大的是服务器端,客户端可以没有什么变化。目的是增加服务器吞吐量和并行处理客户端请求的能力,改变服务器端阻塞的模型。其设计上采用了Observer模式,使用事件触发机制进行io并行处理。 ByteBuffer:封装了一个byte[],作为数据载体。 ServerSocketChannel:服务器套接字通道通过其工厂方法ServerSocketChannel.open()获得实例,下面这行代码将其设置为非阻塞模式ssc.configureBlocking(false)。然后就可以通过ssc.socket()来建立一个ServerSocket,这个Se ...
java集合框架接口宏观结构: java集合框架是一个设计优美的集合框架,为java编程提供了很大的帮助,并且附有高效的实现.使得模块之间可以使用接口进行交互,从而使得程序有很大的扩展性.java集合框架是包含在java标准库里面的,任何支持java的地方都支持.一些需要注意的小问题: List接口的subList方法是一个列表视图,也就是说所有对sublist的操作都会对原List对象起作用.同样的,synchronizedList工厂也是将原来的list封装成一个同步List,而不是新建一个List并同步.所以,当对一个List对象作为参数传递给synchronizedLi ...
swing是非线程安全的,也就是说,如果多个线程同时对一个swing组件进行操作,很可能会引发异常等问题,以至程序崩溃。毕竟,repaint是一个比较花费时间的操作,如果一个swing组件在repaint的过程中,其内容被更改,就会导致repaint的内容与修改后的内容不符,可能导致访问错误(比如多线程环境下修改一个List的item项)。 使用Swing的时候,有几个需要注意的地方。首先,当一个swing窗体被创建并现实的时候,会有一个叫做“事件分派线程”的线程被创建,所有的事件处理方法(repaint、actionPerformed等等)都是由这个线程负责执行的,也就是说,整个swing窗 ...
Tomcat 服务器server.xml的关键参数配置说明:以下文字均以tomcat5.0.30为例进行。1,配置tomcat服务器访问端口,只需配置Connector的port端口即可。Tomcat默认为8080,现修改port参数值为80。<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --><Connector port="80"maxThreads="150" minSpareThreads="25" maxSpareThreads=&q ...
类加载器的收获 最近读了很多关于ClassLoader的文章,收获不少。在这里赶紧总结回顾一下,吸收吸收。 首先,关于ClassLoader的一些基本的概念我就不再详细说了。如果连系统中不仅有一个ClassLoader,ClassLoader的作用,ClassLoader是有层次结构,为什么要有自定义类加载器,这些问题都还不明白,那么下文读起来肯定很吃力。 ClassLoader这个东西本身是很简单的,就是加载类。类加载分两步,一步是定义和加载,对应着ClassLoader的loadClass(define)方法,这个方法的作用是找到对应的Class文件,读取后,创建一个为这个类创 ...
Get a load of that name! Subtle differences in various ways you can dynamically load a class <!--<BLOCKQUOTE><STRONG>Summary</STRONG><BR>--><!--</BLOCKQUOTE>-->By Vladimir Roubtsov Printer-friendly version | Mail this to a friend <!-- REPLACE PA ...
Find a way out of the ClassLoader maze System, current, context? Which ClassLoader should you use? <!--<BLOCKQUOTE><STRONG>Summary</STRONG><BR>--><!-- REPLACE SUMMARY --><!--</BLOCKQUOTE>--><!-- REPLACE AUTHOR --> Printer-friendly version | ...
Find a way out of the ClassLoader maze System, current, context? Which ClassLoader should you use? <!--<BLOCKQUOTE><STRONG>Summary</STRONG><BR>--><!--</BLOCKQUOTE>-->By Vladimir Roubtsov Printer-friendly version | Mail this to a friend Page 1 of 2 ...
by Andreas Schaefer11/12/2003 This series of articles started when I wanted to write a weblog about the impact of class loaders in a J2EE server. But the log entry grew, due the fact that a few basic rules still can provide a complex system, as you see in physics, where a few basic components and fo ...
Java类加载内幕 作者: ∣来源:it专家java技术∣原文地址∣2005-10-19   类加载是java语言提供的最强大的机制之一。尽管类加载并不是讨论的热点话题,但所有的编程人员都应该了解其工作机制,明白如何做才能让其满足我们的需要。这能有效节省我们的编码时间,从不断调试ClassNotFoundException, ClassCastException的工作中解脱出来。   这篇文章从基础讲起,比如代码与数据的不同之处是什么,他们是如何构成一个实例或对象的。然后深入探讨java虚拟机(JVM)是如何利用类加载器读取代码,以及java中类加载器的主要类型。接着用一个类加载 ...
ClassLoader解决方案只需要投入一次成本,它提供了一个解决类版本冲突的方法   最近,我不断听到同事和熟人抱怨J2EE应用服务器中出现的软件版本冲突。这个基础问题由来已久,但是,随着应用程序与应用服务器之间共享的Java库日益增多,这个问题似乎也越来越严重。当应用服务器使用一个Java包的A版本,而位于这台服务器上的应用程序却使用这个包的B版本时,如果这两个版本不兼容,那么就会产生版本冲突。当应用程序试图使用这个包,系统加载的是版本A中的类,而不是B版本中的类。如果这两种类的行为不同,就会出现问题。  这种情况相当普遍,部分原因是因为如此多的应用服务器都在某种程度上依靠于开源软件。商业 ...
下表显示了常见的HTTP 1.1状态代码以及它们对应的状态信息和含义。    应当谨慎地使用那些只有HTTP 1.1支持的状态代码,因为许多浏览器还只能够支持HTTP 1.0。如果你使用了HTTP 1.1特有的状态代码,最好能够检查一下请求的HTTP版本号。 状态代码 状态信息 含义 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) 101 Swit ...
对与java中的final变量,java编译器是进行了优化的。每个使用了final类型变量的地方都不会通过连接而进行访问。比如说Test类中使用了Data类中一个final的int数字fNumber=77,这时候,java编译器会将77这个常数编译到Test类的指令码或者常量池中。这样,每次Test类用到fNumber的时候,不会通过引用连接到Data类中进行读取,而是直接使用自己保存在类文件中的副本。用程序说话:Test.java: public class Test{public static void main(String[] args){System.out.println(Data ...
修饰符(访问范围大小顺序) public 完全公开 protected 同一package或者子类中 无同一package private 本class 抽象class不能同时被static修饰符修饰 interface里面方法默认为public abstract修饰 变量默认为public static final修饰 abstract和final,abstract和static,abstract和private不能同时指定 switch()只能判断byte,short,int,char(long,float,double不行) Exception包括可check Exceptio ...
Fedora Core 3安装与配置全攻略zt作者:Jeff Wang 安装FC3和Windows2003双系统成功!简要把安装步骤讲一下。 一、安装Fedora Core 3 用Costom模式安装,最好选上所有的Development包;系统语言选择英语就可以了,中文语言包其实用不上,因为如果系统语言用中文,那么菜单什么的还是比较难看,所以系统语言用英语是最好的,这样将来让系统支持中文显示和输入就可以了,本人喜欢英文系统;当然将来如果要用中文系统,也只要改一下环境变量就可以了。注意:如果要安装Windows和Linux的双系统,建议首先安装Windows,然后再安装Linux。先将W ...
Global site tag (gtag.js) - Google Analytics