GAE沙盒的官方说明如下:
http://code.google.com/intl/zh-CN/appengine/docs/java/runtime.html#The_Sandbox。
用过GAE中JAVA版本的都知道,GAE是使用JETTY作为WEB容器的,并且采用了沙箱安全模型隔离各个应用。现在要探讨的问题就是,这个具体是如何实现的?
经过鄙人粗略的研究,沙盒不仅仅使用了JAVA内含的基于安全管理器的沙箱,而且似乎还新建了特别的类加载器(使某些类不能使用),还有其它一些措施(比如无法新增新线程,无法使用JNI等,这个方面目前还在研究中),大概可能还是用自定义的ClassLoader来实现对类的选择过滤,即建立了一个所谓JRE白名单(http://code.google.com/intl/zh-CN/appengine/docs/java/jrewhitelist.html)。
联想到TOMCAT的自定义ClassLoader模型,我觉得其实GAE所谓的“沙盒”无非其原理也就是类似于TOMCAT这样一个应用服务器中间件,在继承自通用的JDK特性前提下,进行了更多的功能屏蔽,同时提供了JAVA级别的API来访问其开放的服务功能,比如通过JDO和JPA两种方式来实现和其“数据存储区”交互,并借助于其GFS分布式部署的特性以达到巨大的可伸缩性。
分享到:
相关推荐
- **初始版本限制**:最初的Google App Engine仅支持Python语言,这导致了很多Java开发者感到失望,因为Java是企业级应用开发中非常流行的编程语言之一。 - **响应社区需求**:2009年4月,Google正式推出了针对Java...
**App Engine Java SDK** 是开发GAE Java应用的核心工具,它包含了运行和测试应用所需的服务器软件,以及模拟所有GAE服务的本地版本,如**数据存储区**、**Google账户集成**和API调用。SDK还允许你在本地计算机上...
基于Google App Engine(GAE)的Java和GWT应用开发_Google App Engine Java and GWT Application Development Nov.2010
在Java中,开发GAE应用通常涉及以下步骤: 1. **设置环境**:安装Google App Engine SDK,并配置Java开发环境,如Eclipse或IntelliJ IDEA的GAE插件。 2. **创建项目**:使用SDK工具或IDE创建一个新的GAE项目,这将...
Goolge app engine for java英文帮助文档 最新的哦!
从Google 上扒下来的! java 的中文文档~~ 方便大家学习! 打开"code.google.com\intl\zh-CN\appengine\docs"文件夹下的 docs.html 文件! 这是起始页!
在GAE环境中,由于其沙盒环境的限制,你需要确保这个库已经包含在你的项目依赖中。你可以通过`requirements.txt`文件列出它: ```txt pyyaml==5.4.1 ``` 在Python代码中,你可以这样读取和解析YAML文件: ```...
GAE上可以用的JAVA Blog源代码 可以在GAE上直接使用,支持图片上传等。 源代码是修改其他网友的普通blog程序而来,只做了必要的修改,原结构保留 最新版本请去主页下载 http://redpower1998.appspot.com 主页包括...
中文名: 基于Google App Engine(GAE)的Java和GWT应用开发 原名: Google App Engine Java and GWT Application Development 作者: Daniel Guermeur, Amy Unruh 资源格式: PDF 版本: 文字版 出版社: Packt ...
首先,Google App Engine(GAE)是Google推出的一个PaaS(Platform as a Service)平台,它允许开发者使用Java或Python等语言编写Web应用,并将这些应用部署到全球范围内的Google数据中心运行。GAE的优势在于其高...
【标题】"Spring+GAE"揭示了将Google App Engine(GAE)与Spring框架集成的主题,这是一个在云端运行Java应用程序的关键技术组合。Spring是一个广泛使用的开源Java框架,提供了依赖注入、面向切面编程和MVC(模型-...
1. **安装和配置Quercus**:首先,你需要下载Quercus的Java库,并将其添加到你的GAE项目类路径中。这可以通过在你的项目`lib`目录下放置Quercus的JAR文件来完成。 2. **构建PHP处理程序**:创建一个Java类作为PHP...
【标题】"gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_" 提供的信息表明,这是一个使用PyTorch实现的图自编码器(Graph Autoencoder, GAE)项目,其核心是将自编码器的概念应用于图数据。...
标题“GAE中整合SSH2的空项目备份”暗示了这个压缩包可能包含了一个Google App Engine (GAE) 应用程序,该应用已经集成了Secure Shell (SSH) 协议的实现,可能是通过SSH2库来实现的。SSH2是一种网络协议,用于安全地...
**图形自动编码器(GAE)在PyTorch中的实现** **一、GAE概述** 图形自动编码器(Graph ...通过这个项目,你可以深入理解GAE的原理,掌握图神经网络在图结构学习中的应用,并且能够针对具体任务进行模型的调整和优化。
标题中的“如何在GAE中轻松使用Django框架”表明我们即将探讨的是如何在Google App Engine (GAE) 平台上有效地部署和运行Django Web应用程序。Django是一个流行的Python Web框架,它提供了诸如数据库管理、用户认证...
GAE支持多种编程语言,包括Python、Java、Go、Node.js等,提供了完整的基础设施,如数据库服务、存储系统、身份验证以及负载均衡。 在学习和使用GAE进行建站的过程中,以下几个关键知识点是必须掌握的: 1. **开发...