自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴声子夜歌的博客

个人学习笔记

原创 IntelliJ Idea 常用快捷键(终极版)

1. 自动代码 常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。 例如要输入for(User user : users)只需输入user.for+Tab。 再比如,要输入Date birthday = user....

2019-08-31 23:52:30

阅读数 820

评论数 0

原创 Spring--AOP事务管理(xml方式与注解方式)和编码式事务管理(举例说明)

[例] 完成一个转账的功能,需要进行事务的管理,使用 Spring 的事务管理的方式完成。 1. 创建一个账户表 t_account,并插入测试数据 DROP TABLE IF EXISTS `t_account`; CREATE TABLE `t_account` ( `id` int(11...

2019-08-29 00:26:19

阅读数 769

评论数 0

转载 Spring事务--事务属性的7种传播行为详解

事务传播行为 什么叫事务传播行为?听起来挺高端的,其实很简单。 即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。 事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。 例如:methodA事务方法调...

2019-08-28 20:32:45

阅读数 778

评论数 0

原创 Spring--JdbcTemplate简介和常用API

JdbcTemplate简介 Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。 JdbcTemplate位于 spring-jdbc-4.3.0.RELEASE.jar 中。其全限定命名为 o...

2019-08-27 23:20:54

阅读数 1108

评论数 0

原创 Spring--AOP配置(注解方式)

Spring AOP的原理 AOP(Aspect-Oriented Programming,面向切面的编程)。 AOP的原理 是使用JDK动态代理和cglib动态代理技术来实现的。 JDK动态代理: 通过实现InvocationHandlet接口,并重写里面的invoke方法,通过为proxy类...

2019-08-26 23:41:27

阅读数 781

评论数 0

原创 Spring--AOP配置(xml方式)

Spring AOP的原理 AOP(Aspect-Oriented Programming,面向切面的编程)。 AOP的原理 是使用JDK动态代理和cglib动态代理技术来实现的。 JDK动态代理: 通过实现InvocationHandlet接口,并重写里面的invoke方法,通过为pr...

2019-08-26 22:49:50

阅读数 791

评论数 0

转载 Spring--AOP中的execution表达式详解

Aspectj切入点语法定义 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式 execution( com.sample.service.impl….(…))* execution()是最...

2019-08-26 22:16:15

阅读数 790

评论数 0

原创 Spring--整合JUnit测试

Spring的junit测试集成 Spring提供spring-test-4.2.4.RELEASE.jar 可以整合junit。 优势:可以简化测试代码(不需要手动创建上下文,即手动创建spring容器) 第一步:新建项目导入junit 开发包 第二步:导入spring-test-4.2.4.R...

2019-08-26 00:26:42

阅读数 769

评论数 0

原创 Spring--注解配置(@Component,@Scope,@PostConstruct,@PreDestroy,@Value,@Autowired,@Qualifier,@Resource)

Spring注解配置 从 Spring 2.5 开始就可以使用注解来配置依赖注入。使用注解的方式使我们无需在XML中配置一个Bean引用,更加简单和方便。 首先要引入context名称空间: xmlns:context="http://www.springframework.org...

2019-08-25 23:35:10

阅读数 755

评论数 0

原创 Spring--四种属性注入方式和复杂类型注入(数组、List、Map、prperties)详解

第一种:set方法注入 首先创建两个实体类 Car 和 User: package pers.zhang.bean; public class Car { private String name; private String color; public String...

2019-08-25 01:08:55

阅读数 967

评论数 0

原创 Spring--三种对象创建方式

第一种方式:空参构造创建对象 最基本的对象创建方式,只需要有一个无参构造函数和字段的set方法。本质上就是使用无参构造器创建对象,然后使用set方法为字段赋值。 User类: public class User { public User() { System.out.println(&...

2019-08-24 21:04:25

阅读数 763

评论数 0

原创 Java--包装类详解(自动装箱和自动拆箱)

对象包装器与自动装箱   有时,需要将 int 这样的基本类型转换为对象。所有的基本类型都有一个与之相对应的类。例如,Integer 类对应基本类型 int。通常,这些类称为包装器(wrapper)。这些对象包装器类拥有很明显的名字:Integer、Long、Float、Double、Short、...

2019-08-24 19:10:43

阅读数 753

评论数 0

原创 Java--举例详解equals方法重写

Object类中的equals方法用于检测一个对象是否等于另外一个对象。在Object类中,这个方法将判断两个对象是否具有相同的引用。如果两个对象具有相同的引用,它们一定是相等的。从这点看,将其作为默认操作也是合乎情理的。然而,对于多数类来说,这种判断并没有什么意义。例如,采用这种方式比较两个Pr...

2019-08-24 15:54:20

阅读数 760

评论数 0

原创 设计模式--单例模式(Singleton)

单例模式(Singleton) 在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。 单例模式的定义与特点 单例(Singleton)模式的定义: 指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows 中只能打开一个...

2019-08-24 14:23:32

阅读数 773

评论数 0

原创 Spring框架基础配置

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架...

2019-08-23 23:22:29

阅读数 779

评论数 0

原创 Java--大数值(BigInteger 和 BigDecimal)

如果基本的整数和浮点数精度不能够满足需求,那么可以使用 java.math 包中的两个很有用的类:BigInteger 和 BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。 使用静态...

2019-08-23 10:14:19

阅读数 755

评论数 0

原创 设计模式--代理模式(Proxy Pattern)

代理模式(Proxy Pattern) 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完成。 在软...

2019-08-23 08:28:28

阅读数 772

评论数 0

原创 Java--String常用API

char charAt(int index) 返回给指定位置的代码单元。除非对底层的代码单元感兴趣,否则不需要调用这个方法。 int codePointAt(int index) 5.0 返回从给定位置开始的码点。 int offsetByCodePoints(int startIndex...

2019-08-22 13:28:16

阅读数 757

评论数 0

原创 设计模式--模板方法(Template Method)

模板方法(Template Method) 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体...

2019-08-22 11:05:28

阅读数 769

评论数 0

原创 Java基本数据类型详解

Java是一种强类型语言。这就意味着必须为每一个变量声明一种类型。在Java中,一共有8种基本类型(primitive type),其中有4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。 整型 整型用于表示没有小数部分的数值...

2019-08-21 13:18:37

阅读数 751

评论数 0

原创 设计模式--责任链模式(Chain of Responsibility)

责任链模式(Chain of Responsibility) 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名...

2019-08-21 08:57:22

阅读数 771

评论数 0

原创 设计模式--中介者模式(Mediator)

中介者模式(Mediator) 在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象。例如,每个人必须记住他(她)所有朋友的电话;而且,朋友中如果有人的电话修改了,他(她)必须告诉其他所有的朋友修改,这叫作“牵一发而动全身...

2019-08-20 13:01:44

阅读数 765

评论数 0

原创 设计模式--迭代器模式(Iterator)

迭代器模式(Iterator) 在现实生活以及程序设计中,经常要访问一个聚合对象中的各个元素,如“数据结构”中的链表遍历,通常的做法是将链表的创建和遍历都放在同一个类中,但这种方式不利于程序的扩展,如果要更换遍历方法就必须修改程序源代码,这违背了 “开闭原则”。 既然将遍历方法封装在聚合类中不可取...

2019-08-19 13:44:07

阅读数 733

评论数 0

原创 2018软件设计师考试(英语部分)

2018年上半年上午卷 Creating a clear map of where the project is going is an importnt first step. It lets you identfy risks, clarify objectives, and determin...

2019-08-18 13:07:48

阅读数 812

评论数 0

原创 设计模式--备忘录模式(Memento)

备忘录模式(Memento) 每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。 其实很多应用软件都提供了这项功能,如 Wor...

2019-08-18 10:24:07

阅读数 746

评论数 0

原创 设计模式--解释器模式(Interpreter)

解释器模式(Interpreter) 在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式来实现了。 虽然使用解释器模式的实例不是很多,但对于满足以上特点,且对运行效率要求...

2019-08-17 11:26:27

阅读数 768

评论数 0

原创 2017软件设计师考试(英语部分)

2017年上半年上午卷 The beauty of software is in its function, in its internal structure, and in the way in which it is created by a team. To a user, a progr...

2019-08-16 13:52:15

阅读数 779

评论数 0

原创 设计模式--享元模式(Flyweight)

享元模式(Flyweight) 在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。例如,围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网中的路由器、交换机和集线器,教室里的桌子和凳子等。这些对象有很多相...

2019-08-16 11:21:39

阅读数 767

评论数 0

原创 软件质量模型(ISO/IEC 9126和Mc Call)

软件质量模型 目前已经由多种软件质量模型来描述软件质量特性,例如ISO/IEC 9126软件质量模型和Mc Call软件质量模型。 ISO/IEC 9126软件质量模型 ISO/IEC 9126软件质量模型由3个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量指标。 该模型的质量特性和...

2019-08-15 14:40:28

阅读数 977

评论数 0

原创 2016软件设计师考试(英语部分)

2016年上半年上午卷 In the fields of physical security and information security, access control is the selective restriction of access to a place or other re...

2019-08-15 13:27:20

阅读数 961

评论数 0

原创 设计模式--外观模式(Facade)

外观模式(Facade) 在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。 软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟...

2019-08-15 09:33:49

阅读数 775

评论数 0

原创 设计模式--建造者模式(Builders)

建造者模式(Builders) 在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 OPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告诉计算机销售公司,计算机销...

2019-08-14 13:22:11

阅读数 735

评论数 0

原创 2015软件设计师考试(英语部分)

2015年上半年上午卷 Why Have Formal Documents? Finally, writing the decisions down is essential. Only when one writes do the gaps appear and the (71) inconsi...

2019-08-13 11:24:10

阅读数 781

评论数 0

原创 设计模式--访问者模式(Visitor)

访问者模式(Visitor) 在现实生活中,有些集合对象中存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同;医院医生开的处方单中包含多种药元素,査看它的划价员和药房工作人员对它的处理方式也不同,划价员根据...

2019-08-13 10:52:44

阅读数 767

评论数 0

原创 设计模式--命令模式(Command)

命令模式(Command) 在软件开发系统中,常常出现“方法的请求者”与“方法的实现者”之间存在紧密的耦合关系。这不利于软件功能的扩展与维护。例如,想对行为进行“撤销、重做、记录”等处理都很不方便,因此“如何将方法的请求者与方法的实现者解耦?”变得很重要,命令模式能很好地解决这个问题。 在现实生活...

2019-08-12 11:07:04

阅读数 786

评论数 0

原创 2014软件设计师考试(英语部分)

2014年上半年上午卷 Cloud computing is a phrase used to describe a variety of computing concepts that involve a large number of computers (71) connected\colo...

2019-08-12 10:49:22

阅读数 755

评论数 0

原创 设计模式--观察者模式(Observer)

观察者模式(Observer) 在现实世界中,许多对象并不是独立存在的,其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变。例如,某种商品的物价上涨时会导致部分商家高兴,而消费者伤心;还有,当我们开车到交叉路口时,遇到红灯会停,遇到绿灯会行。这样的例子还有很多,例如,股票价格...

2019-08-11 11:53:40

阅读数 792

评论数 0

原创 设计模式--状态模式(State)

状态模式(State) 在软件开发过程中,应用程序中的有些对象可能会根据不同的情况做出不同的行为,我们把这种对象称为有状态的对象,而把影响对象行为的一个或多个动态变化的属性称为状态。当有状态的对象与外部事件产生互动时,其内部状态会发生改变,从而使得其行为也随之发生改变。如人的情绪有高兴的时候和伤心...

2019-08-10 12:50:04

阅读数 772

评论数 0

原创 2013软件设计师考试(英语部分)

2013年上半年上午卷 So it is today. Schedule disaster, functional misfits, and system bugs all arise because the left hand doesn’t know what eht right hand i...

2019-08-10 10:34:42

阅读数 762

评论数 0

原创 设计模式--原型模式(Prototype)

原型模式(Prototype) 在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。 原型模式的定义与特点 原型(Prototype)模式的定义如下: 用一个已经创...

2019-08-09 11:14:32

阅读数 766

评论数 0

提示
确定要删除当前文章?
取消 删除