springbootspringboot简化了配置文件的配置,常用的spring、springmvc的配置文件已经在springboot中配置好了。使得开发更专注业务逻辑的实现,提高开发效率。1.1基于xml的配置spring配置文件publicclassStudent{privateStringname;privateStringsex;privateintage;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetSex(){returnsex;}pub
反射概述Java反射机制:是指在运行时去获取一个类的变量和方法信息。然后通过获取的信息来创建对象,调用方法的一种机制。由于这种,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展。获取Class类的对象案例://Student类publicclassStudent{/***成员变量:私有,默认,公共*/privateStringname;intage;publicStringaddress;//构造方法:一个私有,一个默认,两个公共publicStudent(){}privateStudent(Stringname){this.name=name;}Student(S
1.拷贝和拷贝构造函数拷贝和复制是一个意思,对应的英文单词都是copy。对于计算机来说,拷贝是指用一份原有的、已经存在的数据创建出一份新的数据,最终的结果是多了一份相同的数据。例如,将Word文档拷贝到U盘去复印店打印,将D盘的图片拷贝到桌面以方便浏览,将重要的文件上传到百度网盘以防止丢失等,都是「创建一份新数据」的意思。在C++中,拷贝并没有脱离它本来的含义,只是将这个含义进行了“特化”,是指用已经存在的对象创建出一个新的对象。从本质上讲,对象也是一份数据,因为它会占用内存。严格来说,对象的创建包括两个阶段,首先要分配内存空间,然后再进行初始化:分配内存很好理解,就是在堆区、栈区或者全局数据
Js是函数式语言,并不是传统的面对对象语言,如Java等等,所以在js中有一些比较独特的面对对象实现方法。面对对象有多个特点,如封装,继承,多态等,由于js的oop特性并不明显,所以仅叙述继承在js中的实现。众所周知,js中函数也可以是类,通过new在堆中手动开辟空间就是对象的实例,而且,每个对象都天生有一个指针,指向原型,原型也可以理解为一个对象,可以定义自己的方法,如下图所示,不再赘述,详细可以参考廖雪峰教程。functionPerson(name){this.name=name||'unnamed';}functionStudent(name,grade){Person.call(thi
反射概述Java反射机制:是指在运行时去获取一个类的变量和方法信息。然后通过获取的信息来创建对象,调用方法的一种机制。由于这种,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展。获取Class类的对象案例://Student类publicclassStudent{/***成员变量:私有,默认,公共*/privateStringname;intage;publicStringaddress;//构造方法:一个私有,一个默认,两个公共publicStudent(){}privateStudent(Stringname){this.name=name;}Student(S
1.拷贝和拷贝构造函数拷贝和复制是一个意思,对应的英文单词都是copy。对于计算机来说,拷贝是指用一份原有的、已经存在的数据创建出一份新的数据,最终的结果是多了一份相同的数据。例如,将Word文档拷贝到U盘去复印店打印,将D盘的图片拷贝到桌面以方便浏览,将重要的文件上传到百度网盘以防止丢失等,都是「创建一份新数据」的意思。在C++中,拷贝并没有脱离它本来的含义,只是将这个含义进行了“特化”,是指用已经存在的对象创建出一个新的对象。从本质上讲,对象也是一份数据,因为它会占用内存。严格来说,对象的创建包括两个阶段,首先要分配内存空间,然后再进行初始化:分配内存很好理解,就是在堆区、栈区或者全局数据
Js是函数式语言,并不是传统的面对对象语言,如Java等等,所以在js中有一些比较独特的面对对象实现方法。面对对象有多个特点,如封装,继承,多态等,由于js的oop特性并不明显,所以仅叙述继承在js中的实现。众所周知,js中函数也可以是类,通过new在堆中手动开辟空间就是对象的实例,而且,每个对象都天生有一个指针,指向原型,原型也可以理解为一个对象,可以定义自己的方法,如下图所示,不再赘述,详细可以参考廖雪峰教程。functionPerson(name){this.name=name||'unnamed';}functionStudent(name,grade){Person.call(thi
类和对象创建方法第一种式直接声明:classStudent{private:stringname;public:Student(stringname){this->name=name;}}//声明:Studentlu;//不带初始化//带初始化;Studentlu(huang);Studentlu=Student(huang);//访问方式lu.name;这样的声明方式,是将对象在栈上创建,栈内存自动管理,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束后在将这些局部变量的内存空间回收。在栈上分配内存空间效率很高,但是分配的内存容量有限。第二种使用对象指针声明Student
类和对象创建方法第一种式直接声明:classStudent{private:stringname;public:Student(stringname){this->name=name;}}//声明:Studentlu;//不带初始化//带初始化;Studentlu(huang);Studentlu=Student(huang);//访问方式lu.name;这样的声明方式,是将对象在栈上创建,栈内存自动管理,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束后在将这些局部变量的内存空间回收。在栈上分配内存空间效率很高,但是分配的内存容量有限。第二种使用对象指针声明Student
Java类的序列化和反序列化序列化:指将对象转换为字节序列的过程,也就是将对象的信息转换成文件保存。反序列化:将字节序列转换成目标对象的过程,也就是读取文件,并转换为对象。几个关键点:必须实现Serializable接口才可以进行序列化字段属性serialVersionUID决定了被修改后的类(比如增加或删除了一个字段),序列化和反序列化是否成功【相当于验证版本一致性的编号】这个字段可以自定义,也可以用IDE生成,还可以调用方法生成自定义比如:privatestaticfinallongserialVersionUID=1L;使用编译器生成需要设置一下:使用代码生成可以这样写:ObjectSt