JUC Unsafe

Unsafe位于sun.misc包下,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一样操作内存空间的能力,如果过度或者不正确地使用Unsafe类将会使得增加程序出错的风险,使得Java这种安全的语言变得不再安全,因此使用时需要慎重。

这里并不打算作深入探讨,只是简单列举一些Unsafe中提供的常见api,方便在讨论其它内容时进行引用,对于其提供的api大致则可以按如下分类:

Java 注解

注解为在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的获取和使用这些信息,注解其实可以理解为代码的元数据(元数据是关于数据的数据)。

在注解之前,xml已经被广泛用于元数据,其好处是元数据与代码可以完全解耦。但是随着项目的不断膨胀,xml维护将变得越来越麻烦,因此对于那些并不会发生变化的元数据,使用xml配置只会带来累赘。而注解的方式相当于在代码上添加一些标记,并且可以参与编译以便在运行时能够获取。其好处主要是省去了xml文件的维护,另外使代码更加干净易读,以及提供编译期检查,但是耦合度增加了,即牺牲了xml配置的灵活性。