静态方法

java基础知识

拜拜、爱过 提交于 2020-03-01 22:47:55
1.final 关键字主要用在三个地方:变量、方法、类。 对于一个 final 变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 当用 final 修饰一个类时,表明这个类不能被继承。final 类中的所有成员方法都会被隐式地指定为 final 方法。 使用 final 方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义; 2.static 关键字主要有以下四种使用场景? 修饰成员变量和成员方法: 被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享,可以并且建议通过类名调用。被static 声明的成员变量属于静态成员变量,静态变量 存放在 Java 内存区域的方法区。调用格式:类名.静态变量名 类名.静态方法名() 静态代码块: 静态代码块定义在类中方法外, 静态代码块在非静态代码块之前执行(静态代码块—>非静态代码块—>构造方法)。 该类不管创建多少对象,静态代码块只执行一次. 静态内部类(static修饰类的话只能修饰内部类): 静态内部类与非静态内部类之间存在一个最大的区别: 非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向创建它的外围类,但是静态内部类却没有。没有这个引用就意味着:1. 它的创建是不需要依赖外围类的创建。2.

jQuery的其他静态方法

ⅰ亾dé卋堺 提交于 2020-03-01 22:01:27
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>11-jQuery中的其他静态方法</title> <script src="../js/jquery-3.4.1.js"></script> <script> /* var str=" Inj "; var res= $.trim(str); console.log("===="+str+"====="); console.log("===="+res+"=====");*/ //trim去除字符串两端的空格 //参数:需要去除空的字符串 //返回值:去除空格之后的字符串 //数组 var arr=[1,3,5,7,9]; //伪数组 var arrlike={0:1,1:3,2:5,3:7,4:9,length:5}; //对象 var obj={"name":"Inj",age:"33"}; var fn=function(){}; var w=window; var res= $.isWindow(w); /* console.log(res);*/ var res1=$.isArray(arrlike); /* console.log(res1);*/ var res2=$.isFunction(jQuery); console.log

jQuery的map静态方法

