成员变量

JS高级

只谈情不闲聊 提交于 2020-03-01 15:35:11
1. 正则表达式: 2. String中的正则API: 1. 正则表达式: 2. String中的正则API: 查找: 1. 查找一个固定的关键词出现的位置: var i=str.indexOf("关键词"[,starti]) 在str中从starti位置开始找下一个"关键词"的位置 如果省略starti,则默认从0位置开始向后找 返回: “关键词”第一字所处位置的下标 如果找不到,返回-1 问题: 只支持查找一个固定不变的关键词 2. 用正则表达式查找一个关键词的位置: var i=str.search(/正则/i); 在str中查找符合"正则"要求的敏感词 返回值: 关键词的位置 如果找不到,返回-1 问题: 正则默认区分大小的! 解决: 在第2个/后加后缀i,表示ignore,意为:忽略大小写 问题: 只能获得关键词的位置,不能获得关键词的内容 解决: match 3. match: 1. 查找一个关键词的内容和位置: var arr=str.match(/正则/i); 在str中查找符合"正则"要求的敏感词的内容和位置 返回值: 数组arr:[ "0":"关键词", "index": 下标i ] 如果找不到: 返回null 问题: 只能查找第一个关键词,不能查找更多关键词 2. 查找所有关键词的内容: var arr=str.match(/正则/ig) //g global

Spring注入的成员变量HttpServletRequest是线程安全的吗?【享学Spring MVC】

我的梦境 提交于 2020-03-01 01:23:10
团队的问题就是你脱颖而出的机会,抱怨和埋怨团队就是打自己耳光,说自己无能,更是在放弃机会。 目录 前言 正文 得到HttpServletRequest的三种方式 方式一:方法参数 方式二:从RequestContextHolder上下文获取 方式三:依赖注入@Autowired 方式四:使用@ModelAttribute(错误方式) 依赖注入@Autowired方式是线程安全的吗? @Autowired与代理对象 RequestObjectFactory Spring何时把Request信息放进RequestContextHolder? RequestContextFilter FrameworkServlet 依赖注入【确定安全】流程总结 总结 声明 前言 我们知道一个 Http 请求就是一个 Request 对象,Servlet规范中使用 HttpServletRequest 来表示一个Http请求。然而在 Spring MVC 中,官方并不建议你直接使用 Servlet 源生的API,如常见的 HttpServletRequest/HttpServletResponse 等,因为官方认为 Servlet 技术只是web的落地实现之一,它并不希望你使用具体API而和某项技术耦合,比如从 Spring 5.0 开始就出现了web的另一种实现方式:Reactive

2020-02-29

流过昼夜 提交于 2020-02-29 13:44:48
JAVA 类和对象 构造方法 定义了一个学生的类 Student,包括成员变量“学号” 、 “班号” 、 “姓名” 、 “性别” 、 “年龄” , 成员方法: “获得学号” 、 “获得班号” 、 “获得性别” 、 “获得姓名” 、 “获得年龄” 。 . 请为 Student类定义构造函数初始化所有的成员变量。增加一个方法 public String toString() 把 Student类对象的所有信息组合成一个字符串。 代码 来源: CSDN 作者: xiaobaixl 链接: https://blog.csdn.net/xiaobaixl/article/details/104571789

继承中的关键字

点点圈 提交于 2020-02-29 11:22:09
继承中的关键字 1. 继承的基本含义: 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。子类最基本的功能就是维持父类的基本操作,但是子类可以对其功能的扩充。 2. extends 格式:class A extends B { } 表示A类是B类的一个子类,B类是A类的 唯一 父类。 在Java当中的继承是单继承,不允许多继承(class A extends B,C),单继承就是子类只有一个唯一的父类,但是可以多重继承(class A extends B ,class B extends C)。 子类会显式继承父类当中所有的非私有化的成员变量和成员方法,所有的私有化成员可以通过Setter和Getter方法来操作,且构造方法不会被继承。 子类在继承父类成员的同时,可以进行扩展,定义属于自己的成员变量和成员方法,对其功能进行扩充。 3.super 功能1: 调用父类的成员变量和方法 。 子类继承父类中的成员变量和方法,当子类声明了与父类相同的成员变量以及对父类当中的成员方法进行重写之后,使用子类实例调用的成员变量与方法就是子类当中的成员变量和方法,而这时想要调用父类当中已经被重写被覆盖的成员就需要用到super关键字,在子类当中使用super关键字在调用成员变量和方法时会直接跳过子类

结构

