bugstack虫洞栈

微信(小傅哥):fustack | 博客:https://bugstack.cn
私信 关注
小傅哥
码龄9年

一线互联网软件开发工程师,擅长编写优秀的代码、中间件开发、架构设计等。| 公众号:bugstack虫洞栈,回复:设计模式、面经手册、字节码编程,可以下载我的PDF!

  • 657,622
    被访问量
  • 345
    原创文章
  • 2,328
    作者排名
  • 16,231
    粉丝数量
  • 于 2012-04-29 加入CSDN
  • 入选《本周创作者榜》第32名
获得成就
  • Java领域优质创作者
  • 博客专家认证
  • 获得2,569次点赞
  • 内容获得1,142次评论
  • 获得9,645次收藏
  • GitHub 获得6,878Stars
荣誉勋章
兴趣领域
  • #后端
    #Redis#MySQL#Elasticsearch#Linux#Python#Spring#Go/GoLang#架构#Java#C/C++#Spring Boot
TA的专栏
  • 互联网应用架构设计和实现
    付费
    5篇
  • Netty + JavaFx 实战:仿桌面版微信聊天
    付费
    25篇
  • Netty4.x专题案例
    付费
    39篇
  • 重学 Java 设计模式
    23篇
  • 面经手册 • 拿大厂Offer
    36篇
  • 字节码编程
    12篇
  • 用Java实现JVM
    10篇
  • 基于JavaAgent的全链路监控
    10篇
  • Spring Cloud
    10篇
  • Drools规则引擎
    1篇
  • niubility-algorithm
    2篇
  • 中间件开发
    4篇
  • 手写RPC框架
    3篇
  • DDD专题案例
    3篇
  • bugstack虫洞栈
    51篇
  • Html
    23篇
  • Js
    24篇
  • Jq
    3篇
  • Ajax
    4篇
  • J2se
    68篇
  • J2ee
    14篇
  • Oracle
    27篇
  • Jsp
    1篇
  • Servlet
    6篇
  • Linux
    4篇
  • Spring
    2篇
  • Struts2
    3篇
  • C#
    8篇
  • PHP
    2篇
  • mssql
    1篇
微信公众号 | bustack虫洞栈
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅
  • 小店

【环境篇】第 3 节 • Navicat 环境安装

Mac Navicat 软件包下载Navicat 官网下载地址:http://www.navicat.com.cn/products进入下载页面后,可以按照不同的系统环境选择相应的版本。Mac Navicat 软件安装双击打开 navicat150_mysql_cs.dmg安装完成...
原创
8阅读
0评论
0点赞
发布博客于 19 小时前

【环境篇】第 2 节 • Mysql 环境安装

Mac Mysql 软件包下载Mysql 官网下载地址:https://dev.mysql.com/downloads/file/?id=501470关于软件包的下载,选择自己系统环境需要的软件包即可。Mac Mysql 安装双击打开下载程序 mysql-8.0.23-macos10.15-x86_64.dmg顺序点击下一步,执行安装配置选择的密码强度类型配置你的数据库密码,可以是八位的数字安装完成,在 Mac 上此时你的 Mysql 已经启动至此,你的Mysql就可以
原创
14阅读
0评论
0点赞
发布博客于 23 小时前

【环境篇】第 1 节 • JDK 介绍和安装

第 1 节 JDK 介绍和安装一、JDK、JRE、JVM 的关系1. Java 平台标准(JDK 8)Oracle has two products that implement Java Platform Standard Edition (Java SE) 8: Java SE Development Kit (JDK) 8 and Java SE Runtime Environment (JRE) 8.JDK 8 is a superset of JRE 8, and contains
原创
9阅读
0评论
0点赞
发布博客于 昨天

【应用篇】第 1 节 • SpringBoot 入门案例

第 1 节 SpringBoot 入门案例一、前言SpringBoot 官网:https://spring.io/projects/spring-bootSpring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始
原创
22阅读
0评论
0点赞
发布博客于 昨天

目录

目录第 1 篇 基础环境 第 1 节 JDK 介绍和安装 第 2 节 Mysql 环境安装 第 3 节 Navicat 环境安装 第 3 节 IDEA 环境安装 第 4 节 代码仓库使用介绍第 2 篇 案例应用 第 1 节 SpringBoot Demo 案例 第 2 节 SpringBoot 与 MyBatis 结合第 3 篇 架构设计 第 1 节 什么是架构 第 2 节 单体应用架构第 4 篇 系统运维 第 1 节 jekenis 集成环境 第 2 节 系统监
原创
35阅读
0评论
0点赞
发布博客于 昨天

关于 Spring 中 getBean 的全流程源码解析

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言你提出问题,就要给出解决方案!最近有粉丝小伙伴反馈,与自己的上级沟通总是遇到障碍,感觉不被理解。大部分时候他提出来的事情都可能会被领导说:“我没get到你的点”、“你想做的这个项目没有业务价值”、“你提出问题,就要给出解决方案”,等等诸如此类的回答。鉴于具体情况要具体分析,可能我们并不一定能判断出是谁的问题,导致在每次的交谈中出现的分歧。可能是leader有leader的苦衷和
原创
314阅读
3评论
3点赞
发布博客于 2 天前

jdk-8u281 资源整合 (windows、mac、linux).zip

包含; jdk-8u281-windows-x64.exe jdk-8u281-windows-i586.exe jdk-8u281-windows-x64.zip jdk-8u281-macosx-x64.dmg
zip
发布资源于 7 天前

Cloudreve 自建云盘实践,我说了没人能限得了我的容量和速度!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言为啥要用自建网盘,市面上的云盘不香了?每一个用户需求的背后都是因为有场景存在,而这些差异化的场景也都是因为不同的用户类型产生的。就像我作为技术号主想分享一些自己总结的资料,放到一些云盘以后有时候会被其他不知道从哪冒出来的小伙伴给举报,举报链接就取消了,取消了链接也就影响了我的资料分享。同时我可能还希望我的分享内容能被记录到下载次数、允许几次下载、下载时是否要做一些引流动作等等。
原创
2523阅读
11评论
16点赞
发布博客于 9 天前

该说不说我这个资料还挺香的!

发布Blink于 11 天前

Spring IOC 特性有哪些,不会读不懂源码!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言多线程、锁、JVM调优,都背出花啦,怎么一写代码还是乱糟糟?为什么这些无论从书本、课堂、面试都显得非常重要的知识,但是在实际的编程中没有提升你的编码能力呢?首先这些这些知识在实际的互联网业务开发中,几乎是不常用的,几乎有锁和多线程的场景,为了性能的提升也基本都是采用分布式设计和实现了。而这些看上去很有技术含量的知识多数都被包装在非业务逻辑功能的组件中,而程序员在做业务开发时候几
原创
1406阅读
8评论
6点赞
发布博客于 13 天前

五年前,香河大厂村,开张大吉。我和弟兄们雄心壮志,坐公交车去面试,谁知道求职不到半个月,每天平均1.3个人挂在八股文造火箭,一年内6个兄弟去了外包。 佛祖保佑!算命的说我是“CRUD搬砖996”,不过我不同意。我认为出来混的,是20K是40K,要由自已决定。 你们跟着我的日子最短,底子最薄,路怎么走,让你们自已挑。 好了,祝你们,在大厂,一帆风顺!干杯各位架构师!

