zlj1217的博客

慢慢加油

深拷贝和浅拷贝

深拷贝与浅拷贝 对对象的深拷贝和浅拷贝我们并不陌生。 (1)浅拷贝: 在浅拷贝中,如果原型对象的成员变量是值类型,将复制一份给克隆对象;如果原型对象的成员变量是引用类型,则将引用对象的地址复制一份给克隆对象,也就是说原型对象和克隆对象的成员变量指向相同的内存地址。简单来说,在浅拷贝中,当对象被复...

2018-12-24 20:37:34

阅读数:28

评论数:0

java集合类的一些总结——Arrays.asList和Guava操作集合

使用背景 总结一下最近项目中使用到集合的两个点,一个是Arrays.asList这个方法使用的坑,另一个是利用Guava的Sets工具类去求并交集。 使用总结 Arrays.asList的坑 先上结论: Arrays.asList这个方法不适用于基本类型:byte,short,int,long,...

2018-12-16 02:15:39

阅读数:230

评论数:0

Java36讲总结(一)——Java平台型的理解

背景 最近看了一点点极客时间上的《Java核心技术36讲》,打算把一些自己感兴趣或者不知道的点总结到博客中,方便对一些知识有一些整理和拾遗。 Java平台性的理解 java本身是一种面向对象的语言,有两个特征,一是“write once, run anywhere”,能够非常容易的获取跨平台的能力...

2018-12-02 23:41:26

阅读数:21

评论数:0

并发编程——并发基础:守护线程和非守护线程

前言 最近在复习的时候,发现一个运行线程池拒绝策略demo中的main方法在运行了之后,进程并没有关闭。看了jconsole线程池中的线程都处于waiting状态。这里是跟我设置线程池的线程工厂中的设置线程是否为后台线程有关。 后台线程和非后台线程 后台线程,也叫守护线程,指的是在程序运行的时候后...

2018-11-27 00:40:58

阅读数:18

评论数:0

FastJson中的一些用法

FastJson中的一些用法总结 fastJson在工作过程中经常用到的一个工具类,之前用到的最多的是在输出日志的时候的对java对象输出序列化之后的json字符串,最近在消费消息端也用到了JsonObject这个类的一些功能,做个简单的FastJson功能类的查漏补缺。 JSONObject 通...

2018-11-22 00:47:49

阅读数:21

评论数:0

并发编程——ThreadPoolExecutor源码分析(一)

前言 线程池是并发编程中最重要的应用之一,使用线程池可以防止大量的创建和销毁线程的过程,可以节省很多的内存空间,提高程序的响应率和cpu的利用率,并且也可以对线程进行统一管理和监控。这里将分几篇文章介绍一下线程池的源码分析。本篇是分析ThreadPoolExecutor中的ctl变量 ctl变量 ...

2018-10-05 22:45:54

阅读数:23

评论数:0

validate注解做校验

前言 之前也用过hibernate的校验注解,但是没有去做一个总结,这里参考一篇博客去做一个总结。简述JSR303/JSR-349,hibernate validation,spring validation之间的关系。JSR303是一项标准,JSR-349是其的升级版本,添加了一些新特性,他们...

2018-08-19 19:50:18

阅读数:1008

评论数:0

@PostConstruct注解

简介 @PostConstruct注解和@PreDestroy是两个作用于Servlet生命周期的方法注解,实现Bean初始化之前和销毁之前的自定义操作。 应用场景 @PostConstruct 主要用来容器初始化之前去初始化一些缓存或者配置等。 执行顺序及注意事项 一、执行顺序 @P...

2018-06-29 10:12:51

阅读数:118

评论数:0

redis 锁的一个小坑纪念一下

之前在工作的过程中做了很多锁的校验,有做并发锁校验,也有做分布式系统订单状态校验的锁,但是这次造成线上bug的代码是因为自己一个很小的失误,这次纪念一下。这次是在解决批量去操作的时候,去将要批量操作的数据去锁住,防止并发操作(分布式系统交互要注意这种并发和幂等的操作)。这里在循环中去加了redis...

2018-02-08 15:30:40

阅读数:142

评论数:0

java.rmi.server.ExportExcepetion:Port already in use问题解决

在灰度环境的一个工程启动的时候报错经过排查 是因为在同一个服务器上 端口40040被占用了。这里从报错很容易看出是端口占用,但是排查一堆文件下面的时候 发现是jmx的端口占用。修改jmx端口号的是在{tomcat路径}/bin/catalina.sh脚本下去修改的。纪念一下参考的资料:http:/...

