Java部分
构造器的特点
1.构造器通过new关键字调用
2.构造器虽有返回值,但不能定义返回值的类型,不能在构造器里使用return返回某个值
3.如果我们没有定义构造器,则编译器会自动定义一个无参的构造方法。
4.构造器的方法名必须和类名保持一致
栈
1.栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧。
2.JVM为每个线程创建一个栈,用于存放该线程执行方法的信息
3.栈属于线程私有,不饿能实现进程间的共享
4.栈是由系统自动分配的,速度快。栈是一个连续的内存空间
堆
1.堆用于存储创建好的对象和数组
2.jvm只有一个堆,被所有线程共享
3.堆是一个不连续的内存空间,分配灵活,速度慢。
方法区(又叫静态区)
实际也是堆,至少用于储存类,常量相关的信息 用来存放程序中永远不变或唯一的内容
Javascript内容
懒加载:使用时才加载并占用内存空间,如果不适应就相当于不存在。
正则表达式
描述:正则表达式是一种检索字符串的规则,表现为字符串的样子
语法:/正则表达式主体/修饰符(可选)
正则表达式常见方法
1.search方法
描述:用于检索与正则表达式相匹配的子字符串,并返回子字符串的起始位置。
注意:a如果能找到返回的是第一次出现的下标 b如果查找失败,则返回-1
2.replace
3.match
修饰符
描述:修饰符表示应当按照哪种规则进行检索
类型:
i修饰符:代表忽略大小写的规则
g修饰符:表示正则检索内容是采用全局匹配,而不是找到第一个就停止
检索模式
注意:a.检索模式中的几种模式可以混合使用,来达到精确指定规则的效果
b.在正则主体中一个[]代表一个字符,一个()代表一个词组
[0-9]模式
描述:本模式代表的规则是(存在于范围内,即满足)
\d元字符
描述:\d代表的规则是数字
\s元字符
描述:\s代表的规则是空格
\b元字符
描述\b代表的是单词边界
量词模式
描述:通过设置量词进行内容检索的模式称为量词模式
量词:能够描述内容出现的次数的词语
注意:
a.量词通常不能单独存在于正则主体中,而是配合其他模式使用
b.量词是对紧挨着的字符起作用
1.n+量词模式
代表的规律是存在一个或者多个n,既满足
2.n*量词模式
代表的规则是存在0或者多个n,既满足
3.n?量词模式
代表的规则是存在0个或一个n,既满足
RegExp对象
描述:js为正则表达式提供了一个正则类RegExp。通过构造函数创建的对象称为正则对象
RegExp对象方法
1.test()
描述:用来判断在指定字符串中是否存在满足正则表达式规则的子字符串 存在返回true 反之返回false
2.exec()方法
描述:本方法是RegExp对象中提供的一个方法
用来查找在指定字符串中第一个满足正则表达式规则的字符串出现的下标和内容
注意:返回值是一个信息集合(对象),但是可以当作数组一样使用。若查找失败,则返回结果为null
补充:a.党exec匹配的正则中存在组匹配符号()的时候,会优先匹配正则内容,再匹配一次组匹配内容。
b.正则对象中实际存在一个隐式的参数lastIndex,本参数代表上一次匹配结束时的下标。
^初位字符和$末位字符
描述:初位字符表示判断字符串以某个内容开始
末位字符表示判断字符串以某个内容结束
贪婪模式:只要符合正则要求就一直向下匹配,直到无法再匹配为止的行为模式 例如n*
懒惰模式:一旦匹配到复合正则要求的内容就立即结束的行为模式 例如n?