网页链接
发布Blink于 19 天前

让人怪不好意思的,我来晒一下!欢迎关注小傅哥

发布Blink于 19 天前

年纪轻轻,为什么要搞中间件开发?“路怎么走,让你们自己挑”

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言年纪轻轻,为什么要搞中间件开发?五年前,香河大厂村,开张大吉。我和弟兄们雄心壮志,坐公交车去面试,谁知道求职不到半个月,每天平均1.3个人挂在八股文造火箭,一年内6个兄弟去了外包。佛祖保佑!算命的说我是“CRUD搬砖996”,不过我不同意。我认为出来混的,是20K是40K,要由自已决定。你们跟着我的日子最短,底子最薄,路怎么走,让你们自已挑。好了,祝你们,在大厂,一帆风顺
原创
5086阅读
12评论
22点赞
发布博客于 19 天前

你简历不写精通吗,你说怎么把Bean塞到Spring容器?

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言小傅哥,你是怎么学习的?有很多初学编程或者码了几年CRUD砖的小伙伴问我,该怎么学编程?感觉什么都不会怎么办?感觉目前的公司没有核心业务学到不东西呀!其实我可能和很大一部分的粉丝读者都有类似的经历,在传统类似外包的行业待过、从C#语言两年开发再面Java岗、新到互联网职场感觉太多不会的技术栈等等。但可能最让我在学习编程上受益的就是不断的折腾这些技术:关于外包:在外包2年时
原创
4975阅读
15评论
39点赞
发布博客于 21 天前

刚火了的中台转头就拆,一大波公司放不下又拿不起来!「手里的中台Offer也不香了」

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言离数学越远代码,价值越低!代码编程是对数学逻辑的具体实现,就相当于用砖头盖个厕所、码个猪圈、砌出个砖墙等是一样,砖还是那批5毛钱的砖,但盖在哪里盖出了啥价值就不一样了!程序员也一样,你码的砖是公司里的;核心组件、通用模块、高并发业务还是一些ERP查询、接口包壳、屎山寻宝呢?通常那些复杂的业务逻辑或者具备一定技术深入的核心组件,才是最让人程序员快速成长的地方。当然有些时候没有办
原创
1538阅读
12评论
17点赞
发布博客于 27 天前

教小师妹学多线程,看完我写的例子,脸红成那样!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言对于在校学习期间的计算机、软件工程的学生来说,只要学到 Java 多线程,就开始犯迷糊了!刚知道咋打开 IDEA,费劲扒拉的写个 HelloWorld,就要上手搞多线程绝对是史诗级理解难度。这东西怎么跑起来的、怎么还有一个run方法、各种状态是啥意思、还要休眠睡一会,纳尼?以我的学习经历来说,一个知识点是否能快速接受并学习到,往往是看有没有一个合适的场景和好的例子,来引导读者
原创
7375阅读
36评论
56点赞
发布博客于 27 天前

谢飞机简历模板合集,实习生、应届生、工作1~3年、工作3~5年.zip

谢飞机简历模板合集,实习生、应届生、工作1~3年、工作3~5年。 简历是对个人能力的包装,也是用于建立在面试官和求职者的桥梁。当然面试也是一场战斗,要在简历中给面试官留好坑和雷,这样大家才有撩下去的动力!
zip
发布资源于 1 月前

爬虫大佬,把他总结的正则表达式使用给我了!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言编程总在实践中出结果!正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则引擎主要可以分为两大类:一种是DFA,一种是NFA。这两种引擎都有了很久的历史(至今二十多年),当中也由这两种引擎产生了很多变体!于是POSI
原创
17159阅读
49评论
218点赞
发布博客于 1 月前

手撸 SpringBoot DDD 微服务脚手架

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言为什么我们要去造轮子?造轮子的核心目的,是为了解决通用共性问题的凝练和复用。虽然市面上已经有了大量成熟稳定用于支撑系统建设的轮子,也就是服务、框架、组件、工具等,但对于一些较大型的公司来说,这些轮子可能并不一定能很好的支撑起系统需要承载的服务体量,这个时候就需要自建一些轮子。而提倡的不重复造轮子,新造轮子不一定能保证稳定性。一般用在以官网推出的核心轮子上是适合的,比如 Spr
原创
6386阅读
36评论
19点赞
发布博客于 1 月前

elasticsearch-7.10.2、kibana-7.10.2 Mac 版.zip

elasticsearch-7.10.2、kibana-7.10.2 Mac 版
zip
发布资源于 1 月前

elasticsearch-7.10.2、kibana-7.10.2 Windows 版.zip

elasticsearch-7.10.2、kibana-7.10.2 Windows 版
zip
发布资源于 1 月前

面试现场:小伙伴美团一面的分享和分析[含答案]

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言最近给大家整理一些面试现场,真实的面试题和答案以及总结虽然技术的知识点是固定的,但不同大厂不同面试官的提问方式却不一样。一方面是你的简历的内容影响,另外一方面是受面试官的个人经历导致。最终就看你们是否对脾气了,如果不对换个部门重新投但如果你能把一个知识点真的搞懂,是真的懂。那么,无论面试官怎么问,其实都能回答的很精彩,精彩决定了你的职位和薪资。为了让大家在以后的面试中都能精彩
原创
1870阅读
7评论
5点赞
发布博客于 1 月前

笔记整理:技术架构涵盖内容和演变过程总结

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言架构,说的是开发用的框架吗?对于刚接触编程的新人来说,可能并不能很清楚的知道架构是怎么来的,都包括什么内容。如果非得说什么架构,那么可能就是目前在 IDEA 中打开的工程就是架构。抛开技术圈内的架构而已,盖房子的图纸算不算架构、做豆腐的步骤算不算架构、结婚的流程算不算架构?归纳得出,所有的这些步骤都在计算成本、耗材、执行和产出,那么架构就可以看做是一个用于完成目标结果的指导蓝图
原创
337阅读
4评论
1点赞
发布博客于 1 月前

技术架构涵盖内容和演变过程总结的架构图.pptx

对于刚接触编程的新人来说,可能并能很清楚的知道架构是怎么来的,都包括什么内容。如果非得说什么架构,那么可能就是目前在 IDEA 中打开的工程就是架构。但实际上,应用场景、业务规模、服务类型、部署结构、开发框架、技术选型,综合在一起才是架构!
pptx
发布资源于 1 月前

工作两三年了,整不明白架构图都画啥?

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言很多程序员画架构图头疼,不知道画什么、怎么画!分享、评审、述职、答辩,只要你在程序员这个行业,就几乎离不开要画图。一提到画图很多人就想站会起来喊,”内卷“、”内卷啦“、”PPT工程师“,但程序代码本身就是一种数学逻辑的具体实现,如果没有一些图表配合文字的阐述,讲真很难让所有人都能在共同的共识下进行交流。这不像是文科,”八表流云澄夜色,九霄华月动春城“ 上来就能联想到它是在描述
原创
3004阅读
13评论
15点赞
发布博客于 1 月前

