• Java基础面试被常问到知识点


    1、类的加载机制

      将类的.calss文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个Java.lang.class对象,用来封装类在方法区内的数据结构。

    2、加载.class文件的方式

      ①从本地系统中直接加载。

      ②通过网络下载class文件(典型应用applet:通过网络传输,由浏览器自动装载并执行。用法:在HTML文件中插<applet>标签)。

      ③从zipjar等归档文件中加载class文件。

      ④从专有数据库中提取class文件。

      ⑤将Java源文件动态编译为class文件

    3、类的生命周期 

      加载、验证、准备、解析、初始化。

    4、Servlet的生命周期

      ①实例化:获得请求,容器创建servlet容器。

      ②初始化:调用init()方法。该方法只会执行一次,作用是获取资源。

      ③响应客户端请求:调用service()方法。

      ④服务终止(销毁):调用destroy()方法。释放占用的系统资源。

    5、接口和抽象类的区别

      ①一个类可以实现多个接口,但是只能继承一个抽象类。

      语法上:

      ②接口中只能定义抽象方法,抽象类中可以有普通方法。

      ③接口中只能有静态成员变量,抽象类中可以有普通成员变量。

      ④接口中不能有构造方法,抽象中可以有构造方法。

      $$  记住抽象类与普通类的区别:

      不能创建实例  ||  在类名前加abstract。

    6、Jdbc连接数据库的方式

      url = "jdbc:oracle:thin:@192.168.1.15:1521:ORCL";

      url = "jdbc:mysql://localhost:3306/数据库名”

      ①加载驱动:class.forName(“com.mysql.jdbc.Driver”);

      oracle.jdbc.OracleDriver

      ②建立连接:

      Connection conn = DriverManager.getConnection(url);

      ③创建PreparedStatement对象:用来向数据库发送查询和命令。preparedstatement ps = connection.preparestatement(sql);

      ④处理结果集(SQL语句):ResultSet rs = ps.excuteQuery();

      ⑤关闭连接:按顺序rs.close ()> ps.close()  > conn.close()

    7、Java序列化

      将一个对象转换成二进制表示的字节数组,通过保存或转移这些字节数据达到持久化目的。

      反序列化:将字节数组重新构造成对象。

    8、Java虚拟机

      ①运行所有Java程序的虚拟计算机,是Java语言的运行环境。

      ②Jav虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。

      特点:

      与平台无关,引入Java虚拟机,Java语言在不同平台上运行时不需要重新编译,其执行字节码,把字节码转换成机器指令执行。

    9、Static

      ①被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。

      ②静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量。

      ③静态资源的加载顺序是严格按照静态资源的定义加载的。

      ④静态代码块对于定义在他之后的静态变量,可以赋值,但不能访问。

    1 public class A {
    2     c = 3; System.out.println(c);
    3 }
    4 
    5 private static int c;

    10、final

      ①修饰类不可继承

      ②修饰方法不可重写

      ③修饰变量(注意:是指修饰的引用不能变,引用指向的内容可以变)

      另:被final修饰的方法,JVM会尝试为之寻求内联,提升效率。

      被final修饰的常量,在编译阶段会存入调用类的常量池中。

    11、多态

      抽象、继承、封装是多态的基础,多态是抽象、继承、封装的实现。

      多态的三要素:

      ①继承②重写③父类引用指向子类对象

     
    以上内容纯属个人见解,不足之处请大家指明。2017-09-16 10:29:00

     

     

  • 相关阅读:
    提取轮廓后的画图处理
    提取视频中的前景物体
    写入视频帧
    处理视频序列
    视频读写
    三维重建-相机标定
    图像拼接相关
    计算两幅图像之间的单应矩阵
    ransac算法(随机抽样一致性)
    图像间投影关系
  • 原文地址:https://www.cnblogs.com/gaomanito/p/7530489.html
Copyright © 2020-2023  润新知