fair_jm
跨平台没错 但你要了解点平台知识

好吧 实在是闲的没事 就把原来的一些笔记翻出来看了看 翻到个比较有意思的

我是java小白一只

群里有个人说出现了个不能读取java的错误信息(后来发现是文件没传完啊 怨念! 而不是文件找不到或者文件名等其他原因)

然后就想是不是因为文件被占用了 于是写了个小东西试试看:

[mw_shl_code=java,true]import java.io.*;

import java.nio.*;

import java.nio.channels.*;

public class TryLock{

public static void main(String args[]) throws Exception{

File file=new File("Text.java");

FileOutputStream pis=new FileOutputStream(file,true);

FileChannel fc=pis.getChannel();

FileLock fl=fc.tryLock();

System.out.println(fl);

Thread.sleep(30*1000);

if(fl!=null){

fl.release();

}

fc.close();

}

}[/mw_shl_code]

很简单的一个小例子

Text.java无非就是helloworld之类的

以上是用来锁的代码在win下我先在一个cmd下运行这个程序然后我在30s内在另一个cmd下用javacText.java 会出现:

读取Text.java时出错,另一个程序已锁定文件的一部分,进程无法访问

本来以上就结了

但那时(其实也就1个月前啦)还装了ubuntu 12.04(gnome常常卡死不动啊有木有......)

然后就在那边也试着运行了下:

居然发现可以在锁定的情况下正常编译那个Text.java 甚至可以修改 删除........

瞬间不淡定了....去csdn上问 回答说 在linux内核的系统中你甚至可以直接删除运行的程序......

这就对跨平台的结果一致性产生了冲击 但问题的本身还是来源于系统底层的本身 系统本身允许了这样的行为 和跨平台本身没关

所以 这一结果对于java的跨平台是没错的

但你要了解点平台的知识 不然会出现让你很费解的情况(我以上的例子.....)

以上..

需要更有有关linux内核的系统关于删除运行时文件的说明?:

http://bbs.chinaunix.net/thread-1702707-1-1.html

fair_jm
这样的话我们是不是可以再
展开Biu

ClockSmith 发表于 2012-8-29 19:47

这样的话我们是不是可以再android的app运行时删掉它...

我是小白= =

你可以试试看呀~~~我反正木有试过

[查看全文]
ClockSmith
这样的话我们是不是可以再
展开Biu

这样的话我们是不是可以再android的app运行时删掉它...

我是小白= =

[查看全文]
fair_jm
虽然是很简单的东西
展开Biu

虽然是很简单的东西...转帖请说明出处 如有错误 欢迎提出~@154-

[查看全文]