2024年3月3日
摘要: 写在开头 昨天在写《HashMap很美好,但线程不安全怎么办?ConcurrentHashMap告诉你答案!》这篇文章的时候,漏了一个知识点,直到晚上吃饭的时候才突然想到,关于ConcurrentHashMap在存储Key与Value的时候,是否可以存null的问题,按理说这是一个小问题,但buil 阅读全文
posted @ 2024-03-03 08:19 JavaBuild 阅读(855) 评论(0) 推荐(2) 编辑
  2024年3月2日
摘要: 写在开头 在《耗时2天,写完HashMap》这篇文章中,我们提到关于HashMap线程不安全的问题,主要存在如下3点风险: 风险1: put的时候导致元素丢失;如两个线程同时put,且key值相同的情况下,后一个线程put操作覆盖了前一个线程的操作,导致前一个线程的元素丢失。 风险2: put 和 阅读全文
posted @ 2024-03-02 15:15 JavaBuild 阅读(350) 评论(0) 推荐(1) 编辑
  2024年2月29日
摘要: 写在开头 今天有个小伙伴私信诉苦,说面试官上来就让他手撕HashMap的7种遍历方式,最终只写出3种常用的,怀疑面试官是在故意***难。这个问题大家怎么看? 反正我个人感觉这肯定不是***难,“手撕遍历方式” 算是一个比较简单的考验方式了,而且集合的遍历又是日常开发的必备!至于要一下写出7种,大概率是考验面 阅读全文
posted @ 2024-02-29 22:20 JavaBuild 阅读(523) 评论(7) 推荐(2) 编辑
  2024年2月27日
摘要: 写在开头 在过去的几篇博客中,我们已经将Collection下的三大接口(List,Set,Queue)学了一遍,那么今天我们即将开启Java中另一大集合类型-Map。 所谓的Map:指的是使用键值对(key-value)存储,类似于数学上的函数 y=f(x),"x" 代表 key,"y" 代表 v 阅读全文
posted @ 2024-02-27 21:18 JavaBuild 阅读(32) 评论(0) 推荐(0) 编辑
  2024年2月23日
摘要: 写在开头 面试官:“我们在Java的集合和数据结构中都离不开比较器,请你聊一聊Comparable 和 Comparator 这两种的区别吧” 内心活动:“上来就这么直接吗,那些ArrayList,HashMap都不问呀,好,既然如此,那让我来征服你吧,面试官大人!” 我:“好滴!巴拉巴拉~” Co 阅读全文
posted @ 2024-02-23 19:36 JavaBuild 阅读(291) 评论(1) 推荐(3) 编辑
  2024年2月22日
摘要: 写在开头 某大厂的面试现场,一位目光深邃,头顶稀疏的中年面试官坐在椅子上,这时候的我走了进来。 面试官:“小伙子,学过Java中容器和数据结构了吧?” 我:“嗯,学了” 面试官:“ok,那你来聊一聊Java中的迭代器(Iterator ),要说清楚他们的应用场景哈” 我:“哦,好滴” 内心独白:“这 阅读全文
posted @ 2024-02-22 08:31 JavaBuild 阅读(932) 评论(5) 推荐(3) 编辑
  2024年2月21日
摘要: 写在开头 队列是Java中的一个集合接口,之前的文章已经讲解了List和Set,那么今天就来唠一唠它吧。队列的特点:存储的元素是有序的、可重复的。 队列的两大接口Queue vs Deque Queue 是单端队列,只能从一端插入元素,另一端删除元素,实现上一般遵循 先进先出(FIFO) 规则。 Q 阅读全文
posted @ 2024-02-21 08:18 JavaBuild 阅读(418) 评论(0) 推荐(0) 编辑
  2024年2月20日
摘要: 写在开头 Java的集合世界中主要由List,Set,Queue,Map构成,我们在之前的博文中已经学习了List,接下来我们继续学习Set集合。 Set特点:存取无序,不可以存放重复的元素,不可以用下标对元素进行操作 HashSet 作为Set容器的代表子类,HashSet经常被用到,我们通过源码 阅读全文
posted @ 2024-02-20 08:52 JavaBuild 阅读(157) 评论(0) 推荐(1) 编辑
  2024年2月19日
