JAVA
文章平均质量分 90
笔下生灰
这个作者很懒,什么都没留下…
展开
-
基于ProGuard-Maven-Plugin的自定义代码混淆插件
大家可能都会碰到一些代码比较敏感的项目场景,这个时候代码被反编译看到就不好了,这个时候就需要代码混淆插件来对代码进行混淆了。基于Maven的项目一般会去考虑使用proguard-maven-plugin,但是这个插件仅支持打Jar包不支持打War包。于是我用空闲时间在proguard-maven-plugin的基础上修改了里面的一部分逻辑,可以在项目构建过的时候把代码混淆,支持打成jar包和war包。 现在贴出来给大家看看。原创 2016-07-22 17:22:11 · 10243 阅读 · 10 评论 -
Protostuff自定义序列化(Delegate)解析
一、背景在使用Protostuff进行序列化的时候,不幸地遇到了一个问题,就是Timestamp作为字段的时候,转换出现问题,通过Protostuff转换后的结果都是1970-01-01 08:00:00,这就造成了Timestamp不能够序列化。于是Google了一番,得知可以用Delegate来解决这个问题。原创 2016-07-20 17:29:33 · 3726 阅读 · 0 评论 -
SpringBoot Velocity toolbox配置
SpringBoot结合velocity模板,使用的是org.apache.velocity.tools.view.servlet.ServletToolboxManager,一个不建议使用的类,配置文件与velocity官网不同,具体在是在velocity源码中ServletToolboxManager类的注释中,有toolbox的xml配置。在此记录一下。 ap原创 2016-12-12 19:37:28 · 3361 阅读 · 0 评论 -
浅谈JAVA序列化与反序列化
序列化介绍 对象是由行为和状态组成的,序列化代表我们可以将一个对象的状态转化成数据流,可以通过网络传输,也可以存储成一个文件或者数据库中,同样可以把数据流反序列化成对象。JAVA序列化Serializable接口:标记一个类能被序列化serialVersionUID字段:序列化版本号transient关键字:标记一个字段是瞬时的,不会被序列化ETC原创 2017-03-16 20:29:38 · 1285 阅读 · 0 评论 -
深入实践ThreadLocal
本文主要实践,不在同一个线程中ThreadLocal的表现。Thread中持有ThreadLocalMap,分别为threadLocals、inheritableThreadLocalsthreadLocals:用于普通的ThreadLocalinheritableThreadLocals:用于InheritableThreadLocal问题注意点:1、如果在子线程读取父线程中...原创 2018-08-13 19:28:03 · 324 阅读 · 0 评论