半年招聘筛选了400+份简历,告诉你怎么写容易被撩!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言什么样的简历容易被撩?20年近6个月,看过400份+简历,筛选出不到100份能面试的!在这些简历中有各式各样的秀,也有真大牛。优秀的简历让人立刻就想约起来面基,秀的简历就只能先放一放。秀的简历有多秀?错字、造假、技术根本上工作年限,这些都是一般的。但工作5年就写了一页简历的算秀不,你觉得写一页的少?那你见过一份简历写了40~50页的吗,像流水账一样,根本没法看。其实简历
原创
10336阅读
22评论
63点赞
发布博客于 2 月前

方案设计:基于IDEA插件开发和字节码插桩技术,实现研发交付质量自动分析

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言如何保证代码质量?业务提需求,产品定方案,研发做实现,测试验流程。四种角色的相互配合是确保一个需求上线的必备条件。在整个需求的交付质量级别划分中,研发与测试是非常重的一环,如果研发提测的代码质量不高,就会出现不同级别的修BUG、返工甚至重做的风险。那么,怎么来提高代码质量呢?一般我们都会要求研发在开发代码的过程中编写单元测试,验证自己的代码逻辑。如果最终单元测试覆盖度不足,可
原创
335阅读
1评论
0点赞
发布博客于 2 月前

技术扫盲:关于低代码编程的可持续性交付设计和分析

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言CRUD程序员会不会越来越便宜?CRUD,是程序员的自嘲,讲自己经常开发增删改查或者接口包装的简单逻辑代码。但这部分简单逻辑的代码又几乎是现阶段互联网公司里最消耗研发人员的部分,任何的业务需求实现都会包括大量接口的开发,但这些不同业务间差异性较大的接口又不具备可复用性,因此不断的造接口带来的是研发、测试到交付上线一整套的人员投入。对个人来说开发CRUD是几乎没有技术成长的,开
原创
290阅读
0评论
0点赞
发布博客于 2 月前

这一年,像踏码进货一样!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言心似平原走码,易放难收!20年1月 1.2k 粉丝、21年1月 2.0w 粉丝。这一年的小傅哥不只是码农,还是码文的码仔!在近12个月的时间里,创作了106篇文章合计80万字,整理出3本PDF(设计模式、面经手册、字节码编程),其中《重学Java设计模式》,全网下载量22万+ 传播分享了几十万程序员,但他们还没有来关注我,这书????铁定已经在收藏夹落灰了!当然,可以吹牛的数
原创
9954阅读
15评论
10点赞
发布博客于 2 月前

《Java 面经手册》PDF,全书5章29节,417页11.5万字,完稿&发版!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言我膨胀了???? ,在看了大部分以面试讲解的 Java 文章后,发现很多内容的讲解都偏向于翻译、抄书、说理论的给答案式讲解,最终把知识弄的云里雾里。就像我问你:HashCode为什么用31作为乘数,你证明过吗?扰动函数的函数作用是什么,它还有什么场景在用?拉链寻址和开放寻址具体是什么表现,怎么解决的碰撞问题?ThreadLocal 的实现中还有黄金分割点的使用,你知道
原创
1431阅读
10评论
14点赞
发布博客于 3 月前

Java 面经手册·小傅哥(公众号:bugstack虫洞栈).pdf

这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、斐波那契(Fibonacci)散列法还有黄金分割点的使用等等。 适合人群 1. 具备一定编程基础,工作1-3年的研发人员 2. 想阅读 Java 核心源码,但总感觉看不懂的 3. 看了太多理论,但没有实践验证的 4. 求职面试,总被面试题搞的死去活来的
pdf
发布资源于 3 月前

每个程序员都该有个自己的博客,分享我的四种博客搭建教程!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言压测了,小傅哥一天能搭4个博客!好学、乐学、博学、恒学、会学和用学,学以致用。一起学习成长的很多同好以及我自己,都是同样喜欢折腾的人。最早大家都喜欢倒腾自己的QQ空间,装修的各式各样,可那炫耀。但终究这个QQ空间里面,还有很多东西不能让自己随意摆弄。不知道是不是此类好奇和爱好,让很多人走上了编程开发的道路。就折腾博客而言,在大学开始就不停的折腾。从一个网页能被宿舍人访问、被校
原创
359阅读
0评论
0点赞
发布博客于 3 月前

JVM 判断对象已死,实践验证GC回收

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言提升自身价值有多重要?经过了风风雨雨,看过了男男女女。时间经过的岁月就没有永恒不变的!在这趟车上有人下、有人上,外在别人给你点评的标签、留下的烙印,都只是这趟车上的故事。只有个人成长了、积累了、沉淀了,才有机会当自己的司机。可能某个年龄段的你还看不懂,但如果某天你不那么忙了,要思考思考自己的路、自己的脚步。看看这些是不是你想要的,如果都是你想要的,为什么你看起来不开心?好!
原创
303阅读
0评论
0点赞
发布博客于 3 月前

数学,离一个程序员有多近?

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言数学离程序员有多近?ifelse也好、for循环也罢,代码可以说就是对数学逻辑的具体实现。所以敲代码的程序员几乎就离不开数学,难易不同而已。那数学不好就写不了代码吗?????不,一样可以写代码,可以写出更多的CRUD出来。那你不要总觉得是产品需求简单所以你的实现过程才变成了增删改查,往往也是因为你还不具备可扩展、易维护、高性能的代码实现方案落地能力,才使得你小小年纪写出了更多的
原创
3798阅读
9评论
41点赞
发布博客于 3 月前

JVM故障处理工具,使用总结

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言用都用不到怎么学?没有场景、没有诉求,怎么学习这些似乎用不上知识点。其实最好的方式就是归纳、整理、实践、输出,一套组合拳下来,你就掌握了这个系列的知识了。但在当前阶段可能真的用不上,JVM是一个稳定服务,哪能天天出问题,哪需要你老排查。又不是像你写的代码那样!可是知识的学习就是把你垫基到更高层次后,才有机会接触更有意思的工作和技术创新。如果只是单纯的学几个指令,其实并没有多
原创
712阅读
6评论
1点赞
发布博客于 3 月前

JVM内存模型总结,有各版本JDK对比、有元空间OOM监控案例、有Java版虚拟机,综合学习更容易!

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言看了一篇文章30岁有多难!每篇文章的开篇总喜欢写一些,从个人视角看这个世界的感悟。最近看到一篇文章,30岁有多难。文中的一些主人公好像在学业、工作、生活、爱情等方面都过的都不如意。要不是错过这,要不是走错那。总结来看,就像是很倒霉的一群倒霉蛋儿在跟生活对干!但其实每个人可能
原创
512阅读
0评论
2点赞
发布博客于 3 月前

谁说明天上线,这货压根不知道开发流程!

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言互联网公司常见工种有哪些?互联网中一个项目的上线会需要各个工种间的配合,以研发为视角上会承接产品需求,下会交给测试验证,最终完成项目交付上线。其实除此之外,还会有业务、运营、UI设计、运维,来配合项目的发起、使用和运维维护。图 18-1,互联网工种协同合作。除了一条线上的
原创
282阅读
0评论
0点赞
发布博客于 3 月前

为了搞清楚类加载,竟然手撸JVM!

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言学习,不知道从哪下手?当学习一个新知识不知道从哪下手的时候,最有效的办法是梳理这个知识结构的脉络信息,汇总出一整张的思维导出。接下来就是按照思维导图的知识结构,一个个学习相应的知识点,并汇总记录。就像JVM的学习,可以说它包括了非常多的内容,也是一个庞大的知识体系。例如:类加
原创
2303阅读
12评论
4点赞
发布博客于 3 月前

