- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 工具类用依赖注入来引用资源,而非使用static方法
假设工具类为拼写检查器,它工作需要依赖字典,下面是工具类的一种常用写法:public class SpellChecker { private static final Dictionary DICTIONARY = new Dictionary(); private SpellChecker() { throw new UnsupportedOpera...
2019-03-25 14:50:14
1146
原创 通过私有构造方法来强化单例属性
这是一个简单的单例类:public class Singleton { public static final Singleton INSTANCE = new Singleton(); private Singleton() {} public static Singleton getInstance() { return INSTANCE;...
2019-03-24 16:57:54
147
原创 builder模式
当某个类中有多个参数时,如果在构造方法中提供参数的设置,将会出现数量众多的组合,代码可读性会非常差此处例子只有3个参数,构造方法已经众多,并且还有参数类型之间的冲突问题public class Student { private Long id; private String name; private String phoneNumber; //......
2019-03-24 14:19:47
313
原创 静态工厂方法替代构造器(精简)
1.用静态工厂方法避免每次调用时都创建新对象如: public static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE); }用Boolean bool = Boolean.valueOf(true);替代Boolean bool=new Boolean(true);...
2019-03-24 13:40:01
243
原创 线程池为基础的ScheduleExecutorService应用
java中的计划任务Timer工具类提供了以计时器或计划任务的功能来实现按指定时间或时间间隔执行任务,但由于Timer不是以池pool,而是以队列的方式来管理线程的,所以在高并发的情况下运行效率较低,在JDK1.5中提供了 java.util.concurrent 包来进行以线程池为基础的任务调度,在高并发下效率大大提高,几个常用接口和类之间的关系:Executor是一个执行器,只有一个e...
2019-01-20 18:04:12
373
原创 i西科里一些可以改进的地方
先说一个最大也是最奇葩的问题,工程里所有Service接口的实现类里的方法都没有加@Override,if/else/while也不加大括号,经常一堆if/else套在一起看着就难受,80%的代码没有注释原代码 : public String getUrl(String key) { // 设置URL过期时间为10年 3600l* 1000*24*365*1...
2019-01-12 15:12:59
381
1
原创 一个小细节引起的bug
近日想找一找java裁剪图片的方法,结果各种方法层出不穷,其中这几种方法占大多数:用图片流来处理,还用到了Iterator迭代器?? 而且使用结构还不规范,正确:Iterator<ImageReader> 还有一种,用复杂的坐标来计算然而在BufferedImage 里有个getSubimage方法可以直接用来裁剪图片,难到这群人从来都不看源码的么 ...
2018-11-05 11:23:57
387
原创 使用Ajax请求并接受后台数据以及数据的简单处理
假设数据库中有这样一张表用来记录文章信息,其中picturepath是记录的文章中的图片,不同图片用;隔开 后台返回json数据:/** * 查询所有文章 * * @author xuLiang * @since 0.0.1 */ @GetMapping("/articles") @ResponseStatus(HttpStatus.OK) @Respo...
2018-10-11 21:00:05
12697
1
原创 分布式构架中用户登陆的验证方式
之前在i西科的项目里看到了这样一段代码注释里说的很清楚,就是用来验证用户登陆的。他这里用了登陆凭证的方式来验证登陆,而我之前写的项目里都是直接在服务器上保存session,于是我去查了一下这两种方式的区别,这里大致介绍一下。 先来看使用session验证的代码:请求体:/** * 用户登陆请求体 * * @author xuLiang * @since 0.0.1...
2018-09-30 20:23:37
4005
原创 并发中线程锁,线程池的应用
今天想测试一下疼讯云的垃圾服务器,用python脚本测试接口,共计5000次,本来只是想看看服务器的处理速度,但是在脚本中的测试数据是全部写死了的,这5000次请求理论上应该只有1次是成功的,但是结果却是有13次成功,因为我在数据库中的表是把每个数据都设置成了主键,所以最终只增加了1条数据。但是为什么响应成功的次数不是1次呢?嗯,肯定是多个线程同时操作导致的,经查阅,加锁可以解决此类问题,于是决定...
2018-09-30 02:39:49
923
原创 Java mail应用实例
//带附件的邮件发送器,废话少说,直接上源码;本来有加载图片功能,但是不同分辨率的图片不好处理,预览的时候容易把界面挡住,所以就删掉了。WindowBuilder可运行。public class APP { private JFrame frame; JTextField txtqqcom; JTextField textField; JTextField textField_2...
2018-06-05 15:35:00
624
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