JAVA中-nojline是什么意思
答案:4 悬赏:10 手机版
解决时间 2021-01-29 23:03
- 提问者网友:聂風
- 2021-01-28 23:51
在看我的世界BAT开服教程的时候看到的。。。
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-01-29 01:22
JLine是服务端用来读取你的后台命令的一个东西,-nojline就是给mc服务端运行时的一个参数,让服务端不开启jline,也就是说读取命令会怪怪的……
全部回答
- 1楼网友:一把行者刀
- 2021-01-29 05:09
这个并不是JAVA的参数,应该是用JAVA运行的JAR的参数。
- 2楼网友:神也偏爱
- 2021-01-29 03:45
不明白啊 = =!
- 3楼网友:神的生死簿
- 2021-01-29 02:30
JLine是一个Java类库,而-NoJLine这个参数从字面意思上来理解就是不使用JLine这个类库。
-NOJLine这个参数是运行CraftBukkit时传递进去的参数(会传入main(String[] args)方法的args这个数组),他并不是Java运行Jar的参数。
我猜想当使用这个参数的时候,CraftBukkit会使用System.in这个输入流(是Java官方类库中java.lang.System类提供的一个常量(至于为什么可以用setIn来改变这个常量,其实它是主要引用了setIn0这个本地方法来实现的)),System.in这个对象的类是InputStream(要是是java.nio.Channel的实现类该多好,说不定还真是能设置非堵塞的)。他的实现类我记得应该是FileInputStream,通过FileInputStream的本地方法,配合他的FileDescrption实现的。
如果是使用System.in实现标准输入读取,那么功能相对于JLine会大打折扣。
C++在某些方面肯定比Java强大吧,如果只使用Java的官方类库,那么Java在标准输入输出方面是比不过C++的。所以JLine就站了出来,什么?你说Java没有C++的标准输入输出的某些功能?那我给你试试?其实JLine仍然使用了JNI,在Windows则由dll动态链接库实现,在Linux的话,因为Linux的终端其实支持已经十分强大了,于是在Linux上则没有自己再写So库文件了。
这样一来,C++能使用的许多标准输入输出的好东西,Java基本是都能用了,包括自动补全什么的。
而CraftBukkit,就是使用了JLine这样一个类库,如果不使用它,那么会失去后台的许多功能。
本回答禁止转载,如果有错误请指出。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