- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 Callable方式创建线程,并使用线程池异步执行任务
线程的创建方式比较熟悉的是通过集成Runnable接口或者集成Thread类来实现,但是这两种方法都在线程执行完成后无法获取到执行结果,如果想异步执行某个任务并且执行完成之后需要知道他执行的结果的话可以使用Callable方式实现。 例如创建一个ReadBookService类除了实现本身的业务接口外还实现Callable接口,Callable接口的异步执行方法是call...
2018-12-14 20:32:38
2621
1
原创 springMvc+maven中整合junit
junit在运行时候需要用到log4j,但是log4j的配置文件在启动的时候需要加载得到,这就要求一开始能够找到这个log4j.properties文件,在junit中默认是从src文件目录寻找到log4j.properties文件,但是如果log4j.properties文件不在src目录下则会报如下错误:Cannot Initialize log4j log4j:WARN No appende
2016-06-13 16:00:24
1420
原创 Hibernate的事务管理
事务就是指作为单个逻辑工作单元执行的一组数据操作,这些操作要么全部成功,要么全部失败,以保证数据的一致性和完整性事务具有以下ACID属性:A(Atomic)原子性:事务是由一个或者多个行为绑在一起组成,好像是一个单独的工作单元。原子性确保在事务中的所有操作要么都发生,要么不发生。C(Consistent)一致性:一旦一个事务结束了(不管成功与否),系统所处的状态和它的业务规则是一致的。
2015-05-29 20:36:08
467
原创 一路走过,风雨同舟—记研二这一年学习经历(一)
5月11日,星期一,这一天合肥刮起了很大的强风,也在这一天,我向中科院的导师提出了要回学校的请求。当导师答应我返校请求时,我也知道研二这一年的实习经历算是划上了个句号吧。 从2014年的7月1号,到今年的5月11号,算起来也应该差不多有10个月左右吧。10个月的时间不算很长,但10个月的种种记忆确实是非常的长。这10个月中实习生活的地点横跨了整个合肥城区,从西北角的北二环到西南角的科
2015-05-13 14:45:36
1291
原创 java继承中方法调用的动态绑定
一个父类对象通过向上转型获得子类对象的引用,子类中定义了和父类一样的方法,当父类对象调用自身的方法时,会转向调用子类相应的方法。例如:package mian4;class Shape { public void draw(){}; public void erase(){};}class Circle extends Shape{ public void draw() {
2015-05-07 14:36:03
1569
原创 java继承中静态成员变量的初始化顺序
《thinking in java》一书中的一个例子package mian4;class Insect { private int i = 9; protected int j; Insect() { System.out.println("i="+i+",j="+j); j = 39; } private static int x1 = printInit("stati
2015-05-07 10:39:39
669
原创 java中变量初始化的问题
java中所有的变量在使用之前必须得到初始化,例如下面的句子;void f() { int i; i++;}函数中的i没有进行初始化工作就进行相加,这样是行不通的。在一个类执行构造函数创建对象之前,会对类中的所有变量进行初始化工作,变量包括了基本的数据类型和创建的类对象。例如:class Bowl { int i; Bowl() {
2015-05-06 15:35:34
736
转载 java中final,finally,finalize三个关键字的区别
final当这个关键字修饰一个类时,意味着他不能派生出新的子类,也就是说不能被继承,因此一个类不能被同时声明为abstract和final。当final修饰变量或者方法时,可以保证他们在使用中不会被改变。被声明为final的变量必须在初始化时给定初值,以后在使用时只能被引用而不能被修改。同样,当final修饰一个方法时,这个方法不能被重载。finally异常处理时提供finally来执
2015-05-06 14:06:52
6759
1
转载 软件生命周期
软件生命包括了3个时期:软件定义期,软件开发期,软件维护期。1 软件定义期: 主要由软件系统需求分析人员和用户交流合作,针对有待开发的软件系统进行分析、规划和规格描述。通常需要分阶段得进行以下工作。 1) 任务立项与可行性分析 必须确定待开发软件系统的总目标,给出它的功能、性能、约束、接口以及可靠性等方面的要求;由软件分析员和用户合作,探
2015-05-02 10:36:41
777
1
转载 软件项目管理的内容
从软件工程的角度看,软件开发主要分为需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。从用户的角度来看,软件项目的生命周期应该包括前期的论证工作、项目计划、软件开发、运行,维护。关键技术 1)人力配置 2)沟通管理 3)可靠的软件需求 4)周密的可行计划 5)完备的文档资料 6)严格的风险管理
2015-05-02 10:31:35
858
原创 对于抽象类的总结
1.抽象类中的抽象函数必须在子类中进行override。如Furit中的cost函数必须要在Apple中进行重写2.子类在进行创建对象时默认会调用父类的构造函数,如果父类中存在有参数的构造函数时,在子类进行中必须显示的实现父类的构造函数,但是如果父类中不存在含有参数的构造函数则子类中不必去显示的实现,但是会默认调用无惨的构造函数。3.父类中的成员变量如果是用private修饰的,则在子类中
2015-04-21 16:33:00
916
原创 java接口与抽象类的对比
网上很多人问关于抽象类和接口的对比,其实我觉得接口就是一个特殊形式的抽象类,简化抽象类取出抽象类中的成员变量,把抽象函数改成普通函数就是抽象类了。 其实在工作中我觉得接口用的比较多,在代码解耦中的应用非常好,以前实习经常做的就是在控制层到业务层之间解耦,控制层调用业务层的接口,业务层的接口具体怎么实现,控制层可以不用管。而抽象类中用于解耦的目的比较少,用的多的就是在于把几个公共的类中的共有属性放在...
2015-04-21 16:18:17
607
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人