2020总结 | 作为技术号主的一年!

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言快到年底了,写个总结吧!关注我的粉丝朋友,谢谢你!滴水之恩,永不相忘!我没照顾到的伙伴,对不起!我不是有意忽略了你。致我相识的每一位同好,所求皆如愿、所行化坦途。再见2020,迎接2021!二、缘起怎么就开始写公众号了呢?故事:听过郭德纲的一个相声片段,大概意思是有
原创
371阅读
5评论
1点赞
发布博客于 3 月前

面经手册 · 第23篇《JDK、JRE、JVM,是什么关系?》

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言截至到这已经写了22篇面经手册,你看了多少?????其实小傅哥就是借着面经的幌子在讲 Java 核心技术,探索这些核心知识点面试的背后到底在问什么。想问一些面试官,是因为大家都在问所以你问,还是你想从这里问出什么? 其实可能很多面试官如果不了解这些技术,往往会被求职者的答案击
原创
327阅读
5评论
1点赞
发布博客于 3 月前

工作3年,看啥资料能月薪30K?

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言月薪30K年薪是多少?按照月薪30K,年终奖2~3个月来算,再算上季度的绩效奖金、加班费,可能也有一些大小周和节假日的三倍工资等。综合起来的税前年收入整体差不多在46K左右。当然如果你在年会中了个大奖也可以算进去,或者阳光普照个IPhone!**那30K月薪差不多是一个什么级
原创
2748阅读
18评论
10点赞
发布博客于 4 月前

阿里不允许使用 Executors 创建线程池!那怎么使用,怎么监控?

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言五常大米好吃!哈哈哈,是不你总买五常大米,其实五常和榆树是挨着的,榆树大米也好吃,榆树还是天下第一粮仓呢!但是五常出名,所以只认识五常。为什么提这个呢,因为阿里不允许使用 Executors 创建线程池!其他很多大厂也不允许,这么创建的话,控制不好会出现OOM。好,本篇就带你学习四种线程池的不同使用方式、业务场景应用以及如何监控线程。二、面试题谢飞机,小记!,上次从面试官
原创
348阅读
1评论
0点赞
发布博客于 4 月前

得物(毒)APP,8位抽奖码需求,这不就是产品给我留的数学作业!

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言为什么你的代码一坨坨?其实来自你有那么多为什么你要这样写代码!为什么你的代码那么多for循环?因为没有合理的数据结构和算法逻辑。为什么你的代码那么多ifelse?因为缺少设计模式对业务场景的运用。为什么你的程序应用复杂对接困难?因为没有良好的系统架构拆分和规划。为什么
原创
2343阅读
2评论
0点赞
发布博客于 4 月前

面经手册 · 第21篇《手写线程池,对照学习ThreadPoolExecutor线程池实现原理!》

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言人看手机,机器学习!正好是2020年,看到这张图还是蛮有意思的。以前小时候总会看到一些科技电影,讲到机器人会怎样怎样,但没想到人似乎被娱乐化的东西,搞成了低头族、大肚子!当意识到这一点时,其实非常怀念小时候。放假的早上跑出去,喊上三五个伙伴,要不下河摸摸鱼、弹弹玻璃球、打打
原创
356阅读
0评论
2点赞
发布博客于 4 月前

90%的程序员,都没用过多线程和锁,怎么成为架构师?

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言你只面向工作学习吗?如果说编程只是单纯的承接产品需求开发系统功能,那么基本可以把程序开发简单理解成按照需求PRD,定义属性、创建方法、调用展示,这三个步骤。尤其是在一些大公司中,会有易用的、完善的、标准的架构体系和运维服务,例如:RPC、MQ、Redis集群、分布式任务、配置
原创
6964阅读
29评论
61点赞
发布博客于 4 月前

面经手册 · 第20篇《Thread 线程,状态转换、方法使用、原理分析》

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言考不常用的、考你不会的、考你忽略的,才是考试!大部分考试考的,基本都是不怎么用的。例外的咱们不说???? 就像你做程序开发,尤其在RPC+MQ+分库分表,其实很难出现让你用一个机器实例编写多线程压榨CPU性能。很多时候是扔出一个MQ,异步消费了。如果没有资源竞争,例如库表秒杀,
原创
269阅读
2评论
0点赞
发布博客于 4 月前

北漂码农的我,把在大城市过成了屯子一样舒服,哈哈哈哈哈!

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言可能是写代码改变生活吧!????一家人从东北来到京津冀后,我自己基本很久没回去过了。上段时间小学同学路过我家门口,拍了张照片发给我,看后确实很怀念,嗯!很怀念!后面放假了,再回去转一转!不吹牛的讲,东北的烤串、麻辣烫最香!接下来讲讲关于我是自己北漂的故事,是怎么一步步把大城
原创
1132阅读
7评论
5点赞
发布博客于 4 月前

Thread.start() ,工作这么久,还不知道它是怎么让线程跑起来的!

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言有句话:正因为你优秀,所以难以卓越!刚开始听这句话还在上学,既不卓越、也不优秀,甚至可能还有点笨!但突然从某次爬到班级的前几名后,开始喜欢上了这种感觉,原来前面的风景是如此灿烂????!优秀和卓越差的不是一个等级,当你感觉自己优秀后,还能保持空瓶的心态开始,才能逐步的像卓越迈
原创
319阅读
0评论
1点赞
发布博客于 4 月前

鹿鼎记 · 韦小宝,丽春院、天地会、入皇宫等五个场景的恶搞版多线程锁学习!

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言学习路径决定学习效果!有时候很多看似复杂的知识,其实并没有多复杂,只不过你找到的那份资料把知识讲复杂了。为什么这么说呢?????学习知识可以想象成是一个从开头接触到结尾把知识吸纳的过程,在这个过程中会有一些知识路径行走经历。那么不同的资料就是带着你在走这条知识路径,只不过有些
原创
364阅读
0评论
2点赞
发布博客于 4 月前

面经手册 · 第18篇《AQS 共享锁,Semaphore、CountDownLatch,听说数据库连接池可以用到!》

作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!????一、前言学Java怎么能,突飞猛进的成长?是不是你看见过的突飞猛进都是别人,但自己却很难!其实并没有一天的突飞猛进,也没有一口吃出来的胖子。有得更多的时候日积月累、不断沉淀,最后才能爆发、破局!举个简单的例子,如果你大学毕业时候已经写了40万行代码,还找不到工作吗?但40万行平均到
原创
287阅读
0评论
1点赞
发布博客于 5 月前

BATJTMD,大厂招聘,都怎么面Java程序员?

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言Java学到什么程度可以找工作?最近总看到类似这样的问题,也有一些工作3年左右的小伙伴问小傅哥,该怎么进大厂。其实你说 Java 学多少可以找到工作,主要看你想在哪个城市找、找什么样的公司、找什么样的待遇。因你的要求高低不同,你遇到的面试要求也会随之改变。因此,为了让大家更清楚的看到学多少Java能找工作,我抽取了北京头部互联网公司的大量职位招聘要求,分析出一份可以让你明卷面试
原创
1701阅读
9评论
0点赞
发布博客于 5 月前

