java:牛客每日三十题总结
- 总结如下
总结如下
执行流程如下:创建HttpServlet时需要覆盖doGet()和doPost请求
2. request相关知识
request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。
request域代表一次请求处理的过程,就是从客户端到服务端的一次请求的过程。
request.getParameter()获取HTTP提交过来的数据。
而request.getAttribute()方法返回reques,sessiont范围内存在的对象。
-
编译时能发现的异常都要用try-catch包裹
-
引用类型
intValue()是把Integer对象类型变成int的基础数据类型;
parseInt()是把String
变成int的基础数据类型;
Valueof()是把String
转化成Integer对象类型;(现在JDK版本支持自动装箱拆箱了。 -
off-heap
off-heap叫做堆外内存,将你的对象从堆中脱离出来序列化,然后存储在一大块内存中,这就像它存储到磁盘上一样,但它仍然在RAM中。对象在这种状态下不能直接使用,它们必须首先反序列化,也不受垃圾收集。序列化和反序列化将会影响部分性能(所以可以考虑使用FST-serialization)使用堆外内存能够降低GC导致的暂停。堆外内存不受垃圾收集器管理,也不属于老年代,新生代。 -
类初始化的时机
属于被动引用不会出发子类初始化1.子类引用父类的静态字段,只会触发子类的加载、父类的初始化,不会导致子类初始化
2.通过数组定义来引用类,不会触发此类的初始化
3.常量在编译阶段会进行常量优化,将常量存入调用类的常量池中, 本质上并没有直接引用到定义常量的类,因此不会触发定义常量的类的初始化。