开发
zlc147
这个作者很懒,什么都没留下…
展开
-
关于double/float运算精度问题
假设我用0.0056*1000,结果是5.60000000003。在大多数情况下,使用double和float计算的结果是准确的,但是在一些精度要求很高的系统中,这种问题是非常严重的。在《Effective Java》中提到一个原则,那就是float和double只能用来作科学计算或者是工程计算,但在商业计算中我们要用java.math.BigDecimal,通过使用BigDecimal类我们原创 2018-02-05 14:49:06 · 486 阅读 · 0 评论 -
浅析VO、DTO、DO、PO的概念、区别和用处
概念: VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。 DO(...转载 2018-06-11 15:32:24 · 159 阅读 · 0 评论 -
大而全SQL的利弊(就产品迭代而言:弊大于利)
何为大而全的SQL?1.当SQL不是为了一个业务而服务时,它就是大而全的SQL。大而全SQL的优点:1.复用性大而全SQL的缺点:1.维护性、扩展性差(当SQL服务的业务越来越多时,维护SQL很容易影响其它业务。)...原创 2018-12-20 15:59:27 · 552 阅读 · 0 评论 -
mysql limit导致索引选择(选择的并不是最佳索引)的处理方案
昨天公司APP项目上线时遇到一个奇葩问题,在这里简单做一个记录,以避免如果再遇到类似问题再去花费时间寻找解决方案。首先贴出cp_orders表中建立的索引使用限制符limit时,mysql使用了idx_order_type索引,扫描了46w行没有使用限制符limit时,mysql使用了idx_agent_order_type索引(联合索引),扫描了9k行解决方案:1...原创 2019-01-31 14:56:26 · 8204 阅读 · 6 评论 -
Spring 不能注入static成员
Spring不能注入static成员,主要有2个原因:1.static成员与类相关,其中static变量及初始化块只会在类加载器第一次加载类时初始化和执行。(初始化了static变量,也就是给该static变量分配内存了)2.spring进行注入时发现该static变量已经被初始化,于是就忽略了该静态变量。 解决方式:1.可以通过获取ApplicationContext类(...原创 2019-02-02 12:11:48 · 1133 阅读 · 0 评论 -
Integer != 0(Integer为NULL时NullPointerException的问题)
原因:Integer是int的包装类,在与int做条件判断时,Integer会进行拆箱(转化为int),此时如果Integer为null就会出现NullPointerException————————————包括其他基本数据类型也是如此因此在使用基本数据类型的包装类与基本数据类型做条件判断时,一定要先判断该包装类是否为NULL...原创 2019-03-14 11:32:24 · 6463 阅读 · 0 评论 -
HttpServletRequestWrapper替代HttpServletRequest
本文解析以下两个方面1.HttpServletRequestWrapper的作用HttpServletRequest采用装饰者模式包装了HttpServletRequest,客户端发送请求后,容器实例化了一个org.apache.catalina.connector.RequestFacade对象并赋值给了HttpServletRequest RequestFacade采用外观模式包装了...原创 2019-04-04 16:15:26 · 3345 阅读 · 1 评论 -
springBoot通过@Value注入json文件踩坑
问题描述测试服务的版本是Spring Cloud Dalston.SR5 在Spring Boot中配置https时,代码如下: @Bean @ConditionalOnExpression("#{ ${self.https.enable:false}}") public EmbeddedServletContainerFactory servletContainer...原创 2019-04-04 20:06:40 · 4993 阅读 · 0 评论 -
SpringBoot整合log4j(properties配置)踩坑
springboot1.3及以前版本整合log4j,通过properties配置日志,只需引入spring-boot-starter-logger包。springboot1.3以后版本整合log4j,通过xml配置日志,引入spring-boot-starter-logger包。如果想要通过properties配置,需要排除spring-boot-starter-logger包以及其他包中所有...原创 2019-04-11 12:09:24 · 3231 阅读 · 0 评论