JavaBuild888
码龄6年
求更新 关注
提问 私信
  • 博客:112,359
    动态:9,938
    122,297
    总访问量
  • 114
    原创
  • 1,277
    粉丝
  • 65
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
加入CSDN时间: 2018-10-24

个人简介:不在沉默中爆发,就在沉默中灭亡

博客简介:

JavaBuild的博客

博客描述:
今天不学习,明天变垃圾
查看详细资料
个人成就
  • 获得1,770次点赞
  • 内容获得19次评论
  • 获得1,689次收藏
  • 代码片获得871次分享
  • 原力等级
    原力等级
    5
    原力分
    1,209
    本月获得
    3
创作历程
  • 92篇
    2024年
  • 13篇
    2023年
  • 7篇
    2021年
  • 2篇
    2020年
成就勋章
TA的专栏
  • 老程序员的快乐刷题时代
    1篇
  • Java成长计划
    91篇
  • EfficientFarm
    3篇
  • 工作笔记
    5篇
  • 数据结构与算法
    1篇
  • Linux指令
    4篇
  • 关系型和非关系型数据库
    6篇
  • 程序员也读书
    1篇
  • Java基础
    23篇
  • web
    1篇
  • JVM虚拟机
    1篇
  • 后端框架
    1篇
  • 异常分析
  • 设计模式
  • 网络安全

TA关注的专栏 3

TA关注的收藏夹 0

TA关注的社区 3

TA参与的活动 0

兴趣领域 设置
  • 后端
    spring
  • 最近
  • 文章
  • 专栏
  • 资源
  • 代码仓
  • 问答
  • 帖子
更多
  • 最近

  • 文章

  • 专栏

  • 资源

  • 代码仓

  • 问答

  • 帖子

  • 社区

  • 视频

  • 课程

  • 关注/订阅/互动

  • 收藏

搜索 取消

《老程序员的快乐刷题时代》题一:找单独的数

好啦,以上就是针对这种比较简单的题型的不同解决方法啦,这种问题非常适合初学者,应用自己所学过的数据结构特征以及位运算去解决实际问题啦。
原创
发布博客 2024.12.26 ·
800 阅读 ·
12 点赞 ·
0 评论 ·
27 收藏

面试官:DNS解析都整不明白,敢说你懂网络?我:嘤嘤嘤!

DNS(Domain Name System)域名管理系统,是当用户使用浏览器访问网址之后,使用的第一个重要协议。DNS 要解决的是域名和 IP 地址的映射问题。DNS是一个联机的分布式数据库系统,它具有分布式、层次化、模块化等特点,它属于应用层的协议,基于UDP传输,端口为53。以上就是DNS域名管理系统涉及到的知识点啦,虽然很多后端程序员吗,在日后的工作中几乎不再深追DNS的底层原理,但初期,我们还是有必要了解一些网络上的内容的,毕竟企业内转岗比较常见。
原创
发布博客 2024.12.17 ·
454 阅读 ·
20 点赞 ·
0 评论 ·
9 收藏

《一篇就够系列》之HTTP详解,覆盖高频面试考点!

HTTP是应用层的一个重要协议,中文译为超文本传输协议,是基于TCP协议之上的,主要为WEB浏览器和WEB服务器通讯所设计,可传输超文本和多媒体内容,当我们使用浏览器浏览网页的时候,我们网页就是通过 HTTP/HTTPS 请求进行加载的。好啦,今天的HTTP学习就到这里啦,其实对于java开发工程师而言,对于HTPP的了解程度,到此也就结束了,但对于网络工程师来说,HTPP是一个至关重要的知识,需要更深层次的去探究,推荐看《图解 HTTP》这本书。
原创
发布博客 2024.10.28 ·
633 阅读 ·
16 点赞 ·
0 评论 ·
6 收藏

坑爹面试官,一个网络连通性,把我干哑火了,无理取闹还是我太菜?

如上图就是我们本地ping百度域名的一个过程及反馈结果,可见网络连通性良好,响应时间18ms,如果时间过长,说明网络延迟较大,我们还可以通过-n 或者-i 以及-t 来测试网络承载能力。这种问题在过完的面试中从没见过,毕竟太细小了,对于任何一个有工作经验的程序员来说,这都不算是问题,但你让我去说一说它们的原理,我也会一时语塞,并不是我太菜,而是面试官太无理取闹!Ping是一个非常非常常用的网络测试工具,经常用来测试网络中主机之间的连通性和网络延迟。”打开指令帮助页面,帮我们更好的使用该命令。
原创
发布博客 2024.10.15 ·
181 阅读 ·
7 点赞 ·
0 评论 ·
2 收藏

必看系列:面试官通过一个问题考查了网络编程所有知识点!

