2021
10-29
10-29
Java开发岗位面试被问到嵌套类怎么办
目录嵌套类分类静态内部类1.静态内部类中能声明哪些类,变量和方法?2.静态内部类能访问外围类的哪些变量和方法?3.继承方面内部类1.细分类2.内部类中能声明哪些类,变量和方法?3.内部类能访问外围类的哪些变量和方法?4.内部类是怎样绑定外围对象?5.继承方面6.本地内部类嵌套接口总结嵌套类分类静态内部类(静态嵌套类/静态成员类/静态类)内部类(非静态嵌套类)内部成员类本地内部类匿名内部类嵌套接口...
继续阅读 >
目录Servlet简介Servlet的作用Servlet的开发流程Servlet映射路径的配置问题Servlet的生命周期Servlet多线程问题Servlet中重要的对象ServletConfig对象ServletContext对象转发转发重定向总结Servlet简介servlet是ServerApplet的简称,翻译过来就是服务程序.好吧,这么说你可能还是不太懂,简单的讲,这个servlet是运行在服务器上的一个小程序,用来处理服务器请求的.进一步讲,我们知道,一般的网页程序,是由我们通过浏览器访问...
目录1、安装maven1.1Windows安装1.2Linux安装1.3简单配置1.3.1配置本地仓库路径1.3.2配置镜像1.4idea配置2、Maven简单上手3、Maven生命周期4、POM文件详解4.1、基础介绍4.2、dependencies&dependency4.3、dependencyManagement4.4、properties4.5、构建配置4.6、仓库配置4.7、项目配置信息(了解即可)5、Maven依赖6、聚合和继承6.1、使用idea创建聚合工程6.2、使用idea创建分布式聚合工程7、Maven插件7.1SpringBoot插件8、...
关键要点Java序列化在很多库中引入了安全漏洞。对序列化进行模块化处于开放讨论状态。如果序列化能够成为模块,开发人员将能够将其从攻击表面上移除。移除其他模块可以消除它们所带来的风险。插桩提供了一种编织安全控制的方法,提供现代化的防御机制。多年来,Java的序列化功能饱受安全漏洞和zero-day攻击,为此赢得了“持续奉献的礼物”和“第四个不可饶恕的诅咒”的绰号。作...
上一篇文章,学习了并发编程中的synchronized,这个比较好理解,也是我最初学习多线程编程中的一个简单的实现的,大学的时候就会了,然后就一直以为多线程环境的同步只能通过这个来实现的,事实上Java还提供了另外一个更加轻量级的实现-volatile,如果说synchronized实现了数据在同一时刻只能有一个线程对数据访问的话,那么volatile实现的就是同时可以多个线程在访问数据,但是只要数据发生了变化,便确保其他线程及时“感知”...
任何使用过基于Java的企业级后端应用的软件开发者都会遇到过这种低劣、奇怪的报错,这些报错来自于用户或是测试工程师: java.lang.OutOfMemoryError:Javaheapspace。为了弄清楚问题,我们必须返回到算法复杂性的计算机科学基础,尤其是“空间”复杂性。如果我们回忆,每一个应用都有一个最坏情况特征。具体来说,在存储维度方面,超过推荐的存储将会被分配到应用程序上,这是不可预测但尖锐的问题。这导致了堆内...
前言Java中volatile这个热门的关键字,在面试中经常会被提及,在各种技术交流群中也经常被讨论,但似乎讨论不出一个完美的结果,带着种种疑惑,准备从JVM、C++、汇编的角度重新梳理一遍。volatile的两大特性:禁止重排序、内存可见性,这两个概念,不太清楚的同学可以看这篇文章->javavolatile关键字解惑概念是知道了,但还是很迷糊,它们到底是如何实现的?本文会涉及到一些汇编方面的内容,如果多看几遍...
解Bug之路-记一次JVM堆外内存泄露Bug的查找前言JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头。笔者将此Bug分析的过程写成博客,以飨读者。由于物理内存定量分析部分用到了linuxkernel虚拟内存管理的知识,读者如果有兴趣了解请看ulk3(《深入理解linux内核第三版》)内存泄露Bug现场一个线上稳...
1.前言前段时间升级了urs新的远程cookie校验模式。功能上线后,发现涉及用户cookie校验的接口,有时会报接口超时。通过日志埋点方式,确认了与urs提供的jar包内的新验证方法有关。通过反编译,看到相关方法执行过程中涉及参数校验、参数组装、远程访问校验、本地校验等步骤,究竟哪个步骤出了问题?一种方式是让urs帮忙提供一个新的jar包,在关键步骤处加日志,记录执行时间,另一种方法,就是使用一些在线分析工具...
伸展树简介伸展树(SplayTree)是特殊的二叉查找树。它的特殊是指,它除了本身是棵二叉查找树之外,它还具备一个特点:当某个节点被访问时,伸展树会通过旋转使该节点成为树根。这样做的好处是,下次要访问该节点时,能够迅速的访问到该节点。特性1.和普通的二叉查找树相比,具有任何情况下、任何操作的平摊O(log2n)的复杂度,时间性能上更好2.和一般的平衡二叉树比如红黑树、AVL树相比,维护更少的节点额...