摘要: 正月初九,开工大吉! 2024年,更上一层楼! 写在开头 其实在List的继承关系中,除了ArrayList和LinkedList之外,还有另外一个集合类stack(栈),它继承自vector,线程安全,先进后出,随着Java并发编程的发展,它在很多应用场景下被逐渐替代,成为了Java的遗落之类。不 阅读全文
posted @ 2024-02-19 08:57 JavaBuild 阅读(265) 评论(0) 推荐(0) 编辑
  2024年2月18日
摘要: 写在开头 作为ArrayList的同门师兄弟,LinkedList的师门地位逊色不少,除了在做算法题的时候我们会用到它之外,在实际的开发工作中我们极少使用它,就连它的创造者都说:“I wrote it,and I never use it”,想想颇有点好笑,但这并不影响我们去学习它,个人认为它底层的 阅读全文
posted @ 2024-02-18 08:35 JavaBuild 阅读(379) 评论(1) 推荐(1) 编辑
  2024年2月17日
摘要: 写在开头 开年第一篇,先祝各位新的一年身体健康,学业有成,事业有成哈,春节期间就是咔咔乱吃,咔咔乱玩,把学习都抛一边子去了,已经9天没有学习了,深深的懊悔,从今天开始,2024年的学习正式开启,一起给我猛冲!!! 书接上回,我们开启了Java集合部分的学习,今天我们就来看一下List,其中它的核心有 阅读全文
posted @ 2024-02-17 11:44 JavaBuild 阅读(358) 评论(1) 推荐(1) 编辑
  2024年2月7日
摘要: 写在开头 在Java的世界里万物皆对象。但我认为是万物皆数据,世界由各种各样数据构建起来,我们通过程序去实现数据的增删改查、转入转出、加减乘除等等,不同语言的实现方式殊途同归。由此可见,数据对于程序语言的重要性。 这段话是在写数据类型那篇博客时说的,当时是为了引入Java中数据类型的重要性,现在放在 阅读全文
posted @ 2024-02-07 12:25 JavaBuild 阅读(271) 评论(0) 推荐(1) 编辑
  2024年2月4日
摘要: 写在开头 一点题外话 其实最近在不断的更新Java的知识,从基础到进阶,以及计算机基础、网络、WEB、数据库、数据结构、Linux、分布式等等内容,预期写成一个既可以学习提升又可以面试找工作的《Java成长之路》!算是对自己学习的总结(笔记),也算是一种程序猿的记忆,现在大环境那么差,万一哪天转行了 阅读全文
posted @ 2024-02-04 09:05 JavaBuild 阅读(914) 评论(3) 推荐(6) 编辑
  2024年2月3日
