首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java程序员不向文件写入

Java程序员不向文件写入
EN

Stack Overflow用户
提问于 2009-11-24 11:54:37
回答 8查看 14.4K关注 0票数 14

今天,一个人对我说:"Java程序员不写文件“。为什么我不能从Java容器(例如从JBoss)中写入文件?怎么啦?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-11-24 15:06:38

最好的页面是这个:http://www.oracle.com/technetwork/java/restrictions-142267.html

它详细介绍了对Java编程模型的限制。

除了上面提到的安全性、可移植性、集群、线程处理之外,线程还考虑事务和错误处理(文件系统不是事务性的)。

然而,JVM中没有黑魔法,您可以创建文件(只要您有相应的权限),使用静态变量,如果您知道自己在做什么,就可以创建线程。

最好花点时间来理解为什么这些限制通常是建议的,而不是为了兼容而跳转编写JCA连接器。

票数 16
EN

Stack Overflow用户

发布于 2009-11-24 11:56:37

您应该在Java容器本身中做任何事情:您无法确定您将对文件系统有任何一致的访问。造成这种情况的原因有很多,最明显的原因是在容器中运行的应用程序将具有:

  • 无法确定以后对EJB的任何调用甚至都在同一个物理服务器上,该服务器可以访问相同的文件/文件系统(例如,集群)、
  • 、没有可能相互干扰(多个应用程序试图写入同一个文件)、
  • 没有安全问题(一个应用程序可以读取机密数据)

你也应该假设你不应该

  • 创建您自己的线程(容器将管理您自己的线程;如果您创建自己的线程,您可能会在CPU时间的容器中饥饿其他应用程序)
  • 使用socket-IO (也有安全问题)

票数 32
EN

Stack Overflow用户

发布于 2009-11-24 11:58:51

即使您可以访问文件系统,对于分布式系统,您也不能确定下次调用方法时,它将在写入文件的同一台机器上处理。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1789597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档