java知识

2022/5/30 1:22:38

本文主要是介绍java知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

说出Servlet的生命周期,并说出Servlet和CGI的区别 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方 法, service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等, 当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方 法, 一个实例可以服务于多个请求,并且其实例一般不会销毁, 而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。     请说出你所知道的线程同步的方法 wait():使一个线程处于等待状态,并且释放所持有的对象的lock。 sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法, 调用此方法要捕捉InterruptedException异常。 notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候, 并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线 而且不是按优先级。 Allnotity():唤醒所有处于等待状态的线程,注意并不是给所有唤醒线程一个对象 而是让它们竞争。   内部类可以引用它的包含类的成员吗?有没有什么限制? 如果不是静态内部类,完全可以。那没有什么限制! 在静态内部类下,不可以访问外部类的普通成员变量,而只能访问外部类中的静 态成员     Java中线程间怎么通讯?什么叫僵死线程? Java中线程间通讯可以用共享变量,或者管道。 僵死线程: 在多线程中,线程会sleep,当程序停止时,线程仍然处于sleep中,就出现了僵死线程   谈谈final,finally,finalize的区别。 final:如果一个类用final修饰,那么这个类不能被继承。 finally:在异常处理时提供 finally 块来执行任何清除操作。 finalize:方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象 从内存中清除出去之前做必要的清理工作。 finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 注意:finalize不一定被jvm调用,只有当垃圾回收器要清除垃圾时才被调用。         private static final long serialVersionUID = 7249069246763182397L;   final 方法   finally 是在 return 表达式运行后执行的 , 此时将要 return 的结果已经被暂 存起来 , 待 finally 代码块执行结束后再将之前暂存的结果返回     在 Java 中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法; 并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方 法的功能称为 Java 语言的反射机制。   Annotation(注解)是 Java 提供的一种对元程序中元素关联信息和元数据( metadata)的途径和方法。     a+=b 的意思 a=a+b 同理:a|=b就是 a=a|b, 然后按照楼上所说的去做二进制的 或运算     Java 多态
多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:

 

多态的实现方式 方式一:重写: 这个内容已经在上一章节详细讲过,就不再阐述,详细可访问:Java 重写(Override)与重载(Overload)。 方式二:接口
  • 1. 生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。
  • 2. java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。具体可以看 java接口 这一章节的内容。
方式三:抽象类和抽象方法 详情请看 Java抽象类 章节。     14.overload和override的区别? Overload是重载,是有相同的方法名,但参数类型或个数彼此不同; Override是重写,是在子类与父类中,子类中的方法的方法名, 参数个数、类型都与父类中的完全一样,在子类中覆盖掉了父类的方法。     102.内部类可以引用它的包含类的成员吗?有没有什么限制? 如果不是静态内部类,完全可以。那没有什么限制! 在静态内部类下,不可以访问外部类的普通成员变量,而只能访问外部类中的静 态成员     147.String s = new String("xyz");创建了几g 个String Object? 2个,一个是“xyz”,一个是“xyz”的引用对象s。

这篇关于java知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程