`
guanpanpan
  • 浏览: 16961 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
文章列表
通过编程无法避免的,用已检查异常异常处理。比如网络断开。如DataFormatException。 RuntimeException通过编程可以避免,要在编程时对出现的RuntimeException的情况判断。比如除数是0,数组越界等。 但现在还有比较流程用RuntimeException来替换掉所有有Exception。这种情况主要是为了代码更美观。在调用链上谁可以处理谁就可以捕。用RuntimeException封装Exception的两种方法,直接封装和用RuntimeException子类。详见:《java编程思想P280》   异常和方法返回值的选择,个人倾向于方法返回值。 ...
今天发现公司的自定义标签autoStart不支持属性文件 autoStart="${boot.mq}",看过源代码确实是直接读出的 String autoStart = element.getAttribute("autoStart"); if ((autoStart == null) || (autoStart.isEmpty()) || (autoStart.equals("true"))) { builder.setInitMethodName("open"); } ...
  CountDownLatch latch latch = new CountDownLatch(dbMax) ExecutorService executorService = Executors.newFixedThreadPool(size); executorService.execute(new UserinfoRunable(dbNo, tableNo)); executorService.shutdown(); try {      latch.await(); } catch (InterruptedException e1) {      log.erro ...
文件相关 下载文件:sz 上传文件 rz  删除文件:rm rm -rf * 拷贝:cp –r d1 d2  移动: mv file.exe /tools  ll, ls -l 文件信息 查看文件大小:du 文件名 vi /etc/hosts
  1)内存结构 堆 Young新生代 Eden(伊甸)   Survivor(幸存者)
有时我们程序需要不断处理一件事情 如果实时性要求很高,如几秒内,那用程序启动线程循环处理是个不错的选择。 但如果实时性要求不是很高,分钟级或以下,那可以选择换个方式,使用linux crontab 好处:只要linux不挂,程序就可以正常运行,linux服务器重启后服务也不受影响。比上种方式更稳定,编程更简单。 linuxcrontab设置 在命令端输入crontab -e,加入定时调用 */5 * * * * /opt/consumegradesql/run_add.sh   linux脚本run_add.sh: 注意:crontab,在设定环境变量java_home时必 ...
1)加载类 2)加载资源 com.explorers.Test.class.getResourceAsStream("abc.jpg") com.explorers.Test.class.getResourceAsStream("/com/explorers/abc.jpg") ClassLoader.getResourceAsStream("com/explorers/abc.jpg")   如果查找配置文件,有时会做出如果程序找不到配置文件就退出,如果不是在程序启动时调用,而是在静态方法时调用,则会出现在类第一次加载时程 ...
附件为PPT
批量更新数据 /** * 批量更新数据 * @author guanpanpan * * @param <T> */ public abstract class BatchUpdate<T> { public final static Logger log = LoggerFactory.getLogger(BatchUpdate.class); public void execute(DB db, Collection<T> datas) throws SQLException { if (datas = ...
1.接口   package com.jd.consume.domain.lock; import java.util.List; import com.jd.consume.domain.model.OrderTask; /** * 用户消费任务锁定 * @author guanpanpan * */ public interface DataLock { /** * 从数据库中查询一定数量的OrderTask,并进行lock,lock到指定条数就返回,如果lock不到就返回空集合 * @param modeSize 总模数 ...
•需求:软件的价值-领域部分,和技术无关 •设计:减少成本 •领域建模:贯通需求和设计,突出领域模型,让领域的复杂度和代码的复杂度相匹配 •抽象:并不是象现实世界,而是对现实世界中根据我们要解决的问题进行的抽象建模,比如房子根据我们关注点不同可以抽象成门窗户等构成,但也可以抽象成水泥,钢筋等构成的。 界面层 应用逻辑层 领域层(实体,值对象,服务) 基础设施层 是允许再加层的,比如要向其它系统提供远程服务。可以在应用逻辑上层,加入一个门面或外观,然后再加一层WebService层。如果改天改用ICE直接再在外观上层加个ICE层就好。 领域逻辑的实现: ...
1.spring配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="htt ...
总论 1.可以不用多线程最好不要用 2.如果可以不共享数据最好不要共享 3.服务器端最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间) * cpu数量 因为数据库访问等待造成线程等待时间长比较长见,下面的例子就是以数据 ...
1.配置文件important.properties ##lock addConsumeLock.maxLockSize=2 addConsumeLock.getSize=4 ##thread addConsumeJob.threadSize=2 ##orderTaskRepository orderTaskRepository.postTableSuffix=2012   2.配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:/ ...
Global site tag (gtag.js) - Google Analytics