- 博客(15)
- 收藏
- 关注
原创 《 Thinking in Java 》第十一章 持有对象
Java 有多种方式保存对象(应该说是对象的引用)。数组集合类也叫容器数组是保存一组对象的最有效的方式。泛型和类型安全的容器ArrayList 当做“可以自动扩充自身尺寸的数组”。@SuppressWarnings(“unchecked”) 表示只有有关“不受检查的异常”的警告信息应该被抑制。原生 ArrayList 也就是没加泛型的,保存的是 Object,因此可以添加所...
2018-10-05 12:09:32
216
1
原创 《 Thinking in Java 》第十章 内部类
可以将一个类的定义放在另一个类的定义内部,这就是内部类内部类与组合是完全不同的概念。内部类看起来像是一种代码隐藏机制,但是它还了解外围类,并能与之通信;更优雅!!!创建内部类很简单——把类的定义置于外围类的里面:public class A { class InnerA { } public InnerA getInnerA() { return new InnerA()...
2018-10-01 16:26:15
432
原创 《 Thinking in Java 》第九章 接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方式抽象类和抽象方法抽象方法:仅有声明而没有方法体。下面是抽象方法语法:abstract void f();包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的。如果想从一个抽象类继承,并想创建该心累的对象,就必须为基类中的所有抽象方法提供方法定义。如果不这样做,那么导出类也是抽象类,编译器...
2018-10-01 12:13:46
306
1
原创 《 Thinking in Java 》第八章 多态
多态是既抽象和继承之后的第三种基本特征。多态通过分离做什么和怎么做,从另以角度将接口和实现分离开来。“封装”通过合并特征和行为来创建新的数据类型。“实现隐藏”则通过将细节“私有化”把接口和实现分离开来。而多态的作用则是消除类型之间的耦合关系。多态(也称作动态绑定、后期绑定或运行时绑定)。再论向上转型把对某个对象的引用视为其对基类型的引用的做法被称作向上转型。从子类向上转型到基类会缩小...
2018-09-30 14:39:10
174
原创 《 Thinking in Java 》第七章 复用类
组合语法只需将对象引用置于新类中即可。例如,假设你需要某个对象,它要具有多个 String 对象、几个基本类型数据,以及另一个类的对象。对于非基本类型的对象,必须将其引用置于新的类中,但可以直接定义基本类型数据。如果想初始化这些引用,可以在代码中的下列位置进行:在定义对象的地方。意味着他们总是能够在构造器被调用之前被初始化。在类的构造器中在正要使用这些对象之前,这种方式被称为惰性初始化...
2018-09-30 12:01:35
163
原创 《 Thinking in Java 》第五章 初始化与清理
用构造器确保初始化在 Java 中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。创建对象时,如果类具有构造器,Java 就会在用户有能力操作对象之前自动调用相应的构造器,从而保证了初始化的进行。命名的方案:构造器采用与类相同的名称。从概念上讲,“初始化” 与 “创建” 是彼此独立的,然而在 Java 的代码中,找不到对 initialize() 的方法的明确调用。在 Java ...
2018-09-29 23:27:24
254
原创 《 Thinking in Java 》第四章 控制执行流程
true 和 falseJava 不允许用数字作为布尔值使用,要用条件表达式将其转换为布尔值。迭代while、do-while 和 for 用来控制循环,有时将他们划分为迭代语句( iteration statement )。语句重复执行,直到布尔表达式得到假的结果为止。while 循环格式如下while(Bootlean-expression) statement在循环刚开始...
2018-09-29 19:53:21
201
原创 《 Spring in action》复习笔记 - 第七章 Spring MVC 的高级技术
处理 multipart 形式的数据配置 multipart 解析器DispatcherServlet 没有实现任何解析 multipart 请求数据的功能。它将该任务委托给了 MultipartResolver 策略借口的实现。Spring 内置了两个 MultipartResolver 的实现供我们选择:CommonsMultipartResolver : 使用 Jakarta Com...
2018-09-24 12:28:40
271
原创 Spring MVC 跨重定向请求传输数据
跨重定向请求传递数据方法有二:使用 URL 模板以路径变量和/或查询参数的形式传递数据;通过 flash 属性发送数据。通过 URL 模板进行重定向在创建 URL 的时候,直接使用 String 拼接是很危险的,建议使用模板的方式来定义重定向 URL。@RequestMapping(value="/modify", method=RequestMethod.POST) publi...
2018-09-23 20:03:45
171
原创 《 Spring in action》复习笔记 - 第十六章 创建 REST API
REST 的基础知识表述性( Representational ):REST 资源实际上可以用各种形式来进行表述,包括 XML 、JSON 甚至 HTML状态( State ):当使用 REST 的时候,更关注资源的状态而不是对资源采取的行为转移( Transfer ):REST 涉及到转移资源数据,它以某种表示形式从一个应用转移到另一个应用在 REST 中,资源通过 URL 进行识别...
2018-09-23 09:26:58
159
原创 Spring 集成 MyBatis
记录一次 Java 类配置集成的方式自动的配置 DispatcherServlet 和 Spring 应用上下文public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] ...
2018-09-14 15:50:29
159
原创 配置 C3P0 数据源
配置 C3P0 数据源<context:property-placeholder ignore-unresolvable="true" location="classpath:xxx.properties"/><!-- 配置C3P0数据源 --> <bean id="datasource" class="com.mchange.v2.c3p0.Comb.
2018-09-13 20:53:01
1462
原创 《Think in java》 第六章 访问控制权限
权限包:库单元当编写一个Java源代码文件时,此文件通常被成为编译单元(有时也成为转移单元)。每个编译单元都必须有一个后缀名 .java ,而在编译单元内则可以有一个 public 类,该类的名称必须与文件的名称相同。如果该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的。代码组织当编译一个 .java 文件时,在 .java 文件中的每个类都会有一个输出文件,后缀为...
2018-09-12 20:42:19
141
原创 《 Spring in action》复习笔记 - 第二章 装配 Bean
本章内容声明 bean构造器注入和 Setter 方法注入装配 bean控制 bean 的创建和销毁Spring 配置的可选方案 当描述 bean 如何进行装配时, Spring 具有非常大的灵活性,它提供了三种主要的装配机制: 在 XML 中进行显示配置。在 Java中进行显示配置。隐式的 bean 发现机制和自动装配。 Tips: 根据需要使用一种...
2018-09-12 15:29:42
141
原创 《 Spring in action》复习笔记 - 第一章 Spring 之旅
本章内容Spring 的 bean 容器介绍 Spring 的核心模块更为强大的 Spring 生态系统Spring 的新功能简化 Java 开发为了降低 Java 开发的复杂性,Spring 采取了以下 4 种关键策略:基于POJO的轻量级和最小侵入性编程;通过依赖注入和面向接口实现松耦合;基于切面和惯例进行声明式编程;通过切面和模板减少样板式代码激发...
2018-09-12 10:34:46
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人