摘要: 写在开头 在《深入剖析Java中的反射,由浅入深,层层剥离!》这篇文章中我们讲反射时,曾提到过Java的动态代理中使用了反射技术,那么好,今天我们要就着反射的索引,来学习一下Java中的代理! 代理模式 在Java中有多达23种的设计模式(后面Java基础更新完后,会找个时间详细的去写写这些设计模式 阅读全文
posted @ 2024-02-03 07:59 JavaBuild 阅读(297) 评论(0) 推荐(4) 编辑
  2024年2月2日
摘要: 写在开头 任何一个程序都无法保证100%的正常运行,程序发生故障的场景,我们称之为:异常,在Java中对于异常的处理有一套完善的体系,今天我们就来一起学习一下。 老样子,用一段简单的代码开始今天的学习。 我:“小二,上代码!” JavaBuild君:“好嘞!几位爷,里面请~” 【代码示例1】 //J 阅读全文
posted @ 2024-02-02 08:35 JavaBuild 阅读(389) 评论(0) 推荐(0) 编辑
  2024年2月1日
摘要: 写在开头 之前更新了不少Java的基础知识,比如Java的类、对象、基础类型、关键字、序列化、泛型、值传递等等,今天要上点深度了,来聊一聊Java中的 反射 ! 所谓反射,就是在运行时分析、检查和操作类、接口、方法、属性的行为! 简单感受一下反射 在开始详解反射之前,我们先通过一段代码,简单的感受一 阅读全文
posted @ 2024-02-01 20:04 JavaBuild 阅读(341) 评论(0) 推荐(0) 编辑
  2024年1月31日
摘要: 写在开头 今天的每日一道Java面试题聊的是Java中的泛型,泛型在面试的时候偶尔会被提及,频率不是特别高,但在日后的开发工作中,却是是个高频词汇,因此,我们有必要去认真的学习它。 泛型的定义 什么是泛型? 什么是泛型?这是个好问题,JDK5更新时带来了一个新特性-泛型,所谓“泛型”就是类型参数化, 阅读全文
posted @ 2024-01-31 21:57 JavaBuild 阅读(117) 评论(0) 推荐(0) 编辑
  2024年1月28日
摘要: 写在开头 哈喽大家好,在高铁上码字的感觉是真不爽啊,小桌板又拥挤,旁边的小朋友也比较的吵闹,影响思绪,但这丝毫不影响咱学习的劲头!哈哈哈,在这喧哗的车厢中,思考着这样的一个问题,Java中的对象是如何在各个方法,或者网络中流转的呢? 通过这个问题便引出了我们今天的主人公:序列化与反序列化! 序列化: 阅读全文
posted @ 2024-01-28 21:39 JavaBuild 阅读(293) 评论(2) 推荐(1) 编辑
  2024年1月27日
摘要: 写在开头 Java是值传递还是引用传递?这个问题几乎100%的出现在了各大主流Java面试题中,知识点很小,但很考验面试者对于Java运行的理解,今晚趁着生产投产的空子,过来小聊一下。 实参与形参 所谓的值传递or引用传递是指方法在调用的过程中实参传递的两种变现形式,那么好,想搞清楚这个问题的前提是 阅读全文
posted @ 2024-01-27 08:23 JavaBuild 阅读(440) 评论(0) 推荐(2) 编辑
  2024年1月26日
摘要: 写在开头 请聊一聊Java中方法的重写和重载? 这个问题应该是各大厂面试时问的最多的话题之一了,它们几乎贯穿了我们日常的开发工作,在过往的博客中我们多多少少都提到过重载与重写,而今天我们就一起来详细的学习一下这二者的功能与区别! 重载与重写的定义 重写: 类实现接口或者子类继承父类时,保持方法签名相 阅读全文
posted @ 2024-01-26 08:43 JavaBuild 阅读(266) 评论(0) 推荐(0) 编辑
  2024年1月25日
摘要: 写在开头 在过往的内容中,我们讲了不少的Java关键字,比如final、static、this、super等等,Java中的关键字非常之多,下图是整理的关键字集合 而我们今天要学习的就是其中的instanceof关键字! instanceof的定义 instanceof 运算符是用来在运行时判断对象 阅读全文
posted @ 2024-01-25 08:34 JavaBuild 阅读(388) 评论(0) 推荐(1) 编辑
  2024年1月24日
摘要: 写在开头 面试官:“小伙子,用过final关键字吗?” 我:“必须用过呀” 面试官:“好,那来说一说你对这个关键字的理解吧,再说一说它与finally、finalize()的区别” 我:“好嘞!” final中文释义:最终的,最后的;在Java中作为关键字的一种,被用来修饰变量、方法、类,final 阅读全文
posted @ 2024-01-24 08:24 JavaBuild 阅读(63) 评论(0) 推荐(0) 编辑
  2024年1月23日
摘要: 写在开头 静态(static)关键字在Java的众多关键字中举足轻重!也是很多大厂面试官特别喜欢问的面试高频知识点,今天我们就一起学习,梳理,重温一下这个关键吧,之所以用重温修饰是因为在过往的文章中早已提到了static,无论是变量中还是方法中甚至于类中,static都是不可或缺的! 我们知道要想调 阅读全文
posted @ 2024-01-23 08:24 JavaBuild 阅读(106) 评论(0) 推荐(0) 编辑
  2024年1月22日
摘要: 写在开头 在上一篇文章:一文搞清楚Java中的包、类、接口 中我们讲了Java中的包、类和接口,今天继续将剩下的方法、常量、变量以及参数梳理完。 Java中的变量与常量 在JVM的运转中,承载的是数据,而数据的一种变现形式就是“量”,量分为:常量与变量,我们在数学和物理学中已经接触过变量的概念了,在 阅读全文
posted @ 2024-01-22 08:48 JavaBuild 阅读(404) 评论(0) 推荐(3) 编辑
  2024年1月21日
摘要: 写在开头 包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。 Java中的包 Java 定义了一种名字空间,称之为包:package。一个类总是属于某个包,类名(比如Person 阅读全文
posted @ 2024-01-21 09:01 JavaBuild 阅读(589) 评论(0) 推荐(2) 编辑