java时间类型转json时自动转化为Long型时间戳

问题由来:

在定义Timestamp,Date这样的时间类型的时候,存数据库时,会自动转化为对应的数据库时间类型,但是在转json的时候发现,会自动转变为long型时间戳。而业务所需要的类型是一个时间格式的String。

Java递归的将JSON所有参数的key的首字母转为大写

问题由来:

这两天对接其他部门的api接口时,发现一个参数检查始终过不去,最后被告知这个参数的首字母必须为大写,这就很恶心了!因为java object自动转出来的json首字母都是小写的!

ThreadLocal和线程的普通成员变量究竟有什么区别?

问题由来:

最近在看多线程的知识,有提到ThreadLocal是一种线程局部变量,每个线程都有相对独立的变量初始化拷贝,是一种以空间换时间的做法。
那么问题来了,

  1. 它和在线程代码里直接写一个普通成员变量有什么区别呢?
  2. 它真的能“以空间换时间”吗?

解决idea新建Module的奇怪路径问题

问题由来:

在部署SpringCloud的时候想新建一个module来快速创建,结果被创建出来的目录结构搞得一脸懵逼,新建的module的根目录跑到了,项目的src目录下,整个看起来乱七八糟,而且remove module之后会有配置文件始终没有被删干净,逼死强迫症啊!最后我是直接把整个项目全删了,然后重新git clone的。

hibernate设置jdbc的编码问题

问题由来:

数据库请求的中文参数始终会有问题,问题定位到请求jdbc的编码,但是在xml里面按照各路方案试了很多次,但是还是不行。

解决方案:

遇到了一个超大的坑!!!!!!!!!
有时候在使用xml作为配置文件的时候,应该要使用xml的编码规则来进行适当的设置。
下面给出xml中一些特殊符号的编码转换:

  • &lt; < 小于号
  • &gt; > 大于号
  • &amp; & and字符
  • &apos; ‘ 单引号
  • &quot; “ 双引号
  • 懂了吗?就是要用unicode编码,不要转过来,我之前也看到有说要用&amp;的,但是一直以为是网站的乱码,就自作聪明改过来了,其实根本不用改!!
    jdbc:mysql://127.0.0.1:3306/ticket?useUnicode=true&amp;characterEncoding=utf-8

Java实现 DES算法ECB模式NoPadding填充

问题由来:

今天客户需要我向机器端发送命令,然后需要加密一个字段,用的就是DES算法ECB模式NoPadding填充。因为之前没有接触过,所以在网上找了很多,最后调试,优化了一个。

HibernateTemplate.save()报错 org.hibernate.exception.SQLGrammarException

1.问题由来

写着写着在用

this.getHibernateTemplate().save(l);

的时候报错了,而且是说sql语法错误,这就有点让人摸不着头脑了,这又没有写sql怎么可能会有sql语句错误,而且以前这么写的时候好像也没啥问题啊。

2.解决方案:

在另外一个博客上,看到有另一个博主也遇到了这个问题

然后我马上检查了一下数据表,果然发现有一个字段名为order,大有嫌疑!
然后把这个字段改了之后,果然错误消失。

怎么给视图的字段一个默认值

问题由来:

在使用Spring JPA来操作一张left join的视图的时候,报了一个错误

就是在null转为long的时候报的错。
一拿到这个问题,第一想法是修改set方法,判断null然后给0,但是转念一想,long是基础数据类型,都没办法用object去接,这就很棘手了。所以只能修改一下视图了。

Netty框架服务端主动向客户端通信

项目场景:

一个车联网项目,很多很多台车辆会定时像服务端发包,所以都是使用TCP长连接的方式。现在有一个需求是,服务端需要向客户端主动的发送升级命令,由于使用的事件驱动的Netty框架,我们怎么才能由服务端主动的向客服端通信呢?

java double类型加减运算时出现的精度丢失问题

问题由来:

今天在写一个业务参数的时候,需要几个数一起算一下最后返回一个浮点数。
一开始我就直接用强制类型转化之后开始加加减减,后来发现总是会在末尾多出一些莫名的小数,这很明显就是精度丢失问题,但是因为是要返回固定的数据类型,不能用Format转成String来固定格式。

解决方案

最正确的做法应该是使用BigDecimal 来转一下类型,这样才是Effective Java 中的推荐方法,但是我有点偷懒,就直接把公式变形了一下,先做加减法(几个int数据)再做除法,这样也不再有精度丢失。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×