- 浏览: 36332 次
- 性别:
- 来自: 北京
最新评论
-
LiangXunfly:
楼主好棒,我看java编程思想的泛型看了好久都没看懂,擦除不是 ...
java基础之泛型 -
ljl961890233bear:
步骤和执行顺序 ,复用处理过程。是temp模式的精髓。
java设计模式——模板方法模式 -
lwbbupt:
LancCJ 写道干了几年开发,我对这些竟然毫无所知,哎,我这 ...
java设计模式——装饰者模式 -
LancCJ:
干了几年开发,我对这些竟然毫无所知,哎,我这个锤子怎么办
java设计模式——装饰者模式 -
lwbbupt:
米奈希尔 写道楼主用的什么建模工具,挺漂亮的Idea 自带的, ...
java设计模式——观察者模式
文章列表
一、hibernate类型系统
hibernate类型系统分为3类:实体、值类型和映射类型
实体:实体类型具有标识符属性的类,可能处于三种周期状态:瞬时、托管,持久化。
值类型:不具有标识符属性,其生命周期完全有自己的实体实例的生命周期决定。
二、映射集合和实体关联
1.值类型的映射关系:set、bag、list和map
(1)Set
@org.hibernate.annotations.CollectionOfElements(targetElement = java.lang.String.class)
@JoinTable(
name = "ITEM_IMAG ...
1. 1. Hibernate通过@Id指定主键来表示实体的同一性,@Id注解的位置,决定了对实体使用字段访问(持久化引擎直接访问)还是属性访问(通过获取方法与设置方法访问)。
持久化的类。2. 当一个表的列较多时可以启用动态语句,避免hibernate在省城SQL语句时更新所有列。可以通过以下方式实现:@org.hibernate.annotations.Entity(dynamicInsert =true, dynamicUpdate = true)4. hibernate使用衍生属性:该属性没有列属性,不会出现在SQL的INSERT或者UPDATE中 ...
最近学习springMVC部署,按照教程建议一个项目,去发现报错,如下:
HTTP Status 500 - Unable to compile class for JSP:
type Exception report
message Unable to compile class for JSP:
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.Jasp ...
package algorithm.unit1;
import java.util.Arrays;
/**
* Created by lwb on 2015/3/13.
*/
public class Array {
/**
* 获取数组最大值
*/
public static double getMax(double[] array) {
double max = array[0];
for (int i = 0; i < array.length; i++)
...
同学聚会,说说即将逝去的2014
- 博客分类:
- 日常体会
过两天就是2015元旦了,今天叫上本科的几个同学,大家一起吃个饭,聚了一下。虽然都还没有毕业,但大家之间差别也已经开始显现出来。班长作为带头人已经结婚,两个同学还在读博士,另外几个同学也已经在北京找到了不错的工作,看了大家都作长远的打算啊,和我一样都找了有户口的工作。另外两个同学打算离开北京,也都找到了不错的工作。还有宝哥作为唯一一个本科毕业就去某度做了pm现在已经30+的年薪,在北京都买房了,果断为大家带了个好头。。。
想想这一年来在研究所里,虽然过得还算轻松惬意,但和大家交谈发现,自己还是过于懒惰了,上半年对自己的缺乏要求,忙于室里的项目,除了上班 ...
一、什么情况下考虑使用“模板方法模式”?
当我们设计一个算法时,如果已经确定了算法的关键步骤和执行顺序,只是算法步骤的具体实现需要根据不同的情况,具体分配,此时我们可以考虑使用“模板方法模式”。
模板方法模式的概念:
在一个方法中定义个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
其中AbstractClass中templateMethod()中,调用了调用了两个原语操作。这样就可以实现模板方法本身和这两个操作 ...
一、什么情况下考虑使用“适配器模式”?
adapter的意思:device that enables something to be used in a way different from that for which it was intended or makes different pieces of apparatus compatible .
当我们已有的类实现的接口不能满足现有的需要,需要将类的接口转变为想要的接口,此时我们可以装饰者模式来达到这个目的。
装饰者模式的概念:
将一个类的接口转换为客户期望的 ...
一、什么情况下考虑使用“命令设计模式”?
当我们考虑的场景中需要“动作的请求者”与“动作的执行者”之间解耦,也就是说动作的发起端不必知道动作是如何执行的,只需要下达“命令”就可以执行相应的动作,相当于把方法的调用也封装了起来,只需要对“命令对象”调用统一的方法,然而“命令对象”会知道如何执行相应的方法。
命令模式中的一些概念:
命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也只支持可撤销的操作。
命令对象:将动作以及接收者包装成一个对象, ...
一、什么情况下考虑使用“单例模式”? 单例模式使得一个类在任何情况下只有一个对象,通常当需要一个类来管理共享的资源(例如:线程池、注册表,缓存等)可以使用单例模式,因为我们需要 ...
一、什么情况下考虑使用“装饰者模式”?
当我们需要将责任动态的附加到对象上的时候;也就是说,我们开发设计的对象中有某一部分的功能现在还不能确定,以后需要动态的添加或者去掉。或者是在使用继承比较困难的时候,可以采用组合的实现方式(继承与复用)。
结合下面一个实际可能应用的场景来进行分析:
此为某一咖啡店的简单的菜单系统,其中所有的咖啡必须继承自Beverage类,咖啡中需要根据顾客的要求,加入巧克力、豆浆等调料,然后依据加入的调料的不同收取相应的费用。
eg:菜单上的StarbuzzCoffee实际为:HouseBlen ...
一、什么情况下考虑使用“观察者设计模式”?
观察者设计模式定义了对象之间的一对多的依赖关系,当主题对象改变状态时,它的所有观察者都会收到通知并且自动更新。
来具体分析一下下面的一个应用场景: ...
设计原则一:找出应用中可能需要变化的部分,把它们独立出来,不要和不需要变化的代码混在一起。 当我们的需求改变时,需要修改某一部分的代码,可以将这一部分的代码抽取出来,如果以后再次发生变化,可以只修改抽取出来的代码,而不必修改其他的代码。设计原则二:针对接口编程,而不是针对实现编程。 利用java中多态的特性,针对超类型的编程,而不必关心具体执行时真正对象的类型。
设计原则三:为了交互对象之间的松耦合设计而努力。
松耦合设计,指我们在需要修改一些模块时,不会对其他模块产生影响。
设计原则四:类应该对扩展开发,对修改关闭
设计原则五:最 ...
数组与其他种类的容器之间的区别主要有三方面:效率、类型和保存基本数据的能力。现在Java中的容器具有自动包装的功能,使得容器与数组看起来二者之间的区别更小了。在java中数组就是一个简单的线性序列,所以在访问数组的元素师非常的快速,然而这些所必须付出的代价就是数组对象的大小是固定的,而且在其生命周期内是不可以被改变的。
我们在前面提到了泛型,由于擦除会擦除掉运行时泛型的参数信息,然而数组必须要知道保存在其中的类型信息,所以数组与泛型并不能很好的结合,例如我们不能实例化具有参数化类型的数组:
public class Test<T> ...
这几天粗略的学习了java中的泛型,勉勉强强的把书中“泛型”这一章看完,其中很多的概念还不甚理解,这里只是简单的说一下自己所了解的泛型,不正确的地方还请大家指正。
泛型是JAVA SE5之后才出现的概念,“泛型”其实就是指类型的参数化。我们知道Java是单继承体系的,这就使得我们在编写程序时,很容易受到限制,不能实现代码的复用。泛型一个重要的应用就是实现了“容器类”,如果不使用泛型,我们只能编写下面的程序:
public class Holder {
private Object a;
public Holde ...
这次主要学习java是如何在运行时识别对象和类的信息的。主要包括了两种方式:①RTTI(Run-Time Type Information)②反射。它们都可以使我们在运行时能够识别对象的类型信息。
首先我们应当知道类型信息在java中是如何表示的。我们可以看到一个java类进行编译时会产生一个同名的class文件,这里就保存着该java类对应的Class对象,Class对象可以用来创建其他的对象以及类的RTTI。所有的类在第一次被使用时都会被加载到JVM中,但我们需要注意的是Java程序在开始运行之前并不是被完全加载的而是动态加载的。获取C ...