java语言编译_java在线编译-编译,java

本教程分享:《java在线编译》,

java在线编译网站或工具有哪些?

你做了很多了吧!很好,继续学吧! class.forName():加载的是指定的一个类 .class文件是由JAVA虚拟机加载,解释执行的 阁下 可能把 方向搞错了。 JAVA的反射机制很强大,基本上所有的涉及到配置文件的,都有反射的影子。尤其是JAVA编程中的框架SSH,ibates等等。 这些框架因为使用了反射机制,在普通程序员眼里,就只有类和配置。这样系统很容易扩展和维护。 反射机制 也不要研究得太深,对于中国这个JAVA软件行业,还是应用维多,你应该不会想自己开发一个框架吧。

如何用java调用c语言编译器实现在线编译c语

要在java中调用c语言的库,需要使用Java提供了JNI。

举例说明

在c语言中定义一个 void sayHello()函数(打印Hello World);然后在Java中调用这个函数显示Hello Word.

现在分别从Java和C语言两部分说明:

1. Java 部分

首先定义一个HelloNative,在其中申明sayHello函数,函数要申明为Native 类型的.如下:

public class HelloNative {

public native void sayHello();

}

编译这个类,生成class文件:

javac HelloWorld.java

利用javah生成需要的h文件

javah HelloNative

生成的 h文件大概如下:

/* DO NOT EDIT THIS FILE - it is machine generated */

#include

/* Header for class HelloNative */

#ifndef _Included_HelloNative

#define _Included_HelloNative

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class: HelloNative

* Method: sayHello

* Signature: ()V

*/

JNIEXPORT void JNICALL Java_HelloNative_sayHello

(JNIEnv *, jobject);

#ifdef __cplusplus

}

#endif

#endif

可以看一下上面自动生成的程序,程序include了jni.h,这个头文件在 $JAVA_HOME下的include文件夹下. 还可以发现生成的函数名是在之前的函数名前面加上了Java_HelloNative。

2. C语言部分

根据上面生成的h文件编写相应的代码实现,建立一个 HelloNative.cpp用来实现显示Hello World的函数.如下:

#include

#include "HelloNative.h"

JNIEXPORT void JNICALL Java_HelloNative_sayHello(JNIEnv *, jobject)

{

printf("Hello World!\n");

}

代码编写完成之后,我们再用gcc编译成库文件,命令如下;

gcc -fPIC -I/usr/lib/jvm/java-7-openjdk-i386/include -I/usr/lib/jvm/java-7-openjdk-i386/include/linux -shared -o libHelloNative.so HelloNative.cpp

这样就会在当前目录下生成一个libHelloNative.so的库文件.这时需要的库已经生成,在C语言下的工作已经完成了.

接下来需要在Java中编写一个程序测试一下.在程序前,需要将我们的库载入进去.载入的方法是调用Java的 System.loadLibrary("HelloNative");

public class TestNative

{

static {

try {

System.loadLibrary("HelloNative");

}

catch(UnsatisfiedLinkError e) {

System.out.println( "Cannot load hello library:\n " + e.toString() );

}

}

public static void main(String[] args) {

HelloNative test = new HelloNative();

test.sayHello();

}

}

但是再编译后,运行的时候,问题又出现了.

Cannot load hello library:

java.lang.UnsatisfiedLinkError: no HelloNative in java.library.path

Exception in thread "main" java.lang.UnsatisfiedLinkError: HelloNative.sayHello()V

at HelloNative.sayHello(Native Method)

at TestNative.main(TestNative.java:13)

载入库失败,但是库明明就是放在当前文件夹下的,怎么会载入失败呢?

用System.getProperty("java.library.path")查看,发现java.library.path中并不u存在当前的目录.主要有以下的几个解决办法:

1) 将生成的库复制到java.library.path有的路径中去,当然这样不是很好

2) 设置环境变量export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ,将当前的目录加入到LD_LIBRARY_PATH中

3) 设置java 的选项,将当前的目录加入到其中 .java -Djava.library.path=. $LD_LIBRARY_PATH

这样之后程序就能够成功的运行了.可以看见显示的"Hello World!"了

java在线编译器实现