廉价感情. 提交于 2020-02-28 22:26:56
结构由**数目固定**的成员(又称域、项目、或元素)构成,**是由不同数据类型的数据组成的集合体**,各个成员可以具有**不同的数据类型**,包括基本类型和非基本类型。*一个结构变量在内存占有一片连续的存储空间,具有结构类型的特征。* 1 .定义结构 结构类型是用户自定义的; (1)定义结构类型的说明语句形式; struct 标识符 { 类型 成员1; 类型 成员2; … 类型 成员n; };( 注意分号 ) 例: struct person { char name[10]; long code; double salary; }; (2)声明变量的方法 1.声明类型的同时声明变量 struct person { char name[10]; long code; double salary; } worker1,worker2,*emp; 2. 声明类型后声明变量 (灵活) struct person { char name[10]; long code; double salary; } ; person worker1,worker2,*enp; 说明变量的同时可以进行初始化 person worker={“Li",123456,3000.53} 3.直接声明结构类型变量(此时无结构类型标识符) struct { char name[10]; long code;

简单描述成员变量和局部变量的比较

妖精的绣舞 提交于 2020-02-28 21:47:25
成员变量:由于是属于对象的,所以位于堆内存中 局部变量:位于栈内存中(因为方法是位于栈内) 1.两者作用域不同 2.初始值不同(成员变量会被赋予初始值,而局部变量不会) 3.在同一个方法中不允许有同名的局部变量,不同方法中,可以有同名的情况 4.成员变量和局部变量同名时,局部变量具有更高的优先级别 下面通过一个例子来看优先级的变化 package ZUOYE5; public class Object { int text = 10;// 成员变量 void Text() { int text = 100;// 局部变量优先级更高 System.out.println(text); } public static void main(String[] args) { Object one = new gaicuo(); System.out.println(one.text); one.Text(); } } 输出结果为:100 10 根据结果,可见在调用方法的时候,局部变量的优先级是更高的 来源: CSDN 作者: 不是屠小意,却爱姚哲恬 链接: https://blog.csdn.net/qq_44083510/article/details/104563834

单例模式

对着背影说爱祢 提交于 2020-02-28 07:06:38
前言 本篇是设计模式学习笔记的其中一篇文章,如对其他模式有兴趣,可从该地址查找 设计模式学习笔记汇总地址 1. 使用单例模式的原因 以Windows任务管理器为例,在Windows系统中,任务管理器是唯一的,多次打开任务管理器,始终只能弹出一个唯一的任务管理器. 这么做的理由有两个: 节约资源 避免多个实例数据不一致问题 1.1 节约资源 如果能弹出多个窗口,且这些窗口的内容完全一致,全部是重复对象, 这势必会浪费系统资源 ,任务管理器需要获取系统运行时的诸多信息,这些信息的获取需要消耗一定的系统资源,包括CPU资源及内存资源等,浪费是可耻的,而且根本没有必要显示多个内容完全相同的窗口 1.2 避免多个实例数据不一致问题 如果弹出的多个窗口内容不一致,问题就更加严重了,这意味着在某一瞬间系统资源使用情况和进程、服务等信息存在多个状态,例如任务管理器窗口A显示“CPU使用率”为10%,窗口B显示“CPU使用率”为15%,到底哪个才是真实的呢?这纯属“调戏”用户,给用户带来误解,更不可取. 为了确保对象的唯一性,我们可以通过单例模式来实现,这就是单例模式的动机所在 2. 单例模式概述 通过模拟Windows任务管理器,创建TaskManager类来理解单例模式 2.1 TaskManager /** * @author liuboren * @Title: 任务管理器类 *

Day05面向对象,封装,this

对着背影说爱祢 提交于 2020-02-28 06:26:36
1.面向对象的2个点 *成员变量 *成员方法 2.使用对象,成员变量,成员方法 * 创建对象并使用 * 格式:类名 对象名 = new 类名(); *使用成员变量: 对象名.变量名 *使用成员方法: 对象名.方法名(...) 3. 成员变量和局部变量的区别 * A:在类中的位置不同 * 成员变量:在类中方法外 * 局部变量:在方法定义中或者方法声明上 * B:在内存中的位置不同 * 成员变量:在堆内存(成员变量属于对象,对象进堆内存) * 局部变量:在栈内存(局部变量属于方法,方法进栈内存) * C:生命周期不同 * 成员变量:随着对象的创建而存在,随着对象的消失而消失 * 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 * D:初始化值不同 * 成员变量:有默认初始化值 * 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。 * 注意事项: * 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。 * 基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char * 引用数据类型变量包括哪些:数组,类,接口,枚举 4.方法的形式参数是类名的时候如何调用 class Demo1_Student { public static void main(String[] args) {

C语言结构体详解

让人想犯罪 __ 提交于 2020-02-27 12:16:05
数组(Array),它是一组具有相同类型的数据的集合 。但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放。 我们就需要使用结构体(Struct)来存放一组不同类型的数据 。结构体的定义形式为: struct 结构体名 { 结构体所包含的变量或数组 } ; 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。 示例 struct stu { char * name ; //姓名 int num ; //学号 int age ; //年龄 char group ; //所在学习小组 float score ; //成绩 } ; stu 为结构体名,它包含了 5 个成员,分别是 name、num、age、group、score。结构体成员的定义方式与变量和数组的定义方式相同,只是不能初始化。 注意 :大括号后面的分号;不能少,这是一条完整的语句。 结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据 。 像 int、float、char 等是由C语言本身提供的数据类型,不能再进行分拆,我们称之为基本数据类型;而 结构体可以包含多个基本类型的数据

成员变量是指针的注意点

耗尽温柔 提交于 2020-02-27 07:10:17
若使用成员拷贝,则指针指向同一块区域,不行,目的是指向拷贝一份相同存储空间区域过来 若使用赋值运算符,则需要判断传入的参数不是自己,若是自己则指针指向的那份待拷贝空间没了,即使保留一段时间,但是再次拷贝出空间时候,值会消失,接下来没了拷贝的值 来源: CSDN 作者: Tine Chan 链接: https://blog.csdn.net/chanleoo/article/details/104457850