周末Java题

第二次
在这里插入图片描述
A是静态方法,可以直接用如下形式调用 Test.method();
B是普通public方法,必须实例化类,Test test = new Test(); test.method();
C是protected方法,用法同B,只是对于其他的外部class,protected就变成private;
D是抽象方法,必须被子类继承并重写,然后调用的方式同B。
在这里插入图片描述
重载的概念是:
方法名称相同,参数个数、次序、类型不同
因此重载对返回值没有要求,可以相同,也可以不同
但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
流程控制语句分类:
顺序结构
选择结构:if语句、switch语句
循环结构:while语句、for语句
在这里插入图片描述
编译看左边,运行看右边。
在这里插入图片描述
java,exe是java虚拟机
javadoc.exe用来制作java文档
jdb.exe是java的调试器
javaprof,exe是剖析工具
在这里插入图片描述
threadlocalmap使用开放定址法解决haah冲突,hashmap使用链地址法解决hash冲突在这里插入图片描述
子类中的方法覆盖父类的方法以后,由于向上转型,父类调用方法的时候是调用子类的,除非用super。在Try catch finally 体系当中,在return之前始终会执行finally里面的代码,如果finally里面有return,则数据跟随finally改变。如果没有return,则原数据不跟随finally里改变的数据改变。
在这里插入图片描述
两种:
1、继承Thread类,Override它的run方法;
2、实现Runnable接口,实现run方法;
由于Java只有单继承,所以,第一种方法只能继承一个Thread;第二种则可以实现多继承。
在这里插入图片描述
如果else if的body中有对判断条件中包含变量的修改,那么调换顺序,就有可能造成结果不同
在这里插入图片描述
A、一旦执行到return,就不再执行后续的代码。
B、类的封装性可不是这么体现的,数据域和方法都可以被封装。数据域可以是基本数据类型也可以是引用类型。
C、方法的返回值可以是引用类型。
D、重载,判定方法只有方法名一致,形参列表不同。
在这里插入图片描述
AOP 和 OOP的区别:
面向方面编程 AOP 偏重业务处理过程的某个步骤或阶段,强调降低模块之间的耦合度,使代码拥有更好的移植性。
面向对象编程 (oop) 则是对业务分析中抽取的实体进行方法和属性的封装。
也可以说 AOP 是面向业务中的动词领域, OOP 面向名词领域。
AOP 的一个很重要的特点是源代码无关性,也就是说如果我们的系统中引用了 AOP 组件,即使我们把该组件去掉,系统代码也应该能够编译通过。要实现这一点,可以使用动态 proxy 模式。
在这里插入图片描述
A.抽象类是可以实现接口的,而且抽象类也可以继承自抽象类
C.抽象类指有abstract修饰的class,其可以包含抽象方法,也可以不包含
D.抽象类和接口都是不能被实例化的,只有具体的类才可以被实例化
在这里插入图片描述
初始化过程:
1.初始化父类中的静态成员变量和静态代码块 ;
2.初始化子类中的静态成员变量和静态代码块 ;
3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;
4.初始化子类的普通成员变量和代码块,再执行子类的构造方法;
在这里插入图片描述
不同基本数据类型转化与运算byte-short-int-long-float-double,float=1转化为float=1.0,int/float相比先转化为同一类型即float(1.0)/float(2.0)=0.5
在这里插入图片描述
静态块:用static申明,JVM加载类时执行,仅执行一次
构造块:类中直接用{}定义,每一次创建对象时执行
执行顺序优先级:静态块>main()>构造块>构造方法
静态块按照申明顺序执行,先执行Test t1 = new Test();
所有先输出blockA,然后执行静态块,输出blockB,最后执行main
方法中的Test t2 = new Test();输出blockA。
在这里插入图片描述
Math.floor() 表示向下取整,返回double类型 (floor—地板)
Math.ceil() 表示向上取整,返回double类型 (ceil—天花板)
Math.round() 四舍五入,返回int类型
在这里插入图片描述
java中引用类型的实参向形参的传递,只是传递的引用,而不是传递的对象本身。
在这里插入图片描述
do-while循环结束的条件是关键字while后的判断语句不成立
在这里插入图片描述
Java语言系统自带有三个类加载器:
Bootstrap ClassLoader 最顶层的加载类,主要加载核心类库,%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar和class等。另外需要注意的是可以通过启动jvm时指定-Xbootclasspath和路径来改变Bootstrap ClassLoader的加载目录。比如java -Xbootclasspath/a:path被指定的文件追加到默认的bootstrap路径中。我们可以打开我的电脑,在上面的目录下查看,看看这些jar包是不是存在于这个目录。
Extention ClassLoader 扩展的类加载器,加载目录%JRE_HOME%\lib\ext目录下的jar包和class文件。还可以加载-D java.ext.dirs选项指定的目录。
Appclass Loader也称为SystemAppClass 加载当前应用的classpath的所有类。
加载顺序:
1.Bootstrap CLassloder
2.Extention ClassLoader
3.AppClassLoader
在这里插入图片描述
nstanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例,
而Object是所有类的父类。
在这里插入图片描述
构造函数,名称与类相同,没有返回类型的
在这里插入图片描述
i=i++; 这样才是4
在这里插入图片描述
父类的静态变量、父类的静态代码块、子类的静态变量、子类的静态代码块、
父类的非静态变量、父类的非静态代码块、父类的构造函数、
子类的非静态变量、子类的非静态代码块、子类的构造函数。
在这里插入图片描述
Java 提供了包机制,用于区别类名的命名空间,访问控制
包名必须与相应的字节码所在的目录结构相吻合。
在这里插入图片描述
多重继承,三种实现方式,使用多层继承,接口,内部类
在这里插入图片描述
-s 还原文件的顺序和备份文件内的存放顺序相同。
-t 列出备份文件的内容。
-v 显示指令执行过程。
-f 指定压缩文件
-x 从备份文件中还原文件。
在这里插入图片描述
GenericServlet 抽象类 给出了设计 servlet 的一些骨架,定义了 servlet 生命周期,还有一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的
在这里插入图片描述
A:形式参数只能被final修饰
B:形式参数可以是对象
C:形式参数被调用时被传递的是实际参数的拷贝
D:local variable:局部变量
在这里插入图片描述
在Struts中,MVC中 Model 的实现是 Action ,MVC中 View 的实现是 Result,MVC中 Controller 的实现是 FilterDispatcher