面经手册 · 第17篇《码农会锁,ReentrantLock之AQS原理分析和实践使用》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言如果你相信你做什么都能成,你会自信的多!千万不要总自我否定,尤其是职场的打工人。如果你经常感觉,这个做不好,那个学不会,别的也不懂,那么久而久之会越来越缺乏自信。一般说能成事的人都具有赌徒精神,在他们眼里只要做这事那就一定能成,当然也有可能最后就没成,但在整个过程中人的心态是良好的,每天都有一个饱满的精神状态,孜孜不倦的奋斗着。最后也就是这样的斗志让走在一个起点的小伙伴,有了差
原创
294阅读
0评论
0点赞
发布博客于 5 月前

大厂程序员必备的一套浏览器书签,我帮你整理好了。[下载导入浏览器]

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言几个能力,决定你是否会学习!看过混乱的电脑桌,面吗,见过乱遭的电脑,桌面吗。当然不能说乱就能力不好,总有些大师是不拘细节的。但规整能力也是非常重要的能力,尤其是程序员行业,从投身进入这行开始就不断的接收着各种各样的资料、书籍、文档、案例、源码、仓库、软件、视频、博客等等,从中来让自己获取更多的知识。资料中有一部分资料是基于地址保存的,也就是经常会记录在浏览器上。可很多人的浏览
原创
629阅读
1评论
3点赞
发布博客于 5 月前

面经手册 · 第16篇《码农会锁,ReentrantLock之公平锁讲解和实现》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言Java学多少才能找到工作?最近经常有小伙伴问我,以为我的经验来看,学多少够,好像更多的是看你的野心有多大。如果你只是想找个10k以内的二线城市的工作,那还是比较容易的。也不需要学数据结构、也不需要会算法、也需要懂源码、更不要有多少项目经验。但反之我遇到一个国内大学TOP2毕业的娃,这货兼职是Offer收割机:腾讯、阿里、字节还有国外新加坡的工作机会等等,薪资待遇也是贼高,可能
原创
373阅读
4评论
1点赞
发布博客于 5 月前

刚毕业不久,接私活赚了2万块!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言5:30下班让我有更多的时间!????13年~15年,我还从来没想过一天上班,还能干到6点以后!因为我上班的第一家公司是偏传统的外包公司,与互联网公司不同。不知道现在如何了,但当时:9点到公司,6点下班,但基本大家5:30也就走了。每天下班都能看见日落☀️一个C#写的项目代码能运行十年。一个Java程序员写了两年C#一年会出那么几次差,全国各个地方都几乎会去。一年去了四次
原创
671阅读
5评论
4点赞
发布博客于 5 月前

面经手册 · 第15篇《码农会锁,synchronized 解毒,剖析源码深度分析!》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言感觉什么都不会,从哪开始呀!这是最近我总能被问到的问题,也确实是。一个初入编程职场的新人,或是一个想重新努力学习的老司机,这也不会,那也不会,总会犯愁从哪开始。讲道理,毕竟 Java 涉及的知识太多了,要学应该是学会学习的能力,而不是去背题、背答案,拾人牙慧是不会有太多收益的。学习的过程要找对方法,遇到问题时最好能自己想想,你有哪些方式学会这些知识。是不感觉即使让你去百度搜,
原创
653阅读
6评论
7点赞
发布博客于 5 月前

碎片化的学习需要整理、沉淀,记录到博客是最好的方式!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言灵魂拷问你今天...看????书了吗、写????博客了吗、去????跑步了吗?????害羞了吧,几乎每一项都是灵魂拷问。其实大多数的你和我,也都想让自己做一些这样有意义的事,只不过成年人确实没有一个简单的周末。经常有粉丝问我:看你写了那么多文章,你的时间是怎么管理的呢? 就我个人而言也没有一个明确的时间管理,只是一股脑的把空闲时间全部投入到我喜欢的事情上。比如:我会早上6:30
原创
4509阅读
15评论
4点赞
发布博客于 5 月前

《重学java设计模式》PDF.zip_java核心技术PDF

本资源共计22个真实业务场景对应59组案例工程,包括交易、营销、秒杀、中间件、源码等各类实战场景。另外,本书属于实战型而不是理论介绍类书籍,每一章节都有对应的完整代码,学习的过程需要参考书中的章节与代码一起学习,学习完成后进行知识点的总结,以及思考这样的设计模式在自己的业务场景中需要如何使用。
zip
发布资源于 6 月前

面经手册 · 第14篇《volatile 怎么实现的内存可见?没有 volatile 一定不可见吗?》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、码场心得你是个能吃苦的人吗?从前的能吃苦大多指的体力劳动的苦,但现在的能吃苦已经包括太多维度,包括:读书学习&寂寞的苦、深度思考&脑力的苦、自律习惯&修行的苦、自控能力&放弃的苦、低头做人&尊严的苦。虽然这些苦摆在眼前,但大多数人还是喜欢吃简单的苦。熬夜加班、日复一日、重复昨天、CRUD,最后身体发胖、体质下降、能力不足、自抱自泣!所以有些
原创
301阅读
2评论
1点赞
发布博客于 6 月前

UML类图还不懂?来看看这版乡村爱情类图,一把学会!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、码场心得????有个词叫内卷严重!最开始听到这个词是有个小伙伴在我的一篇HashMap源码分析文章下的留言:“哥们,你这叫内卷!”。这篇文章深度解释了扰动函数、负载因子以及相关数学方式的结果验证,有兴趣的可以跳过去阅读。《HashMap核心知识,扰动函数、负载因子、扩容链表拆分,深度学习》那什么叫内卷呢,乍一看这词还是有点新的。其实内卷化来自单词 involution,也可以称作“
原创
225阅读
3评论
1点赞
发布博客于 6 月前

全网最火的设计模式分享!

0回答
发布问题于 6 月前

面经手册 · 第13篇《除了JDK、CGLIB,还有3种类代理方式?面试又卡住!》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言编程学习,先铺宽度还是挖深度?其实技术宽度与技术深度是相辅相成的,你能了解多少技术是和你对一个技术的理解深度有关,而你能对一个技术探究的多深又是需要你有一定的广度认知。否则如果只去了解皮毛或者死磕一段代码,收获都不一定有多大,或者要付出很大的成本。技术瓶颈,与年龄相关还是大厂?亲身当过面试官很久,也面试过很多人。有时候不一定年龄很大就技术好,也不一定刚工作2年左右就不行。往往
原创
628阅读
10评论
5点赞
发布博客于 6 月前

架构师根本不会被语言限制住,php照样可以用领域驱动设计DDD四层架构!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言你在通往架构师的路上吗?程序员这个行业就像是在不断的打怪升级,突破每一阶段的瓶颈期。从毕业前想通过实习拿到offer、毕业后想通过试用期到转正留下、转正后程序员想做到高级开发、从高级该开发想做到架构师、从架构师想做到更高的总监或者CTO。往后的路越来越不容易,既需要需要个人不断的沉淀学习,也需要一定的机遇机会。在这条路线上架构师是一个瓶颈期的重要转折点,因为这个阶段远不止个
原创
317阅读
4评论
2点赞
发布博客于 6 月前