以上就是整个网络请求所涉及到的TCP/IP四层模型的实战内容,它也是我们网络编程学习中的重中之重,至于其中的每一层的细节,我们后面单个精讲!
原创
发布博客 2024.10.11 ·
580 阅读 ·
24 点赞 ·
0 评论 ·
20 收藏

NIO实现聊天室之:一切都要从网络编程的基础开始聊起!

今天就说这么多啦,主要介绍一下网络编程相关的基础知识,在后续的博文中针对网络编程所需要的内容,在进一步的整理与细化。
原创
发布博客 2024.10.07 ·
987 阅读 ·
22 点赞 ·
0 评论 ·
9 收藏

NIO的三大核心组件详解,充分说明为什么NIO在网络IO中拥有高性能!

到这里基本上就把NIO的几个重要的组件介绍完啦,肯定不能面面俱到,大家想更多了解的,还是要多翻看不同的书籍。同时,后面我们将基于这部分内容,写一个小型的聊天室。
原创
发布博客 2024.07.22 ·
1280 阅读 ·
11 点赞 ·
0 评论 ·
20 收藏

今天我们来聊Java IO模型,BIO、NIO、AIO三种常见IO模型

以上BIO、NIO、AIO三种常见的IO模型是Java面试中最常考的,大家一定要记住其各自的特点和作用。阻塞 I/O:应用程序执行 I/O 操作时,会一直等待数据传输完成,期间无法执行其他任务。非阻塞 I/O:应用程序执行 I/O 操作时,如果数据未准备好,立即返回错误状态,不等待数据传输完成,可执行其他任务。异步 I/O:应用程序发起 I/O 操作后,内核负责数据传输过程,完成后通知应用程序。应用程序无需等待数据传输,可执行其他任务。
原创
发布博客 2024.07.14 ·
914 阅读 ·
17 点赞 ·
0 评论 ·
15 收藏

面试官:transient关键字修饰的变量当真不可序列化?我:烦请先生教我!

通过上面的学习,我们知道了在Java的序列化中有 Serializable、Externalizable这两个接口,前者没有任何方法,只是一个标识,而后者作为子类,提供了必须重写的方法,用以自定义序列化设计。此外,transient 关键字只能修饰字段,而不能修饰方法和类,需要注意。
原创
发布博客 2024.06.27 ·
765 阅读 ·
20 点赞 ·
0 评论 ·
12 收藏

面试官:告诉我为什么static和transient关键字修饰的变量不能被序列化?

好啦,今天针对为什么static和transient关键字修饰的变量不能被序列化进行了一个解释,下次大家在面试的时候再被问道就可以这样回答啦,不过,还有的BT面试官会问transient关键字修饰的变量真的不能被序列化吗?这个问题咱们后面继续讨论哈。
原创
发布博客 2024.06.23 ·
602 阅读 ·
15 点赞 ·
0 评论 ·
9 收藏

关于面试被面试官暴怼:“几年研究生白读” 的前因后果

由此可见,Serializable 接口之所以定义为空,是因为它只起到了一个标识的作用,告诉程序实现了它的对象是可以被序列化的,但真正序列化和反序列化的操作并不需要它来完成,就像这里的序列流才是主要实现序列化的驱动器!
原创
发布博客 2024.06.20 ·
1262 阅读 ·
27 点赞 ·
0 评论 ·
24 收藏

面试官:Java中缓冲流真的性能很好吗?我看未必

对于数据的处理,CPU速度快于内存,内存又远快于硬盘,在大数据量情况下,频繁的通过IO向磁盘读写数据会带来严重的性能问题,为此Java中提供了一个缓冲流的概念,简单来说就是在内存中设置一个缓冲区,只有缓冲区中存储的数据到达一定量后才会触发一次IO,这样大大提升了程序的读写性能,常用的缓冲流有:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter。这其实也涉及到一个经常被问的面试问题:java中的缓冲流真的性能很好吗?
原创
发布博客 2024.06.16 ·
577 阅读 ·
12 点赞 ·
0 评论 ·
10 收藏

面试官:字节流可以处理一切文件为什么还需要字符流呢?

输入流:数据流向程序输出流:数据从程序流出。字节流:一次读入或读出是8位二进制;字符流:一次读入或读出是16位二进制JDK 中后缀是 Stream 是字节流;后缀是 Reader,Writer 是字符流。节点流:直接与数据源相连,读入或写出;处理流:与节点流一块使用,在节点流的基础上,再套接一层。
原创
发布博客 2024.06.14 ·
1148 阅读 ·
20 点赞 ·
0 评论 ·
17 收藏

实战分析Java的异步编程,并通过CompletableFuture进行高效调优

