- 浏览: 32242 次
- 性别:
- 来自: 大连
最新评论
文章列表
下面讲一下java 的future 接口
我们都知道java 实现多线程的机制, 1.5之前调用runnable 接口。
1.5之后我们可以同过别的方式实现多线程。
如果我们想执行另外一个线程 比如说调用class A 的B()方法,
最好的方式就是调用A.B();
为了给A.B() 提供扩展性, 最好的方式就是A是接口, 所有实现了A接口的类都会实现B接口,这就是RUnnale接口的由来。同理callable 接口也是一样, 只不过多了返回值。
谁来接收这个返回值呢, Future 接口。
FutureTask 是Future接口的实 ...
JAX-WS 之client应用客户端
- 博客分类:
- 心得
1: 根据server段的wsdl 利用wsimport 工具生成客户端代码。
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<!--
Published by JAX-WS RI (http://jax-ws.java.net). RI's version is Metro/2.3.2-b608 (trunk-7979; 2015-01-21T12:50:19+0000) JAXWS-RI/ ...
1: 创建服务类
package webservice.JAX_WS;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class Hello {
private final String hello="Hello";
@WebMethod
public String sayHello(String message){
return hello+message;
}
}
2: 服务器端类部署
3, pom. ...
公钥haproxy_vnfm.crt 和私钥haproxy_vnfm.key
输出为p12 格式证书
openssl pkcs12 -export -in haproxy_vnfm.crt -inkey haproxy_vnfm.key -out haproxy.p12
p12 -> JKS
"C:\Program Files\Java\jdk1.7.0_51\bin\keytool" -importkeystore -srckeystore haproxy.p12 -srcstoretype PKCS12 -deststoretype JKS -de ...
java 模仿https 通信过程
- 博客分类:
- 心得
本文为转载http://kingj.iteye.com/blog/2103662
今天被问到关于https原理的问题,结果由于知识掌握不牢靠,停留于表面,很多细节都无法回答清楚,于是决定把https的原理弄个明白,废话不多说,我们先看看https的定义
(由于很久未写博客,排版有些凌乱,请谅解)
一:什么是https协议
在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使 用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Sec ...
实验八:异步servlet
- 博客分类:
- servlet 心得
注意一:
@WebServlet(urlPatterns={"/hi"},asyncSupported=true)
注意二:
在客户端看来, 这仍然是同步的请求, 客户端需要等待请求结果。
注意三:异步分为请求异步和相应异步, 本例子只是响应方法异步。
/**
* Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved.
*
* You may not modify, use, reproduce, or distribute this software exce ...
实验三4:selector
- 博客分类:
- java io nio 对比
例子请参看百度网盘
选择器(Selector)
(本部分原文链接,作者:Jakob Jenkov,译者:浪迹v,校对:丁一) Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 (1) 为什么使用Selector? 仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通道。对于操作系统来说,线程之间上下文切换的开销很大,而且每个线程都要占用系统的一些资源(如内存)。因此,使用的线程越少越 ...
实验三2: java nio
- 博客分类:
- java io nio 对比
分散(Scatter)/聚集(Gather)
(本部分原文地址,作者:Jakob Jenkov 译者:郭蕾) Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。 分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中读取的数据“分散(scatter)”到多个Buffer中。 聚集(gather)写入Channel是指在写操作时将多个buffer的数据写入同一个Ch ...
通道(Channel)
(本部分原文链接,作者:Jakob Jenkov,译者:airu,校对:丁一) Java NIO的通道类似流,但又有些不同:
既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。
通道可以异步地读写。
通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。
正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:
Channel的实现 这些是Java NIO中最重要的通道的实现:
FileChannel:从文件中读写数据。
DatagramChannel:能通过UDP读写网络中的数据。 ...
java nio 写文件的速度与io 写文件速度相当,
例子3_3
package experiment3_3;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.c ...
package Hello;
import org.junit.Test;
public class TestHello {
@Test
public void test() {
Helloworld hello = new HelloWorldImpl(){
@Override
public String sayHello() {
System.out.println("hello world is refractored");
return "" ;
}
};
hello.sayHello();
S ...
实验目的:测试classloader
package frank;
import java.io.IOException;
import java.io.InputStream;
public class ClassLoaderTest {
/**
* @param args
* @throws ClassNotFoundException
* @throws IllegalAccessException
* @throws InstantiationException
*/
public static void main(String[] ...
实验目的: 对比java io and nio
code:百度云盘, experiment3_1
实验心得:
在调用buffer.flip 之前
position 的位置为8, limit 为1024 ,capacity : 1024, 具体请参照beforeflip.jpg
调用flip之后, position :0, limit : 8 , capacity :1024, refer to afterflip.jpg
//buffer 's position will add 1 after get method is invoked
byte b = buffer ...
Chcp 显示活动控制台代码页数量,或更改该控制台的活动控制台代码页。如果在没有参数的情况下使用,则 chcp 显示活动控制台代码页的数量。 语法 chcp [nnn] 参数 指定代码页。下表列出了所有支持的代码页及其国家(地区)或 ...
实验目的: 比较utf-8 和GBK java源码和字节码后的文件
文件内容:百度空间
预测结果:源文件大小不一致, 字节码一致
实验结果:
1. 文本文件内容一样, 通过文件比较
2.通过二进制比较可以看出java 源码编译出的二进制码不一样, 百度空间看对比
3.experiment2 可以查看编码传唤
4. 编译后的字节码一致, 且编码为utf-8, 注意(用命令行的时候, 需要指定encoding, 比如javac -encoding utf-8 ...)
5.javac -encoding ... 决定以哪种格式编码读取java文件, java -Dfile. ...