坚持写技术博客一年能有多少收获!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????让人怪不好意思的,小傅哥的粉丝破万了!????10.1 假期期间,公众号粉丝终于破万!是的,终于!因为与各大号主相比,我可能是涨粉最慢的号主了。但无论如何跨过了这道无形的门槛,值此纪念????。做公众号的号主都知道粉丝过万是一道不小的门槛,尤其是技术类博文的号主。粉丝过万说明这个公众号已经度过了冷启动阶段,并且所写的技术文章得到了一定的市场认可。这些文章内容构成了一个小的生态圈,通过内
原创
11842阅读
62评论
75点赞
发布博客于 6 月前

设计模式PDF下载了4.0万本!那,再肝一本《Java面经手册》吧!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言1. 先祝贺下自己拿下4.0万本下载量!《重学Java设计模式》PDF,我的第二本电子书,截止目前为止全网下载量4.0万本。这是一本以实战真实场景编码的方式学习设计模式,全书涉及交易、营销、下单、秒杀、规则引擎以及中间件等22个真实场景,共计18万字271页,耗时50天肝完!文末提供下载指引当然这本书的推广少不了粉丝的支持,也感谢我的号主朋友帮忙转载分享。也有使用此书籍为自己
原创
945阅读
2评论
6点赞
发布博客于 6 月前

PPT画成这样,述职答辩还能过吗?

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言标题有点凶,但内容很干! 大部分程序员并不会画PPT,也梳理不出架构图。工作的年头虽然多,但却不对自己的知识进行整理汇总,久而久之只能干,不会说。好,那么本文就带着你一起画画图,做个画画的baby!数学好的一般代码写的好,那下象棋好的呢?????做程序猿多年后,经常会有家里的亲戚询问,自己家小孩报计算机行吗。他数学好、他英语好、他喜欢打游戏...,一般情况我也都推荐去学 ja
原创
521阅读
0评论
0点赞
发布博客于 6 月前

面经手册 · 第12篇《面试官,ThreadLocal 你要这么问,我就挂了!》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言说到底,你真的会造火箭吗?常说面试造火箭,入职拧螺丝。但你真的有造火箭的本事吗,大部分都是不敢承认自己的知识盲区和技术瓶颈以及经验不足的自嘲。面试时:我希望你懂数据结构,因为这样的你在使用HashMap、ArrayList、LinkedList,更加得心应手。我希望你懂散列算法,因为这样的你在设计路由时,会有很多选择;除法散列法、平方散列法、斐波那契(Fibonacci)
原创
642阅读
1评论
4点赞
发布博客于 6 月前

专栏学习简述以及全套源码获取

一、前言本专栏是作者小傅哥使用JavaFx、Netty4.x、SpringBoot、Mysql等技术栈和偏向于DDD领域驱动设计方式,搭建的仿桌面版微信聊天工程实现通信核心功能。在接下来的章节里会一步步来带着大家从UI到功能逐项实现。在后续的专栏内容的讲解中,会有很多涉及到代码的地方,可以先进行下载源码对照学习。二、功能 登陆页面 聊天页面 添加好友 消息...
原创
209阅读
0评论
2点赞
发布博客于 7 月前

PC 端微信页面拆分及 JavaFx 使用

一、前言对于一个知识点的学习过程来说,往往使用自己熟悉的工具或方式才更易于上手。因为所有同类型的知识点在抛出复杂的流程拨云见日后,所能得到的几乎都是同样的设计思想和实现理论。在 Java 语言桌面版开发中,直至目前共提供了三套 UI 开发方式;Awt、Swing、JavaFx,以及一些扩展组件 SWT 等。在这三套 UI 组件中,JavaFx 是最新也是最为好用的,因为他提供了丰富的功能,以及...
原创
219阅读
0评论
0点赞
发布博客于 7 月前

登陆框体实现:结构定义、输入框和登陆

一、前言从本章节开始我们会陆续实现各个框体的 UI 开发,内容会包括;框体拆解、工程结构、代码开发,以及最后编写事件和接口。在 JavaFx 中,一个框体包含;窗口 (Stage)、场景(Scene)、布局(Pane)、控件(Button 等) 这四方面内容。而开发过程中可以使用 xml 和编码两种方式进行处理,一般一些预定好的会使用 xml 结构,如果是随着我们业务行为触达而产生的会开发到代...
原创
174阅读
0评论
0点赞
发布博客于 7 月前

登陆框体事件与接口

一、前言在上一章节中我们把登陆窗体开发完成了,并进行了效果演示。那么接下来我们就需要在这个窗体里面添加行为事件和接口,待完成内容如下;序号类型描述1事件鼠标拖拽窗体移动2事件最小化到快捷栏3事件退出当前窗体4事件使用用户 ID 和密码登陆5接口登陆成功,执行跳转操作6接口登陆失败,执行提示操作在桌面版程序开发中...
原创
144阅读
0评论
0点赞
发布博客于 7 月前

聊天框体实现:整体结构定义、侧边栏

一、前言在前面章节我们实现了登陆窗体开发以及窗体需要的事件和接口,最终我们演示了运行效果。从上面简单的例子,我们可以学一个简单窗体的开发和框架结构的定义。那么接下来我们开始开发聊天窗体,相对于登陆窗体来说,聊天窗体的内容会比较多,同时也会相对复杂一些。因此我们会分章节的逐步来实现这些窗体以及事件和接口功能。在本篇文章中我们会主要讲解聊天框体的搭建以及侧边栏 UI 开发。二、框体分析为了更加...
原创
158阅读
0评论
0点赞
发布博客于 7 月前

聊天框体实现:对话框

一、前言本章节我们来实现仿微信聊天对话框部分,对话框的功能是将与某个好友或者群组聊天的集合体现。如果你还记得以前的 QQ,那时候与任何一个好友或者群组通信,都是单独打开的窗体,需要在各个窗体间切换聊天。不过那时候大部分人的即时通信的好友并不多,所以也很适合。但是随着后来移动互联网的发展,也推进桌面版聊天软件的优化。那么本章节我们就来实现这部分对话框的窗体实现。在你还没有往下看的时候,可以思考下...
原创
198阅读
0评论
1点赞
发布博客于 7 月前

聊天框体实现:对话聊天框

一、前言在上一章节我们实现了对话框体的 UI 部分,可以选中对话好友并可以删除操作。那么接下来我开始实现对话框选中后的内容区域展现,也就是用户之间信息发送和展现。从整体上看这是一个联动的过程,点击左侧的对话框用户,右侧就有相应内容的填充。那么右侧被填充对话列表 ListView 需要与每一个对话用户关联,点击聊天用户的时候,是通过反复切换填充的过程。在没有实现这部分功能之前,你也可以先主动思考下...
原创
209阅读
0评论
0点赞
发布博客于 7 月前

聊天框体实现:好友栏

一、前言截至到本章节我们将聊天框体中的主页面 UI 内容实现完成,可以展示对话列表、选中模拟发送消息、删除对话框等功能。那么接下来我们将开发 好友 页的 UI,目前这一部分还是一个块空白的白板,我们需要在里面首先开发好友列表的功能。大家都经常使用 PC 端的微信,可以知道在好友栏里是分了几段内容的,其中包含;新的朋友、公众号、群组和最下面的好友。那么这样的 UI 结构你是否有所思考该如何开发吗?...
原创
156阅读
0评论
0点赞
发布博客于 7 月前

聊天框体实现:好友填充框