2018-02-08 15:06:23

阅读数:111

评论数:0

最近了解到的知识点

近期更新博客比较少了 因为工作比较忙了吧。 这里记录一下最近了解到的知识点: 1.navicat 工具 在执行insert的时候 会为tinyint类型的 not null的字段自动插一个0  而在代码运行过程中是不会去自动补0的。这个时候就会报错(表设计为not null 但是插入的为...

2017-12-21 17:33:02

阅读数:88

评论数:1

MySql+Mybatis+Druid:sql injection violation, multi-statement not allow

在测试一个mybatis批量更新的时候,报了sql injection violation, multi-statement not allow 的错误,和下面转载的博客一样,我也是以为连接数据库的url上没有加上支持批量的参数,然后就改了下: jdbc.url=jdbc:mysql:/...

2017-09-01 18:05:57

阅读数:568

评论数:0

bigDecimal作为参数传入方法中累加的坑

结果是第一个输出0   第二个输出2   这个与深拷贝和潜拷贝有关   详见  http://blog.csdn.net/will_awoke/article/details/39026681  bigDecimal作为参数传入一个方法中 累加之后返回的是一个新的对象 出方法之外和test...

2017-09-01 17:47:49

阅读数:2124

评论数:1

查看本地起工程部署war包的地址位置

在本地去起psi工程的时候,报了一个类找不到的异常,显示在一个配置文件中的注入类是找不到。因为之前不了解本地用tomcat去运行时候的原理,所以一直在工程中maven 依赖中的包里去找这个类,但是发现这个包确实依赖了进来,但其实是在部署war的地方找不到这个类,这时候学习了看本地起工程时 war包...

2017-08-21 15:09:43

阅读数:572

评论数:0

eclipse debug 插入数据库规定能时 crtl+shift+i 的一个坑

1.在debug时,对插入待采购商品记录进行debug时,去看sqlsession执行insert方法之后的返回值确定插入数据库几条时,发现放掉断点之后往数据库中插入双倍甚至三倍的记录数。排查了很久,结果是在debug这一行的时候已经执行一遍插入,之后会再执行一次操作。。。。这个坑真的只有踩过才知...

2017-08-21 14:29:36

阅读数:221

评论数:0

PropertyDescriptor类 初接触

用到的场景:在写推送MQ消息的时候,想一个sendMessage 类去 推送不同的 队列名。 首先用一个Constant类存放了不同的MQ的推送的队列名字 是用@value注入的,里面有多个队列名字,其实对应着这个Constant不同的属性。现在就是将这些队列名字对应的属性通过一个键值(可以在数...

2017-07-27 10:34:44

阅读数:6308

评论数:0

SLF4J 日志门面的使用

1.什么是SLF4J ? SLF4J  = Simple Logging Facede For Java (简单日志门面),是作为各种日志框架的一个简单外观或者抽象,其中日志框架 比如 java.util.logging,log4j,logback等。它相当于一个服务的接口,具体的日志功...

2017-07-25 17:05:23

阅读数:559

评论数:0

Float.isNaN() 方法

在看HashMap源码的时候,看到初始化一个HashMap的方法时,对传入的一个float型的 装载因子参数进行了校验Float.isNaN(loadFactor) 一开始不是很理解这个方法,就去查询了一下: JDK中float和double有一个方法isNan,该方法用于描述非法的float...

2017-07-21 09:32:59

阅读数:1359

评论数:0

在做业务时重写equals方法也要重写hashcode方法

在java中会有许多编码规范,这会使你在实现功能的时候避免许多坑。这里就是记录学习一个编码规范: 在业务上要判断两个对象的内容是否相等,不要自己写方法(isSame)去判断,而是应该去重写Object类的equals方法,(就像String类一样)。这个时候就能在list 中去支持 如果插入两个...

2017-07-09 18:36:50

阅读数:105

评论数:0

java关键字 transient 和 关键字 volatile

最近在看HashMap的过程中去了解啦java 的两个关键字,transient 和 volatile 。 1.transient  我们都知道实现serializable接口可以实现java对象的序列化和反序列化,但如果不想序列化该对象其中的一个属性,可以在这个对象类中用transient关...

2017-06-14 15:16:33

阅读数:159

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