自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 正确理解Threadlocal类以及内存泄漏问题

2017.8.5更新:tomcat低版本在reload或者stop一个web app时(一个tomcat可以运行多个web app),如果tomcat线程池中的线程中的threadlocalmap持有了由某个web app classloader加载的类,那么该web app classloader是无法被回收的,在tomcat7.0中,引入了ThreadLocalLeakPreventionLis

2017-03-12 21:59:55 1541 3

转载 MySQL的语句执行顺序

MySQL的语句执行顺序原文:http://www.cnblogs.com/rollenholt/p/3776923.htmlMySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作。其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如

2017-03-30 19:28:02 187

原创 理解spring中自动注入autowiring概念

这篇文章讲的很好。http://howtodoinjava.com/spring/spring-core/spring-beans-autowiring-concepts/spring的自动注入实现了bean之间的DI,分为五种:默认为nobyNamebyTypebyConstructorautodetect 首先按4 没有再按3

2017-03-28 21:22:33 1364

原创 使用BigDecimal的一个小坑

用 BigDecimal 进行累加时,会用以下方法:BigDecimal price = BigDecimal.ZERO;price.add(new BigDecimal(6));坑就在第二句,因为BigDecimal类是事实不可变类,所以BigDecimal类的add方法并不会改变当前对象,只会返回一个BigDecimal类型的新结果,所以对BigDecimal类进行累加时,需要重新赋值引用:B

2017-03-28 20:47:47 725

原创 开发中遇到的两个小问题

1.要处理买家的名字,之后再显示,中间用  * 号代替,两头各留一个字。如果买家有昵称,则处理昵称,否则处理买家 pin 。 一开始是这样判断的:if(buyer.getNickname() !=null){ result.addAttribute("buyerName", hideBuyerInfo(buyer.getNickname()));}else{ result.add

2017-03-27 19:54:40 273

原创 父类实现了序列化,如何阻止子类可以序列化?

A:怎么会有如此奇葩的需求?。。你不知道这违反了里氏替换原则吗?(子类对象可以无条件的替换父类对象) 好吧,如果你非要这样做,给你两条建议作为参考:把父类标记为final,这样就没人可以继承它了(我知道这完全不是你想要的结果…)把父类或子类中的一些字段标记为transient,这样你就可以只序列化你想要的字段了。B:你可以在子类中实现以下接口(如果类中实现了一下接口,那么在使用ObjectIn

2017-03-26 23:30:27 1744

原创 jdk中的标记性接口

java.util.RandomAccess 用来给集合类型标记可高效随机访问特性java.io.Serializable 标记该class可用于序列化,实现此接口的类可以提供一个serialVersionUID 用于反序列化时校验是否加载了此对象的类,也可以不提供,序列化时自动生成一个。暂时只想到两个,欢迎大家在评论补充。

2017-03-26 18:00:32 588

转载 java代码中init method和destroy method的三种使用方式

java代码中init method和destroy method的三种使用方式摘要: 在Java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等。原文:https://yq.aliyun.com/articles/66657在Ja

2017-03-26 14:24:03 812

转载 Java核心技术点之动态代理

Java核心技术点之动态代理    本篇博文会从代理的概念出发,介绍Java中动态代理技术的使用,并进一步探索它的实现原理。由于个人水平有限,叙述中难免出现不清晰或是不准确的地方,希望大家可以指正,谢谢大家:)    原文:http://www.cnblogs.com/absfree/p/5392639.html一、概述1. 什么是代理    我们大家都知道微商

2017-03-26 13:19:53 879

原创 java中判断一个String是否都由数字组成

1.循环一个一个遍历public static boolean isAllFormedByDigits(String str) { if (str == null || str.length() <= 0) { return false; } for(int i=0;i<str.length();i++) { if (!Character.isD

2017-03-14 20:18:45 354

转载 java Queue中 remove/poll, add/offer, element/peek区别

原文地址:http://blog.csdn.net/ustcjackylau/article/details/42454779这里简单对其重复的方法做点简单的区分。offer,add区别:一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unc

2017-03-14 16:29:25 534

转载 Java中四种引用(强、软、弱、虚)

原文:http://blog.csdn.net/caijunjun1006/article/details/11935967Java中存在四种引用,它们分别是:1. 强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错

2017-03-13 15:09:24 964

原创 linux下查看程序日志的一些总结

在开发中,我们经常在代码中添加日志,主要作用是程序在服务器上跑出bug时方便进行问题排查,因为在服务器上不可能像在本地运行程序那样debug,所以日志对于我们非常重要,几乎就是解决问题唯一能依赖的东东。在查看服务器日志时,经常使用以下几条命令:tail -300f xxx.log | grep "userId"tail -300f xxx.log | grep "userId" -B 20 -C

2017-03-09 15:50:23 14121

原创 java方法传递引用、传递基本类型

包裹类

2017-03-07 16:08:31 1665

原创 关于服务器时钟不同步的问题

测试测试时,发现一个bug,订单的xx支付时间比下单时间早一秒。经过查看代码,发现生成下单时间的方式是在java中new Date( ),然后将值插入数据库,然后xx支付时间是在mybatis的xml中使用数据库now( )函数在数据库服务器生成的,由于java应用服务器和数据库服务器时钟不同步,所以造成了这种不确定性问题。解决方法:同步java应用服务器和数据库服务器的时钟,这个需要运维写脚本维

2017-03-03 17:40:15 3524

原创 新建springmvc项目时碰到的两个bug

用idea maven-archetype-webapp新建了一个springmvc项目,然后写了一个controller@Controllerpublic class HelloController { @RequestMapping(value = "/",method = {RequestMethod.GET,RequestMethod.POST}) public Strin

2017-03-02 10:14:24 360

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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