`
jianchen
  • 浏览: 343175 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

合并 java中的多进程

阅读更多

(1)引言:

     java虚拟机一般都有一个几M的内存消耗预留空间.如果并行运行多个java小应用程序的话,有可能占用了很多不必要的内存空间,造成内存资源的枯竭,比如有时候经常开启一些系统监听进程和服务进程等.

 

(2)解决方案:

 

运行多个应用程序会启动多个java虚拟机进程,这就带来了一定的内存的开销,可以考虑将这些小应用程序合并到在一个java虚拟机进程中运 行,就可以节省一定数量的内存消耗,最终带来性能上的提高.

 

(3)程序代码如下:

Test类的源代码:

public class Test {
public static void main(String[] args) throws IOException{
    System.out.println("Test has started");
    System.in.read();
}
}
 

TestMerger类的源代码:

public class TestMerge {



     public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException, IOException {

        Class classobject = Class.forName("testrandomaccess.Test");
        Class[] mainParamType = {args.getClass()};
        Method main = classobject.getMethod("main", String[].class);
        Object[] mainParam = {args};
        main.invoke(null, mainParam);
        System.in.read();
    }
}

(4)说明:

    该段程序使用了java中的反射机制 ,找到想运行的类的main方法,在TestMerger的main方法中启动运行,使得两者合并到了同一个java虚拟机中.

 

   运行程序后,我使用windows的进程管理器,发现果然只产生了一个java虚拟机进程java.exe (一共有两个,还有一个是netbean产生的).

 

截图如下:



 

  • 大小: 45.4 KB
分享到:
评论

相关推荐

    详解Java中多进程编程的实现

    在Java中,多进程编程是实现并发执行任务的一种方式,不同于多线程,它涉及到创建独立的进程,每个进程都有自己独立的内存空间和系统资源。本文将深入探讨Java中如何实现多进程编程。 首先,Java提供了两种方法来...

    14-Java操作Linux命令分割合并文本文件1

    标题中的“14-Java操作Linux命令分割合并文本文件1”指的是使用Java编程语言来执行Linux命令,以实现对文本文件的分割和合并操作。在处理大文件时,由于内存限制,不能一次性将整个文件读入,因此需要采用分块处理的...

    java多线程多点续传demo

    总的来说,`java多线程多点续传demo`是一个实现高效大文件下载的示例,利用Java的多线程机制和多点续传技术,提高了下载速度,同时也支持断点续传功能,使得在不稳定网络环境下也能顺利完成下载。通过分析`DownLoad....

    Java多线程下载

    线程是程序执行的最小单位,一个进程中可以有多个线程同时运行。在Java中,我们可以使用`Thread`类或者实现`Runnable`接口来创建线程。使用`ExecutorService`和`Future`进行线程管理可以更有效地控制线程的生命周期...

    Hadoop示例程序合并文件

    - Map阶段:在Map任务中,每个节点上的Mapper进程对分配给它的数据块进行处理,例如,可以将多个小文件合并为一个大文件。 - Shuffle和Sort:Mapper的输出被排序并分组,准备传递给Reducer。 - Reduce阶段:...

    java用多线程进行排序算法的比较

    在Java中,线程是程序执行的最小单位,一个进程可以包含多个线程。通过创建线程,我们可以将计算密集型任务分配到不同的线程上,让它们并行处理,从而提高程序的运行速度。在排序算法中,多线程可以用于将大数组分割...

    JAVA多线程总结

    - **线程**:是进程中的一个执行流,线程间共享进程的内存空间。在Java中,每个线程都有自己的调用栈。 2. **Java中的线程**: - **线程类**:`java.lang.Thread`,每个Thread实例代表一个线程。 - **Runnable...

    java实现多线程下载

    - 线程是操作系统调度的基本单位,一个进程中可以有多个线程并发执行。 - Java提供了内置的线程支持,包括`Thread`类和`Runnable`接口,通过它们可以创建并运行线程。 2. **Java多线程实现**: - 实现方式一:...

    Java多线程编程总结

    ### Java多线程编程总结 #### 一、Java线程:概念与原理 1. **操作系统中线程和进程的概念** - 当前的操作系统通常为多任务操作系统,多线程是实现多任务的一种手段。 - **进程**:指内存中运行的应用程序,每个...

    java多线程断点下载

    Java多线程断点下载是网络编程中一个实用的技术,尤其在处理大文件时能显著提升用户体验。在本文中,我们将深入探讨这个主题,讲解如何使用Java实现多线程和断点续传功能。 首先,我们需要理解什么是多线程。在...

    java+ffmpeg视频、音频转码

    在Java中使用FFmpeg时,需要注意性能优化,如异步处理、多线程、内存管理等,以提高转码效率和减少资源消耗。 9. **错误处理和日志记录**: 在开发过程中,良好的错误处理和日志记录机制是必不可少的,它们可以...

    java9开发文档中文版.rar

    以上只是Java 9开发文档中部分关键知识点的概述,实际文档中包含了更详细的说明、示例和指导,对于深入理解和使用Java 9具有极高的价值。通过阅读这份中文文档,开发者能够更好地掌握Java 9的新特性,从而提升开发...

    java多线程笔记

    在多线程环境下,多个线程可以并行地在单个进程中执行,使得程序能够同时处理多项任务。 Java中的线程是通过`Thread`类或实现`Runnable`接口来创建的。你可以直接继承`Thread`类并重写`run()`方法,或者创建一个...

    java 多线程数据库操作

    总之,Java多线程技术结合分页读取策略能有效提升数据库操作的效率,但同时也需要关注并发控制、资源管理以及异常处理等多个方面的细节,确保程序的稳定性和效率。在实际开发中,应根据项目需求和资源限制,选择合适...

    Java-JUC-多线程 进阶

    线程是进程中的执行单元,可以与其他线程共享同一个进程的资源。Java 中的线程可以通过继承 Thread 类或实现 Runnable 接口来创建。 Lock 锁 锁(Lock)是 Java 中的一种同步机制,用于保护共享资源免受多个线程的...

    《软件开发基础(Java)》实验报告-Java多线程编程.docx

    在本实验报告中,我们关注的是Java多线程编程,这是Java编程中一个重要的主题,尤其是在并发处理和高性能系统设计中。线程是操作系统分配CPU时间的基本单位,它允许一个程序内部同时执行多个任务,提高了应用程序的...

    java 大文件(视频)分片上传+压缩

    在Java中,我们可以使用Java的Runtime类或者第三方库(如Xuggler)来调用FFmpeg的命令行接口。例如,可以创建一个子进程执行类似于`ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset slow output.mp4`的命令,这个...

    windows下java调用ffmpeg视频处理环境搭建

    总的来说,Windows下使用Java调用FFmpeg进行视频处理涉及了Java的进程管理和FFmpeg的命令行接口知识。通过合理的编程实践和理解FFmpeg的参数设置,我们可以实现丰富的视频处理功能。记得在实际开发中,要根据项目...

    java调用bat批处理与sh脚本

    在IT行业中,尤其是在Java开发中,有时候我们需要与操作系统进行交互,执行一些系统级别的任务,比如自动化部署、数据备份等。这时,我们可能会选择调用批处理(bat)文件(Windows系统)或Shell脚本(Unix/Linux...

    21天学通JAVA(高清版PDF)

    jar工具可以将多个文件合并为单个JAR文件,它既是一个压缩工具,也可以用来打包Java应用程序。javadoc命令用于从Java源代码中提取文档注释并生成HTML文档,有助于编写和维护代码文档。 此外,Java还包含了一些工具...

Global site tag (gtag.js) - Google Analytics