`
cuiyadll
  • 浏览: 204654 次
文章分类
社区版块
存档分类
最新评论

关于java进程间通信方法的一个很好的回复

阅读更多
看到楼主提到进程间通信,又想起了以前使用C编程的时光。
先看看传统的进程间通信的手段有什么,上面的各位都说了不少了,无外乎还是以下的这些手段:
(1) 管道(PIPE)
(2) 命名管道(FIFO)
(3) 信号灯(Semphore)
(4) 消息队列(MessageQueue)
(5) 共享内存(SharedMemory)
(6) Socket(当然也有Socket)
如果加上上面提到的临时文件(临时文件其实是很难处理的,不同的进程间单靠临时文件可以交互信息,但是做到进程的调度控制确是很费力的事情,当然也不是不能做到)

现在楼主的问题是JAVA如何支持进程间通信。俺们把JAVA进程理解为JVM进程。很明显,传统的这些大部分技术是无法被俺们的应用程序利用了(这些进程间通信都是靠系统调用来实现的)。但是JAVA也有很多方法可以进行进程间通信的。
除了上面提到的Socket之外,当然首选的IPC可以使用RMI,或者CORBA也可以。

其实JAVA的CORBA实现也是通过RMI来实现的,而RMI归根结底也是靠Socket来实现的。
所以说JAVA进程间通信的最基本手段是Socket也不为过。

原帖地址:http://bbs.csdn.net/topics/40407223
分享到:
评论

相关推荐

    dv路由算法 java模拟

    **Socket编程**是Java网络通信的基础,它提供了进程间通信的能力,允许两台计算机上的应用程序通过TCP/IP进行数据交换。在模拟DV路由算法时,Socket可以用来创建服务器和客户端,用于接收和发送路由更新信息。 以下...

    OS.zip_OS process java_java 操作系统

    总的来说,"OS.java"文件可能是对操作系统进程管理的一个简化版实现,它可以帮助开发者学习和理解操作系统如何管理和调度进程,以及进程间的通信和协作。通过这种方式,开发者可以更好地掌握操作系统的基础知识,并...

    java版网络聊天源码

    在学习Java的过程中,编写网络聊天程序是一个很好的实践项目,它涵盖了网络通信、多线程、数据序列化等核心概念。这个“java版网络聊天源码”提供了实现简单网络聊天功能的基础框架,对于初学者来说,通过分析和理解...

    java实现凯撒加密聊天CS版

    7. **安全性与隐私**:尽管凯撒加密相对简单,对于初学者来说是一个很好的学习加密和网络通信的起点,但它并不提供高级别的安全保护。现代的网络安全标准通常会使用更复杂的加密算法,如AES(高级加密标准)和RSA...

    JAVA简单网络聊天室源码.rar

    【JAVA简单网络聊天室源码】是一个非常适合初学者理解JAVA网络通信技术的实践项目。这个实验报告旨在帮助学习者深入理解如何使用JAVA实现一个基本的多用户聊天平台。在这个项目中,开发者将学习到如何利用JAVA的...

    java 聊天程序

    总的来说,这个Java聊天程序项目是一个很好的实践平台,它涵盖了网络编程、多线程、IO流以及可能的GUI设计等多个Java核心概念。通过这个项目,你可以深入理解网络通信的基本原理,并提升你的Java编程能力。

    基于socket的实时通讯,简单java后台

    在IT行业中,实时通讯(Real...对于初学者来说,这是一个很好的实践项目,可以帮助他们深入理解网络通信和Java后台开发的基本原理。对于有经验的开发者,它也可以作为一个简单的示例来快速搭建一个基础的实时通讯系统。

    java_remote_call_sh.rar_remote

    标题"java_remote_call_sh.rar_remote"暗示了这是一个关于Java远程调用的工具包,包含了一些辅助脚本和源代码。 在这个压缩包中,有两个关键文件:"util.jar"和"RemoteShellWorker.java"。"util.jar"很可能是一个...

    JAVA的Socket的聊天器

    Socket在Java中被定义为`java.net.Socket`类,它代表了网络上两个进程间通信的一个端点。当一个客户端(通常是用户界面)创建一个Socket实例并与服务器建立连接时,它就向服务器发送了一个请求。而服务器端则通过...

    稍微有点难度的10道java面试题,你会几道?

    - **按序加锁**:为资源定义一个固定的顺序,并要求所有进程按照这个顺序加锁。 - **超时**:设置加锁的超时时间,超过时间未获得锁,则放弃。 - **死锁检测与恢复**:通过算法检测系统中是否存在死锁,一旦发现立即...

    最简单的JAVA RPC框架实现

    RPC(Remote Procedure Call)是一种进程间通信技术,允许在分布式环境中像调用本地方法一样调用远程计算机上的方法。在Java中实现一个简单的RPC框架,我们需要理解以下几个关键概念和技术: 1. **网络通信**:RPC...

    java面试题

    答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式允许其service方法,一个实例可以服务于多个请求,并且其实例一般不会被销毁,而CGI对每个请求都产生新的进程,服务完后就销毁,所以效率上...

    超级有影响力霸气的Java面试题大全文档

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...

    AidlDemo(简单aidl的例子).zip

    **Android AIDL(Android Interface Definition Language)** 是一个强大的工具,用于在Android应用程序的不同组件之间实现进程间通信(IPC...这个示例是一个很好的起点,帮助你深入理解Android进程间通信的核心机制。

    AIDLdemo案例

    AIDL文件包含了方法签名,参数类型以及返回值,类似于Java接口,但增加了进程间通信的支持。 **2. AIDL文件的结构** 在"AIDLdemo"案例中,我们首先会看到一个.aidl文件,例如`IService.aidl`。这个文件定义了服务...

    Java并发编程面试题合集

    Java线程池的submit()和execute()方法都可以用来提交任务,但submit()方法会返回一个Future对象,可以用来获取执行结果或者检查任务是否完成,而execute()方法则没有返回值。 线程池是一个资源池,它管理一组预分配...

    AKKA (java) 精讲

    Akka 的核心是 Actor 模型,它提供了一种轻量级的并发模型,能够处理大量并发任务,同时通过消息传递机制实现进程间的通信。 ##### 1.2 Why Akka? Akka 之所以被广泛采用,主要是因为它能够解决传统并发模型中的...

    Java并发编程面试题合集.pdf

    - **线程**:线程是进程内的一个执行单元,共享同一进程的内存空间。线程间的通信比进程简单,但线程共享资源可能导致数据一致性问题。 #### 3. 什么是多线程中的上下文切换? - 上下文切换是指当处理器从一个线程...

    java做的聊天室软件

    Java编写的聊天室软件是一个基于网络通信的项目,它涵盖了多线程、Socket编程、IO流、数据序列化等核心Java技术,对于初学者来说,是深入理解Java网络编程的绝佳实践案例。以下是对这个软件及其相关知识点的详细说明...

Global site tag (gtag.js) - Google Analytics