第一次
在这里插入图片描述
javac.exe是编译功能javaCompiler
java.exe是执行程序,用于执行编译好的.class文件
javadoc.exe用来制作java文档
jdb.exe是java的调试器
javaprof.exe是剖析工具
在这里插入图片描述
AB.method是用类来调用方法,说明method方法是static的,而无返回值则是void,所以选A
在这里插入图片描述
传值传参的时候,我们在函数中改变了参数的值,其对应的变量的值并不改变,值类型传参就是将变量保存的内容复制到函数的形参中,他们是两个不同的变量,值不过保存的内容相同不了.
引用传参保存的是一个地址,这个地址里保存的是变量的具体值,而引用类型作为参数的时候,是将变量保存的地址值赋值到参数变量里,这样他们都指向了同一个内容,这样我们改变参数的成员的话,那么相应的变量的成员也会改变。
在这里插入图片描述input和output指的是对于程序而言。input是从文件读取进来,output是输出到文件。在这里插入图片描述
RMI采用的是TCP/IP协议
在这里插入图片描述
String类是final类型的,不能继承和修改这个类。str=“tesk ok”,其实是隐含的让Java生成一个新的String对象,那么就与原来的“Hello”没有任何关系,当函数结束,str作用结束,所以输出的还是“Hello”。 char ch[] 是传递引用,修改了原内容在这里插入图片描述
初始条件是x=2,循环终止的条件是x>=n/2,执行一次循环,x就乘以2,所以执行t次循环后,x的值为2的t+1次方,若此时达到终止条件,则2的t+1次方=n/2。在这里插入图片描述
129 int类型(4个字节)二进制: 00000000 00000000 00000000 10000001
在计算机系统中,数值一律用补码来表示(存储),正数的补码和源码相同。
int -> byte(1个字节),截取: 10000001
补码转反码:1开始则为负数,负数得到反码是末位-1: 10000000
负数的反码转原码(最高位即符号位不变):11111111
转换为十进制:-(27-1)=-127
在这里插入图片描述
Ant 没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列。在这里插入图片描述在这里插入图片描述
在这里插入图片描述
char[] ch = new char[3];//默认空字符
int [] Int = new int[2];//默认0
String[] strings = new String[2];//默认null
在这里插入图片描述
Set 不能有重复的元素,且是无序的,要有空值也就只能有一个。因为它不允许重复。 List 可以有重复元素,且是有序的,要有空值也可以有多个,因为它可重复
在这里插入图片描述
不论有什么运算,小括号的优先级都是最高的,先计算小括号中的运算,得到x+y +""+25+y,任何字符与字符串相加都是字符串,但是是有顺序的,字符串前面的按原来的格式相加,字符串后面的都按字符串相加,得到25+“”+25+5,上面的结果按字符串相加得到25255
在这里插入图片描述
在接口里面的变量默认都是public static final 的,它们是公共的,静态的,最终的常量.相当于全局常量,可以直接省略修饰符。
实现类可以直接访问接口中的变量
在这里插入图片描述
在执行new Alpha()时,会先执行父类的构造方法,在执行相应的子类的构造方法,所以此处会打印Base,在执行new Base()时,会直接执行Base中无参构造器的代码,再输出Base
在这里插入图片描述
和序列化有关,这是一个空接口,起标记作用,具体的序列化由ObjectOutputStream和ObjectInputStream完成。transient修饰的变量不能被序列化,static变量不管加没加transient都不可以被序列化
在这里插入图片描述
在接口中,属性都是默认public static final修饰的,所以:
A(错误):不能用private修饰;
B(正确):在接口中,属性默认public static final,这三个关键字可以省略;
C(错误):没写属性的类型;
D(错误):final修饰的属性必须赋值;
在这里插入图片描述
c是面向过程,c++面向对象,JAVA面向对象,汇编是面向机器
在这里插入图片描述
StringBuilder , StringBuffer ,String 都是 final 的,但是为什么StringBuilder , StringBuffer可以进行修改呢,因为不可变包括的是,引用不可变以及对象不可变,而这三个都是属于引用不可变,(也就是地址不要变,里面的内容随心所欲),而StringBuilder , StringBuffer 中都包含右append方法,可对对象中的内容进行增加。而String a=“123”+new String(“456”);实际上底层是用了一个StringBuffer 进行append
在这里插入图片描述
编码格式由浏览器决定,浏览器根据html中指定的编码格式进行编码,tomcat根据指定的格式进行解码,另外get请求和post请求对编码格式的处理也是不同的
在这里插入图片描述
%和是同一个优先级,从左到右运算
在这里插入图片描述
Hibernate 中 get()和load() 的区别:
1.get()采用立即加载方式,而load()采用 延迟加载 ; get()方法执行的时候,会立即向数据库发出查询语句, 而load()方法返回的是一个
**(此***中只有一个id属性),只有等真正使用该对象属性的时候,才会发出 sql语句 2.如果数据库中没有对应的记录,get()方法返回的是null.而load()方法出现异常ObjectNotFoundException
在这里插入图片描述
子类重写父类方法时,方法的访问权限不能小于原访问权限,在接口中,方法的默认权限就是public,所以子类重写后只能是public
在这里插入图片描述
Java的跨平台特性是因为JVM的存在, 它可以执行.class字节码文件,而不是.java源代码
在这里插入图片描述
ceil:大于等于 x,并且与它最接近的整数。
floor:小于等于 x,且与 x 最接近的整数。
在这里插入图片描述
在这里插入图片描述
继承只能有一个,接口可以有多个
在这里插入图片描述
线程安全(Thread-safe)的集合对象:Vector 线程安全,HashTable 线程安全,StringBuffer 线程安全
非线程安全的集合对象:ArrayList ,LinkedList,HashMap,HashSet,TreeMap,TreeSet,StringBulider
在这里插入图片描述
synchronized保证三大性,原子性,有序性,可见性,volatile保证有序性,可见性,不能保证原子性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值