摘要: Enum使用经验:1.Enum类型本身实现了序列化,可以随着对象放到memcache;2.通常每个Enum需要有一个int类型的属性。DB中保存的字段可以是一个enum的值,也可以多个enum的与或的结果。比字符串的扩展性更好。2.1 type的子类型的设计注意,通常权限都是1, 2, 4, 8..... 二进制值11仍然可以表示为10的仅有的子类型。101,110,111可以表示100的三种子类型。如果type的值存在子类型值,那么sql中就不适合通过type = someType 来获取包含子类型的所有记录假如库中,type=1表示想去,type=2表示去过, type=1 |2表示从想去 阅读全文
posted @ 2012-05-09 15:27 highriver 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 每一次通过命令行执行java class就会做一次类加载。假如类变量是一个UUID的串,每一次java class都不一样。类变量和static块仅在类第一次加载执行一次。类加载之后,才会有实例化。所以可以理解为每一次类的实例化只有第一次实例化的时候,会导致类加载并执行static块,其它的都不会执行static块static块的场景:用来初始化一些对所有实例都有用的公共数据结构。结论:static块中的操作是线程安全的,类加载的阶段还没有实例被创建,也就不存在实例的线程中修改类变量的情况存在。也不会存在jvm中相同的类加载多次。类变量什么时候不是线程安全的呢?当类加载完成,static块执行 阅读全文
posted @ 2012-05-09 15:19 highriver 阅读(3099) 评论(0) 推荐(0) 编辑