摘要:
大家都知道事务管理是基于AOP的,对AOP还不了解的请自行百度。 实现一个事务需要以下几步:1.获取数据库连接 2.执行数据库操作 3.如果2步骤发生异常就回滚,否则就提交 4.释放资源。 然后1、3、4步骤是所有事务所共有的逻辑,程序员真正需要关心的只有第2步,spring的事务管理也正是帮我们做 阅读全文
摘要:
原因:一般遇到这个错输入y/n都不能解决问题,出现这个问题的原因可能是其他程序正在操作git目录下面的文件,导致git无法关联该文件。 比如用dos命令窗或者git bash打开当前分支的文件,不关闭的情况下再切换到其他分支,等再切回来的时候就会报这个错,怎么确认(y)都无济于事。 解决方法:这里的 阅读全文
摘要:
spring的ioc容器是一种特殊的Ioc Service Provider(ioc服务提供者),如果把普通的ioc容器认为是工厂模式(其实很相似),那spring的ioc容器只是让这个工厂的功能更强大服务更全面,它们之间存在一定的交集。 Spring提供两种容器类型:BeanFactory和App 阅读全文
摘要:
我们知道启动spring容器两常见的两种方式(其实都是加载spring容器的xml配置文件时启动的): 1.在应用程序下加载 2.web模式下加载 可以发现,执行new ClassPathXmlApplicationContext()的时候会打印以下日志: 即调用AbstractApplicatio 阅读全文
摘要:
一、问题描述 前阵子我们因为B机房故障,将所有的流量切到了A机房,在经历了推送+自然高峰之后,A机房所有服务器都出现java线程数接近1000的情况(1000是设置的max值),在晚上7点多观察,java线程数略有下降,但还是有900+的样子,而此时,单台服务器的TPS维持在400/s,并不是一个特 阅读全文
摘要:
在看ico概念之前,先想一下我们平常需要依赖某个类时会怎么做? 无非是在要用到的地方写如下代码: 先不说这样做有什么不好,想一下我们的目的只是想调用person的说话服务而已,每次调用前都需要自己创建个person对象这样是否真的有必要?答案当然是no。 在上面的例子中,被注入对象直接依赖于被依赖对 阅读全文
摘要:
前两天和同事交流发现他在日常开发中跟上游保持同步每次都是用git pull操作,而我一直习惯git fetch然后rebase,发现这两种操作后的log是有些区别的。他每次pull操作之后都会自动生成一个merge记录,而使用fetch+rebase就没有。 查了下发现其实就是git pull命令两 阅读全文
摘要:
今天在项目里需要实现一个定时任务,每隔3个小时将过滤的广告通过邮件上报给运营一次。考虑了一下,从实现的技术上可以有三种做法: 1.Java自带的java.util.Timer类,这个类允许调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时 阅读全文
摘要:
我们知道jetty有一种启动方式是在jetty的根目录中运行命令行:java -jar start.jar,这个命令会调用apache的XmlConfiguration工具类作为启动类,这个类会默认读取/etc/jetty.xml文件,加载jetty启动所必须的配置。接下来分段研究: 这段配置是整个 阅读全文
摘要:
今天有个学弟问了我一个面试题: 输出什么?为什么?说来惭愧,我的直觉告诉我会输出flase,但突然间还想不出来为什么。。所以写了个例子研究了下: 结果输出: 这里前两个和后两个都很好理解,就不说了,第三个也就是开头提出的那个问题,输出flase说明i3和i4是两个不同的对象。然后debug看了一下: 阅读全文