My learning track of java

==============================================================================

这里记录一些我自己在学习使用java过程中的一些东西,仅仅用于备忘和知识梳理.这篇文章我会不断补充,因为我也在不断学习中. 请勿转载.

==============================================================================

目录:

  • MongoDB

  1. morphia 谷歌的一个针对MongoDB的数据化持久框架<含各个版本API> :http://mongodb.github.io/morphia/

  2. IBM的一个教程关于 <使用 Morphia 和 MongoDB 实现域模型持久性>

  3. 数据批量处理

  • BigDecimal精确数据类型

  • JDK8里新成员Lambda&Stream

  • 并发编程

  1. ThreadPoolExecutor 

  • Quartz 定时任务

  • 注解<Annotation>

  1. @Transient <取消序列化标记>

  • SVN

  1. 注销当前登陆

  2. 账号切换后,删除<高权限账号>遗留文件夹

 

 

 

=============================================================================

 

 transient

  使用注解@Transient 或者 transient关键字, 编译时要是有这个标记, 编译器就不会把这个属性序列化<1.交给编译器处理>. 但仅限于继承接口Serializable;

另外一个序列化接口Externalizable属于半自动序列化接口. 区别在于需要手动重写方法来指定哪些属性会被write()到磁盘或者流里<2.手动处理>, 这时候这个注解或关键字并不会管用;

  例如:logger仅仅是希望在运行时中方便子类输出log,并不希望被序列化到DB<mongoDB>或者其他磁盘位置.

复制代码
public abstract class BaseEntity implements Serializable{

  private static final long serialVersionUID = -148184665704100002L;

  @Transient
  protected final Logger logger = LoggerFactory.getLogger(this.getClass());  
  //或者使用关键词 transient
// protected final transient Logger logger = LoggerFactory.getLogger(this.getClass());
}
复制代码

  Externalizable:

复制代码
public abstract class BaseEntity implements Externalizable{

    private String content = "序列化测试文本";//会被序列化
    protected final Logger logger = LoggerFactory.getLogger(this.getClass()); //不会被序列化
    @Override
    public void writeExternal(ObjectOutput out) throws IOException {
        out.writeObject(content);
    }

    @Override
    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
        content = (String) in.readObject();
    }
}
复制代码

 

 

SVN注销登陆

  注销当前登陆的svn账户, 使用新svn账号登陆svn.删除不同svn根节点下的账户记录,再次update时会从新提示输入account & password.

      

 

 

 

账号切换后,删除<高权限账号>遗留文件夹

  举个例子,核心代码保护, 公用服务器正使用有权限SVN账号维护核心代码, 此时人员变多,出于安全考虑要删除这部分源码, relogin为一个没权限checkout的账户.并直接删除<核心代码所在文件夹>并不能达到目的,

  正确做法是: 使用svn右键的delete, 删除.svn文件夹里的配置信息,否则,直接update还是可以再次update下来.

  

  

 

  

  

posted @   Capt·  阅读(269)  评论(0)    收藏  举报
(评论功能已被禁用)
点击右上角即可分享
微信分享提示