面试刷题24:介绍一枚 JAVA妹妹?】的更多相关文章

java提供的自动垃圾收集机制大大提高了程序员的开发效率. 但是自动垃圾收集不是万能的,明确jvm的内存结构,工作机制是设计高扩展应用的基础. 也是诊断jvm运行时问题的必备技能. 我是李福春,我在准备面试,今天的题目是: jvm的内存结构是怎样的?哪些区域容易发生OOM? 答:分3部分回答,具体如上图所示: 1,线程私有的:分为虚拟机栈,本地方法栈,程序计数器: 2,线程共享的:分为堆,方法区(元数据,常量池) 3,jvm之外的:分为直接内存和 code cache ; 然后为每个部分分别展开…
推荐: 接近100K star 的Java学习/面试指南 Github 95k+点赞的Java面试/学习手册.pdf 今天给小伙伴们推荐一个朋友开源的面试刷题系统. 这篇文章我会从系统架构设计层面详解介绍这个开源项目,并且会把微服务常用的一些技术都介绍一下.即使你对这个项目不感兴趣,也能了解到很多微服务相关的知识.美滋滋! 昨晚肝了很久~原创不易,若有帮助,求赞求转发啊! 不得不说,这个刷题系统确实是有点东西,你真的值得拥有!首先,这是一个微服务的项目,其次这个系统涵盖了市面上常用的主流技术比如…
随着分布式技术的普及和海量数据的增长,io的能力越来越重要,java提供的io模块提供了足够的扩展性来适应. 我是李福春,我在准备面试,今天的问题是: java中的io有哪几种? java中的io分3类: 1,BIO ,即同步阻塞IO,对应java.io包提供的工具:基于流模型,虽然直观,代码实现也简单,但是扩展性差,消耗资源大,容易成为系统的瓶颈: 2,NIO,同步非阻塞io,对应java.nio包提供的工具,基于io多路复用:核心类: Channel ,Selector , Buffer ,…
可恶的新冠病毒攻击人类,搞得IT就业形势相当不好?好在有钟南山院士带领我们提前开展好了防护工作! java作为基础平台安装在各种移动设备,PC,小型机,分布式服务器集群,各种不同的操作系统上.所以,对java平台层面的攻击也是最多的. 我是李福春,我在准备面试,今天的题目是: Java平台的注入攻击有哪些? 答:攻击需要找到安全漏洞,所谓的安全漏洞是:绕过安全系统限制或者利用程序瑕疵. java平台常见的注入攻击方式如下. 注入攻击 此外还有中间人攻击:即恶意用户在局域网段发送广播,声称自己是服…
上海尚学堂Java培训学员参加面试带回来的真题,分享出来与大家,希望大家能认真地看看做一遍.后面有详细题解答案,对照下,看看自己做得怎么样,把这些面试遇到的真题全部掌握,做好面试笔试前的准备. 一.13个面试题目 先自己看看这题目,动手做一做,然后再对照后面的答案. 第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)inter…
![image.png](https://img2020.cnblogs.com/other/268922/202003/268922-20200330183801141-1514127119.png) java的线程池的工作队列用到了并发队列.队列一般用在生产者消费者的场景中,处理需要排队的需求. 你好,我是李福春,今天的问题是: ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别? 答:都是java提供的并发安全队列,都提供了等待性的操作,take,…
对jdk,jvm,java应用程序的攻击多种多样?那么从java程序员的角度,如何写出安全的代码呢? 我是李福春,我在准备面试,今天的题目是:如何写出安全的java代码? 答:这个需要从功能设计到实现细节综合考虑,所谓的不安全,是攻击者利用jdk,jvm,java应用程序的瑕疵,或者是架构设计的缺陷进行攻击. 以dos攻击作为例子,分析一下如何写出安全的java代码. dos攻击是攻击者利用大量的机器发送请求,把目标java应用的的带宽或者其它资源(cpu,内存,磁盘)耗尽,导致正常用户无法正常…
背景 安全是软件设计的第二个非功能性需求,一般是当软件出现安全问题的时候才会得到重视. 最明显的比如 数据库用户信息和密码泄漏等: 数据加解密技术 单向加密 md5+salt值, 这个是软件设计中使用的比较多的. 但是要预防彩虹表的解密,在加密前校验密码的规则,符合安全等级. 对称加密 编程中用的比较多的是RSA加密,即增加一个秘钥.可以通过秘钥进行加解密. 效率比较高.安全性也比较高,但是要预防秘钥的泄漏. 非对称加密 即使用证书,公私钥对,一般是使用公钥解密,私钥加密: 比如数字证书,对外发…
文件copy是java的io部分不可忽视的内容. 我是李福春,我在准备面试,今天的问题是: zero-copy是怎么回事? 操作系统的空间划分为内核态空间, 用户态空间: 内核态空间相对操作系统具备更高的权限和优先级: 用户态空间即普通用户所处空间. zero-copy指的使用类似java.nio的transforTo方法进行文件copy,文件的copy直接从磁盘到内核态空间,不经过用户态空间,再写到磁盘,减少了io的消耗,避免了不必要的copy 和上下文切换,所以比较高效. 接下来对面试官可能…
java并发包提供的同步工具和线程池,底层是基于什么原理来设计和实现的呢?这个非常重要. 我是李福春,我在准备面试,今天的题目是: CAS和AQS是什么? 答:CAS是一系列的操作集合,获取当前值进行计算,如果当前值没有改变,表示线程没有被占用,直接更新成功,否则,进行重试或者返回成功或者失败. 他是java并发工具包中lock-free的基础吗,依赖底层的cpu提供的特定指令实现.底层依赖于Unsafe的本地对象来实现. AQS: 全称是AbstractQueuedSynchronizier,…