• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

Java程序不是在内存中运行的吗?

public static void write(){        String text="abcdefg";                         ByteArrayInputStream bais=new ByteArrayInputStream(text.getBytes());                 int n=bais.read();                 while(n!=-1){                         System.out.print((char)n);                         n=bais.read();                 }                 try {                         if(bais!=null){                                bais.close();                         }                        } catch (IOException e) {                                e.printStackTrace();                        }   }我的疑惑如下:

     整个Java代码不都是在内存中运行的吗?那个整个Java程序不就是内存的一部分?为什么还会有内存流(用来传递程序和内存之间的数据)这一说?
       请大神解释一下,在此谢过啦!
     注:和什么堆内存、栈内存等没有关系,真的是不理解内存与程序的关系。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

内存(数据断电消失:内存条、cpucatch……),外存(数据断电不消失:外存器、U盘、硬盘、光盘)
显示器要显示内容,通常需要先把展示的数据从外存(比如硬盘)读到内存中去,仅仅读是不够的,还要有一定的逻辑去计算显示的数据,负责计算的是cpu。
简言之,玩游戏也好、打开eclipse也好,只要是运行的,都只能在内存中运行(断电就消失了)。所以在打开Eclipse编写代码的时候建议要经常Ctrl+S(保存正在编写的代码到磁盘/硬盘中去)。这样电脑突然断电了,再打开ecipse也能看到相应编辑的文件。
==============
一个应用程序通常称做一个进程,进程也是在内存中的,内存要拿外存(磁盘的数据时)这个过程称做 内存与外存的交互。在java里叫做IO文件流读写操作。


IO流读写(内存流读:比如向D盘中打开一个名为abc.txt的文件,并将内容读到内存中去)、IO流写(内存流写:比如向硬盘D盘保存一个名为abc.txt的文件,并在这个文件中写数据"哈哈哈哈"并保存)。
整个过程D盘的abc.txt这个文件是不会因为突然断电而消失的,当你再打开电脑去D盘找,依然能看到abc.txt文件。
但这个操作过程确是由java中的InputStream相关类文件实现的。

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!