Java反射
java反射
记录与梳理一些java学习过程中的常见知识
修饰符与它的值
参考:https://juejin.cn/post/6844904122420838413
修饰符这个词,想必各位在学习Java基础的时候就接触过了,无论是各种大学教程书还是其他各类社会书籍都会介绍。在我们平时使用最多的莫过于: public、private等等,这些属于访问修饰符,然后还有诸如static、final、synchronized等等。修饰符就是用来表示属性、方法等一些特性的关键词。 在Modifier当中一共定义了12修饰符,当然这个其实也是由JVM规范所决定的。
| 修饰符关键词 | 十六进制表示 | 二进制表示 | 修饰符描述 |
|---|---|---|---|
| public | 0x00000001 | 000000000001 | 公共的访问修饰符,都可以访问 |
| private | 0x00000002 | 000000000010 | 私有的访问修饰符,只有当前类可以访问 |
| protected | 0x00000004 | 000000000100 | 受保护的访问修饰符,继承环境中访问 |
| static | 0x00000008 | 000000001000 | 静态的修饰符,静态属性、方法、代码块等 |
| final | 0x00000010 | 000000010000 | 终态的修饰符,修饰的对象不能被修改、重写、继承等操作 |
| synchronized | 0x00000020 | 000000100000 | 同步的修饰符,用户多线程环境中的原子同步操作 |
| volatile | 0x00000040 | 000001000000 | 也属于同步语义的修饰符,保证线程之间数据的可见性(但不保证线程安全) |
| transient | 0x00000080 | 000010000000 | 序列化的修饰符,被修饰的属性不会被加入序列化操作 |
| native | 0x00000100 | 000100000000 | 本地方法的修饰符,其实现有C/C++来实现 |
| interface | 0x00000200 | 001000000000 | 糟糕,至今不懂 |
| abstract | 0x00000400 | 010000000000 | 抽象属性的修饰符,用来标明是抽象属性 |
| strictfp | 0x00000800 | 100000000000 | 浮点数操作的修饰符,用来统一不同平台间的规范,在浮点操作中严格遵守IEEE-754规范。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ocean and Star!