好了,今天就讲这么多,其实在Java中通过条用CompletableFuture实现异步编排的工作还是稍微有点难度的,大量的API支持,需要我们在一次次的实战中去熟悉,并灵活使用。推荐大家去看看京东的asyncTool这个框架,里面就大量使用了CompletableFuture。
原创
发布博客 2024.06.09 ·
1000 阅读 ·
31 点赞 ·
0 评论 ·
29 收藏

面试官:如何自定义一个工厂类给线程池命名,我:现场手撕吗?

其实还有一个是Apache commons-lang3 提供的 BasicThreadFactory工厂类,也可以给线程池命名,咱这里就不贴代码了,原因是他们的本质都是通过Thread 的setName()方法实现的!所以,我们其实自己也可以设计一个工厂类也实现线程池的命名操作!这是一个好问题,如果我们的项目模块较多,在运行时调用了不同模块的线程池,为了在发生异常后快速定位问题,我们一般会在构建线程池时给它一个名字,这里我们提供几种线程池命名的方法。面试官:不错不错,挺了解的嘛,那你知道怎么给线程池命名?
原创
发布博客 2024.06.02 ·
288 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

如何创建一个线程池,为什么不推荐使用Executors去创建呢?

而CachedThreadPool使用的是同步队列 SynchronousQueue, 允许创建的线程数量也为 Integer.MAX_VALUE ,如果任务数量过多且执行速度较慢,可能会创建大量的线程,从而导致 OOM,其他的方法所提供的均是这种。Executors 是java并发工具包中的一个静态工厂类,在JDK1.5时被创造出来,提供了丰富的创造线程池的方法,通过它可以创建多种类型的线程池。,在高并发场景下导致OOM的风险很大,故大部分的公司已经不建议采用Executors提供的方法创建线程池了。
原创
发布博客 2024.06.02 ·
467 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

什么!程序员不乖乖写代码,跑去写小说了?一时兴起写了《雪中悍刀行》的番外,请品鉴!

老黄力竭而亡后,徐凤年便立志要到那武帝城头取回老黄的剑匣,当时白狐脸儿还讽刺说明知打不过,偏要去送死,为了一个剑匣不值得,徐凤年给的说词是怕日子久了就把老黄给忘了,可他心底知道,这怎么可能呢,即便到死,他也不会忘记老黄,取回剑匣只是不想让后人看到老黄败了!最近,徐凤年常常失神,据北城一战后,那些本可风流一甲子的宗师们,死的死废的废,皇城还姓赵,北凉王府却不姓徐了,而他在那一战过后,心境一下苍老了许多,物换星移,城是人非,今古一枰棋,程序员不乖乖写代码,跑去写小说了?
原创
发布博客 2024.05.31 ·
447 阅读 ·
6 点赞 ·
0 评论 ·
3 收藏

面试官:说一说如何优雅的关闭线程池,我:shutdownNow,面试官:粗鲁!

在这段测试代码中,我们构造了一个包含固定3线程数的线程池,循环提交10个任务,每个任务休眠3秒,但主程序休眠4秒后,会掉用shutdown方法,理论上,在第二个时间循环中,线程池被停止,所以最多执行完6个任务,但从输出中,我们丝毫感受不好线程何时被停止了。在shutdown的源码中,会启动一次顺序关闭,在这次关闭中,执行器不再接受新任务,但会继续处理队列中的已存在任务,当所有任务都完成后,线程池中的线程会逐渐退出。这种会在控制台抛出异常的方式,同样也不优雅,所以我们继续往下看!
原创
发布博客 2024.05.31 ·
942 阅读 ·
36 点赞 ·
0 评论 ·
9 收藏

关于《Java并发编程之线程池十八问》的补充内容

如果一直没有获取到返回结果,会报错,使用get(long timeout,TimeUnit unit)方法的话,如果在 timeout 时间内任务还没有执行完,就会抛出 java.util.concurrent.TimeoutException。在shutdown的源码中,会启动一次顺序关闭,在这次关闭中,执行器不再接受新任务,但会继续处理队列中的已存在任务,当所有任务都完成后,线程池中的线程会逐渐退出。的时候,鉴于当时的篇幅已经过长,很多内容就没有扩展了,在这篇文章里对一些关键知识点进行对比补充。
原创
发布博客 2024.05.29 ·
1010 阅读 ·
10 点赞 ·
0 评论 ·
29 收藏

为师妹写的《Java并发编程之线程池十八问》被表扬啦!

所谓 线程池,就是一个可以管理若干线程的容器,当有任务需要处理时,会提交到线程池的任务队列中,由线程池分配空闲的线程处理任务,处理完任务的线程不会被销毁,而是在线程池中等待下一个任务。
原创
发布博客 2024.05.29 ·
1233 阅读 ·
29 点赞 ·
1 评论 ·
28 收藏
加载更多