- 浏览: 82855 次
- 性别:
- 来自: 西安
最新评论
文章列表
来自:http://www.ibm.com/developerworks/cn/java/j-lo-classloader/
成 富, 软件工程师, IBM 中国软件开发中心
简介: 类加载器(class loader)是 Java™中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用。
mysql调优之小技巧
- 博客分类:
- 数据库
来自:http://coolshell.cn/articles/1846.html
MySQL性能优化的最佳20+条经验
2009年11月27日陈皓发表评论阅读评论36,197 人阅读
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的 ...
<!--[if !supportLists]-->一、 <!--[endif]-->mysql入门语句
<!--[if !supportLists]-->1. <!--[endif]-->连接数据库:mysql -h localhost -u root –p
-h 如果不写host,默认连接localhost。
<!--[if !supportLists]-->2. <!--[endif]--> 查看数据库:show databases;
<!--[if !sup ...
<!--[if !supportLists]-->u <!--[endif]-->mysql的优化
<!--[if !supportLists]-->1. <!--[endif]-->数据库(表)设计合理
我们的表设计要符合3NF 3范式(规范的模式) , 有时我们需要适当的逆范式
<!--[if !supportLists]-->2. <!--[endif]-->sql语句的优化(索引,常用小技巧.)
<!--[if !supportLists]-->3. & ...
来自:http://flychao88.iteye.com/blog/1553058
可参考:http://www.360doc.com/content/12/1120/22/203871_249194900.shtml
NioServerSocketChannelFactory创建服务端的ServerSocketChannel,采用多线程执行非阻塞IO,和Mina的设计 模式一样,都采用了Reactor模式。其中bossExecutor、workerExecutor是两个线程池,bossExecutor用来接收客户端连接,workerExecutor用来执行非阻塞的IO操作,主要 ...
来自:http://asialee.iteye.com/blog/1776130
netty里面最重要的应该是ChannelHandler,这个里面也是用户编程直接打交道的接口,也是串行于ChannelPipeLine里面执行相应的业务逻辑。
从类结构来看,一个handler应该有一个ChannelHandlerContext,ChannelHandler是处在上层的一个标识接口,下面有两个接口分别来处理Upstream event和一个Downstream event。
ChannelHandler比较好理解,我们重点来看DefaultCh ...
来自:http://fbi.taobao.org/?p=93
在真正底层IO操作的时候我们只能发送ByteBuffer,在netty中,转换为ChannelBuffer,因此如果我们想发送字符串/对象或者自定义格式的数据,就需要编写自己的编码/.解码器,进行转换,这部分被netty统一抽象为pipeline&handler
在ESB服务分发中,
发送端动作为:把任务Task封装到一个基类Event,使用MQ 发送者发送publish.send(ObjectMessage);
接收端动作为:使用MQ接收到ObjectMessage,转换成基类Event,把Event传送到处理链Handlers。可以使用Map<event.class,List<Handler> handlers> 保存事件与Handlers的对应关系。所以,先根据event.class取出 List<Handler> handlers,逐一进行处理。
另,可以在初始化时把handler注册到Map< ...
一、ChannelSink用于绑定地址端口
这个东西应该是netty里面最难理解的,或者最关键的组件了,这个我会慢慢的进行分析。在Pipeline传送完后,都必须都通ChannelSink进行处理。Sink默认处理了琐碎的操作,例如连接、读写等等。
ChannelSink这个组件是来处理downstream请求和产生upstream时间的一个组件, 是所有io操作的执行者。也就是传输的逻辑层吧。当channel创建的时候就有一个ChannelSink和它想绑定。
传输层的代码实现一般来说都是比较麻烦的,相比来说客户端的实现一般来说比服务端的实现 ...
一、最顶级的类:Executors。它提供了很多静态方法,用于获取不同种类的ExecutorService。
有线程池大小固定以及可变两种。
1、线程池大小固定:
ExecutorService pool = Executors.newFixedThreadPool(5);
1、 ServerBootstrap bootstrap = new ServerBootstrap(
new NioServerSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool()));
或者,NioServerSocketChannelFactory(
Executor bossExecutor, Execut ...
来自:http://blog.sina.com.cn/s/blog_3fe961ae01011oob.html
1. 简介
Netty 是一个异步的,事件驱动的网络编程框架和工具,使用Netty 可以快速开发出可维护的,高性能、高扩展能力的协议服务及其客户端应用。
也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。
“快速”和“简单”并不意味着会让你的最终应用产生维护性或性能 ...
HTTP之(三) get post 区别
- 博客分类:
- HTTP
来自:http://blog.csdn.net/gideal_wang/article/details/4316691
一 原理区别
一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE
URL全称是资源描述符,我们可以这样认 为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。到这里 ...
HTTP之(二)请求响应报头
- 博客分类:
- HTTP
二、发送HTTP请求通过连接,客户端写一个ASCII文本请求行,后跟0或多个HTTP头标,一个空行和实现请求的任意数据。一个请求由四个部分组成:请求行、请求头标、空行和请求数据1.请求行:请求行由三个标记组成:请求方法、请求URI和HTTP版本,它们用空格分隔。例如:GET /index.html HTTP/1.1HTTP规范定义了8种可能的请求方法:
try {
MessageFactory mfactory12 = MessageFactory.newInstance(javax.xml.soap.SOAPConstants.SOAP_1_2_PROTOCOL);
TypeHelper typeHelper = messageServiceContext.getHelperContext().getTypeHelper();
Type outType = typeHelper.getType("http://schemas.servicestack.net/types", "SaveCurrency& ...