- 博客(471)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 霸榜,这本《程序员如何向架构师转型》在Github已持续置顶两月
前言企业架构在过去十年中取得了长足的进步。随着越来越多新技术出现,充分利用这些因素来将企业架构创建得更好十分重要。通过将新技术集成到企业架构中,即使在困难时期,也能取得丰硕的成果。现代企业架构师的 5 个特征:1. IT 战略驱动者 2. 机敏的思考者 3. 基于数据的决策者 4. 技术专长者 5. 创新推动者
2022-12-12 10:30:22
577
1
原创 腾讯面试体验倍儿好(春招实习Java岗)
索引可以帮助我们快速搜索数据,innodb 存储引擎用的是 b+树索引,叶子节点存放的是索引+数据,非叶子节点只存放索引。可以按照四个角度来分类索引。B+tree索引、Hash索引、Full-text索引。聚簇索引(主键索引)、二级索引(辅助索引)。主键索引、唯一索引、普通索引、前缀索引。单列索引、联合索引。聚簇索引的 B+Tree 的叶子节点存放的是实际数据,所有完整的用户记录都存放在主键索引的 B+Tree 的叶子节点里。
2023-06-05 16:32:27
391
1
原创 基于Java+SpringBoot+Vue前后端分离学生信息管理设计实现
现在大家正处于互联网加的时代,这个时代它就是一个信息内容无比丰富,信息处理与管理变得越加高效的网络化的时代,这个时代让大家的生活不仅变得更加地便利化,也让时间变得更加地宝贵化,因为每天的每分钟,每秒钟这些时间都能让人们处理大批量的日常事务,这些场景,是之前的手工模式无法与之相抗衡的。
2023-06-05 14:30:18
1234
1
原创 可以,很强,68行代码实现Bean的异步初始化,粘过去就能用。
前两天在看 SOFABoot 的时候,看到一个让我眼前一亮的东西,来给大家盘一下。SOFABoot,你可能不眼熟,但是没关系,本文也不是给你讲这个东西的,你就认为它是 SpringBoot 的变种就行了。因为有蚂蚁金服背书,所以主要是一些金融类的公司在使用这个框架:官方介绍是这样的:SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等能力。
2023-06-05 14:13:46
476
原创 头发掉完那天终于把二进制网络协议SpringRSocket给搞懂了!
前面我们讨论了如何使用WebFlux构建响应式Web服务。WebFlux和WebMVC一样,都是基于HTTP实现请求-响应式的交互方式。这种交互方式很简单,但不够灵活,也无法满足日常开发中的所有需求。首先,HTTP提供的请求-响应模式对于很多应用场景来说是不合适的。典型的例子是消息推送,如果客户端需要获取最新的推送消息,就必须使用轮询。也就是说客户端不停地发送请求到服务器来检查更新,这无疑造成了大量的资源浪费。
2023-06-05 13:42:09
434
原创 面试官:了解Java中的线程池吗?
在思考如何自定义线程池之前,需要首先回顾下线程池的七大参数:核心线程数:常驻线程池的线程 最大线程数:线程池的最多的线程容量 存活时间和时间单位:空闲线程的最大存活时间 工作队列:存储还没来得及处理的任务的容器 线程工厂:创建新线程的地方 拒绝策略:说 “No” 的方式在这7大参数中:核心线程数,最大线程数,以及存活时间和时间单位在我个人看来不是那么重要!毕竟在生产中这些参数在具体场景下都会得到确定,不会有什么特别可以定制的地方,(他好像没那么重要.jpg)
2023-06-05 13:34:55
68
原创 SpringBoot怎么设计业务操作日志功能?
业务操作日志记录中包含了用户操作的功能名称、功能描述、操作人、操作时间和操作的参数报文,参数报文之所以选择存储在文件中,是因为正常情况下,是不需要知道具体的参数报文,只有在回滚操作的时候才会用到,可以根据上一次的参数报文逆向操作。
2023-06-05 13:18:03
182
1
原创 阿里教科书带你一周刷完Java面试八股文,比刷视频效果好多了!
大家都说现在Java行情不好,如果对比之前几年的行情,那说当下Java行情不如之前,那确实有道理,但对比其它行业,Java行情似乎远不到寒冬的程度。在小编看来,Java 面试难度的提高主要是由于 Java 生态的日益庞大、面试者要求的提高、技术的不断更新和面试官对技术深度的要求提高等多方面原因造成的。面对这种情况,Java 开发者需要不断学习和提升自己的技术水平,才能在竞争激烈的就业市场中获得更好的机会。很多同学会问Java面试八股文有必要背吗?
2023-06-04 17:21:45
56
原创 为什么我建议大家一定要用J2Cache
但是通常来说,redis里面并不会存太多的数据,但是访问量会比较高,所以可能会出现,redis机器内存占用不高,但是带宽满了的情况。而如果要解决这个问题,就需要用redis集群,让请求分散到不同的redis节点,但是这样很明显就需要更多的redis机器,提高了成本。所以,我强烈建议大家使用j2cache,这样既能使用redis,也能使用本地缓存,提高整个系统的运行效率。redis应用A应用B应用Ccaffeinecaffeinecaffeine。edis应用A应用B应用C。
2023-06-04 16:54:06
401
原创 霸榜,从Github获星破百万的阿里最新版亿级并发系统设计文档开始
面对亿级以上的并发量,如果保证自己的系统不崩溃成了大家一个永恒讨论的话题,那么如果站在巨人的肩膀上去优化自己公司的系统架构呢?通常我们面对高并发流量的时候有三种方案:Scale-out(横向扩展)、缓存、异步(具体如何操作这里就不进行过多的赘述了)!你像 12306 通常就是用异步调用的方式。同时我也想让大家知道的是:高并发系统的演进应当是循序渐进,以解决系统中存在的问题为目的和驱动力的。不要盲目地去跟风,要学会取其精华去其糟粕!
2023-06-04 13:31:00
104
原创 炸了,力扣官方首发了这套1568页LeetCode算法刷题笔记(彩页版)
前几天小编看了一个的短视频,他就在视频中指出了算法对当下无论是生活还是找工作中都是非常重要的!小编也简单看了一下一些比较知名互联网大厂的招聘,像阿里,字节,美团,京东,百度等都在简介明确写上了要求“
2023-06-04 13:02:56
226
原创 2023年互联网Java工程师高级面试八股文汇总(1260道题目附解析)
想说的是,无论你是小白菜鸟,还是技术大牛,日常都不能够落下学习这件事情。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。
2023-05-30 13:45:10
155
原创 深度理解:Redis Hash(散列表)实现原理
Redis Hash是一个键值对集合,是一个string类型的field和value的映射表。它的每个hash可以存储430亿个键值对(40多亿)。
2023-05-30 13:34:10
190
原创 4 种 MySQL 同步 ES 方案,yyds!
在实际项目开发中,我们经常将 MySQL 作为业务数据库,ES 作为查询数据库,用来实现读写分离,缓解 MySQL 数据库的查询压力,应对海量数据的复杂查询。这其中有一个很重要的问题,就是如何实现 MySQL 数据库和 ES 的数据同步,今天和大家聊聊 MySQL 和 ES 数据同步的各种方案。我们先看看下面 4 种常用的数据同步方案。
2023-05-30 13:21:21
513
原创 GitHub标星百万的程序员转架构之路,竟被阿里用作内部晋升参考
通过本书的系统学习,读者将在苔通开发人员的基础上向前跨出一大步,在思想、方法论、实践能力和综合素质等各个方面往一名合格的架构师方向发展,为后续的工作和学习铺平道路。学习不难,贵在自觉和坚持!
2023-05-29 13:37:46
130
原创 消灭空指针,Java 8 给我们更好的解决方案
对于空指针问题,看起来问题不大,但是影响到了线上的业务正常运转,那肯定是不行的。我们一定要有很清晰的思路去解决这个问题事前,一定要做好日志的打印工作,为了更方便的排查问题;在实现业务逻辑的时候,如果你对你操作的对象不是很确定,那一定要先判空后操作;针对于字符串类型的空指针我们可以采用Objects来做对比;
2023-05-29 13:29:45
167
原创 爆款阿里P5到P7晋升之路,九大源码文档助我超神果然努力幸运并存
相信有许多的程序员,工作了这么多年;但是依然不知道自己掌握的技术栈+项目,究竟达到了阿里的什么职级,还有薪资水平是什么样的;下面就给大家分享一波对标阿里p5到P7职级所掌握的技术栈和薪资水平的路线,后续还有P8到P9的路线。
2023-05-29 13:24:19
116
原创 不再麻烦后端同学的处理跨域问题
同源指的是协议、域名、端口都相同的两个网址。例如:如果您要从domain1.com/api 向domain1.com 提出请求,则该请求将通过。如果提出向另一个域的请求,www.domain2.com/api ,浏览器将阻止请求。
2023-05-29 13:17:40
119
原创 背刺Alibaba,阿里最新绝密Spring Cloud微服务进阶文档惨遭流出
网上关于Spring Cloud微服务的资料或许一大堆,但我敢保证,我的这份Alibaba Spring Cloud微服务文档绝对能在排在前三的位置。由浅入深,层层递进,适合国内行情的开发技术。静下心,用心去学,绝对能在Spring Cloud领域上独树一帜。
2023-05-29 11:25:45
71
原创 HUAWEI永远滴神!华为顶级网络专家总结出了这份网络协议开源手册
什么是网络协议?网络协议就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。
2023-05-29 11:02:47
219
原创 Spring IOC体系结构设计原理详解
BeanFactory是IOC容器的核心接口,用于管理Bean对象的生命周期和依赖关系注入。BeanFactory定义了容器的基本功能规范,包括:(1)获取Bean对象:BeanFactory提供了根据Bean的名称或类型获取Bean对象的方法,例如getBean()、getBeanDefinition()等。(2)注册Bean对象:BeanFactory提供了注册Bean对象的方法,例如registerBeanDefinition()、removeBeanDefinition()等。
2023-05-28 17:22:29
143
原创 并发量很大?阿里上传在GitHub的亿级流量百万并发手册真的火了
对于高并发的场景来说,比如电商类,o2o,门户,等等互联网类的项目,缓存技术是Java项目中最常见的一种应用技术。然而,行业里很多朋友对缓存技术的了解与掌握,仅仅停留在掌握redis/memcached等缓存技术的基础使用,最多了解一些集群相关的知识,大部分人都可以对缓存技术掌握到这个程度。然而,仅仅对缓存相关的技术掌握到这种程度,无论是对于开发复杂的高并发系统,或者是在往Java高级工程师、Java资深工程师、Java架构师这些高阶的职位发展的过程中,都是完全不够用的。
2023-05-28 16:54:46
99
原创 阿里巴巴工程师1480道Java面试题及答案整理( 2023年 整理版)
面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。
2023-05-28 13:27:25
465
原创 热榜!Alibaba最新发布「10亿级并发系统设计文档」Git狂揽9000星
每逢阿里开展大型活动,比如、双11、双12、等等,使用淘宝的用户就会瞬间飙升,为何淘宝APP从来没有崩盘?淘宝的亿级并发系统架构又是如何设计的呢?又是如何承受住亿级流量带来的并发量呢?这份阿里最新发布的10亿并发系统设计手册希望对有困惑的小伙伴带来答案,对想在技术上得到突破的小伙伴带来福利~此份手册又分为六个部分,基础篇、数据库篇、缓存篇、消息队列篇、分布式服务篇、维护篇、实战篇共计328页
2023-05-27 14:09:44
90
原创 面试进阶齐飞!Github一天万赞的阿里Java系统性能优化有多牛?
这个问题也引发了我的一些思考,可能很多人会说,“作为高级工程师,基础得过硬、得熟练掌握一门编程语言、至少看过一个优秀开源项目的源代码、有过高并发/性能优化的工作经验、沟通能力强等等”。
2023-05-27 14:02:24
61
原创 开发者必看!GitHub爆火的lntelliJ IDEA软件开发手册堪称又一神作
lntelliJ IDEA是一款优秀的软件开发工具,学习和掌握IntelliJ IDEA对于开发者来讲具有十分重要的意义。今天给大家分享的这份手册以IntelliJ IDEA的操作及使用为主线,同时贯穿示例教学,全面地向你展示其强大的开发与管理能力。
2023-05-27 11:35:28
142
原创 世界顶级级架构师编写2580页DDD领域驱动设计笔记,属实有牌面
正所谓有人的地方就有江湖,有设计的地方也一定会有架构。如果你是一位软件行业的老鸟,你一定会有这样的经历:一个业务的初期,普通的 CRUD 就能满足,业务线也很短,此时系统的一切都看起来很 nice,但随着迭代的不断演化,以及业务逻辑越来越复杂,我们的系统也越来越冗杂,模块彼此关联,甚至没有人能描述清楚每个细节。当新需求需要修改一个功能时,往往光回顾该功能涉及的流程就需要很长时间,更别提修改带来的不可预知的影响面。于是 RD 就加开关,小心翼翼地切流量上线,一有问题赶紧关闭开关。
2023-05-27 10:51:13
65
原创 “Java八股文背诵版“,终于整理完了,堪称2023最强!
当今互联网行业中,Java作为一种广泛应用的编程语言,对于求职者来说仍是一项受欢迎的技能。然而,随着市场上的开发人员数量越来越多,Java面试的竞争也愈加激烈。
2023-05-26 16:20:03
1430
原创 2023秋招我这样准备,提前批就已经拿到了9个大厂offer
1、算法很难一下就提升的,需要持续积累。建议每天坚持刷题总结。2、而那些基础要学得太多了,很容易一下子就忘,如果你之前有学过,那么时间也不多,可以不需要拿本书来啃,可以面试题驱动来学习,反正我当时是面试题驱动的,通过刷面经,来查漏自己的不足,然后看对应的博客深入学习,哈哈,欢迎关注我,我后面会持续更新技术文章的。注意,我说的是你在有学过的前提下,如果你连计算机网络都不知道是什么,零基础小白,那么不建议这样做,因为你看到面试题之后,都不知道它考啥知识点。
2023-05-24 13:32:20
237
原创 40亿个QQ号,限制1G内存,如何去重?
位图(BitMap),基本思想就是用一个bit来标记元素,bit是计算机中最小的单位,也就是我们常说的计算机中的0和1,这种就是用一个位来表示的。所谓位图,其实就是一个bit数组,即每一个位置都是一个bit,其中的取值可以是0或者1像上面的这个位图,可以用来表示1,4,6:如果不用位图的话,我们想要记录1,4,6 这三个整型的话,就需要用三个unsigned int,已知每个unsigned int占4个字节,那么就是34 = 12个字节,一个字节有8 bit,那么就是 12。
2023-05-24 13:17:27
62
原创 GitHub上13个高赞Java项目推荐,会一个就能跟面试官谈笑风生
支持单选题、多选题、判断题支持学生(student)、教师(teacher)、管理员(admin)三种角色学生:参加考试和查看我的考试教师:学生的所有权限+创建/编辑题目+创建/编辑考试管理员:教师的所有权限+管理用户。
2023-05-24 13:10:29
4689
2
原创 @Autowired与@Resource原理知识点详解
AOP的不多做赘述了,说下IOC:Spring IOC 解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系,而IOC有两个概念:控制反转及依赖注入。控制反转指的就是:把原有自己掌控的事交给别人去处理,更多的是一种思想或者可以理解为设计模式。而依赖注入其实是控制反转的实现方式,通过依赖注入对象无需自行创建或者管理它的依赖关系,依赖关系将被自动注入到需要它们的对象当中去。
2023-05-23 18:11:28
509
原创 救命稻草,阿里P8耗时5月打造的架构师速成手册,千金难求
本篇从架构设计的基本概念出发,阐述架构设计的理论体系。接着引出架构师角色,从架构师的活动、分类、技能和职责等角度对架构师的角色做了深度剖析,并对普通开发人员和架构师的区别进行了全面比较。成为一名架构师前,需要明确架构师所需掌握的视图和视角。这些视图和视角是架构师手上的武器。最后本章对“程序员如何向架构师成功转型”这个话题进行展开,提出转型成功所需的三段式模型,并提供了转型所需的思维导图。
2023-05-23 14:00:22
62
原创 记一次redis主从切换导致的数据丢失与陷入只读状态故障
调整运行时maxmemory时同时调整配置文件maxmemory保持一致。将配置文件maxmemory设置为0–表示不限制内存使用。正是因为对redis的认识和经验不足,没有想过到运行时配置与静态配置不一致可能导致的问题,这次不可避免的踩坑了。但是,作为一个本职RD,半路接手基本靠自学的兼职运维,要考虑到maxmemory的运行配置与静态配置一致性问题好像也确实不是那么的理所当然。
2023-05-23 13:38:33
156
原创 2023年Java学习步骤及路线(超详细)
感觉学java学到自己的瓶颈期了,各种框架乱七八糟,感觉好乱。该怎么办!?小编精心整理出来的Java程序员初、中、高级的进化之路!Java技术栈说实在的知识点很多,绝不仅仅是学一门语言和一个数据库那么简单。如果下面的大部分没用过,甚至都没听说过,那就怀疑你是不是个假程序员了,要加油了。这些都是 Java 程序员必备的开发框架,有些不一定是首选的选择,但这些一定是 Java 程序员必备的。。
2023-05-23 13:34:36
133
原创 MyBatis 标签 trim,你不会以为我是去空格的吧?
注:如果你有兴趣的话,也可以研究下 Mybatis 逆向工程生成的 Mapper 文件,其中也使用了 trim 标签,但结合了 foreach、choose 等标签,更多的是牵扯到 Criterion 的源码研究。MyBatis 的 trim 标签一般用于去除 sql 语句中多余的 and 关键字,逗号,或者给 sql 语句前拼接 “where“、“set“以及“values(“ 等前缀,或者添加“)“等后缀,可用于选择性插入、更新、删除或者条件查询等操作。下面使用几个例子来说明 trim 标签的使用。
2023-04-23 13:56:29
859
原创 互联网工程师 Java 面试八股文及答案整理(2023 最新版)
基本上这样感慨的分为两类人,,虽然挂着,但肚子里货少,也没啥拿得出手的项目,自己还意识不到问题;,自身有技术追求,但欠点儿火候,多练习多吸收知识,锤炼一下问题不大。,早几年也是心比天高,觉得自己特了不起,结果往往一面试就发虚,大部分人都经历过这样一个不自知的阶段。后面见识多了,再主动多跟着大佬学习,就能相对顺利地随着经验积累增多一路涨起来。最近在发现网上很多 Java 面试题都没有答案,所以花了很长时间搜集整理出来了这套 Java 面试题大全,希望对大家有帮助哈~
2023-04-23 13:48:46
371
原创 Mybatis 自定义拦截器与插件开发
从上面的例子中,可以看到通过灵活使用 mybatis 拦截器开发插件能够帮助我们解决很多问题,但是同样它也是一把双刃剑,在实际工作中也不要滥用插件、定义过多的拦截器,因为通过学习我们知道 mybatis 插件在执行中使用到了代理模式和责任链模式,在执行 sql 语句前会经过层层代理,如果代理次数过多将会消耗额外的性能,并增加响应时间。这是因为在 mybatis 中有一个类。方法中,通过使用 jdk 动态代理的方式,生成了目标对象的代理对象,在执行实际方法前,先执行代理对象中的逻辑,来实现的逻辑增强。
2023-04-23 13:46:54
401
原创 SSM 框架整合 (Spring+SpringMVC+Mybatis)
MyBatis 核心文件:sqlMapConfig-spring.xml。Spring 配置文件:applicationContext.xml。MyBatis 映射文件:AccountMapper.xml。SprngMVC 配置文件:spring-mvc.xml。Web.xml 文件:web.xml。7、编写 Service 接口实现。6、编写 Service 接口。8、编写 Controller。5、编写 Mapper 接口。日志文件:log4j.xml。11、编写相应配置文件。
2023-04-23 11:49:43
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人