实例化

javaweb学习总结(二十)——JavaBean总结

喜夏-厌秋 提交于 2019-11-27 09:48:52
一、什么是JavaBean    JavaBean是一个遵循特定写法的Java类 ,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化。 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。 javaBean范例: 1 package gacl.javabean.study; 2 3 /** 4 * @author gacl 5 * Person类就是一个最简单的JavaBean 6 */ 7 public class Person { 8 9 //------------------Person类封装的私有属性--------------------------------------- 10 // 姓名 String类型 11 private String name; 12 // 性别 String类型 13 private String sex; 14 // 年龄 int类型 15 private int age; 16 //是否已婚 boolean类型 17 private boolean married; 18 //--------------------------------------------------------- 19 20 //-----------------

Spring(二)Spring Bean管理

南笙酒味 提交于 2019-11-27 05:42:10
Spring工厂类(续) 这里对上节 Spring工厂类中的BeanFactory和ApplicationContext进行补充 两者在生成bean实例的时机是不一样的,前者是在工厂实例化之后,在调用getBean的时候才会帮我们去创建这个类的实例,而后者是一加载配置文件,就会将配置文件中单例模式生成的类 全部实例化。 Spring Bean管理(XML方式) 首先我们要知道三种实例化Bean的方式 使用类构造器实例化(默认无参数) 使用静态工厂方法实例化(简单工厂模式) 使用实例工厂方法实例化(工厂方法模式) 接下来我们看看配置文件中一行代码 < bean id = "bean1" class = "com.imooc.ioc.demo2.Bean1" / > bean的配置 : id :一般情况下,装配一个Bean时,通过指定一 个id属性作为Bean的名称,id属性在IOC容器中必须是唯一的 name: 如果Bean的名称中含有特殊字符,就需要使用name属性 class: class用于设置一个类的完全路径名称,主要作用是IOC容器生成类的实例 Bean的作用域 对于这个作用域我们和Bean的实例化方式我们用一个案例来说明 同样的我们建立一个Maven项目,引入jar包,这些在上一节有讲我们不多说(在下边贴出引入jar包的代码),还是得有一个

设计模式之单例模式

跟風遠走 提交于 2019-11-27 02:27:09
一.单例模式的定义 单例模式,是一种常用的设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。 二.单例模式的结构图 三.具体实现方法 (1)将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。 (2)在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型。 (3)定义一个静态方法返回这个唯一对象。 四.实现代码 //贪婪加载 class SingleTon { public: static SingleTon* getInstance() { return psingle; } private: SingleTon(){}//构造函数 SingleTon(const SingleTon&);//拷贝构造函数 static SingleTon* psingle; }; SingleTon* SingleTon::psingle = new SingleTon(); //懒汉模式 延时加载 class SingleTon { public: static SingleTon* getInstance() { if (psingle == NULL) { lock(); if (psingle == NULL) { psingle = new

python日志处理模块

泄露秘密 提交于 2019-11-27 02:12:49
一 日志处理模块概述 1 日志级别 日志级别level 数值 CRITICAL 50 ERROR 40 WARNING 30 ,默认日志级别 INFO 20 DEBUG 10 NOTSET 0,表示不设置 日志级别是指产生日志的严重程度 设置一个级别后,严重程度低于次级别的日志消息将会被忽略 数字越高,优先级别越高 #!/usr/bin/poython3.6 #conding:utf-8 import threading import time import logging logging.basicConfig(level=logging.INFO) #设置日志级别为info def add(x,y): logging.warning(x+y) # 此处定义的日志级别是warning,因此能够被打印出来,默认的日志打印格式是 级别:用户:信息 t=threading.Timer(1,add,args=(3,4)) # 此处表示6秒后出结果 t.start() 结果如下 默认的日志打印格式是级别:用户:信息 2 格式字符串 1 常见格式 属性名 格式 描述 日志消息内容 %(message)s 当调用formatter.format() 时设置 asctime %(asctime)s 创建logrecord时的可读时间,默认格式是Y-m-d H:M:S,

C# 实例化类的执行顺序

♀尐吖头ヾ 提交于 2019-11-27 01:28:54
先进行细分: 类的成员分为:字段、属性、方法、构造方法 成员的修饰符:静态成员、实例成员 层次结构:父类、子类 先不考虑继承关系,执行顺序为: 静态字段 静态构造方法 实例字段 实例构造方法 属性和方法是在调用的时候才执行,这里就不考虑了。如何理解上面的执行过程?假如让我来设计执行过程,我该如何考虑,依据是什么? 首先,静态的东西是大家共享的,也就是相同的。应该先关心共享的东西,再关系个人的东西。“先公后私”,呵呵。 其次,实例化之前,应该先初始化自己的内部数据。 现在考虑继承关系,执行顺序为: 子类的静态字段 子类的静态构造方法 子类的实例字段 父类的静态字段 父类的静态构造方法 父类的实例字段 父类的实例构造方法 子类的实例构造方法 在子类的实例字段和子类的实例构造方法之间,加入了父类的执行顺序。这个其实也很好理解:在子类的实例构造方法之前,确实需要知道父类的信息,因为子类要从父类那里继承一些东西。这就好比,没有老子,哪来的儿子呢,呵呵。 这里需要特别注意的是,并不是每次实例化都是上面的顺序。因为静态的成员只是在第一次实例化的时候执行,以后再实例化都不会在执行。很好理解,静态的成员意味着大家共享,且只有这一个。第一次实例化得到静态成员后,以后大家都共享,再次实例化,没有必要也不允许执行静态成员的部分。 补充说明: 1、构造引用类型的对象时,调用实例构造方法之前

C++ 不支持模版的分离式编译

南笙酒味 提交于 2019-11-27 01:22:54
1、C++不支持模版的分离式编译,为什么?   C++是分别,单独编译,对于每个cpp文件,预编译为编译单元,这个编译单元是自包含文件,编译的时候,不需要其他的文件,编译好了,生成obj文件,然后连接成exe文件。在编译的时候,使用一个东西,如果这个东西就在当前位置,当然好了。如果不再当前位置,也没关系,只要说,我有这个东西就行,这个东西在其他地方。在连接的时候,会找到这个东西在什么地方。   考虑普通方法,通过上面的分析,是没有问题的。考虑模版方法:   Fun.h声明一个方法模版,Fun.cpp包含Fun.h,并定义了方法模版,main.cpp包含Fun.h,然后使用方法。单独编译Fun.cpp,并不会生成特定版本的方法,因为C++规定,模版只有在使用的时候,才实例化一个方法(C++也做不到,因为有太多的类型,难道针对每个类型都实例化一个方法,显然不可能)。在main.cpp中,相当于声明了模版方法,但是不知道模版方法的定义,因此也没法实例化模版方法,只能希望连接器在其他的obj文件中,找到对应的实例化方法。但是在连接的时候,找不到对应的方法,连接错误。 2、上面问题的关键是:C++单独,分别编译。Fun.cpp定义了模版方法,但是没有使用,因此不会实例化模版方法。而在main.cpp中,使用了模版方法,但是不知道模版方法的定义,也没办法实例化方法,只能寄希望于连接的时候

Class类对象的三种实例化方式

两盒软妹~` 提交于 2019-11-27 00:31:09
1. 通过对象实例化 1 class Person { 2 3 } 4 public class Test { 5 public static void main(String[] args) throws ClassNotFoundException { 6 Person person = new Person(); 7 Class<? extends Person> cls = person.getClass(); 8 System.out.println(cls.getName()); 9 System.out.println(cls); 10 } 11 } 先实例化对象,通过对象.getClass方法实例化 2. 由于1中必须要先有对象,所以在没有对象的情况下,可以通过类名称.class方式 1 class Person { 2 3 } 4 public class Test { 5 public static void main(String[] args) throws ClassNotFoundException { 6 Class<? extends Person> cls = Person.class; 7 System.out.println(cls.getName()); 8 System.out.println(cls); 9 } 10 } 3.

获取spring 的bean 方法总结

余生长醉 提交于 2019-11-26 22:22:48
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢? Bean工厂(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,它提供了高级IoC的配置机制。BeanFactory使管理不同类型的Java对象成为可能,应用上下文(com.springframework.context.ApplicationContext)建立在BeanFactory基础之上,提供了更多面向应用的功能,它提供了国际化支持和框架事件体系,更易于创建实际应用。我们一般称BeanFactory为IoC容器,而称ApplicationContext为应用上下文。但有时为了行文方便,我们也将ApplicationContext称为Spring容器。 对于两者的用途,我们可以进行简单划分:BeanFactory是Spring框架的基础设施,面向Spring本身;ApplicationContext面向使用Spring框架的开发者,几乎所有的应用场合我们都直接使用ApplicationContext而非底层的BeanFactory。 工厂方式:Resource resource = new ClassPathResource("/applicationContext.xml");

第518篇--DesignPattern review (Singleton 2)

谁说胖子不能爱 提交于 2019-11-26 21:34:45
原则: #region 单例模式 #region 用法说明 //保证一个类仅有一个实例,并提供一个访问它的全局访问点 // 实现要点 // Singleton模式是限制而不是改进类的创建。 // Singleton类中的实例构造器可以设置为Protected以允许子类派生。 // Singleton模式一般不要支持Icloneable接口,因为这可能导致多个对象实例,与Singleton模式的初衷违背。 // Singleton模式一般不要支持序列化,这也有可能导致多个对象实例,这也与Singleton模式的初衷违背。 // Singleton只考虑了对象创建的管理,没有考虑到销毁的管理,就支持垃圾回收的平台和对象的开销来讲,我们一般没必要对其销毁进行特殊的管理。 // 理解和扩展Singleton模式的核心是“如何控制用户使用new对一个类的构造器的任意调用”。 // 可以很简单的修改一个Singleton,使它有少数几个实例,这样做是允许的而且是有意义的。 //优点 // 实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实例 // 灵活性:因为类控制了实例化过程,所以类可以更加灵活修改实例化过程 //缺点 // 开销:虽然数量很少,但如果每次对象请求引用时都要检查是否存在类的实例,将仍然需要一些开销