Java面试题基础系列228道(4),快看看哪些你还不会?
第一篇更新1~20题的答案解析https: //shimo.im/docs/wXqQQrTkcDxy8WDx第二篇更新21~50题答案解析https://shimo.im/docs/hj3HTq9K3dTcw9cX 第三篇更新51~95题答案解析https://shimo.im/docs/PGqhw3hy6YgwG8HW Java
2022年大厂Java面试前复习的正确姿势(800+面试题附答案解析)
Java面试题(一)1、面向对象的特征有哪些方面?2、访问修饰符 public,private,protected,以及不写(默认)时的区别?3、String 是最基本的数据类型吗?4、float f=3.4;是否正确?5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?6、Java 有没有 goto?7、int 和 Integer
有个码龄 10 年的程序员跟我说:“他编程从来不用鼠标”,我说:
如何成为编程大佬?那当然是编码的时候手不离键盘,疯狂敲击。毕竟每一次右手离开键盘去触碰鼠标,都是一次浪费时间的操作。成为大佬的第一步,熟记键盘快捷键与常用命令。假设你现在有一块下图所示 标准键盘。快捷键核心以 Windows7 操作系统为准,为啥?因为写博客的时候正在用 Windows 7 。快捷键只介绍能让你成为开发大佬的,类似 Ctrl+C、Ctrl+V 这种大家熟知的,一概省略,咱们只来干货
深入理解JVM(三)——垃圾收集策略详解
Java虚拟机的内存模型分为五个部分,分别是:程序计数器、Java虚拟机栈、本地方法栈、堆、方法区。这五个区域既然是存储空间,那么为了避免Java虚拟机在运行期间内存存满的情况,就必须得有一个垃圾收集者的角色,不定期地回收一些无效内存,以保障Java虚拟机能够健康地持续运行。这个垃圾收集者就是平常我们所说的“垃圾收集器”,那么垃圾收集器在何时清扫内存?清扫哪些数据?这就是接下来我们要解决的问题。&
深入理解JVM(二)——揭开HotSpot对象创建的奥秘
对象的创建过程当虚拟机遇到一条含有new的指令时,会进行一系列对象创建的操作:检查常量池中是否有即将要创建的这个对象所属的类的符号引用;若常量池中没有这个类的符号引用,说明这个类还没有被定义!抛出ClassNotFoundException;若常量池中有这个类的符号引用,则进行下一步工作;进而检查这个符号引用所代表的类是否已经被JVM加载;若该类还没有被加载,就找该类的class文件,并加载进方法
深入理解JVM(一)——JVM内存模型
JVM内存模型Java虚拟机(Java Virtual Machine=JVM)的内存空间分为五个部分,分别是: 1. 程序计数器 2. Java虚拟机栈 3. 本地方法栈 4. 堆 5. 方法区。下面对这五个区域展开深入的介绍。 1. 程序计数器1.1. 什么是程序计数器?程序计数器是一块较小的内存空间,可以把它看作当前线程
9个小技巧让你的 if else看起来更优雅
if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼,例如下面这个伪代码:是不是很奔溃?虽然他是伪代码,并且看起来也很夸张,但在现实中,当我们无数次 review 别人代码时,都会发现类似的场景,那么我们本文就来详细聊聊,有没有什么方法可以让我们避免来写这么多的 if else 呢?我们本文提供了 9 种方法来解决掉那些“烦人”的
List 去重的 6 种方法,这个方法最完美!
在日常的业务开发中,偶尔会遇到需要将 List 集合中的重复数据去除掉的场景。这个时候可能有同学会问:为什么不直接使用 Set 或者 LinkedHashSet 呢?这样不就没有重复数据的问题了嘛?不得不说,能提这个问题的同学很机智,一眼就看到了问题的本质。但是,在实际的业务开发中遇到的情况会更复杂。比如,List 集合可能是历史遗留问题,也有可能是调用接口返回的类型限制,只能使用 L
连接字符串除了“+”还有哪些方法
在Java中进行字符串连接有各种方法,但是如果在进行连接时,如果我们不注意空对象,那么最后的结果可能会包含不是我们预期的值。在本期内容中,我讲给大家讲述一些在连接字符串时处理空字符串对象的方法。存在的问题假设我们要对一个字符串数据中的元素进行连接,数组中的元素有可能为空,我们先用“+”进行简单的拼接:String[] values = { "小黑 ", null,
阻塞的处理和网络模型设计——深入思考Java IO和NIO(二)
书接上文底层实现和优化——深入思考Java IO和NIO本文将详述NIO在网络通信中是怎么解决阻塞的API这个问题的。初次实践假设有一个文件服务器提供上传图片的服务,有海量的客户端的图片需要上传,我们应该怎么提供这个服务呢?首先我打算使用TCP连接让客户端上传文件,每次上传文件建立一个连接,在一个连接里面客户端将一张图片发送完之后就断开连接。有了这个想法后,看看我是怎么写这个文件服务器的。文件服务
底层实现和优化——深入思考Java IO和NIO(一)
我之前经常这么问自己,我真的懂JAVA IO和NIO吗?看着很简单,也经常使用,可是用过就忘了。JAVA IO是指Java程序处理输入输出,现在通常是指文件和网络IO。NIO是JDK 1.4之后提供的新的IO方面的API。Java IO和NIO虽然看起来很简单,但要说点什么出来,却似乎有什么如鲠在喉,无从说起。本文从底层源码、理论图解和模型思考几个方面尝试讲透JAVA IO和NIO。Java IO
整理了 40 多套 Java 完整实战项目,各个精品!
很多小伙伴都想找能跟着学习的完整实战项目。我分类整理了亿点点,都是开源免费的,适合系统学习,而且都是可以写到简历上的企业级完整项目!(其中很多项目还自带教程哦)电商秒杀天猫整站 J2EE天猫整站 SSM天猫整站 Springbootmall-learning:mall学习教程,架构、业务、技术要点全方位解析。SpringBoot 电商商城系统 Mall4jSpringBoot 完整电商系统 Mal
必看!java后端,亮剑诛仙(超全知识点总结)
你可能有所感悟。零散的资料读了很多,但是很难有提升。到处是干货,但是并没什么用,简单来说就是缺乏系统化。另外,噪音太多,雷同的框架一大把,我不至于全都要去学了吧。这里,我大体根据基础、Java基础、Java进阶给分了下类,挑的也都是最常用最重要的工具。 这篇文章耗费了我大量的精力,你要是觉得好,请不要吝啬你的赞。如果你认同,可以关注我的微信公众号xjjdog,里面讲的就是这些内容。我会尝
Java面试通关要点汇总集
基础篇 基本功面向对象的特征final, finally, finalize 的区别int 和 Integer 有什么区别重载和重写的区别抽象类和接口有什么区别说说反射的用途及实现说说自定义注解的场景及实现HTTP 请求的 GET 与 POST 方式的区别session 与 cookie 区别session 分布式处理JDBC 流程MVC 设计思想equals 与 == 的区别集合&nb
『2021年终总结』10年深飘,3辆车,3套房
【2021年总结】毫无疑问,对于我来说,2021年最大的收获是开启了自己写技术文的人生体验。并且一发不可收拾,因为通过写文章,不仅自己的技术得到了增长和巩固,并且能成为知识传播的一环,能帮助到别人,这是一件极具意义的事情。2022年,我依然会坚持输出更多优质的技术文,让我们拭目以待。【关于标题】取这样的标题初衷并非标题党博眼球,也并非炫耀,而是想用最真实的收获来道出一名普通人、一个无名
冒泡排序就这么简单
八大排序总结2.1冒泡排序思路:俩俩交换,大的放在后面,第一次排序后最大值已在数组末尾。因为俩俩交换,需要n-1趟排序,比如10个数,需要9趟排序代码实现要点:两个for循环,外层循环控制排序的趟数,内层循环控制比较的次数每趟过后,比较的次数都应该要减1优化:如果一趟排序后也没有交换位置,那么该数组已有序~ //外层循环是排序的趟数 for (int i =
聊一聊-JAVA 泛型中的通配符 T,E,K,V,?
前言Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知
说说Java里的equals(中)-Java那些事儿
在 Java面向对象 一文中,我们后续留了一个话题,引入了Set,我们知道Set里面的元素是不可以重复的,话不多说,上代码:精简了上一章中的Person类,保留了isSame()方法;想必大家看到类似的代码开始怀疑笔者是不是又挖坑让大伙跳了吧,来看一下结果没错,有坑,同样是对象,都是放到了set中,一个打印size()是1,另一个打印size()是2。在 Java面向
说说Java里的equals(上)
在Java字符串那些事儿一文发表后,朋友给我留言说:比较字符串用equals不就完了呗,干嘛要用"==",吃饱了撑的,能不能来点实际的。其实在文章里我是想表明,Java字符串两种声明方式在堆内存中不同的体现,我们在写代码过程中,为了避免重复的创建对象,尽量使用String s1 ="123" 而不是String s1 = new String("1
Arraylist与Vector的区别 - Java那些事儿
前几篇文章我们重点说了ArrayLIst,是时候放出这张图了。这张图里的内容对我们学习Java来说,非常的重要,白色的部分是需要去了解的,黄色部分是我们要去重点了解的,不但要知道怎么去用,至少还需要读一次源码。绿色部分内容已经很少用了,但在面试题中有可能会问到,我们来看一个经常出现的面试题:Arraylist与Vector的区别是什么?首先我们给出标准答案:1、Vector是线程安全的