java成长计划

JavaBuild8 天前
java成长计划
面试官:transient关键字修饰的变量当真不可序列化?我:烦请先生教我!在这篇文章中记录一下之前自己面试时学到的东西,是关于transient关键字的,当时面试官问我IO的相关问题,基本上全答出来了,关于如何不序列化对象中某个字段时,我果断的选择了static和transient,但面试官紧接着问了我:“transient关键字修饰的变量当真不可序列化吗?”,这个问题直接给我整不确定了,因为以当时的知识储备,这个问题确实不知道,最终虚心的向这位面试官请教,他告诉了我答案。
JavaBuild12 天前
java成长计划
面试官:告诉我为什么static和transient关键字修饰的变量不能被序列化?在上一篇学习序列化的文章中我们提出了这样的一个问题:“如果在我的对象中,有些变量并不想被序列化应该怎么办呢?”
JavaBuild15 天前
java成长计划
关于面试被面试官暴怼:“几年研究生白读” 的前因后果中午一个网友来信说自己和面试官干起来了,看完他的描述真是苦笑不得,这年头是怎么了,最近互联网CS消息满天飞,怎么连面试官都SB起来了呢?
JavaBuild19 天前
java成长计划
面试官:Java中缓冲流真的性能很好吗?我看未必上一篇文章中,我们介绍了Java IO流中的4个基类:InputStream、OutputStream、Reader、Writer,那么这一篇中,我们将以四个基类所衍生出来,应对不同场景的数据流进行学习。
JavaBuild21 天前
java成长计划
面试官:字节流可以处理一切文件为什么还需要字符流呢?在计算机领域中百分之九十以上的程序拥有着和外部设备交互的功能,这就是我们常说的IO(Input/Output:输入/输出),所谓输入就是外部数据导入计算机内存中的过程,输出则是将内存或者说程序中的数据导入到外部存储中,如数据库、文件以及其他本地磁盘等。
JavaBuild21 天前
java成长计划
实战分析Java的异步编程,并通过CompletableFuture进行高效调优在我们一开始讲多线程的时候,提到过异步与同步的概念,这里面我们再回顾一下:适应场景 同步:如果数据存在线程间的共享,或竞态条件,需要同步。如多个线程同时对同一个变量进行读和写的操作,必须等前一个请求完成,后一个请求去调用前一个请求的结果,这时候就只能采用同步方式。 异步:当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就可以使用异步,提高效率、加快程序的响应。
JavaBuild1 个月前
java成长计划
如何创建一个线程池,为什么不推荐使用Executors去创建呢?我们在学线程的时候了解了几种创建线程的方式,比如继承Thread类,实现Runnable接口、Callable接口等,那对于线程池的使用,也需要去创建它,在这里我们提供2种构造线程池的方法:
JavaBuild1 个月前
java成长计划
关于《Java并发编程之线程池十八问》的补充内容在上一篇文章我们写《Java并发编程之线程池十八问》的时候,鉴于当时的篇幅已经过长,很多内容就没有扩展了,在这篇文章里对一些关键知识点进行对比补充。
JavaBuild1 个月前
java成长计划
给师妹写的《Java并发编程之线程池十八问》被表扬啦!之前给一个大四正在找工作的学妹发了自己总结的关于Java并发中线程池的面试题集,总共18题,将之取名为《Java并发编程之线程池十八问》,今天聊天时受了学妹的夸赞,心里很开心,毕竟自己整理的东西对别人起到了一点帮助,记录一下!
JavaBuild1 个月前
java成长计划
研二学妹面试字节,竟倒在了ThreadLocal上,这是不要应届生还是不要女生啊?今天和一个之前研二的学妹聊天,聊及她上周面试字节的情况,着实感受到了Java后端现在找工作的压力啊,记得在18,19年的时候,研究生计算机专业的学生,背背八股文找个Java开发工作毫无问题,但现在即便你是应届生,问的考题也非常的深入和细节了,只会背八股,没有一定的代码量和项目积累,根本找不到像样的工作,具体聊天内容如下:
JavaBuild2 个月前
java成长计划
Doug Lea大师的佳作CopyOnWriteArrayList,用不好能坑死你!我们在学习集合或者说容器的时候了解到,很多集合并非线程安全的,在并发场景下,为了保障数据的安全性,诞生了并发容器,广为人知的有ConcurrentHashMap、ConcurrentLinkedQueue、BlockingQueue等,那你们知道ArrayList也有自己对应的并发容器嘛?
JavaBuild2 个月前
java成长计划
一次惨痛的面试:“网易提前批,我被虚拟线程问倒了”昨晚收到一个粉丝在私信的留言如下:build哥,今天参加了网易的提前批,可以说是一次惨痛的面试体验🤣,直接被虚拟线程问倒了,无论是在校学习的时候还是在公司实习的时候,都使用的是Java8更多,或者Java11,比较点子背的是面试我的这一个面试官,他们团队刚好在做Java21的切换,因此,虚拟线程似乎是一个逃脱不掉的重点拷问对象,虽然21出来的时候知道有虚拟线程这个事情,但从没有认真研究过,被问及时说不出个123来,当场憋得脸通红,真羞愧啊!
JavaBuild2 个月前
java成长计划
Java中的读写锁ReentrantReadWriteLock详解,存在一个小缺陷最近是和java.util.concurrent.locks包下的同步类干上了,素有 并发根基 之称的concurrent包中全是精品,今天我们继续哈,今天学习的主题要由一个大厂常问的Java面试题开始:
JavaBuild2 个月前
java成长计划
大厂面试题:ReentrantLock 与 synchronized异同点对比在过去的博文中我们学习了ReentrantLock 与 synchronized这两种Java并发使用频率最高的同步锁,在很多大厂面试题中有个经典考题:
JavaBuild3 个月前
java成长计划
面试官:说一说CyclicBarrier的妙用!我:这个没用过面试官:同学,AQS的原理知道吗? 我:学过一点,抽象队列同步器,Java中很多同步工具都是基于它的... 面试官:好的,那其中CyclicBarrier学过吗?讲一讲它的妙用吧 我:啊,这个,这个我平时写代码没用过... 面试官:那你回去再学学吧!
JavaBuild3 个月前
java成长计划
面试官:实战中用过CountDownLatch吗?详细说一说,我:啊这在很多的面经中都看到过提问 CountDownLatch 的问题,正好我们最近也在梳理学习AQS(抽象队列同步器),而CountDownLatch又是其中典型的代表,我们今天就继续来学一下这个同步工具类!