Java
pengpengzhou
主要学习语言Java,Nodejs,Go
展开
-
Go Nodejs Java Aes 128 CBC 加密解密结果保持一致
在多语言的生产环境下,常常是由一种语言进行加密而由另一种语言来进行解密,因此有必要保持各种语言之间加密解密算法的一致性。下面列出了Go,Nodejs,Java 的 Aes-128-Cbc的加密解密算法,它们的加解密结果是一致的。CBC比ECB加密强度更大,更难破解。Go 1.15package mainimport ( "bytes" "crypto/aes" "crypto/cipher" "encoding/hex"原创 2021-07-30 17:32:05 · 1096 阅读 · 0 评论 -
Go Nodejs Java Aes 128 ECB加密解密结果保持一致
在多语言的生产环境下,常常是由一种语言进行加密而由另一种语言来进行解密,因此有必要保持各种语言之间加密解密算法的一致性。下面列出了Go,Nodejs,Java 的 Aes-128-Ecb的加密解密算法:Gopackage mainimport ( "crypto/aes" "crypto/md5" "encoding/hex" "fmt")func generateMd5Key(str string) []byte {原创 2021-07-30 14:37:54 · 1153 阅读 · 0 评论 -
获取本地时区和UTC(格林威治)时区之间的时差 Go , Java , Nodejs(javascript)
中国的时区比UTC时区快8个小时,为了避免手工配置这个数字,可以通过程序动态获取:Gopackage mainimport ( "fmt" "time")func main() { name, offset := time.Now().Zone() fmt.Printf("Local Zone name: %v, offset to UTC(seconds)...原创 2020-03-10 14:53:58 · 2990 阅读 · 0 评论 -
Apache Tomcat catalina.sh的用户定制环境变量的配置位置
网上有很多文章在说catalina.sh的用户定制环境变量配置的时候,都是直接在catalina.sh里面添加变量,这是不合理的。catalina.sh开篇的注释里面有一段话:# Environment Variable Prerequisites## Do not set the variables in this script. Instead put them into a s...原创 2018-12-28 15:47:54 · 3073 阅读 · 0 评论 -
Oracle HotSpot (JDK 8) JVM 参数列表
Oracle官方文档 -- JDK8的全部jvm参数列表:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html转载 2018-12-28 15:36:44 · 1970 阅读 · 0 评论 -
spring @Value 的取值顺序 优先级
如果jvm启动参数 与 PropertyPlaceholderConfigurer指定的properties文件中有相同的占位符则优先取jvm中的取值原创 2018-08-30 14:52:46 · 6110 阅读 · 3 评论 -
java spring使用@Autowired与构造器进行变量初始化
如果要在构造器里引用其他被依赖的bean来初始化类的变量,较好的实现方式是用@Autowired注解构造函数 并且增加一个有依赖关系的传参 同时类变量也用@Autowired注解以便其它函数使用(不必在构造函数里使用this.client = client;这种方式来手动赋值)。@Servicepublic class StoreService { @Autowired priv...原创 2018-08-30 11:39:55 · 7693 阅读 · 0 评论 -
spring boot 2.0 web服务启动阶段的ApplicationEvent事件顺序
项目需求:需要在Web服务启动完成对外提供服务时,请求zookeeper进行服务注册,以便其它服务发现并调用它。研究了一下spring boot启动时事件顺序如下:ContextRefreshedEvent ServletWebServerInitializedEvent ApplicationStartedEvent ApplicationReadyEvent所以,web服务HTTP...原创 2018-09-04 16:42:50 · 5463 阅读 · 0 评论 -
maven scope provided和runtime的例子
maven常用的scope有compile,provided,runtime,test。complie是默认值,表示在build,test,runtime阶段的classpath下都有依赖关系。 test表示只在test阶段有依赖关系,例如junit provided表示在build,test阶段都有依赖,在runtime时并不输出依赖关系而是由容器提供,例如web war包都不包括ser...原创 2018-08-16 16:15:59 · 28081 阅读 · 0 评论 -
Eclipse引入私有仓库的jar包在Maven Dependencies中显示为文件夹的解决办法
问题如下所示,当工程A引用了私有仓库中的一个Jar包,且该Jar包由项目B发布,而项目B同时处在打开状态并且version正好是项目A所引用的版本,则在A的MavenDependencies下显示为文件夹。个人觉得较好的解决方式是项目B每次发布完之后,pom.xml的version都升高一个版本,以备下一次发布。因为相同版本是不能重复发布的。这样的话,A和B也可以同时打开。项目A:...原创 2018-08-16 14:50:20 · 4873 阅读 · 0 评论 -
Should we @Override an interface's method implementation
You should always annotate methods with @Override if it's available.In JDK 5 this means overriding methods of superclasses, in JDK 6, and 7 it means overriding methods of superclasses, and implement...转载 2018-08-10 09:09:29 · 230 阅读 · 0 评论 -
Jedis Pool Options (Jedis 2.9.0)
maxActive:控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted。 maxIdle:控制一个pool最多有多少个状态为idle(空闲)的jedis实例; blockWhenExhausted:表示当pool中的jedis...原创 2018-08-09 13:40:09 · 489 阅读 · 0 评论