请问如何用java语言在页面实现在线编译器,基本原理是怎么样?要用到什么类?什么组件?求说出一个具体的实现流程,谢谢...

请问如何用java语言在页面实现在线编译器,基本原理是怎么样?要用到什么类?什么组件?求说出一个具体的实现流程,谢谢

try{

Thread.sleep(1000);

}catch(InterruptedException e){

//扑捉发生在线程中的异常,当一个正在执行的线程被中断时就会出现这个异常,添加catch后当程序被双击停止时不会出现错误

e.printStackTrace();

}

lbClock.setText(getDate());

}

追问

请问能不能整个代码写出来?就这一段只是抓取异常,并不是在线编译的整个流程

用java怎么实现对word的在线编辑

WORD在线编辑的方案有几种。

1)采用网页插件,比如PageOffice,这种方案实际是调用本地Office进行编辑,确切的说是网页编辑而非在线编辑。

2)采用微软的OWA,这个是网页版的Office,好处确实是Word,缺点是网页版功能比本地版本弱,开发难以得到微软的支持,坑很多,碰到了也不知道怎么解决。

与之接近的是一起写,石墨这样的类Word编辑,这个就不是原生word格式,是格式转换后的在线编辑。

3)采用UZER.ME的SDK,UZER.ME支持网页内无插件使用各种原生应用,当然也包括Word,本地也无需安装Office,全平台支持。缺点是需要服务器资源较多。

在线编辑主要还是前端的活,主要用JavaScript做,当然,上面几种方案后台用Java都是可以也是需要的。

在Java中怎么实现在线编辑Word

需求是在Java中处理Word文档还是要在网页中在线编辑文档?

如果是用Java处理Word文档,我记得有个库是Apache POI,功能还是蛮强大的。

如果要网页端在线编辑Word文档,推荐使用桐享EaaS,有SDK的。客户端无需安装Word,也无需安装插件。对用户来说非常方便,只要一个浏览器就可以了。

javaweb怎么做在线时长满1小时?

当创建一个session的时候(这里也可以是 用户登录成功的时候),你把当前的时间存在session中,然后你用当前时间减去session中的时间,你就能够获取到用户在线的时间,然后就是怎么显示的问题了

追问

你好,首先,谢谢你的回答,是这样的,web没问题,但是这次是小程序,也可以监听到session销毁吗?

追答

小程序 应该也可以用session的,方法二,用了小程序的化,你直接在页面上 js操作存到sessionstorage 也是一样的,这样完全由浏览器来保存,服务器不用保存

Java中怎么实现浏览器在线编辑Office文档

大概可以通过3种方法实现

1、让你的访问界面集成word在线插件,可直接在浏览器中访问word文件,不过这样的插件一般都是收费的

2、将word先转换为pdf文件,如果浏览器装了pdf插件可直接预览访问的

3、如果也可将word先转换为pdf文件,然后将pdf文件转换为swf文件,然后项目中集成swf访问插件,浏览器也可预览了

Java中怎么实现浏览器在线编辑Office文档

可以用第三方服务接口实现,但安全性要好,文档不能泄露出去

poi里有个ExcelToHtmlConverter 和 WordToHtmlConverter

这是在网上找的一段代码我没试

HWPFDocumentCore wordDocument = WordToHtmlUtils.loadDoc(new FileInputStream("D:\\temp\\seo\\1.doc"));

WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(

DocumentBuilderFactory.newInstance().newDocumentBuilder()

.newDocument());

wordToHtmlConverter.processDocument(wordDocument);

Document htmlDocument = wordToHtmlConverter.getDocument();

ByteArrayOutputStream out = new ByteArrayOutputStream();

DOMSource domSource = new DOMSource(htmlDocument);

StreamResult streamResult = new StreamResult(out);

TransformerFactory tf = TransformerFactory.newInstance();

Transformer serializer = tf.newTransformer();

serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

serializer.setOutputProperty(OutputKeys.INDENT, "yes");

serializer.setOutputProperty(OutputKeys.METHOD, "html");

serializer.transform(domSource, streamResult);

out.close();

String result = new String(out.toByteArray());

System.out.println(result);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值