day018

						<设计模式>

单例模式

饿汉模式,可以想象一个很饿的人,需要立马吃东西,饿汉模式便是这样,在类加载时就创建对象,由于在类加载时就创建单例,因此不存在线程安全问题

懒汉式,就是懒,即在类加载时并不会立马创建单例对象,而是只生成一个单例的引用,即可以延时加载

#################################################################

							<注解>

注解一共分为3大类:
JDK自带注解
@Override :用来标识重写方法

元注解(用来描述注解的注解)
		@Target 注解用在哪里:类上、方法上、属性上等等
					@Target ElementType…
					描述注解存在的位置:
					ElementType.TYPE 应用于类的元素
					ElementType.METHOD 应用于方法级
					ElementType.FIELD 应用于字段或属性(成员变量)
					ElementType.ANNOTATION_TYPE 应用于注释类型
					ElementType.CONSTRUCTOR 应用于构造函数
					ElementType.LOCAL_VARIABLE 应用于局部变量
					ElementType.PACKAGE 应用于包声明
					ElementType.PARAMETER 应用于方法的参数




		@Retention 注解的生命周期:源文件中、字节码文件中、运行中(三种生命周期)
				@Retention RetentionPolicy…
				该注解定义了自定义注解被保留的时间长短,比如某些注解仅出现在源代码中,而被编译器丢弃;而另一些却被编译在class文件中; 编译在class文件中的注解可能会被虚拟机忽略,而另一些在class被装载时将被读取。
				为何要分字节码文件中有还是没有呢?如果没有时,反射技术就拿不到,从而就无法去识别处理。它的值一共3种:

				SOURCE 在源文件中有效(即源文件保留)
				CLASS 在class文件中有效(即class保留)
				RUNTIME 在运行时有效(即运行时保留)


自定义注解













								<注解>

04-5 设计模式
概念:是一些前人总结出来的值得学习的编程“套路”,设计模式一共有23种
单例设计模式:确保代码中本类的实例只有一个

实现思路:
方案一:饿汉式
1)把本类的构造方法私有化–为了不让外界调用构造函数来创建对象
2)通过本类的构造方法创建对象,并把这个对象也私有化,为了防止外界调用
3)提供公共的全局访问点向外界返回本类的唯一的一个对象
注意:公共方法需要设置成静态–需要跳过对象,通过类名直接调用这个返回本类对象的公共方法
对象也需要设置成静态的–这个对象需要在静态方法中被返回,而静态只能调用静态

方案二:懒汉式
==延迟加载的思想:==我们有的时候有些资源并不是需要第一时间就创建出来,所以需要延迟到需要时再创建
这样既可以提升性能,又可以节省资源
1)把本类的构造方法私有化–为了不让外界调用构造函数来创建对象
2)创建了一个本类类型的引用类型变量【这个变量后续用来保存创建出来的对象的地址值】
3)提供公共的全局访问点向外界返回本类的唯一的一个对象

注意:这个公共的方法里,需要做判断
如果引用类型的变量值为null,说明:之前没有创建过本类对象–创建后再赋值给引用类型变量,并把它返回
如果引用类型的变量值不为null,说明:
之前有创建过本类对象,这个引用类型变量保存就是地址值,本次不再新建对象,直接返回

java注解,@,注解有什么用?

@是Java注解,即annotation。

1可以理解为插件,是代码级别的插件,在类的方法上写:@XXX,就是在代码上插入了一个插件。

2Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。
注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用

3要先学习java的反射机制,然后再来理解java注解

所谓的元数据是指用来描述数据的数据,可能刚听到元数据的时候你会有点陌生,其实任何一个使用过struts或

者hibernate的开发人员都在不知不觉中使用元数据,更通俗一点来说元数据是指描述代码间关系或者代码与其它资
源(例如数据库表)之间内在联系的数据,对Struts来说就是struts-config.xml文件,对hibernate来说就是.hb
m文件。
但是现有的以xml或其它方式存在的元数据文件都有一些不便之处(如:与被描述的文件分离,不利于一致性维
护)。

基于元数据的广泛应用,JDK1.5引入了注解(Annotation)的概念来描述元数据,为我们提供了一种在代码中
添加信息的方法,使我们可以在运行时或某个时刻方便地使用这些数据(通过解析注解来使用这些数据)

注解与反射—>框架部分

1.java的反射机制就是,通过类的对象,获取该对象的类的相关信息。

类的相关信息包括:①用了什么注解 ②类的名称 ③各成员变量的名称等。

2.什么时候用到注解?我们一般用不到自定义注解,我们平时别人开发好的框架如Hibernate、spring、Struts等时,
只需要按照框架的规则在代码里定义注解即可,而不会在代码里调用和操作注解。

只有在自己动手写类似于Hibernate框架的时候,会用到自定义注解。

这也是为什么我们一般用不到java反射,因为只有在使用自定义注解的时候,才会用到java反射,而我们平时连自定义注解都用不到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值