Java学习笔记(2)体验云计算
现在,谈云计算的可多了,不过,一般比较关注的是Google和Amazon的云服务。从大范围来看,也只有这两家获得了公众的更多关注。比如,我个人很感兴趣的,就是Google的App Engine使用户能够在Google基础设施上构建和托管 Web 应用程序。至于Amazon,它的AmazonWeb Services还包括Elastic Cloud Compute (EC2)计算Web服务,该服务可以在Amazon的基础设施上托管应用程序。至于Microsoft®的 Azure,Sun Microsystems,我们大家等着看热闹吧。以Amazon的S3产品为例。AmazonSimple Storage Service (S3)是一个公开的服务,Web应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档。S3提供一个 RESTful API以编程方式实现与该服务的交互。顾名思义,这是一个公开的服务,使 Web 开发人员能够存储数字资产(如图片、视频、音乐和文档等),以便在应用程序中使用。使用S3时,它就像一个位于 Internet 的机器,有一个包含数字资产的硬盘驱动。
1.一个Java的演示例子
下面,做一个测试的例子,体验一下“云”的感觉,看到底会不会发晕!
理论上,S3是一个全球存储区域网络(SAN),它看上去像一个超大的硬盘。存储段在S3中是URI的根。也就是说,存储段的名称将是指向S3中某个对象的URI的一部分。例如,如果我有一个名为 agdocs 的存储段以及一个名为 whitepaper.pdf 的对象,URI将是:http://agdocs.s3.amazonaws.com/whitepaper.pdf 。使用编程手段通过 JetS3t 登录S3可以分为两步。首先,必须创建一个 AWSCredentials 对象,然后将它传递到 S3Service 对象。AWSCredentials 对象非常简单。它将访问密钥和秘密密钥视为 String。S3Service 对象实际上是一个接口类型。因为S3同时提供RESTful API和一个 SOAP API,JetS3t 库可以提供两种实现类型:RestS3Service 和 SoapS3Service。就本文而言(包括大部分S3事务),RESTful API的简洁性让它成为一个很好的选择。
创建一个连接的 RestS3Service 实例很简单,如清单 1 所示:
步骤 1. 创建一个 JetS3t 的 RestS3Service 实例
def awsAccessKey = "blahblah"
def awsSecretKey = "blah-blah"
def awsCredentials = new AWSCredentials(awsAccessKey, awsSecretKey)
def s3Service = new RestS3Service(awsCredentials)
现在可以执行一些有趣的操作了:例如,创建存储段、添加一个影片,然后获取一个有时间限制的URL 。实际上,
相关文档:
1、简单 java
2、可移植性 一次编译处处运行
3、面向对象
4、分布式 java把打开套接字等繁琐的网络任务变的非常简单
5、健壮性 java编译器可以检查出其他语言在运行时才能发现的错误
6、多线程 多线程的简单性是java流行于服务器编程的只要原因
7、安全
8、结构中立
9、动态
。。。 ......
public class FindPrime {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int num = 100;
String s = "100以内的素数:";
for (int i = 1; i <= num; i++) {
int count = 0;
for (int j = 1; j <= (int) Math.s ......
public class Fibonacci {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
NumOfFibonacci(9);
}
public static int MyFibonacci(int i){
if(i>0) {
if(i == 1)return 1;
if(i == 2)return 1;
else return MyFibonacc ......
import java.util.*;
public class ForeachExample {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Random r = new Random();
int[] x = new int[10];
for (int i = 0; i < x.length; i++) {
x[i] = r.nextInt(100);
}
/ ......
接口中不可以定义构造方法
接口中只能有 public static final 的变量 和 public abstract 的方法,其它都不可以。
例如:
代码里是这样写的
public interface B{
StringBuilder sb=null;
void fun();
& ......