`
文章列表
JAVA RMI线程模型及内部实现机制   1 RMI内部实现   JAVA RMI是JAVA分布式结构的基础。 远程对象的通信过程中, RMI 使用标准机制: stub 和skeleton 。远程对象的 stub 担当远程对象的客户本地代表或代理人角色,调用程序将调 用本地stub 的方法,而本地 stub 将负责执行对远程对象的方法调用。在 RMI 中,远程对象的 stub 与该远程对象所实现的远程接口集相同。调用 stub 的方法时将执行下列操作:    
JAVA Socket超时浅析   套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数 ...
Java Socket的api可能很多人会用,但是Java Socket的参数可能很多人都不知道用来干嘛的,甚至都不知道有这些参数。 backlog 用于ServerSocket,配置ServerSocket的最大客户端等待队列。等待队列的意思,先看下面代码 public class Main { public static void main(String[] args) throws Exception { int port = 8999; int backlog = 2; ServerSocket server ...
一、构造Socket Socket的构造方法有以下几种重载形式: (1)Socket() (2)Socket(InetAddress address, int port)throws UnknownHostException,IOException (3)Socket(InetAddress address, int port, InetAddress localAddr, int localPort)throws IOException (4)Socket(String host, int port) throws UnknownHostException,IOException ...
socket心跳机制so_keepalive的三个参数详解   SO_KEEPALIVE 保持连接检测对方主机是否崩溃,避免(服务器)永远阻塞于TCP连接的输入。 设置该选项后,如果2小时内在此套接口的任一方向都没有数据交换,TCP就自动给对方 发一个保持存活探测分节(keepalive probe)。这是一个对方必须响应的TCP分节.它会导致以下三种情况: 1、对方接收一切正常:以期望的ACK响应,2小时后,TCP将发出另一个探测分节。 2、对方已崩溃且已重新启动:以RST响应。套接口的待处理错误被置为ECONNRESET,套接 口本身则被关闭。 3、对方无任何响应:源自ber ...
Thrift是跨语言的RPC框架,现在是一个Apache的顶级项目。Thrift通过一个中间语言--IDL接口定义语言,来定义RPC的接口和数据类型。使用Thrift的代码生成工具(thrift-0.9.1.exe编译器)读取IDL文件,生成不同语言的服务端与客户端代码,并由生成的代码负责RPC协议层和传输层的实现。目前支持语言C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk基本概念Thrift中的几个概念:Server 服务模型Handler 数据处理接口Processor 数据处理对象Proto ...
GWT-Ext、SmartGWT、GXT的区别 ------------------------ GWT-Ext  http://code.google.com/p/gwt-ext/ GWT-EXT是google团队在ext基础上开发的基于GWT平台的框架  ext在2.2版本之前是免费的(LPGL协议),而在2.2版本后改变了协议,为GPL3.0,意味这EXT将不再完全免费 。 google的GWT-EXT团队非常不爽,一怒之下决定停止GWT-EXT的开发,因此GWT-EXT的最后版本对应EXT是2.0,并且以后也不会再升级, 目前 GWT-Ext 只支持到 ExtJs 2.0.2 ...
  GEF 系列文章  http://www.cnblogs.com/bjzhanghao/category/36197.html   GEF开发指南 http://wenku.baidu.com/view/68916e0590c69ec3d5bb7528.html   --------------------------------------------------------- Eclipse插件开发之基础篇(6) SWT简介  Eclipse插件开发之基础篇(5) 制作OSGi Bundle    Eclipse插件开发之基础篇(4) O ...

漫谈linux文件IO

    博客分类:
  • IO
这篇文章写的比较全面,也浅显易懂,备份下。转载自:http://blog.chinaunix.net/uid-27105712-id-3270102.html 在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO。本篇文件打算详细全面,深入浅出。剖析文件IO的细节。从多个角度探索如何提高IO性能。本文尽量用通俗易懂的视角去阐述。不copy内核代码。       阐述之前,要先有个大视角,让我们站在万米高空,鸟瞰我们的文件IO,它们设计是分层的,分层有2个好处,一是架构清晰,二是解耦。让我们看一下下面这张图。   图一  

说说IO

    博客分类:
  • IO
关于IO的好文章  转自:http://pengjiaheng.iteye.com/   说说IO - IO的分层   说说IO(一)- IO的分层   IO 性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到 IO 。而 IO 性能的发展,明显落后于 CPU 的发展。 Memchached 也好, NoSql 
转自:http://ayufox.iteye.com/blog/646125  我们知道,Sun JVM分代垃圾回收器把堆空间分成3块: Young Gen:年轻代,包括1个Eden区和2个Suvivor区,新创建的对象(大部分为短周期的对象)将进入这个区,虚拟机会频繁地对这个区进行垃圾 ...
我们知道静态变量是ClassLoader级别的,如果Web应用程序停止,这些静态变量也会从JVM中清除。但是线程则是JVM级别的,如果你在Web 应用中启动一个线程,这个线程的生命周期并不会和Web应用程序保持同步。也就是说,即使你停止了Web应用,这个线程依旧是活跃的。正是因为这个很隐晦 的问题,所以很多有经验的开发者不太赞成在Web应用中私自启动线程。 如果我们手工使用JDK Timer(Quartz的Scheduler),在Web容器启动时启动Timer,当Web容器关闭时,除非你手工关闭这个Timer,否则Timer中的任务还会继续运行! 下面通过一个小例子来演示这个“诡异”的现象, ...
  Golden Gate 与 Oracle DataGuard的区别           GoldenGate TDM
  DBCP连接池介绍 ----------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4。 DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 JDBC 3。 DBCP 1.4 版本需要运行于 JDK 1.6 ,支持 JDBC 4。 1.3和1.4基于同一套源代码,含有所有的bug修复和新特性。因此在选择DBCP版本的时候,要看你用的是什么JDK版本。 DBCP1.2版本性能一般,比c3p0差挺多。DBCP1.4和1.3,配合(依赖)commons pool 1.6的jar包,各方面功能、性能推进到新的高峰。相对1. ...
1. 在tomcat 5.5之前 --------------------------------------------------------------- Context体现在/conf/server.xml中的Host里的<Context>元素,它由Context接口定义。每个<Context元素代表了运行在虚拟主机上的单个Web应用 Xml代码  <Context path="/kaka" docBase="kaka" debug
Global site tag (gtag.js) - Google Analytics