- 博客(8)
- 收藏
- 关注
原创 设计模式中的原则
近阶段在研读设计模式,设计模式中最重要的一部分就是设计原则,单独将这一部分拿出来深入探讨和研究0、开闭原则修改关闭,拓展开放。当程序需要变化满足新需求的时,尽量不要在原有基础上修改,而是拓展程序;便于程序的维护、拓展和升级;使用接口和抽象类可以满足这样的需求。1、单一职责原则每个类应该实现单一的原则。如果类包含了多个功能职责,就应该把类进行拆分,避免出现因某一个功能需要修改...
2019-04-10 15:44:35
236
原创 transient解析
transient不是常用的关键字,而且在大多数的场合下不怎么使用;下面谈谈我对transient的理解。 关于transient的一般解释:变量修饰符,被transient修饰的变量不参与序列化过程。 我的问题:(1)序列化是怎样的过程?(2)transient的使用范围、场景、注意点 下面一一解答:(1)序列化是怎样的过程?...
2018-11-30 15:01:13
997
1
原创 Integer比较
记录一次integer比较的失误。 背景: 两个integer类型的数据在比较时,使用了==;比较结果为true(前提数值一样)。代码片段如下: Integer id = sp.getId(); List<String> subResource = new ArrayList<&...
2018-11-29 11:56:56
455
原创 Druid连接池连接泄露问题
使用springboot+Druid搭建的项目,项目中使用了多数据源;本来是核查列存数据库报错信息,结果看到了Oracle查询时错误信息。下面贴出错误截图2018-05-08 21:33:11.582 WARN --- [pool-4-thread-1] c.alibaba.druid.pool.DruidDataSource : not full timeout retry : ...
2018-11-27 10:43:53
22695
5
原创 如何配置IDEA生成serialVersionUID
我们会定义一些实体类,把实体类的属性值存储在磁盘或者缓存中,数据在磁盘中是以二进制的形式存放的,也就是说,对象会被转成二进制存储起来,但是在取出的时候,二进制不知道转换成哪一个实体,也就是反序列化会失败,会报错。一般性,我们通常实现序列化接口,来实现上述过程,但是除了要实现这个接口之外,还需要生成一个序列化ID--serialVersionUID。serialVersionUID可以...
2018-11-27 10:41:45
1022
原创 mybatis-generator 的简单使用
插件 mybatis-generator 能够很方便的自动生成domain(实体类)、dao(mapper接口)、mapping(映射xml文件);可以让我们更加专注于业务逻辑,解放大量的时间。使用说明:1、pom<build> <plugins> <plugin> <groupId>org.mybatis.gener...
2018-08-08 11:25:28
174
原创 git clone 报错 “Clone failed: Authentication failed for xxxxx”
从公司的仓库clone项目的时候,一直提示这个错误;可能的情况有:1、在仓库中没有项目操作的权限,需要联系master或者主程序员,把你拉进这个项目里并授权2、打开“git bash”;添加user.name和user.email;身份认证并且可以通过 git config --list 查看3、如果之前一直都可正常clone或者push;突然不行了;想想自己有没有修改过g...
2018-08-02 10:14:34
31912
2
原创 记录一次redis异常
java操作redis,放数或者取数,从上手程度上看-不难。但是,一次一次的异常以及解决会让我们对redis client进一步了解。一个存数据的java redis客户端项目,测试时能够存放数十条数据,使用pipeline的方式。但是,一旦存放千万乃至亿级数据的时候,每次导入数据必定会报同一个错:connection reset Object ...
2018-06-07 16:46:53
1812
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人