暂无个人介绍
请求处理-SpringBoot常用参数注解使用 注解: @PathVariable 路径变量 @RequestHeader 获取请求头 @RequestParam 获取请求参数(指问号后的参数,url?a=1&b=2) @CookieValue 获取Cookie值 @RequestAttribute 获取request域属性 @RequestBody 获取请求体[POST] @MatrixVariable 矩阵变量 @ModelAttribute 1、@PathVariable注解 该注解主要是用于rest风格的搭配使用,在请求路径中不再以k : v的形式给出请求参数与值;而是直接给定一个值
作为程序员,进大厂是大多数人的梦想,进大厂的好处也如下图一样: 有面儿,不易失业。 牛人多,培训多,成长更快。 钱多。 有较为完善的晋升规则。 站在巨人肩膀人,眼界开阔 更何况程序员不同于其他行业,它的黄金期相对来说时间较短,所以进入一线互联网大厂会使得路更好走,前景更宽阔;
说在前面 在笔者职业生涯的开端,曾参与了一个合同额每年亿元级的软件项目。
说在前面的话 负载均衡(LoadBalance)的字面意思是将工作负载分担到多个工作单元上进行执行,它建立在现有网络结构之上,是构建分布式服务、大型网络应用的关键组件。 近十几年来,负载均衡技术层出不穷,令人眼花缭乱。如果问身边的技术人员什么是负载均衡,我们可能会得到许多不同的答案。
前言 关于软件平台架构设计与技术管理之道的介绍: 计算机技术的发展日新月异,市面上软件架构、项目管理、IT技术类书籍层出不穷,从软件专业和技术视角进行阐述的居多,但对技术烂熟于胸,还是无法保证你能成为优秀架构师或驾驭平台的技术负责人。
大页和NUMA参数 本节介绍JVM为使用OS而提供的大页和NUMA特性相关的参数。 该参数控制JVM向OS请求内存时使用大页的粒度。使用该参数时需要对OS进行配置,只有OS允许时才能真正启动。参数的默认值与平台相关,一般为false。 在允许使用大页方式向OS请求内存时,如果堆空间小于该阈值,则强制禁止大页使用。该参数的默认值为128MB。 在允许使用大页方式向OS请求内存时,优先在本地节点进行分配。该参数仅适用于Windows系统。 在允许使用大页方式向OS请求内存时,如果OS提供了多种大页的设置,可通过该参数选择其中的大页设置。参数的默认值为0,表示使用OS默认的大页设置。
系统模型-进程 在真实的分布式系统中,可能存在服务器(节点)、处理器、进程、线程等并发执行的实体。 在分布式算法中,这些实体都被抽象为进程。 注意,这里的进程与操作系统中的进程不完全是一个概念,后者侧重于描述一组资源的集合,例如文件句柄、地址空间、数据、代码等,还可以有多个线程,而前者是一个有状态的自动机。
前言 金九银十已到,也不知道大家准备得怎么样,有没有为找到心仪的工作开始面试了,有没有准备不充分在各大平台找资料临时抱佛脚的朋友,不管你是找工作还是找资料,一定要看看我花1个多月为大家整理收集的“2023最新一线大厂Java八股文合集”,当你看了这份资料,定会有惊人发现。
一、准备表数据 咱们建一张用户表,表中的字段有用户ID、用户名、地址、记录创建时间,如图所示
前言 本文主要讲解8种算法经典问题。
“开发正确的程序是比较难的,开发正确的高并发多线程应用则更是难上加难。”我已经记不清这句话出自何处,但是我完全认同这句话所表达的观点。
几年前 Dubbo被 SpringCloud所取代,相同的剧本,可惜阿里巴巴和 Spring社区都是巨头,巨头之间战斗要考虑很多,于是它们想到了合作, SpringCloud与alibaba相结合,技术上有人负责更新新的组件,也还可以继续使用 Spring社区的技术。于是 SpringCloudAlibaba诞生了。
ZGC(Z Garbage Collector)是一款由Oracle公司研发的,以低延迟为首要目标的一款垃圾收集器。它是基于动态Region内存布局,(暂时)不设年龄分代,使用了读屏障、染色指针和内存多重映射等技术来实现可并发的标记-整理算法的收集器。在JDK 11新加入,还在实验阶段,主要特点是:回收TB级内存(最大4T),停顿时间不超过10ms。
redis简单来说 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以存写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。所以在面试中我们经常可以看到redis的身影,今天给大家带来一道redis的面试真题以及解析,后面会给大家分享今年来redis常考试的一些真题。
Spring 提供了一种使用 ControllerAdvice 处理异常的非常有用的方法。 我们通过实现一个 ControlerAdvice 类,来处理控制器类抛出的所有异常。
宅家里一个月,“闭关修炼”的你是不是正在为金三银四跳槽季发愁呢?小编今天说的这富含的15个互联网大厂Java高级工程师核心面试问题整理!内容包括: kafka面试题及解析18道 ZooKeeper面试题及解析28道 Linux 面试真题及解析45道 MySQL面试真题及解析50道 springboot面试真题及解析22道 微服务面试真题及解析50道 mybatis面试真题及解析27道 readis面试真题及解析40道 好好学习将这些面试题都吃透,让你金九银十不再慌张。
又逢金九银十面试季,正逢bat等大厂,大厂面试真题层出不穷,下面给大家深度剖析2023年大厂都问到了哪些问题,是以一个什么样的方式提出问题的呢。 消息队列 为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点? 如何保证消息队列的高可用? 如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性? 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?
当前你感到迷茫吗? 有很多人对现在的工作感到很没意思,因为当前的工作,完全是实现业务,技术上没有任何提高。在这种状态下就会感到迷茫,特别是一想到将来这种迷茫感就更强烈了。
Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具。使得使用者无需开发任何代码就配置一个满足需求的接口。 整个接口配置、测试、冒烟、发布。一站式都通过 Dataway 提供的 UI 界面完成。UI 会以 Jar 包方式提供并集成到应用中并和应用共享同一个 http 端口,应用无需单独为 Dataway 开辟新的管理端口。
2023年一个不平淡的一年,金九银十也快要开始了,各路码友们都开始磨拳擦脚,背面试题、知识点。小编最近得一良友赠送了一份关于SpringBoot,JVM篇,多线程&并发,Spring,MyBatis等
Spring 是分层的 full-stack(全栈) 轻量级开源框架,以 IoC 和 AOP 为内核,提供了展现层 SpringMVC 和业务层事务管理等众多的企业级应⽤技术,还能整合开源世界众多著名的第三⽅框架和类库,已经成为使⽤最多的 Java EE 企业应⽤开源框架。
不论是校招还是社招都避免不了各种面试。笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个有章可循‘说的意思只是说应对技术面试是可以提前准备。
2023,可谓是招聘面试最难季。不少大厂,如腾讯、字节的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言。今天不谈其它,就说说我作为面试官面试的那些事儿。
面试官:今天要不来聊聊Redis吧? 候选者:好 候选者:我个人是这样理解的:无论Redis也好、MySQL也好、HDFS也好、HBase也好,他们都是存储数据的地方 候选者:因为它们的设计理念的不同,我们会根据不同的应用场景使用不同的存储 候选者:像Redis一般我们会把它用作于缓存候选者:当然啦,日常有的应用场景比较简单,用个HashMap也能解决很多的问题了,没必要上Redis候选者:这就好比,有的单机限流可能应对某些场景就够用了,也没必要说一定要上分布式限流把系统搞得复杂
前言 在当下的互联网应用中,业务体系日益复杂,业务功能也在不断地变化。以典型的电商类应用为例,其背后的业务功能复杂度以及快速迭代要求的开发速度,与5年前的同类业务系统相比,面临着诸多新的挑战。这些挑战中核心的一点就是快速高效地实现系统功能,同时保证代码持续可维护,这是一个非常现实且亟待解决的问题。 我们知道,Spring Boot是一个集成性的开源框架,内部整合了很多第三方组件和框架。这些组件和框架应用如此之广泛,以至于大家反而往往对如何更好地使用Spring Boot自身的功能特性并不是很重视。事实上,Spring Boot自身的功能特性同样非常丰富,而且在使用上也存在一些最佳实践。
业务场景 通常微服务对于用户认证信息解析有两种方案 在 gateway 就解析用户的 token 然后路由的时候把 userId 等相关信息添加到 header 中传递下去。 在 gateway 直接把 token 传递下去,每个子微服务器自己在过滤器解析 token 现在有一个从 A 服务调用 B 服务接口的内部调用业务场景,无论是哪种方案我们都需要把 header 从 A 服务传递到 B 服务。 RequestInterceptor OpenFeign 给我们提供了一个请求拦截器 RequestInterceptor ,我们可以实现这个接口重写 apply 方法将当前请求的 heade
今天和同事 聊了下异常 相关的事,整理在此 目前公司中使用的 自定义异常是 extend RuntimeException
Redis Cluster 集群相关配置,使用集群方式的你必须重视和知晓。别嘴上原理说的头头是道,而集群有哪些配置?如何配置让集群快到飞起,实现真正的高可用却一头雾水,通过下面这些配置详解也让你对集群原理更加深刻,告别技术悬浮。
1️⃣ 表级锁——AUTO-INC锁 2️⃣ 行级锁——插入意向锁 3️⃣ 实验准备工作 4️⃣ 唯一索引等值查询 5️⃣ 唯一索引范围查询 6️⃣ 非唯一索引等值查询 7️⃣ 非唯一索引范围查询 8️⃣ 没有加索引的查询 1️⃣ Auto-Inc 锁 当时在讲三种粒度的锁中的表级别锁的时候,分别讲了表锁、元数据锁、意向锁,但是我们遗漏了一个表级锁:AUTO-INC锁 ,这里我们就做一个补充
一起探索 Prompt Engineering 的奥秘,并学习如何用它来让 ChatGPT 发挥出最大的潜力。 什么是提示工程? 提示工程是一门新兴学科,就像是为大语言模型(LLM)设计的"语言游戏"。通过这个"游戏",我们可以更有效地引导 LLM 来处理问题。只有熟悉了这个游戏的规则,我们才能更清楚地认识到 LLM 的能力和局限。 这个"游戏"不仅帮助我们理解 LLM,它也是提升 LLM 能力的途径。有效的提示工程可以提高大语言模型处理复杂问题的能力(比如一些数学推理问题),也可以提高大语言模型的扩展性(比如可以结合专业领域的知识和外部工具,来提升 LLM 的能力)。
今年这情况,真心建议所有 Java 后端不要随便被“行情差洗脑”! 目前职友集上搜到的 java 岗位仍有22万+,招聘需求相比其他行业不算少!
平时我一直用Notion来记录内容为主,但也一直关注着其他开源产品。上周正好看到一款非常受欢迎的开源免费笔记,今天就推荐给大家:VNote。
需求场景 基础设施模块中有一些通用固定的基础配置。例如:日志的配置,Spring本身的配置以及MyBatis Plus相关的固定配置等等。 这些配置往往与环境无关,如何复用?
最近,我分析了上百份大中小厂的面经,发现了许多Java 面试中最最最常问的一些问题!并且都在字节跳动 Java面试顶级解析(2023版)小册里面找到了对应的题目和答案,小伙伴们可以对照着学习或者准备面试。
大家好,最近有不少小伙伴在后台留言,又得准备面试了,不知道从何下手! 可以肯定的是,不管我们要学习提升还是涨薪跳槽!都要先给自己设立一个小目标,然后想着自己的目标努力奋斗就是了。 为了省去大家四处找资料的麻烦和浪费的时间,专门给大家找来了腾讯大佬的一些面试的重点资料,内容十分完善,有必要的话真的要好好的补补,但愿能帮大家再铜三铁四后边的日子也能拿到自己想要的那个理想offer!
前言 zheng项目不仅仅是一个开发架构,而是努力打造一套从 前端模板 - 基础框架 - 分布式架构 - 开源项目 - 持续集成 - 自动化部署 - 系统监测 - 无缝升级 的全方位J2EE企业级开发解决方案。
前言 Idea 是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序,Idea 还具有许多插件和扩展,可以根据开发人员的需要进行定制和扩展,从而提高开发效率,今天我们就来介绍一款国产的代码编辑增强工具-Alibaba Cloud AI Coding Assistant。
平台简介 本快速开发平台 基于著名的开源项目“ 若依-RuoYi-Vue ”改造而成,追求 极致的UI交互体验 和 快速开发 ,一切向 效率 看齐, 重构优化 后端的代码,对前端页面进行了 美化 。持续升级中
一个基于微服务架构的前后端分离博客系统 运行配置 博客使用了一些监控的 SpringCloud 组件,但是并不一定都需要部署,必须启动的服务包含 nacos,nginx,rabbitmq, redis,mysql,mogu-gateway,mogu-sms,mogu-picture, mogu-web, mogu-admin
刚果商城,不一样的商城系统 刚果商城是个从零到一的商城项目,包含商城核心业务和基础架构两大模块。 参照商城系统原型,推出用户、消息、商品、订单、优惠券、支付、网关、购物车等业务模块,通过商城系统中复杂场景,给出对应解决方案。使用 DDD 模型开发系统功能,帮助对 DDD 一知半解的开发者树立正确地开发思路。 项目地址领取:点击此处即可 能学到什么 刚果商城系统是我从事开发以来,在实际工作中遇到各种场景问题的“疑难杂症”汇总。 这些问题有些是自己遇到的,有些是其他人遇到帮忙解决的,最终把解决方案和代码实战放在刚果商城这个系统里。 这个系统没有很完整的商城业务,但是提供了偏架构
1. CompletableFuture 简介 1.1 概述 CompletableFuture是 Java 8 中引入的一个类,它实现了CompletionStage接口,提供了一组丰富的方法来处理异步操作和多个任务的结果。它支持链式操作,可以方便地处理任务的依赖关系和结果转换。相比于传统的Future接口,CompletableFuture更加灵活和强大。
因为网上好多都没有通过Loki的API自己实现对日志监控系统,所以我就下定决心自己出一版关于loki与springboot的博文供大家参考,这个可以说是比较实用,很适合中小型企业。因此我酝酿了挺久了,对于loki的研究也比较久,希望各位读者能有新的收获。
JWT 是什么? JWT -> JSON Web Token
在程序员的现实世界里不想当架构师的程序员不是好程序员
近好多小伙伴说在准备金三银四的面试突击了,但是遇到消息中间件不知道该怎么学了,问我有没有成体系的消息中间件的学习方式。 额,有点不知所措,于是乎小编就想着做一次消息中间件的专题,归类整理了一些纯手绘知识体系图、面试以及相关的学习笔记。
最近,有小伙伴问我,有没有能够在短时间内快速增长软件项目的系统分析与架构设计能力的方法。 想了很久还是决定把这份用17个真实企业级项目阐述的《Java系统分析与架构设计》手册分享出来。 这份手册按照一个完整的软件项目周期: 立项→业务需求→软件需求分析→架构设计→模块设计→代码开发→软件测试→项目部署→系统维护 深入浅出地讲解了需求分析技术、软件开发架构设计、关系型物理表设计、Redis应用实战、MongoDB 开发与应用、Web服务器与数据库的集群部署等内容。
一、概述 接着之前我们对Spring AOP以及基于AOP实现事务控制的上文,今天我们来看看平时在项目业务开发中使用声明式事务@Transactional的失效场景,并分析其失效原因,从而帮助开发人员尽量避免踩坑。 我们知道 Spring 声明式事务功能提供了极其方便的事务配置方式,配合 Spring Boot 的自动配置,大多数 Spring Boot 项目只需要在方法上标记 @Transactional注解,即可一键开启方法的事务性配置。当然后端开发人员对数据库事务这个概念并不陌生,也知道如果整体考虑多个数据库操作要么成功要么失败时,需要通过数据库事务来实现多个操作的一致性和原子性。如下
如今分布式、高并发、高可用、DevOps等技术和理念已深入人心并得到广泛应用。能够深入理解和驾驭这些技术、架构和方法论,在中大型平台建设中担负起至关重要的决策和管理责任,使平台建设取得成功并可持续发展,不断满足新的业务需求和变化,是很多IT从业人员心向往之的职业发展方向。 企业IT架构是一个随着业务的变化不断发展进化的过程,每种架构在当时的阶段都非常好地支撑了当时的业务模式。信息化技术刚开始应用到业务,可能使用一个单机软件就可以搞定一个信息系统。随着技术的发展和越来越复杂的业务需求,软件架构变得越来越复杂,系统越来越庞大,设计并驾驭如此复杂的软件系统,考验着每位软件架构师的综合能力。
现在阿里、腾讯这样的大厂和大部分互联网公司,基本上都需要使用到Redis技术。网上发布的Java开发工程师岗位的招聘信息,对Redis的要求都是熟练掌握。 而且现在大厂的大部分面试题都和Redis有关,尤其是在阿里、字节、华为、腾讯的后端面试中,只要你的项目中涉及到Redis,面试官大部分都会针对Redis提问!很多Redis的提问还特别深入……没答上来就非常可惜了。 所以千万不要小看Redis! 学习推荐 作为Java程序员,选择学习什么样的技术?什么技术该不该学?去招聘网站上搜一搜、看看岗位要求就十分清楚了,自己具备的技术和能力,直接影响到你工作选择范围和能不能面试成功。
真的是一张图道清所有join的区别啊,可惜我还是看不懂,可能人比较懒,然后基本一个left join给我就是够用的了,所以就没怎么去仔细研究了,但是现实还是逼我去搞清楚,索性自己动手,总算理解图中的含义了,下面就听我一一道来。