Freeze_Dolphin
稍微了解了了一下native,synchronized,transient和volatile这几个关键字,发现它们主要与:与C交互、进程、(反)序列化挂钩,那么在开发服务端插件的时候需要用到这几个关键字吗(我至今没有在其他插件里见到过,所以有这个疑惑)

William_Shi
synchronized、volatile这些关键字,按需使用
如果有并发操作可以使用

至于transient
我不怎么多用序列化
很多比如说物品堆这样的类我也不会自己去序列化
(Bukkit的serialze
或者NMS的NBTCompress直接二进制就上去
其他的数据存储,没必要舍弃吧?

轻光233
synchronized、volatile自己如果有并发需要可以用,不过前者慎用,资源消耗太大,后者并发量大的话等于架空
transient的话,如果一个数据类里有你不想被序列化的东西(比如一个商店的一个商品,肯定要包含商店对象但是它又不需要参与序列化)就可以加,且这个关键字只针对和Serializable有关的序列化操作(ObjectOutputStream等)
native,插件应该是不会用到的(因为要用到c,无非就两个原因——操控底层和提升大量运算的效率,前者很难让linux和windows兼容;后者的这种情况非常少),mod的话,应该会出现一点(我不是mod开发者,我不清楚)

tdiant
这是Java基础,我觉得你得知道。

——但我偷偷说句掏心窝子的话,这些关键词(除了第二个)其实在实际的插件开发(我说Bukkit衍生端)其实非常非常罕见,你可以试试去插件版反编译几个插件,我基本没见过有人用的。。。

南柯郡守
表示没有接触过这几个关键字

写插件在一定程度上是不需要自己去写底层的

有很多方法已经打包好了  比如 protocollib 还有那个t***lib(记不清了)

除非十分必要  一般不去做底层操作  一个是兼容性很难搞定  一个是容易出现不可预知的问题