一、前言这一章节里我们需要实现的是将好友栏中四个内容;“新的朋友”、“公众号”、“群组”、“好友”,添加完善相应的功能。如下;在“新的朋友”里添加好友搜索和添加的功能。因为我们实现的 PC 端微信,是没有手机端的,所以我们需要在这里添加好友搜索功能。如果你开发的是企业聊天软件,那么这里的好友就是你的企业组织关系。在“公众号”里添加一个公众号的展示。因为这部分不是我们主要实现的功能,所以只做...
原创
161阅读
0评论
0点赞
发布博客于 7 月前

聊天框体事件定义

一、前言在桌面版 UI 开发中,为了能使 UI 与业务逻辑隔离,需要在我们把 UI 打包后提供出操作界面的展示效果的接口以及界面操作事件抽象类。那么可以按照下图理解; 从示意图中可以看到,我们可以通过一些列提供出的接口,来操作 UI 效果的展示。之后是每一个 UI 里的行为操作都会产生相应那么的事件,那么我们可以在 UI 中定义抽象类,并由外部来实现这些类最终交给 UI,这样就可以做到...
原创
123阅读
0评论
0点赞
发布博客于 7 月前

练习篇:聊天表情框体实现

一、前言结合我们已经学习开发了JavaFx的很多功能,这里设置一个练习题锻炼下对框体的功能实现。二、练习题本章节的练习题是:在聊天窗体中开发默认表情框功能,如下图; 三、思路按照我们的UI架构模型,可以思考下开发这样一个表情弹出层都需要哪些方面的代码类。因为是两个界面之间的交互,那么你是需要到JavaFx的模态窗口功能。可以主动搜索这样的实现方法。另外表情内容的下载这里提供...
原创
109阅读
0评论
0点赞
发布博客于 7 月前

解答篇:聊天表情框体实现

一、前言在上一章节我们设定一个练习题,“聊天表情框体”的实现。那么在没有继续往下看之前你是否有实现了自己的框体效果呢?或者思考到了哪些点,实现了多少功能以及遇到了什么样的问题。现在可以带着你的问题继续往下看,这里我会提供一种实现方式。当然,如果你实现了自己的效果可以在留言区回复哦!二、工程结构itstack-naive-chat-ui└── src ├── main │ ...
原创
129阅读
0评论
0点赞
发布博客于 7 月前

服务端架构设计

一、前言可能有些同学一听到架构会感觉到有些“高大上”,或者以为这些东西有些神秘。当然如果是刚刚接触开发没多久,或者刚工作只是参与业务需求的实现,并没有从整体看待全局。那么是有可能对这些架构的字眼有些发蒙。其实从简单来说,哪怕是你最开始练习做作业的 CRUD,其实它也是一种建构模式。只不过在这个架构的世界里有一个叫更适合的词,只有适合你业务的才是更好的架构。不一定非得把你仅仅是一个非常小的几十人访...
原创
166阅读
0评论
0点赞
发布博客于 7 月前

通信协议包定义

一、前言有些小伙伴,可能刚开始接触 Netty 通信,并不一定能理解为什么要做通信协议包的定义。那么你是否接触过 RPC 框架,比如说使用过 Dubbo 做一些分布式的接口,那么这个时候是需要将提供接口的一端,提供一个 jar 包,这个 jar 包就是接口信息的描述性文件。好 !不管你是否接触过或者学习过。为了能让小伙伴们更清晰的了解定义通信协议包,同时也让没怎么接触过 Netty 的伙伴了解...
原创
181阅读
0评论
1点赞
发布博客于 7 月前

客户端架构设计

一、前言在设计客户端的架构之前,我们先思考下我们的目标以及目前已经完成的内容。好!那么你是否还能记得我们最开始设计 UI 组件包的时候,就已经反复提到要将我们的 UI 与业务进行分离,不要将业务流程代码写到 UI 窗口里去。否则你的代码将越来越难以为维护,每新增加一个功能都将会让你从很多的代码中“贴膏药”似的补来补去。UI 方面:我们已经完成了 UI 包的开发,并使用 Maven 进行打包对外...
原创
176阅读
0评论
0点赞
发布博客于 7 月前

数据库表结构设计

一、前言 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。阅读到这篇文章的小伙伴,或多或少都是使用过关系型数据库的...
原创
154阅读
0评论
0点赞
发布博客于 7 月前

登录功能实现

一、前言介绍在前面我们已经完成;UI 界面开发、服务端架构设计、客户端架构设计、库表设计。那么接下来从本节开始,陆续实现我们的通信核心功能。在讲解的过程中我会在章节中提供简要明了的系统流程图,以及代码核心功能的实现。这也是我们逐步使用 DDD 四层设计模式与 Netty 结合的实践。二、流程设计首先是用户在窗体中发起登录事件并由客户端向服务端发送登录请求。之后服务端验证后,再将验证结...
原创
137阅读
0评论
0点赞
发布博客于 7 月前

搜索和添加好友

一、前言介绍在上一章节我们实现了用户登录到成功后跳转到主窗体聊天中,而目前跳转后我们还不能发起 聊天,因为目前我们的个人用户还没有自己的好友。那么接下来我们来实现搜索和添加好友功能,因为在微信中是可以从手机端扫描或者通信录进行添加好友。但是我们目前只有 PC 端所以需要在服务端来搜索添加。在实现功能之前,可以先回顾下我们进行库表设计的时候有一张用户表,那么可以在搜索的时候从这里搜索好友信息,搜...
原创
144阅读
0评论
0点赞
发布博客于 7 月前

对话通知与应答

一、前言在我们使用微信的时候都会看到有一个聊天发送信息的地方左面是“好友栏”,但是这个好友栏可不是你的所有好友,而是与谁对话了才会在这里看到好友信息,我们称之为这个为对话框列表。这让我想起最开始我爸爸妈妈使用微信的时候,经常会说我好友咋找不到了,头几天还跟我说话了呢。而且也不敢删这里面的记录,后来就越来越卡越来越卡。不过现在是玩明白了,还熟的很!那么,从产品流程角度看,这个好友栏是怎么有的数据...
原创
136阅读
0评论
0点赞
发布博客于 7 月前

用户与好友通信

一、前言经过我们一系列基础工作的开发,写到这里终于可以要去实现两个用户之间的通信了。可以先想一下我们都做了那些基础工作才到这里;加好友、好友列表、对话通知。是这三大部分的完成,为下一步好友之间的通信打下基础。那么,好友之间的通信基本需要的是,好友需要在线,因为只有这样才能拿到好友的 channel,也就是通信管道。当客户端 A 发送消息到服务端,服务端找到被接收消息的 B 的通信取到,开始将消...
原创
129阅读
0评论
0点赞
发布博客于 7 月前

用户与群组通信

一、前言在上一章节我们实现了好友与好友的通信流程,可以简单回忆下我们是从对话框中选择好友进行发送信息。那么我们的对话框中还有一个默认的群组,接下来我们主要实现用户群组的通信。群组通信在 Netty 的实现中,是需要将用户的通信管道 Channel 放到 ChannelGroup 中进行群发消息,这样只要在这个通信管道组里的用户都可以收到消息。接下来我们实现具体的逻辑功能。我们的群组目前是一个...
原创
102阅读
0评论
0点赞
发布博客于 7 月前

