自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Java笔面试知识点整理:线程池

**为什么要使用线程池?**使用线程池主要有以下一些原因:降低资源消耗。创建/销毁线程需要消耗系统资源,线程池可以复用已创建的线程。控制并发的数量。并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃。(主要原因)可以对线程做统一管理。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。如果为每一个请求都新开一个线程,会有什么问题?线程生命周期的开销非

2020-08-14 10:23:29 133

原创 JVM笔面试知识点整理:GC、垃圾收集器

程序计数器、虚拟机栈、本地方法栈三个区域为线程私有的,每个栈帧中分配的内存基本在类结构确定时就是已知的,当方法结束或者线程结束时,内存自然就被回收了。垃圾收集主要针对Java堆和方法区进行。确定需要回收的对象1. 引用计数算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器的值就加一;当引用失效时,计数器的值就减一;任何时候计数器为零的对象就是不可能再被使用的。但是单纯的引用计数算法很难解决两个对象之间相互循环引用的问题:当两个对象相互引用,除此之外没有任何其他引用时,实际上这两个对象以及

2020-08-10 17:15:49 273

原创 JVM笔面试知识点整理:Java内存区域、类加载

Java内存区域线程私有的线程共享的程序计数器Java堆虚拟机栈方法区本地方法栈直接内存1. 程序计数器一块较小的内存区域,可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成。另外,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有

2020-08-10 11:22:10 385

原创 JDK8新特性:函数式接口和Lambda表达式

函数式接口Java8最大的变化是引入了函数式思想,也就是说函数可以作为另一个函数的参数。函数式接口,要求接口中有且仅有一个抽象方法,因此经常使用的Runnable,Callable接口就是典型的函数式接口。可以使用@FunctionalInterface注解,声明一个接口是函数式接口。如果一个接口满足函数式接口的定义,会默认转换成函数式接口。但是,最好是使用@FunctionalInterface注解显式声明。该注解可用于一个接口的定义上,一旦使用该注解来定义接口,编译器将会强制检查该接口是否确实有且

2020-08-04 12:49:53 214

原创 剑指Offer题解 3-10 (leetcode版)

3. 数组中重复的数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000字典需要**O(N)的空间复杂度,遍历构建字典需要O(N)**的时间复杂度,字典的查找为O(1)。排序原地快速排序需要**O(N

2020-08-02 14:42:26 234

原创 数据库笔面试知识点整理(MySQL)

数据库__笔面试知识点(MySQL)存储引擎MyISAM是MySQL5.5版之前的默认数据库引擎。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。MyISAM和InnoDB对比MyISAMInnoDB只支持表锁支持行锁和表锁(默认为行锁)不提供事务支持支持

2020-07-28 16:51:50 477

原创 Java笔面试知识点整理:集合

Java笔面试知识点整理:集合集合ArrayList它继承于 AbstractList,实现了 List, RandomAccess, Cloneable, java.io.Serializable 这些接口。ArrayList 实现了RandomAccess 接口, RandomAccess 是一个标志接口,表明实现这个这个接口的 List 集合是支持快速随机访问的。在 ArrayList 中,我们即可以通过元素的序号快速获取元素对象,这就是快速随机访问。 实现了Cloneable 接口,即覆盖了

2020-07-26 15:03:13 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除