公司:恒生电子 第一次面筋

一、Java常用类

   答: awt类、io类、lang类、math类、nio类、sql类、text类、time类

二、HashTable和HashMap的区别?

   转载 https://www.cnblogs.com/firepation/p/9448027.html

三、Servlet的生命周期,是否是线程安全?

    1.生命周期:

        转译:将JSP转译Servlet类,即转译Java源文件;

        编译: 将转译后的Java源文件编译成.class字节码文件;

        加载:加载.class字节码文件;

        实例化:创建JSP对应的Servlet对象

        初始化:调用_jspInit()方法初始化对象的属性

        执行:调用_jspService()方法处理客户请求。

        销毁:服务器关闭时销毁jsp的对象,调用_jspDistroy()清理占用资源。

    注意:转译、编译、加载、实例化、初始化默认情况下发生在第一次访问页面时;

  可以配置服务器启动时进行上述过程。

    2.是否安全?

        Servlet是单例的,且非线程安全

    3.如何解决Servlet中非线程安全问题?

        第一种:在Servlet中尽量减少成员变量的使用,尽量考虑使用局部变量;

        第二种:在服务方法中使用同步语句块或将服务方法做成同步方法;

        第三种:使用SingleThreadModel 接口。

四、Callable和Runable的区别?

    1.Runnable没有返回值;Callable可以返回执行结果,是个泛型,和Future、FutureTask配合可以用来获取异步执行的结果

    2.Callable接口的call()方法允许抛出异常;Runnable的run()方法异常只能在内部消化,不能往上继续抛

    :Callalbe接口支持返回执行结果,需要调用FutureTask.get()得到,此方法会阻塞主进程的继续往下执行,如果不调用不会阻塞。

五、集合的结构


六、数据库的相关知识


七、怎样在双向链表有A和C节点,在其中插入一个节B点,链表不会断开?

    在双向链表的结点A和B之间插入结点P需要修改:

        P的前驱,P的后继,A的后继,B的前驱

你可能感兴趣的:(公司:恒生电子 第一次面筋)