随笔分类 - 开发经验
摘要:1. TaskExecutor Spring异步线程池的接口类,其实质是java.util.concurrent.Executor Spring 已经实现的异常线程池: 1. SimpleAsyncTaskExecutor:不是真的线程池,这个类不重用线程,每次调用都会创建一个新的线程。 2. Sy
阅读全文
摘要:Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程。使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor.在开发中实现异步任务,我们可以在配置类中添加@EnableAsync开始对异步任务的支持,并在相应的方法中使用@Async注解
阅读全文
摘要:Top全异步方式调用技术方案 背景:目前top通过servlet3.0技术结合异步管道化框架做到半异步调用,半异步调用采用异步线程同步调用后端的方式来做api call 半异步的好处 在异步线程使用的是权重线程池,在异步线程的资源分配上做到可控,通过这个我们
阅读全文
摘要:用户下单后调用第三方支付付款,然后接收第三方支付的异步通知,以便确认支付是否成功。 如下图 但异步通知可能由于网络原因,或者应用服务崩溃没有接收到。为了应对这种情况需要后台创建一个定时任务去调用第三方接口,主动查询支付结果。这种情形下就涉及并发的问题,可能后台定时任务跟异步通知同时收到了支付成功结果
阅读全文
摘要:NIO 入门 <! Article Top Bar <! Author and article info. Greg Travis2003 年 11 月 17 日发布 <! Social <! Sharing links 分享此页面WeiboGoogle+用电子邮件发送本页面 <! Number o
阅读全文
摘要:j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维。 POJO(plain old java object):普通的java对象,有别于特殊的java对象(含继承约束等)和EJB。POJO一般只有一系列的属性和相应
阅读全文
摘要:Windows中DLL文件的意义及其作用 DLL是Dynamic Link Library的缩写,意为动态链接库。DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于windows的程序
阅读全文
摘要:以下是我整理的自己开发过程中的常用Eclipse插件,按字母排序: (1) AmaterasUML 介绍:Eclipse的UML插件,支持UML活动图,class图,s
阅读全文
摘要:大家在用eclipse下载插件,或更新插件的时候,有木有觉得速度贼慢,蜗牛似的速度简直让习惯了4G时代的我们抓狂到底,废话不说,先给大家奉献解决办法 网上找到的国内镜像总结: 1.企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/ 网易开源镜像站:http://mirror
阅读全文
摘要:把eclipse 4.x的界面改为经典样式 打开eclipse,菜单栏>windows>preference>general>appearance>theme>classic>ok,如下图: 然后重启eclipse。如下图: 打开eclipse,菜单栏>
阅读全文
摘要:感谢王同学分享了热部署插件,jrebel,说修改后台代码可以不用重启tomcat,于是立即下载使用。。。。本来很简单的一个事情,因为参照了网上各种帖子,结果坑的不行。。。。所以把自己的经验分享一下。 第一步:FQ。。。。 FQ我用的是谷歌的浏览器插件,tunnello,先是从王同学那边拷贝了一个ho
阅读全文
摘要:Pivotal tc Server之前叫做SpringSource tc Server,包含三个版本分别是:Spring版、标准版和开发版,但其中只有开发版是免费的。比如在STS中包含的版本就是开发板。 SpringSource tc Server是一个企业版本的Apache Tomcat,广泛使用
阅读全文
摘要:ArrayBlockQueue 可阻塞的队列 > 队列包含固定长度的队列和不固定长度的队列。 > ArrayBlockQueue > 看BlockingQueue类的帮助文档,其中有各个方法的区别对比的表格。 > 只有put方法和 take 方法才具有阻塞功能 > 用3
阅读全文
摘要:java.util.concurrent.Lock 1、Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。 lock替代synchronized class Outp
阅读全文
摘要:概述 工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率。谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来。所以就诞生了guava。。 高效设计良好的API,被Google的开发者设计,实现和使用遵循高效的java语法实践使代码更刻度,简洁,简单节约时间,
阅读全文
摘要:同学你这个涉及了两个概念。 一个是抽象方法,一个是方法重载。 先说下概念: 抽象方法就是abstract描述的方法,它本身不含实现,必须由子类实现。 方法重载则是同一个方法名,但是参数类型或者参数个数不同。 理解了这个再看看你的问题。 如果你的子类的“对应的方法”有多个参数,那么,你这个子类的该方法
阅读全文
摘要:接口方法声明只能是public abstract的,所以不管你在声明的时候加不加abstract,都是可以的。Java 8开始,接口还引入了默认方法,也就是可以给接口的方法提供默认的实现,默认方法应当声明为:public default并实现,public可以省略。 举个例子: public int
阅读全文
摘要:Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotat
阅读全文
摘要:1.我之前用来判断Bigdecimal类型是否等于0的方法 b.equals(BigDecimal.ZERO); 用equals方法和BigDecimal.ZERO进行比较。 2.上面方法存在的问题 有一天,调用这个这句代码的时候,传入的确实是0,但却返回false 查看源代码发现: Bigdeci
阅读全文