精华内容
下载资源
问答
  • 源码:JAVA在线编译器模拟

    千次阅读 2017-03-20 16:15:59
    有很多网站提供在线编译运行java代码,不过大家要做好安全工作,防止恶意浏览者攻击,下面做一个雏形,欢迎大家改进 [java] public class CompileAndRunJavaFile extends HttpServlet{ private static Process ...


    有很多网站提供在线编译运行java代码,不过大家要做好安全工作,防止恶意浏览者攻击,下面做一个雏形,欢迎大家改进

    [java]

    public class CompileAndRunJavaFile extends HttpServlet{
     
     private static Process process ;//执行子进程
    
     /**
      * 编译并且运行JAVA代码
      * @author Maple
      */
     
     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
       throws ServletException, IOException {
      String code = req.getParameter("code");//获取页面参数
      
      String className = null; //类名
      String classStr = null;
      BufferedWriter bw = null;
      try{
       classStr = code.substring(code.indexOf("public class"),code.indexOf("{")).toString();//获取类名字符串
       String[] classStrArray = classStr.split("\\s{1,}");//按空格分开
        if(classStrArray.length!=3){
         req.setAttribute("msg", "编译失败:格式不符合规范,请检查类名是否正确(如:public class YouClassName{})");
        }
        else{
         className = classStrArray[classStrArray.length-1];
         File sourceFile = new File(className+".java");//保存源代码
         if(sourceFile.exists()){
          sourceFile.delete();
         }
         FileWriter fr = new FileWriter(sourceFile);
         bw = new BufferedWriter(fr);
         bw.write(code);
         bw.close();
         fr.close();
        
         Runtime runtime = Runtime.getRuntime();
         process = runtime.exec("cmd");
         Thread.sleep(1000);//防止cmd.exe程序未启动,当然也可以直接使用javac命令
         //往控制台注入命令
         bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
         bw.write("javac "+className+".java \n");
         bw.flush();
         long startFreeMemory = runtime.freeMemory();//Java 虚拟机中的空闲内存量
         //执行时间也是无法知道,因为dos执行java命令,程序无法知道它到底执行到那里了,两个进程,互不了解
         long startCurrentTime = System.currentTimeMillis();//获取系统当前时间
         bw.write("java "+className+" \n");
         bw.close();
         //获取控制台输出的结果
         Thread runtimeInput = new Thread(new RuntimeInput());
         runtimeInput.start();
        
         //获取内存信息,实际过程中,是无法得到这个程序到底多少内存,内存的分配有操作系统决定,如果
         //程序需要,系统会动态分配内存,如果有对象没有引用,可能会被垃圾回收器回收,所以是无法得到到底多少内存的
         //如果你有办法知道,可以留言,现在得到程序运行前后内存使用率,不过输出的是0,因为程序退出,不占内存了
         Thread.sleep(1000);
         long endCurrentTime = System.currentTimeMillis();
         long endFreeMemory = runtime.freeMemory();
         double useMemory = (startFreeMemory-endFreeMemory)/1024;
         System.out.println("开始时间:"+startCurrentTime);
         System.out.println("结束时间:"+endCurrentTime);
         long useTime = endCurrentTime-startCurrentTime;
        
         req.setAttribute("msg","编译成功,使用时间:"+useTime+"毫秒");//这个使用时间是大概的,不精确
        
        }
      }
      catch(Exception e){
       e.printStackTrace();
       req.setAttribute("msg", "格式不符合规范,请检查类名是否正确(如:public class YouClassName{}).错误信息:"+e.getMessage());
      }
      
       req.getRequestDispatcher("/test.jsp").forward(req, resp);
      
     }
     
     
     public class RuntimeInput implements Runnable{
    
      @Override
      public void run() {
       BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
       String content = null;www.2cto.com
       try {
        while((content = br.readLine()) != null){
          System.out.println(content);//如果想把结果输出到页面,直接定义变量就行
        }
       } catch (IOException e) {
        e.printStackTrace();
       }
      }
      
     }
    
    }
    
    

    作者:mzlqh
    原文链接:http://www.2cto.com/kf/201206/136672.html

    展开全文
  • java 调用编译器

    2021-02-13 00:06:31
    package org.pushmailapi.util....import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class PingDemo {/**...

    package org.pushmailapi.util.common;

    import java.io.BufferedReader;

    import java.io.InputStreamReader;

    import java.util.ArrayList;

    import java.util.Iterator;

    import java.util.List;

    public class PingDemo {

    /**

    * @function pingdemo

    * @author 李傲

    * @param stmpList:Stmp协议表单

    * @return 返回用户的信息

    * "4" :诊断无误

    *"ErrorMessage" :错误的连接地址信息

    * @exception 无

    */

    public String pingdemo(List stmpList){

    String pingstrtemp="";

    StringBuffer sb=new StringBuffer("");

    try

    {

    String line = null;

    StringBuffer b=new StringBuffer();

    String pingstr="";

    String osname=System.getProperties().getProperty("os.name");

    Iterator it=stmpList.iterator();

    while(it.hasNext()){

    pingstrtemp=it.next()+"";

    int isos=0;

    if(osname.indexOf("indow")==-1){

    pingstr="ping "+pingstrtemp+" -c 1";

    isos=1;

    }else{

    pingstr="ping "+pingstrtemp+" -n 1";

    isos=2;

    }

    Process pro = Runtime.getRuntime().exec(pingstr);

    BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));

    while ((line = buf.readLine()) != null){

    b.append(line);

    }

    line=b.toString();

    if(line.lastIndexOf(pingstrtemp)>0){

    line=line.substring(0,line.lastIndexOf(pingstrtemp));

    }

    System.out.println(line);

    if((line.indexOf("Request timed out")==-1&&isos==2)||(line.indexOf("unknown host")==-1&&isos==1)){

    }else{

    sb=sb.append(pingstrtemp);

    }

    System.gc();

    }

    if(sb.toString().length()==0)

    {

    System.out.println(CommonString.PINGOK);

    return CommonString.PINGOK;

    }else{

    System.out.println("ErrorMessage: "+sb.toString());

    return "ErrorMessage: "+sb.toString();

    }

    }catch (Exception e){

    e.printStackTrace();

    System.out.println("null");

    return "null";

    }

    }

    public static void main(String[] args) {

    List a=new ArrayList();

    a.add("smtp.163.com");

    a.add("pop3.163.com");

    PingDemo p=new PingDemo();

    p.pingdemo(a);

    }

    }

    这个是模拟ping的 呵呵 差不多

    2009年12月02日 15:52

    展开全文
  • 如何安装java语言编译器导语:您有没有想过计算机程序是怎样工作的?您是否曾经想学习编写自己的计算机程序?那么我们应该如何安装编译器呢?下面让我们了解一下java语言编译器的安装方法吧!为了在您的机器上配置起一...

    如何安装java语言编译器

    导语:您有没有想过计算机程序是怎样工作的?您是否曾经想学习编写自己的计算机程序?那么我们应该如何安装编译器呢?下面让我们了解一下java语言编译器的安装方法吧!

    为了在您的机器上配置起一个Java开发环境——您将使用一个“开发环境”来“开发”(编写)程序——您需要完成以下这些步骤:

    1.下载一个包含Java开发环境(编译器和其他工具)的大文件。

    2.下载一个包含Java文档的大文件。

    3.如果您的机器上还没有安装WinZip(或可执行相同功能的程序),那么您需要下载一个包含WinZip的大文件并安装之。

    4.安装Java开发环境。

    5.安装文档。

    6.调整环境变量。

    7.全面测试。

    为了方便,开始前最好在您的临时目录中创建一个新目录用于保存将要下载的文件。我们将它称为下载目录。

    步骤1——下载Java开发环境

    步骤2——下载Java文档

    步骤3——下载并安装WinZip

    步骤4——安装开发工具包

    运行第一步下载的j2sdk-1_4_1-*.exe文件。他将自动解压并安装开发工具包。

    步骤5——安装文档

    阅读安装说明文档。它会要求您将文档文件移至刚才开发工具包的安装目录。将文档解压缩,文件就会被安排到适当的位置。

    步骤6——调整环境变量

    按照此页的要求,您需要改变路径变量。最简单的办法是打开一个MS-DOS窗口键入PATH看看当前的'路径变量是什么,然后用记事本打开autoexec.bat按要求修改PATH环境变量。

    步骤7——测试

    现在您应该可以打开另一个MS-DOS窗口并键入javac了。如果一切设置妥当,那么您将看到屏幕将输出两行文字告诉您如何使用javac。这意味着一切已经准备就绪了。如果您看到“错误的命令或文件名”这条消息,则说明还没有准备好。请重新阅读安装说明检查哪里出了问题。确定PATH被正确设置并可用。回头重新阅读上面的步骤,问题不解决不要轻易放弃。

    现在您已自豪地拥有一台能够编译Java程序的机器了。您已经准备好开始编写软件了!

    顺便指出,刚才您解压缩的内容包括一个demo(演示)目录,其中包含许多精致的例子。所有的例子都可以立即执行,所以您不妨找到这个目录试运行一下其中的某些例子。许多例子都会发声,所以请打开扬声器。要运行例子,找到名如example1.html的网页文件并使用您常用的浏览器打开即可。

    【如何安装java语言编译器】相关文章:

    展开全文
  • 一款简易的网页在线编辑器,
  • 编译器源代码

    2017-12-13 17:10:25
    我的java注解编译器的源代码,本资源对应我写的博客,希望对大家有帮助
  • 获得代码,保存到本地,调用本地编译器编译文件,执行之后返回结果并删除文件。可以更改为接口,集成到web项目里,达到类似菜鸟工具java在线编程的效果,考虑并发的话需要使用多线程
  • 原标题:五个免费在线Java编译器,轻松编译代码Java编译器网络版成为有用的在许多情况下。例如,假设你正在编写一个Java代码,但不在自己的计算机上,减少时间的浪费,可以无需下载和安装任何软件,使用免费的在线...

    原标题:五个免费在线Java编译器,轻松编译代码

    Java编译器网络版成为有用的在许多情况下。例如,假设你正在编写一个Java代码,但不在自己的计算机上,减少时间的浪费,可以无需下载和安装任何软件,使用免费的在线工具运行代码。也就很有帮助,如果不需要编写Java代码而定期一周甚至一天几次。增加电脑的速度,减少从您的计算机未使用的软件数量。

    但如果不想错过它,可以尝试免费的在线编译器分享收藏。

    现在,在这一段后,让我们在最好的免费在线列表Java编译器。在测试这些,注意到每个工具都是好的或坏的事情很少,所以让你挑最好的,我们将添加一个简短的描述每个下面的列表。

    godingground

    9528ccfc9d603a9591e30acd43de930a.png

    这godingground,原名compileonline但是在这个月,它有自己的名字,godingground。我也利用这一工具,当我需要Java代码执行。tutorialspoint不仅提供程序编辑器和运动员又是著名的许多编程语言教程。如果我们谈论他们的Java编写的实用程序,它提供了一个简单的和用户友好的界面,在那里你可以很容易地粘贴你的源代码和可得到的结果通过点击“编译”按钮。

    jdoodle在线Java编译器和编辑器

    613bff20585e2b712a20d77c1cde8662.png

    另一个伟大的互联网工具对于那些想要执行Java代码,但不想在自己的电脑上安装一个编译软件。jdoodle是有用的Java编辑器和执行你的Java代码。

    你可以很容易的,在适当的方格内加Java代码,然后向下滚动并点击“执行”按钮没有,这会给代码的结果进入盒子的上面。它也有下载的代码作为一个Java文件的津贴,你必须在你的电脑与他人分享。

    codetwist

    宣传自己是“简单的C,C和Java解释器和编译器。因为它很简单,因此可以很容易地访问。它支持上述三种语言和编译。在场地的中间,看到了两个盒子,在第一个框中,你可以粘贴代码要执行,第二框,如果代码需要一个输入。在进入你的代码,必须点击提交按钮,看结果。

    ideone.com

    fab22051486f14a18767a7ac01bd1e64.png

    在线Java编译器–在线Java编辑器–在线Java IDE–Java编码在线–在线Java运行–保存Java在线分享。

    browxy.com

    ff0f8f7c531d5ae69bf1aa3e7343eac5.png

    Java在线编译器IDE和发射控制台程序和小程序。

    更多Java教学视频,Java知识,尽在,现在报名,可免费参加Java初级课程,感受下这里的学习氛围。返回搜狐,查看更多

    责任编辑:

    展开全文
  • SNL编译器网页版)

    2013-06-18 12:03:17
    SNL编译器网页版本,可以实现词法分析,语法分析并画出语法树,语义分析等等
  • 这个过程说得 专业一点,就称为编译(Compile),而负责编译的程序称为编译器(Compiler)。 解释型 “编译”和“解释”的确都有“翻译”的意思,它们的区别则在于翻译的时机安排不大一样。编译型:事先一次把...
  • 例如:实现诸如留言板、论坛、新闻发布等Web模块时,经常用到在线编译器,它使得我们可以像Word一样在线编译我们的留言或新闻内容。 在线编译器一般具有如下基本功能: (1)文字的编辑 (2)文字格式(如字体、大小、...
  • 程序猿专用十大在线编译器(IDE)整理

    万次阅读 2021-03-17 13:00:37
    我常用的① 主流的脚手架都支持,比如在线create-react-app,vue-cli等(在线 fork 修改),支持 github 登录(项目导入),也支持 cli 上传例子,例子可以在线访问和下载,当然也支持内嵌到其他博客等网页中。③ 图示支持的...
  • 我们曾介绍过10个基于JavaScript的... 本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。
  • 三位一体 基于模板使用的,基于html,css和java脚本的网页编译器
  • 基于JavaCC的c语言编译器前端实现代码,偶然翻出来的,上传到这里,给需要的朋友参考,献丑了。
  • 不好意 我想要的是下载 点 问题没说清楚 sorrydev c++选择什么样的编译器对我学习C语言来说重要么。在线等大神指点,不要复制。学习C语言的话,VC基本上就差不多了,小巧,方便,启动快 而VS是大软件,启动时有点慢...
  • Java网页编辑器

    2020-04-25 13:50:25
    这个支持 Java 10,并且能够保存代码,还支持导入外部库。 但有时候国内登不上,真不明白这个学习网站也封。 2.https://www.tutorialspoint.com/compile_java8_online.php 这个网站比较美观,也支持 java 10, ...
  • 最好的一款网页在线编辑器,完全支持任何程序,目前是JAVA测试版,下载后,可以随意更改成你想要的版本
  • 原理参照: python在线编译器实现 代码注释很多,直接上代码 目录结构: OnlineEXEC |----zxby.py |----test.bat(因为测试环境是 windows,linux 可以自行改成 shell) |----app |----flaskrun.py zxby.py 代码实现...
  • 好用的在线 java 编译网站,编辑器(亲测) 置顶 ...
  • 我常用的① 主流的脚手架都支持,比如在线create-react-app,vue-cli等(在线 fork 修改),支持 github 登录(项目导入),也支持 cli 上传例子,例子可以在线访问和下载,当然也支持内嵌到其他博客等网页中。② 地址:...
  • C/C++ JAVA 在线编译器

    千次阅读 2010-12-19 16:01:00
    1.JAVA在线编译器: http://youjavait.com/开始可能没有框架代码(如主函数等),可[Projects],再将网页后退.例:package com;public class Test{public static void main(String[] args){System.out.println("hello, my...
  • java实现web的文本编辑器,页面引入js就可以实现文本编辑器
  • 转自:点击打开链接 我推荐1,6 因为这两个网站打开网页速度较快。。。。7也挺快的,不过还是慢些(只是相对于我家网速比较的...优点:网页界面简洁,一目了然,适合手机浏览器。且支持C,C++,D,PHP,PYTHON,Perl,Ruby
  • 通过前文【小白打造编译器系列】编译器的前端技术是什么?我们已经对整个编译器的前端有了一定的了解,那么我们接下来实战一下,实现一个简单的词法分析器。 实现词法分析器,就是写出正则表达式,画出有限自动机的...
  • Python发行版(编译器)

    2020-11-24 11:14:47
    一、Python编译器简介根据实现Python编译器语言一般分为以下几种:1.1、CPython标准的Python,解释型编译器。Python:标准的CPython版本,即官方发布版本。IPython:基于CPython的一个交互式解释器,也就是说,...
  • 是一款在线的 WYSIWYG 编辑器,主要用于网页编辑等方面的应用,具备全截面的富媒体编辑能力。最新版本为 2.0,除了一般的编辑模式外,还有浮动的工具栏模式可以使用。 aynHTML 界面比较象Windows, 美观度一般...
  • java/c/c++在线编译器

    2015-01-14 15:50:01
    一直以来都喜欢用手机看书,尤其是在上班时。...于是想到用UC浏览器找找看网上有没有在线的编译器,想什么时候写代码都可以验证。于是就找了几个,各有千秋吧。中文的我没找到,全是英文的,不过

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,947
精华内容 13,978
关键字:

java网页编译器

java 订阅