喜你入骨 提交于 2020-03-01 19:54:45
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>10-jQuery的静态方法的map方法</title> <script src="../js/jquery-3.4.1.js"></script><script> var arr=[1,3,5,7,9]; var obj={0:1,1:3,2:5,3:7,4:9,length:5}; /** * 第一个参数当前遍历到的元素 * 第二个参数当前遍历到的索引 * 第三个参数当前便利到的数组 * 注意点: * 和原生的forEach一样不能遍历伪数组 */ /* arr.map(function (value,index,array) { console.log(index,value,array); });*/ /*obj.map(function (value,index,array) { console.log(index,value,array); });*/ /** * 第一个参数:要遍历到的数组 * 第二个参数:每遍历一个元素之后执行的回调函数 * 回调函数 * 第一个参数:遍历到的元素 * 第二个参数:遍历到的索引 * 注意点: * 和jQuery的each静态方法一样 map也可以遍历伪数组 */ /*$.map(arr

jQuery的静态方法和实例方法

本秂侑毒 提交于 2020-03-01 19:37:29
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>08-静态方法和实例方法</title> <script src="../js/jquery-3.4.1.js"></script><script> function AClass() { } AClass.staticMethod = function () { alert("staticMethod"); } AClass.staticMethod(); AClass.prototype.instanceMethod= function () { alert("instanceMethod"); } var a=new AClass(); a.instanceMethod(); </script></head><body></body></html> 来源: https://www.cnblogs.com/god1/p/12391294.html

高并发的概念及应对方法

喜夏-厌秋 提交于 2020-03-01 17:30:48
为什么学习高并发? 作为一名非CS科班出生的同学,在经过多年IT从业之后,明显能感受到职业生涯发展的后继无力,由于从事的是传统金融行业,对应的公司其实内心深处是不重视IT部门的,而我这种IT从业人员虽然已经是团队或者是部门非常重要的人员,但是最后再发展下去也就是一个业务专家,业务专家本质上的知识不是自身的知识体系,而是公司的知识体系,而只有技术知识体系才是自己的。于是早在18年我就开始了自己的转型学习之路,前期学习了网络知识、Java并发编程,再要想学习JVM时,命运无情的枷锁打断了我的学习进程,19年就在沉闷和潜伏中度过,终于到了20年了,也即将迈入而立之年,给自己定个目标,今年上半年一定要转型完成进入一家心仪的公司,在职业生涯的黄金时期认认真真的再CODE一下。先说一下转型目标,希望能从事高并发、高性能相关的开发工作,为什么会定这个目标?除了自己对这个领域感兴趣外,确实也能从某些知名大型企业的社会招聘能看到这些领域的需求岗位是比较旺盛的,截图如下: 什么是高并发? 再谈论什么是高并发之前,我觉得非常有必要先搞清楚并发、并行和高并发这几个概念,至少对于非CS科班出身的我,一直就不知道这几个是什么高深的内容。 并发、并行和高并发 网易公开课《清华大学公开课:7.3进程的特点》中是这么定义的并发和并行,并发是指在一个时间段内有多个进程在执行,只不过在人的角度看

静态编译、动态编译、静态链接库和动态链接库理解

社会主义新天地 提交于 2020-03-01 15:15:34
1.静态编译:编译器在编译可执行文件时,把需要用到的对应动态链接库(.so或.ilb)中的部分提取出来,链接到可执行文件中去, 使可执行文件在运行时不需要依赖于动态链接库. 2.动态编译: 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。所以其优点一 方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。缺点一是哪怕是很简单的程序,只用到了链接 库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文 件就不能运行。 静态编译: 静态lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序。 动态编译: 动态lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,运行时 候需要相应的dll文件支持。 动态链接库: 创建一个动态链接库,会生成x.dll,x.lib 动态链接库有两种加载方式: 1.一种是静态加载,就是在编译的时候就载入动态链接库。此种方法可调用类方法. 可执行程序静态加载动态链接库需要三个文件 x.dll, x.lib, x.h 可执行程序的头文件加入: #include "x.h" #pragma comment(lib,"x.lib") 编译时还要附加库目录

spring boot 静态资源的映射规则 (2) 替他资源映射

﹥>﹥吖頭↗ 提交于 2020-03-01 12:35:34
1.如果不是 /webjars/** 资源 if (!registry.hasMappingForPattern("/webjars/**")) { this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{"/webjars/**"}).addResourceLocations(new String[]{"classpath:/META-INF/resources/webjars/"}).setCachePeriod(this.getSeconds(cachePeriod)).setCacheControl(cacheControl)); } String staticPathPattern = this.mvcProperties.getStaticPathPattern(); if (!registry.hasMappingForPattern(staticPathPattern)) { this.customizeResourceHandlerRegistration(registry.addResourceHandler(new String[]{staticPathPattern}).addResourceLocations

Java中类的加载顺序剖析

依然范特西╮ 提交于 2020-03-01 00:15:51
这其实是去年校招时的一道阿里巴巴的笔试题,如果没记错的话,当时是作为Java方向的一道选做大题。当然题意没有这么直白,题目只要求你写出程序运行后所有System.out.println的输出结果,其中程序是题目给的,而各个System.out.println的执行顺序不同会导致最后程序输出的结果也不同。 具体的题目我肯定记不清,不过我们可以换个直接的问法,如果类A和类B中有静态变量,静态语句块,非静态变量,非静态语句块,构造函数,静态方法,非静态方法,同时类A继承类B,请问当实例化A时,类内部的加载顺序是什么? 当时我也是一头雾水,事后我就自己写了一个小Demo,这才知道了类内部的实际加载顺,测试代码如下: Class B: public class B{ //静态变量 static int i=1; //静态语句块 static { System.out.println("Class B1:static blocks"+i); } //非静态变量 int j=1; //静态语句块 static{ i++; System.out.println("Class B2:static blocks"+i); } //构造函数 public B(){ i++; j++; System.out.println("constructor B: "+"i="+i+",j="+j); } /

静态和非静态初始化代码块有什么区别

有些话、适合烂在心里 提交于 2020-02-29 22:19:06
我的问题是关于static关键字的一种特殊用法。 可以使用 static 关键字覆盖不属于任何函数的类中的代码块。 例如,以下代码编译: public class Test { private static final int a; static { a = 5; doSomething(a); } private static int doSomething(int x) { return (x+5); } } 如果删除 static 关键字,则会抱怨,因为变量 a 是 final 。 但是,可以同时删除 final 和 static 关键字并进行编译。 这两种方式都使我感到困惑。 我应该如何拥有不属于任何方法的代码段? 如何调用它? 通常,此用法的目的是什么? 或者更好的是,在哪里可以找到有关此文件的文档? #1楼 当开发人员使用初始化程序块时,Java编译器会将初始化程序复制到当前类的每个构造函数中。 例: 以下代码: class MyClass { private int myField = 3; { myField = myField + 2; //myField is worth 5 for all instance } public MyClass() { myField = myField * 4; //myField is worth 20 for all

Java--代码执行顺序(静态初始化块,初始化块,构造函数)

只谈情不闲聊 提交于 2020-02-29 22:14:45
先上结论 执行顺序 :先执行静态初始化块,然后时初始化块,最后是构造函数 书写格式 : 注意事项: 1. 静态初始化块    静态初始化块只 在类首次加载时执行一次 ,同时静态初始化块 只能给静态变量赋值 ,不能给普通成员变量赋值。 静态初始化块不需要在main方法中调用,即使没有main方法它也会执行 2. (非静态)初始化块    (非静态)初始化块 在每次生成实例对象时都执行一次 ,可以给任意变量赋值。 如果对类没有进行实例化,初始化块不会执行,但是静态初始化块会执行。 3. 构造方法    构造方法 在每次生成实例对象时都执行一次 通过反编译可以看到,构造代码块中的代码也是在构造方法中执行的。在 编译时 的编译器看来 会默认将构造代码块中的代码移动到构造方法中,并且移动到构造方法内容的前面 。 另外需要注意的一点是在执行子类的构造方法之前会先执行父类的默认构造函数即无参构造函数 来源: oschina 链接: https://my.oschina.net/fairy1674/blog/3179652