java相关
1、Java向上转型之后调用子类的同名变量/方法的问题
答案1总结:方法可重写,属性不可重写。父类的方法被子类覆盖,父类的属性不被子类覆盖。
对于//3 编译是不通过的。记住哦,我们现在创建的是父类的引用指向子类Son的对象。子类中定义的方法f2在父类中不存在,所以用这父类的引用去调用他没有的方法是错误的。
对于多态,可以总结它为:
一、使用父类类型的引用指向子类的对象;
二、该引用只能调用父类中定义的方法和变量;
三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)
四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。
转原文链接:https://blog.csdn.net/Hurricane_m/java/article/details/89006463
2、Java的interface中,成员变量的默认修饰符为:public static final
https://www.cnblogs.com/lxcmyf/p/7074319.html
3、反射机制中Class类用到的几个常用方法(没有getDeclaredName)
https://blog.csdn.net/qq_41063182/article/details/80625668
4、类的访问控制块声明顺序???????
A private,public,protected
B private,protected public
c public protected private
d protected private public
5、批量提交时,autocommit设置为 true or false or默认????????
6、while for if 左大括号位置
7、线程抛异常相关
A 、Java 的 Runnable 接口下的 run() 方法为什么不能抛出checked exception?
https://www.zhihu.com/question/27551063?sort=created
https://www.cnblogs.com/csniper/p/5891158.html
B、主线程处理异常
https://blog.csdn.net/zangdaiyang1991/article/details/84304096
C、Thread对象提供了setUncaughtExceptionHandler方法用来获取线程中产生的异常。而且建议使用该方法为线程设置异常捕获方法
D、当此类异常跑抛出时,线程就会终结,而对于主线程和其他线程完全不受影响,且完全感知不到某个线程抛出的异常
8、overide相关
A 覆盖override方法的可见性不可以降低(就是public不可以变成protected private,protected·不可以变成private)
B 异常处理,子类的方法抛出的异常只能和父类方法一致,或者是不抛出异常,但是不能出现父类对应方法的throws子句中没有的异常类型
9、Java反射机制的作用?
A 在运行时判断任意一个对象所属的类。
B 在运行时构造任意一个类的对象。
C 在运行时判断任意一个类所具有的成员变量和方法。
D 在运行时调用任意一个对象的方法
10、nio 的 Selector管理多个SocketChannel,必须将具体的SocketChannel对象注册到Selector,并声明需要监听的事件
1、connect:客户端连接服务端事件,对应值为SelectionKey.OP_CONNECT(8)
2、accept:服务端接收客户端连接事件,对应值为SelectionKey.OP_ACCEPT(16)
3、read:读事件,对应值为SelectionKey.OP_READ(1)
4、write:写事件,对应值为SelectionKey.OP_WRITE(4)
11 、Collection集合子类
12、throwable和exception的区别
A、throwable是父类,exception是子类。
B、throwable是根基,exception是从throwable派生出来的。
C、throwable中包括exception(异常)和error(错误)。
D、throwable用来定义所有可以作为异常被抛出来的类,exception专指程序本身可以处理的异常,一般性的异常。
在Java程序中,所有异常对象的根基类是Throwable,Throwable从Object直接继承而来(这是Java系统所强制要求的)。Throwable有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类
13 Java不可变类型 :String+包装类
补充:https://baijiahao.baidu.com/s?id=1642475926527866407&wfr=spider&for=pc
14、64位机器各类型的长度
32位机器:
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器:
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
原文链接:https://blog.csdn.net/Makefilehoon/article/details/79015937
15、下列哪个不是InputStream的子类----RandomAccessFile
https://www.cnblogs.com/shamo89/p/10237783.html
16、测试用例@Before,@After和@BeforeClass和@AfterClass的区别
一个JUnit4的单元测试用例执行顺序为:
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;
每一个测试方法的调用顺序为:
@Before -> @Test -> @After;
https://blog.csdn.net/dingjiajia_949/article/details/80183828
17、 满足语句覆盖的最少测试组合是什么
18、确定哪个类的实例占用内存较多
a、top -hp
b、jmap -histo pid
19、jmap命令使用
https://www.cnblogs.com/sxdcgaq8080/p/11089664.html
20 StreamGobbler使用正确的是
https://www.iteye.com/blog/hellsing42-118317
21、命令注入是啥
https://blog.csdn.net/weixin_43706468/article/details/88819431
22、文件路径标准化处理 方法Java?????