
面试
华仔哦
消除恐惧的最好办法就是微笑着面对它!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM垃圾回收算法
JVM垃圾回收算法1. 标记-清除算法 标记清除顾名思义是一种分两阶段对对象进行垃圾回收的算法。 第一阶段:标记。从根结点出发遍历(深度优先)对象,对可访问的对象打上标记,表示该对象可达。 第二阶段:清除。对那些没有标记的对象进行回收,这样使得不能利用的空间能够重新被利用。优点:实现简单缺点:碎片化严重、效率低(多次遍历)2. 复制算法 复制算法将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使原创 2020-08-20 19:57:31 · 278 阅读 · 0 评论 -
JVM垃圾判断机制
JVM垃圾判断机制1. 引用计数法(基本不用)给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1当引用失效时,计数器减1当计数器值为 0 时代表该对象不可能再被使用,将会被当作垃圾回收引用计数法的优点是简单、效率高,但有一个致命的缺点就是无法解决循环依赖问题。比如有两个对象A、B,且A.a = B , B.a = A,而A、B对象各自的引用已经失效,但此时因A、B循环依赖导致各自的引用计数器值为1,从而应该被回收的对象没有被回收掉2. 可达性分析法(常用) 通过一系列”原创 2020-08-19 19:42:00 · 251 阅读 · 0 评论 -
Java多线程面试题汇总
线程协作的方式,SyclicBarrier的底层是怎么实现的?如何实现三个线程交替打印ABC?volatile的底层原理?不是回答内存屏障,是问你调用了什么CPU的API,在不同硬件情况下会有什么不同吗?两个线程轮流打印奇数偶数synchronized介绍synchronized锁升级过程wait()和sleep()的区别volatile的作用双重检查的用处,假如不要第一次if判断会有什么问题synchronized和ReentrantLock..原创 2020-07-24 21:31:11 · 245 阅读 · 0 评论 -
Java自动装箱与拆箱
自动装箱与拆箱自动装箱与拆箱是自JDK 1.5 引入的概念:自动装箱:自动将基本数据类型变成对象自动拆箱:自动将对象转换回基本数据类型基本数据类型与包装类对应如下:当表格中左边列出的基础类型与它们的包装类有如下几种情况时,编译器会自动帮我们进行装箱或拆箱:进行 = 赋值操作(装箱或拆箱)进行四则运算(拆箱)进行 > < == 比较运算(拆箱)调用 equals 进行比较(装箱)ArrayList、HashMap等集合类添加基本数据类型时(装箱)Integer原创 2020-07-23 21:34:07 · 238 阅读 · 0 评论 -
Java集合框架概述
一、集合框架概述 Java集合有两个大类,Collection 和 Map,两者主要有以下区别:Collection 是单列集合,Map 是双列集合Collection 中只有Set系列要求元素唯一,Map 中需要健值唯一,value 可以重复Collection 中数据结构是针对元素的,Map 中数据结构是针对健的二、各集合知识点1. Set 特点:存取无序,元素不可以重复,线程不安全,也就是说我们需要元素去重的时候就会考虑使用 Set(还是要根据具体情况来分析的),要注意Se原创 2020-07-22 20:03:53 · 297 阅读 · 0 评论 -
HashMap 深度解读
一、HashMap HashMap 是一个非常重要的类,在面试中百问不爽,下面我们就来捋一捋关于HashMap的知识点,以下讲述主要基于Java8。1. 底层结构 在 Java7 中,HashMap 的底层结构是数组 + 链表,但是在Java8 后,这个结构被稍微优化了一些,变成了 数 + 链表/红黑树。如图,HashMap最基本的就是 数组结构,根据索引来查找元素,所以 HashMap 查找的时间复杂度为 O(1),但这个时间复杂度也不是完全精准的,只有在只是一个数组的情况下才是 O(1)。原创 2020-07-21 22:03:57 · 418 阅读 · 0 评论 -
Java基础面试题汇总
Java的三大特性面向对象和面向过程的区别接口和抽象类的区别是什么?成员变量与局部变量的区别有那些?构造方法有哪些特性?对象的相等与指向他们的引用相等,两者有什么不同?静态方法和实例方法有何不同?什么是多态机制?Java语言是如何实现多态的?类、方法、成员变量和局部变量的可用修饰符在一个静态方法内调用一个非静态成员为什么是非法的?环境变量Path和ClassPath的作用是什么?如何设置这两个环境变量?ArrayList、Vector、HashSet的主要区别?CopyOnWrit.原创 2020-07-17 21:05:01 · 212 阅读 · 0 评论 -
计算机网络面试题汇总
TCP 和 UDP 的区别TIME_WAIT 是什么?TCP 流量控制和拥塞控制HTTP 包结构你提到了 If-Modified-Since,它的作用是什么?这个字段的值如何确定?HTTP 请求方法列举 HTTP 状态码TCP 的包怎么保证有序性?TCP 三次握手和四次挥手TIME_WAIT 为什么是 2MSL 而不是 1MSL 或者 3MSL?HTTPS 密钥交换的过程get和post的区别?HTTP和HTTPS输入网址访问的过程DNS解析过程,DNS劫持数据传输时如何保证.原创 2020-07-17 20:46:41 · 186 阅读 · 0 评论 -
数据结构基础复习
参考书籍及图片来源:《大话数据结构》一、线性表顺序存储结构 --> 便于 add 和 get,不便于 insert 和 delete,需要提前定义大小链式存储结构 --> 便于 insert 和 delete,不便于 get,不需要提前定义大小单链表循环链表双链表双向循环链表二、栈与队列(特殊的线性表)栈:只能在一端进行插入与删除,先进后出顺序栈链栈队列:只能在一端掺入,另一端删除,先进先出顺序队列循环队列链队列三、串四、树(面试原创 2020-07-06 11:42:11 · 789 阅读 · 1 评论 -
后端面试题解答之计算机网络
1. TCP 和 UDP 的区别TCP 是面向连接的协议,在收发数据前必须和对方建立可靠的连接,即三次握手、维护连接状态表等;UDP 是非连接的TCP 头部最少20个字节,UDP 头部只有8个字节TCP 会将数据分段,UDP 不会TCP 有流量控制、拥塞控制,UDP 没有TCP 保证数据的可靠性,即有序性、不丢失(重传),UDP 无法保证2. TCP 的流量控制和拥塞控制流量控制目的:如果发送方发送数据过快,接收方来不及接收,就会导致数据丢失实现:接收方每次收到数据包,可以在发送原创 2020-07-02 21:31:44 · 427 阅读 · 0 评论 -
Java开发工程师(实习)面试(二)
2020.03.07 17:30 腾讯-电脑管家一、自我介绍二、问题开始线程与进程的关系?解:原创 2020-03-11 21:05:33 · 299 阅读 · 0 评论 -
线程与进程的关系及区别
1.定义一个程序至少有一个进程,一个进程至少有一个线程。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥...转载 2020-03-11 20:23:40 · 2084 阅读 · 0 评论 -
Java开发工程师(实习)面试(一)
2020.03.04 10:30 阿里巴巴-淘宝一、自我介绍首先你介绍一下你自己,然后你在介绍一下你在学校的成绩以及社会实践,还有你的技术栈…二、面试开始软件工程专业,首先询问是否学习过操作系统、计算机网络等课程进程的状态都有哪些?之间又是怎么切换的?解:进程有三种基本状态:就绪(Ready):当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这...原创 2020-03-04 23:15:06 · 851 阅读 · 0 评论