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

一、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的前驱

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • IOC 控制反转容器控制程序对象之间的关系,而不是传统实现中,有程序代码之间控制,又名依赖注入。All 类的创建,...
    irckwk1阅读 987评论 0 0
  • 不足的地方请大家多多指正,如有其它没有想到的常问面试题请大家多多评论,一起成长,感谢!~ String可以被继承吗...
    启示录是真的阅读 2,983评论 3 3
  • 个人笔记,方便自己查阅使用 Contents Java LangAssignment, ReferenceData...
    freenik阅读 1,411评论 0 6
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,673评论 1 114
  • 1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标...
    michaelgong阅读 852评论 0 1