
Java
文章平均质量分 85
Java技术猿
分享java技术干货,学习、面试资料分享
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java进阶(二十一) 微服务架构体系-SpringCloudAlibaba
"微服务”一词源于 Martin Fowler的名为 Microservices的,博文,可以在他的官方博客上找到http:/ /martinfowler . com/articles/microservices.html简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的 RESTfuL AP进行通信协作。原创 2025-06-15 21:57:12 · 1063 阅读 · 5 评论 -
Java进阶(二十) 消息中间件架构体系(3)-- Kafka研究
Kafka 是一款分布式消息发布和订阅系统,具有高性能、高吞吐量的特点而被广泛应用与大数据传输场景。它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Apache 基金会的一个顶级项目。kafka 提供了类似 JMS 的特性,但是在设计和实现上是完全不同的,而且他也不是 JMS 规范的实现。kafka 作为一个消息系统,早起设计的目的是用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)。原创 2025-06-15 21:55:45 · 772 阅读 · 0 评论 -
Java进阶【十九】消息中间件架构体系(2)-- RabbitMQ研究
接上文,这个继续介绍RabbitMQ,并理解其底层原理。RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列。为什么使用RabbitMQ呢?1、使得简单,功能强大。2、基于AMQP协议。3、社区活跃,文档完善。4、高并发性能好,这主要得益于Erlang语言。5、Spring Boot默认已集成RabbitMQ。原创 2025-06-15 21:54:06 · 1082 阅读 · 0 评论 -
Java进阶【十八】消息中间件架构体系(1)-- ActiveMQ研究
ActiveMQ 是完全基于 JMS 规范实现的一个消息中间件产品。是 Apache 开源基金会研发的消息中间件。ActiveMQ主要应用在分布式系统架构中,帮助构建高可用、 高性能、可伸缩的企业级面向消息服务的系统。Java 消息服务(Java Message Service)是 java 平台中关于面向消息中间件的 API,用于在两个应用程序之间,或者分布式系统中发送消息,进行异步通信。原创 2025-06-15 21:52:49 · 827 阅读 · 0 评论 -
Java进阶【十七】系统缓存架构设计 (下)
上章节介绍了Redis相关知识,了解了Redis的高可用,高性能的原因。很多人认为提到缓存,就局限于Redis,其实缓存的应用不仅仅在于Redis的使用,比如还有Nginx缓存,缓存队列等等。这章节我们会将讲解Nginx+Lua实现多级缓存方法,来解决高并发访问的场景。原创 2025-06-15 21:51:31 · 967 阅读 · 0 评论 -
Java进阶【十七】系统缓存架构设计 (下)
上章节介绍了Redis相关知识,了解了Redis的高可用,高性能的原因。很多人认为提到缓存,就局限于Redis,其实缓存的应用不仅仅在于Redis的使用,比如还有Nginx缓存,缓存队列等等。这章节我们会将讲解Nginx+Lua实现多级缓存方法,来解决高并发访问的场景。原创 2025-06-13 21:53:50 · 883 阅读 · 0 评论 -
Java进阶【十六】系统缓存架构设计 (上)
我们将先从Redis、Nginx+Lua等技术点出发,了解缓存应用的场景。通过使用缓存相关技术,解决高并发的业务场景案例,来深入理解一套成熟的企业级缓存架构如何设计的。本文Redis部分总结于蒋德钧老师的《Redis核心技术与实战》。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。原创 2025-06-13 21:52:42 · 972 阅读 · 0 评论 -
Java进阶【十五】数据结构与算法的应用
学习算法,我们不需要死记硬背那些冗长复杂的背景知识、底层原理、指令语法……需要做的是领悟算法思想、理解算法对内存空间和性能的影响,以及开动脑筋去寻求解决问题的最佳方案。相比编程领域的其他技术,算法更纯粹,更接近数学,也更具有趣味性。 本文将回顾数据结构与算法的基础知识,学习日常所接触场景中的一些算法和策略,以及这些算法的原理和他背后的思想,最后会动手写代码,用java里的数据结构来实现这些算法,如何去做? 本文基本知识概念有借鉴《漫画算法-小灰的算法之旅》相关篇幅与图片。1)概述。原创 2025-06-13 21:50:59 · 737 阅读 · 0 评论 -
Java进阶【十四】从电商系统角度研究多线程(上)
本章节继上章节继续梳理:线程相关的基础理论和工具、多线程程序下的性能调优和电商场景下多线程的使用。put过程:1.根据key的hash值定位到桶位置2.如果table为空if,先初始化table。3.如果table当前桶里没有node,cas添加元素。成功则跳出循环,失败则进入下一轮for循环。4.判断是否有其他线程在扩容,有则帮忙扩容,扩容完成再添加元素。5.如果桶的位置不为空,遍历该桶的链表或者红黑树,若key已存在,则覆盖,不存在则将key插入到链表或红黑树的尾部。原创 2025-06-13 21:49:28 · 863 阅读 · 0 评论 -
Java进阶【十三】从电商系统角度研究多线程(上)
本章节主要分享下,多线程并发在电商系统下的应用。主要从以下几个方面深入:线程相关的基础理论和工具、多线程程序下的性能调优和电商场景下多线程的使用。原创 2025-06-13 21:46:37 · 537 阅读 · 0 评论 -
Java进阶【十二】 探究JMM
多线程下,共享变量的读写顺序是头等大事,内存模型就是多线程下对共享变量的一组读写规则共享变量值是否在线程间同步代码可能的执行顺序需要关注的操作就有两种Load、StoreLoad 就是从缓存读取到寄存器中,如果一级缓存中没有,就会层层读取二级、三级缓存,最后才是MemoryStore 就是从寄存器运算结果写入缓存,不会直接写入Memory,当Cache line 将被eject 时,会writeback 到MemoryJMM 是研究的是。原创 2025-06-09 21:34:05 · 943 阅读 · 0 评论 -
Java进阶【十一】深入理解JVM (下)
前面我们了解了JVM相关的理论知识,这章节主要从实战方面,去解读JVM。 JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。原创 2025-06-09 21:31:33 · 541 阅读 · 0 评论 -
Java进阶【十】 深入理解JVM(中)
上次讲解了JVM内存相关知识,今天继续JVM专题。 程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。原创 2025-06-09 21:29:06 · 674 阅读 · 0 评论 -
Java进阶【九】深入理解JVM(上)
作为java工程师,对于jvm肯定不陌生。JVM是Java Virtual Machine的缩写,通俗来说也就是运行java代码的容器。当项目启动时,会根据jvm相关配置参数,在计算机的内存中开启一片空间用于运行JVM。之后java相关代码就会被加载进JVM中运行。。原创 2025-06-04 11:00:00 · 1714 阅读 · 0 评论 -
Java进阶【八】设计模式之总结
关于设计模式的文章就到这里了,学习这门多设计模式,你是不是有这样的疑惑,发现很多设计模式很类似,经常会混淆某些设计模式。这章节我们将对设计模式做一个总结,看看各类设计模式有什么区别。需要注意的是,设计模式在于理解,不在于形式。不要为了套用设计模式而使用设计模式,而是,在业务上遇到问题时,很自然的想到设计模式作为一种解决方案。设计模式其实一门艺术。设计模式来源于生活,不要为了套用设计模式而去使用设计模式。设计模式是在我们迷茫时提供的一种解决问题的方案,或者说用好设计模式可以防范于未然。原创 2025-06-04 10:45:00 · 521 阅读 · 1 评论 -
Java进阶【七】设计模式之适配器模式、装饰者模式、观察者模式
本章节将介绍:三个设计模式,适配器模式、装饰者模式和观察者模式。通过学习适配器模式,可以优雅的解决代码功能的兼容问题。另外有重构需求的人群一定需要掌握装饰者模式。本章节参考资料书籍《Spring 5核心原理》中的第一篇 Spring 内功心法(Spring中常用的设计模式)(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的,如果觉得本文对你有用,请点个推荐)。原创 2025-06-04 10:30:00 · 1005 阅读 · 0 评论 -
Java进阶【六】计模式之委派模式与策略模式
本章节将介绍:你写的代码中是否觉得很臃肿,程序中有大量的if...else,想优化代码,精简程序逻辑,提升代码的可读性,这章节将介绍如何通过委派模式、策略模式让你代码更优雅,消除程序大量冗余的代码。本章节参考资料书籍《Spring 5核心原理》中的第一篇 Spring 内功心法(Spring中常用的设计模式)(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的)。 委派模式不属于GOF23种设计模式中。原创 2025-06-04 10:15:00 · 319 阅读 · 0 评论 -
Java进阶【五】设计模式之代理模式
都知道 SpringAOP 是用代理模式实现,到底是怎么实现的?我们来一探究竟,并且自己仿真手写还原部分细节。原创 2025-06-04 10:00:00 · 411 阅读 · 0 评论 -
Java进阶【四】设计模式之单例模式
上篇文章对工厂模式进行了详细的讲解,想必大家对设计模式合理运用的好处深有感触。本章节将介绍:单例模式与原型模式。本章节参考资料书籍《Spring 5核心原理》中的第一篇 Spring 内功心法(Spring中常用的设计模式)(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的)。原创 2025-06-03 20:20:03 · 970 阅读 · 0 评论 -
Java进阶【三】设计模式之工厂模式
今天开始对设计模式进行讲解,本章节介绍:了解设计模式的由来,介绍设计模式能帮我们解决那些问题以及剖析工厂模式的历史由来及应用场景。本章节参考资料书籍《Spring 5核心原理》中的第一篇 Spring 内功心法(Spring中常用的设计模式)(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的)。 工厂模式的三种方式,没有绝对的好坏,合适的场景使用合适的模式,实际应用中,我们千万不能犯强迫症甚至有洁癖。在实际需求中产品等级结构升级是非常正常的一件事情。原创 2025-06-03 20:18:24 · 579 阅读 · 0 评论 -
Java进阶【二】软件架构设计原则(下)
本章节继续分享软件架构设计原则的下篇,将介绍:接口隔离原则、迪米特原则、里氏替换原则和合成复用原则。本章节参考资料书籍《Spring 5核心原理》中的第一篇 Spring 内功心法(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的)。 学习设计原则,学习设计模式的基础。在实际开发过程中,并不是一定要求所有代码都 遵循设计原则,我们要考虑人力、时间、成本、质量,不是刻意追求完美,要在适当的 场景遵循设计原则,体现的是一种平衡取舍,帮助我们设计出更加优雅的代码结构。原创 2025-06-03 20:17:30 · 628 阅读 · 0 评论 -
Java进阶【一】 软件架构设计原则(上)
开始进阶学习的第一天,我们先从经典设计思想开始,看看大牛市如何写代码的,提升技术审美、提高核心竞争力。本章节参考资料书籍《Spring 5核心原理》中的第一篇 Spring 内功心法(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的)。原创 2025-06-03 20:16:41 · 843 阅读 · 0 评论 -
重磅开源!阿里巴巴分布式核心原理,GitHub标榜65K!
在当今互联网技术飞速发展的时代,分布式系统已经成为构建大规模、高可用和高性能应用的基石。无论是云计算平台、大型电商平台,还是社交网络平台,都离不开分布式技术的支持。原创 2024-12-12 22:27:55 · 487 阅读 · 0 评论 -
狂飙至GitHub周榜!Spring Boot企业级项目开发实战笔记,太强了!
作为一个程序员,大家对Spring boot 在熟悉不过了吧!Spring Boot作为快速构建Spring应用的技术现在已是企业开发的主流框架。它消除了设置Spring应用程序所需的XML配置,为更快更高效的开发生态系统铺平了道路。而且spring boot只要是java开发都用得上,因为spring boot搭建起来方便,一般有新项目都会优先使用spring boot,由此可见,spring boot是我们开发路上必不可少的东西。原创 2024-12-12 22:23:39 · 333 阅读 · 0 评论 -
干货!这才是真正的Spring全家桶,架构+源码+实战+微服务全都有!
一切技术的产生与发展都离不开最基本的原理,只要追本溯源,了解技术体系最基本、最底层的原理,我们就能根据这些知识储备建立自己的后端技术框架,从而搭建一条完整的成长道路。学Java就是学Spring,学Spring也就是吃透其核心IoC和AOP,这应该是我目前为止看到讲Spring源码讲的最好的笔记了,看着很少,但全是精华,没有一点点废话!原创 2024-12-12 22:19:49 · 492 阅读 · 0 评论 -
蚂蚁金服面经:大厂面试攻略,你准备好了吗?(面试精选,建议收藏)!
为此,我将他的面试过程做了一个专门的整理,结合各大一线互联网企业的面试类型及问题做了一个系统性的划分,在这里给大家做一个分享,会让面试者少走很多不必要的弯路。这绝对是一个锦上添花的加分项,你有没有整体负责过几千万用户的大规模、高可用、高复杂度的系统架构设计?可以看到,蚂蚁金服问的面试点也都是在围绕:JVM、并发锁、性能调优、多线程、Redis、分布式这些技术点提出的问题,考察面试者掌握的广度及深度。最近和一名简历不错的程序员交谈蚂蚁金服的面试情况,然而听到的消息却是,没有通过技术面。原创 2024-12-12 22:15:00 · 369 阅读 · 0 评论 -
不服不行!Github即将爆火的「高并发秒杀顶级教程」,先睹为快!
可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。而更多的是,我希望借助“秒杀”这个互联网高并发场景中的典型代表,带你了解如何打造一个超大流量并发读写、高性能,以及高可用的系统架构。虽然介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,还要设计一个PlanB来兜底,以便在最坏情况发生时仍然能够从容应对。你都将在这份笔记里找到答案。原创 2024-12-12 22:04:21 · 394 阅读 · 0 评论 -
这份MySQL全面手册,受喜爱程度不输任何大厂笔记!
今天给大家分享的是一份MySQL全面手册,本书采取了一个全面的方法:涵盖了MySQL的主要特性以及诸如复制和各种API接口编程之类的高级主题。体验过MySQL的人,对熟悉的主题会找到新的视角,从而更深入洞察MySQL的世界,提高他们现有的知识和经验。第四部分主要针对开发者,它论述了MySQL API,一套建立自定义数据驱动的MySQL应用程序的功能全面而强大的工具。希望读者朋友们能够通过阅读本文,能够从容的将MySQL的知识体系,系统化的梳理一遍,从技术的根本上得到提升。希望这篇文章能够对你有帮助!原创 2024-12-12 21:51:49 · 733 阅读 · 0 评论 -
阿里内部教材:15W字的SpringCloud微服务实战,我一口气给你打包!
Java Spring Cloud 是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、 百度、滴滴等。该文档涵盖最新版本的 Spring Cloud 微服务架构体系, 微服务架构模式、算法与典型场景、框架、优缺点,Spring Cloud 2020 的重大变化、扩展 Netflix、Spring Cloud Alibaba 阿里巴巴体系,Dubbo 等架构选型对比,淘宝微服务架构案例。(学习参考-文末查看)原创 2024-12-12 21:48:33 · 418 阅读 · 0 评论 -
完整版来了!阿里Dubbo技术负责人准备的源码教程,很有大厂风格!
Dubbo因为良好的设计和扩展性受到许多开发者的欢迎,然而当开发者需要深入了解Dubbo底层的架构设计和实现的时候,往往会有些不知所措。网上也有很多爱好者撰写的源码分析等文章,虽有所有启发和裨益,但总觉得不够成体系。令人遗憾的是,市面上始终缺乏完整的、体系化的对Dubbo进行深入原理剖析的教程;,这份教程从Dubbo的入门,一直到开发第一款应用程序,再扩展到Dubbo的技术生态,完整且体系的将Dubbo进行一个全面的讲解,下面我们来看看教程的内容:PS:电子版的笔记已经打包整理好,需要的朋友文末可取。原创 2024-12-12 21:46:11 · 723 阅读 · 0 评论 -
手撸RPC框架【8】SPI机制基础功能实现
目标我们之前已经完成了服务提供者与消费者,并且将它们与SPringBoot整合到一起了,但是我们发现其实在很多地方我们的扩展性并不够,甚至都是直接写死的,比如下面几个地方这里是给标记了@DubboReference接口进行代理,但是我们这里是直接写死用的是 JDK动态代理,如果我们要使用CGLIB或者其他代理方式的话,就只能修改源代码,这样扩展性和灵活性都不够好在Java为我们提供了SPI机制,能够动态扩展对应的功能,不过我们会对Java的SPI功能进行扩展,对标Dubbo的SPI机制原创 2024-12-12 21:28:47 · 269 阅读 · 0 评论 -
手撸RPC框架【6】动态代理屏蔽RPC服务调用底层细节
在上一章中,我们已经成功的将服务提供者和服务消费者与SpringBoot成功整合了。但是在那一章中,我们已经实现了基于动态代理来屏蔽了RPC顶层服务调用的细节,这一章来说明如何去实现动态代理。原创 2024-12-12 21:25:28 · 260 阅读 · 0 评论 -
Java开发7年,年近30,半失业状态,互联网裁员潮还是逃不掉吗?
有人说,今年可能是过去十年最差的一年,但却是未来十年最好的一年。原创 2024-12-11 17:26:19 · 1159 阅读 · 0 评论 -
2024年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多!
先说说我自己的情况,我2016先在蚂蚁实习了将近三个月,然后去了我现在的老东家,三年多工作经验,可以说毕业后就一直老老实实在老东家打怪升级,虽说有蚂蚁的实习经历,但是因为时间太短,还是有点虚的。首先我在脉脉找了一个拼多多的HR,加了微信聊了下,发了简历便开始我的拼多多面试之旅。言归正传,准备过程其实很早开始了(当然这不是说我工作时老想着跳槽,因为我明白现在的老东家并不是终点,我还需要不断提升),具体可追溯到从蚂蚁离职的时候,当时出来也面了很多公司,没啥大公司,面了大概5家公司,都拿到offer了。原创 2024-12-11 17:19:55 · 1137 阅读 · 0 评论 -
Java开发三年四面字节跳动复习一个月斩获offer,寒冬并不可怕!
目前互联网行业形势越来越严峻,我接连投递了很多的简历,得到的回复却是寥寥无几,索性好好复习了大概一个半月的样子,挑战字节跳动成功!!接下来分享我在字节面试遇到的面试题,欢迎大家文末留言与我一起讨论!原创 2024-12-11 17:16:40 · 590 阅读 · 0 评论 -
手撸RPC框架【3】实现自定义网络传输协议
手撸RPC框架【3】实现自定义网络传输协议原创 2024-12-11 17:06:55 · 901 阅读 · 0 评论 -
阿里大牛都在读的10本Java实战书籍,Java开发进阶必备书单!
阿里大牛都在读的10本Java实战书籍,Java开发进阶必备书单!原创 2024-12-10 21:13:24 · 1996 阅读 · 0 评论 -
史上最全499道Java面试题库:JVM+分布式+算法+锁+MQ+微服务+数据库!
史上最全499道Java面试题库:JVM+分布式+算法+锁+MQ+微服务+数据库!原创 2024-12-10 20:58:27 · 583 阅读 · 0 评论 -
2024年高频Java面试题集锦(含答案),让你的面试之路畅通无阻!
2024年高频Java面试题集锦(含答案),让你的面试之路畅通无阻!原创 2024-12-10 20:52:25 · 909 阅读 · 0 评论 -
简说设计模式——工厂方法模式
简说设计模式——工厂方法模式原创 2024-12-10 20:45:23 · 1067 阅读 · 0 评论