【牛客】笔记

1.元数据区域不属于新生代

2.EJB容器发生错误,non-persistent方式下JMS容器仍然会将消息发送

3.weblogic中开发消息Bean时的persistent与non-persisten的差别:

          persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题

          而JMS服务器依然会将消息在此MDB可用的时候发送过来。

          non-persistent方式的消息将被丢弃。

4.实现或基础Collection接口的是List,Vector,Set.

5.Java1.8版本之前的前提,Java特性中,abstract class和interface有什么区别:

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

        抽象类中可以有普通成员变量,接口中没有普通成员变量

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

6.abstract和final不可以同时作为一个类的修饰符,只能有final和abstract的一个,因为final是最终类,不能继承,必须可以创建实例,而abstract是抽象类,只能继承,不有实例。

7.off-heap是指JVM进程管理的内存。

8.Java的跨平台特性是因为JVM的存在, 它可以执行.class字节码文件,而不是.java源代码

9.MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。 MVC只是将分管不同功能的逻辑代码进行了隔离,增强了可维护和可扩展性,增强代码复用性,因此可以减少代码重复。但是不保证减少代码量,多层次的调用模式还有可能增加代码量。

10.用volatile修饰的变量,每次更新对其他线程都是立即可见的。

11.对volatile变量的操作不会造成阻塞。

12.一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:

        1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。

         2)禁止进行指令重排序。 volatile只提供了保证访问该变量时,每次都是从内存中读取最新值,并不会使用寄存器缓存该值——每次都会从内存中读取。 而对该变量的修改,volatile并不提供原子性的保证。 由于及时更新,很可能导致另一线程访问最新变量值,无法跳出循环的情况 多线程下计数器必须使用锁保护。

13.java程序的输入输出功能是通过流来实现的

14.java中的流按照处理单位可分成两种:字节流和字符流

15.通过调用相应的close()方法关闭输入输出流

16.JDK8之前版本,HashMap的数据结构是数组+链表/红黑树

17.如何获取ServletContext设置的参数值?context.getInitParameter()

18.final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

19.finally是异常处理语句结构的一部分,表示总是执行。

20.finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小雯洁洁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值