断线重连恢复通信

一、前言在我们日常使用聊天软件进行通信的时候,可能有时候会由于我们的网络环境问题而导致没有网可用,也就是暂时性的断网。那么此时你的聊天软件发送信息,就不能被接收到了。但是当网络恢复后,我们的聊天就又可以继续了。在这里有一个非常重要的保持通信的手段,就是断线重连。以此来保证在网络以及以其他原因导致断线后,可以在网络恢复后,通信也可以随时恢复。如果,没有这样的功能,那么你就需要退出登录再重新连接了。...
原创
132阅读
0评论
0点赞
发布博客于 7 月前

服务端控制台搭建

一、前言到本章节我们通信的基本功能已经完成,那么接下来我们需要对通信服务做一个管理,例如 Netty 服务的运行状态、用户列表和在线状态以及各种纬度的通信信息查询等等。这些都是服务端控制台的用途,我们可以使用网页版的后台来进行搭建我们的控制台。接下来,我们就开发完善这一个后台的基础功能,有了这样的基础的服务端控制台,小伙伴就可以在里面进行不断的扩展控制功能。二、工程结构itstack-na...
原创
118阅读
0评论
0点赞
发布博客于 7 月前

练习篇:聊天表情发送功能实现

一、前言什么是聊天中的灵魂呢?当然是表情了,如果没有表情只是文字,那么你怎么表达自己的不可被束缚的情感呢。二、练习题在UI学习完成后,我们设置了一个练习题,来开发表情框体。那么这一章节我们再加一个练习题,来完成表情的发送。 三、思路微信表情也是分为几种的,有固定表情、自己下载的表情、添加的表情、发送的图片。那么我们在这里实现的固定的表情,就是系统默认的。这里的表情实现起来并不难,...
原创
134阅读
0评论
0点赞
发布博客于 7 月前

解答篇:聊天表情发送功能实现

一、前言在上一章节我们设置了这样的一个练习题;“** 聊天表情发送功能实现 **”,那么你是否实现了发送表情呢,还是实现了更加强大的功能。学习的阶段当你已经入门了以后,就需要逐步开始简历自己的思维路径,并去实践。二、流程设计从我们的流程中可以看到,固定表情的发送与我们发送用户信息、群组信息,是一样的。但是这里有一个点需要注意,那就是需要定义消息类型。固定表情的消息类型我们设置为 1,原有...
原创
137阅读
0评论
0点赞
发布博客于 7 月前

程序员为什么热衷于造轮子,升职加薪吗?

作者:小傅哥博客:https://bugstack.cn - 原创系列专题文章沉淀、分享、成长,让自己和他人都能有所收获!????一、前言哪个架构师没造过轮子?你想过这样一件事吗?是先具备能力在安排职位,还是先安排职位在学习? ????什么?走后门,你出去!就像我们上学考试、跆拳道考段、晋升答辩一样,都是先具备了可胜任上一阶段的能力,才给予相应的职位。所以,架构师造轮子从做程序员时候就开始了,只不过到了架构师阶段可以造出更好的轮子。鉴于实际业务开发的紧急程度,不会允许你造轮子。但造轮子,
原创
302阅读
2评论
1点赞
发布博客于 7 月前

面经手册 · 第11篇《StringBuilder 比 String 快?空嘴白牙的,证据呢!》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言聊的是八股的文,干的是搬砖的活!面我的题开发都用不到,你为什么要问?可能这是大部分程序员求职时的经历,甚至也是大家讨厌和烦躁的点。明明给的是拧螺丝的钱、明明做的是写CRUD的事、明明担的是成工具的人!明明… 有很多,可明明公司不会招5年开发做3年经验的事、明明公司也更喜欢具有附加价值的研发。有些小公司不好说,但在一些互联网大厂中,我们都希望招聘到具有培养价值的,也更喜欢能快速打
原创
202阅读
1评论
0点赞
发布博客于 7 月前

一次代码评审,差点过不了试用期!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言好的代码往往也很好看代码是给机器运行的,但同样也是给人看的,并且随着上线还需要由人来运维。那么写出可扩展、易维护、好读懂的代码就显得非常重要。对于新人来说,互联网大厂项目开发与平常自己学习的代码还是有很大的差别的。日常学习时候通常只要能运行出结果即可,并不会有其他的要求。也不会说有;PRD评审、研发设计评审、代码开发、代码评审以及中间一些列的提交物,直到测试完成,上线验证,开量
原创
9114阅读
10评论
39点赞
发布博客于 7 月前

面经手册 · 第10篇《扫盲java.util.Collections工具包,学习排序、二分、洗牌、旋转算法》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言算法是数据结构的灵魂!好的算法搭配上合适的数据结构,可以让代码功能大大的提升效率。当然,算法学习不只是刷题,还需要落地与应用,否则到了写代码的时候,还是会for循环+ifelse。当开发一个稍微复杂点的业务流程时,往往要用到与之契合的数据结构和算法逻辑,在与设计模式结合,这样既能让你的写出具有高性能的代码,也能让这些代码具备良好的扩展性。在以往的章节中,我们把Java常用的数
原创
259阅读
0评论
0点赞
发布博客于 7 月前

握草,你竟然在代码里下毒!

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言学过的代码记不住?方式不对才记不住,你这么记!Git:上厕所不叫上厕所,叫拉分支!Socket:厕所就是服务器,坑就是端口!队列:上厕所????叫入队列,先进先出!栈:去厨房????叫进栈,后进先出!架构:三居的格局叫MVC,四居的格局叫DDD!理论:系统结构设计定的好,有点bug没问题,能改。这就是茅坑跟坐便的区别。除了有点味道以外,这回是不记住了,我们编程写代
原创
1842阅读
0评论
7点赞
发布博客于 7 月前

面经手册 · 第9篇《队列是什么?什么是双端队列、延迟对列、阻塞队列,全是知识盲区!》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言买房子最重要的是房屋格局!如果买房子能接受地理位置、平米价格外,最重要的就是房屋格局。什么?丈母娘!你????????‍♂,出去! 房屋的格局其实对应的就是程序开发的根本,也就是数据结构。有的土豪可以用钱换空间,房间格局更大,那没钱的就只能选经济小空间节省钱。是不是很像不同的数据结构,直接影响着是空间换时间,还是时间换空间。那么,再细看房间,如;客厅沙发坐人像散列表、上卫生间像进
原创
706阅读
2评论
0点赞
发布博客于 7 月前

面经手册 · 第8篇《LinkedList插入速度比ArrayList快?你确定吗?》

作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!????一、前言你以为考你个数据结构是要造火箭?????汽车75马力就够奔跑了,那你怎么还想要2.0涡轮+9AT呢?大桥两边的护栏你每次走的时候都会去摸吗?那怎么没有护栏的大桥你不敢上呢?很多时候,你额外的能力才是自身价值的体现,不要以为你的能力就只是做个业务开发每天CRUD,并不是产品让你写CRUD,而是因为你的能力只能产品功能设计成CRUD。就像数据结构、算法逻辑、源码技能,它都是可以为
原创
1738阅读
2评论
8点赞
发布博客于 7 月前
面经手册 · 第7篇《ArrayList也这么多知识?一个指定位置插入就把谢飞机面晕了!》
发布Blink于 7 月前