native
表示定义的是一个java语言和非java语言交互的java基础方法,要知道java是高级语言,底层和操作系统交互的部分,也就是jvm,都是由和操作系统交互更为直接的c或者c++来实现的,这个东西在实际的java运用中极少使用,除非你需要使用java语言和操作系统交互(比如win32的api)
volatile
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份
transient
这个东西要和java的序列化一起来说,在java对象序列化的时候如果某些对象里面的字段不需要序列化,就定义为transient
synchronized
这个东西要和多线程一起来说了,定义问synchronized表示这个东西只能被一个线程访问
网友评论