![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 78
JavaGPT
22年本科毕业于人工智能专业,现任上市集团Java开发工程师,【微信公众号】、【小红书】【知乎】优质创作者
展开
-
java安装和配置环境变量
Sun公司(Orcale收购)开发的跨平台与语言,目前java体系包含J2EE(企业级web开发)、J2SE(桌面程序应用开发)、J2ME(手机应用程序开发)G1是最受欢迎的GC算法。Java 11及更高版本的G1收集器是默认的GC,而Java 8中并不是。出于对G1的喜爱,很多开发者才会选择抛弃Java 8。springboot3.0 是需要用java17和spring6.0为基础建设。如果从企业选型最新springboot3.0作为架构来说,它搭配jdk17肯定是标配了。原创 2024-05-29 00:00:18 · 705 阅读 · 0 评论 -
java11新特性
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-05-26 23:11:53 · 422 阅读 · 0 评论 -
Elasticsearch慢查询日志配置
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-05-25 22:02:26 · 432 阅读 · 0 评论 -
java excel上传--poi
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-05-23 22:53:33 · 229 阅读 · 0 评论 -
【Java】百万数据excel导出功能如何实现
最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了。这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助。原始需求:用户在UI界面上点击全部导出按钮,就能导出所有商品数据。乍一看,这个需求挺简单的。但如果我告诉你,导出的记录条数,可能有一百多万,甚至两百万呢?这时你可能会倒吸一口气。如果同步导数据,接口很容易超时。如果把所有数据一次性装载到内存,很容易引起OOM。数据量太大sql语句必定很慢。原创 2024-05-22 23:08:27 · 1046 阅读 · 0 评论 -
设计模式整理
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-05-20 00:12:40 · 925 阅读 · 0 评论 -
es 分词器(五)之elasticsearch-analysis-jieba 8.7.0
今天咱们就来讲一下es jieba 8.7.0 分词器的实现,以及8.x其它版本的实现方式,如果想直接使用es 结巴8.x版本,请直接修改pom文件的elasticsearch.version版本号即可,然后打包安装就行,不需要做太多的操作。原创 2024-05-15 22:45:20 · 820 阅读 · 0 评论 -
Java 8特性(一) 之 手写Stream流filter、map和forEach方法
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-05-07 15:57:21 · 538 阅读 · 0 评论 -
DDD与微服务架构浅析
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-04-30 22:38:03 · 769 阅读 · 0 评论 -
DDD - 一文读懂DDD领域驱动设计
2004 年埃里克·埃文斯(Eric Evans)发表了《领域驱动设计》(Domain-Driven Design–Tackling Complexity in the Heart of Software)这本书,从此领域驱动设计(Domain Driven Design,简称 DDD)诞生。DDD 核心思想是通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型与代码模型的一致性。DDD是一种设计思想,通过事件风暴使用通用语言对业务进行领域建模,通过限界上下文进行合理的领域拆分。原创 2024-04-29 23:16:28 · 1843 阅读 · 1 评论 -
【JavaSE专栏20】浅谈Java中的正则表达式的应用场景
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-04-28 23:16:24 · 421 阅读 · 0 评论 -
Java 2024 常见多线程20道面试题
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-04-27 09:47:49 · 1200 阅读 · 0 评论 -
SpringBoot集成Redis
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-04-26 22:52:35 · 172 阅读 · 0 评论 -
深入剖析JVM的OOM | 内存溢出如何影响JVM运行及应对策略
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-04-24 23:16:02 · 962 阅读 · 0 评论 -
如何管理一个团队,因为有些人他不听我的话?
团队如果有一定的执行力基础,员工朴素老实,没有歪风邪气,只要你为人正派,处事公平,思路清晰,奖罚分明,很快就能聚人心出业绩。这样的人分三种,一种是能力很强,所以桀骜不驯,一种是人品低劣,喜欢拉帮结派,还有一种是流氓习气,故意为难领导。鹰一般野性难驯,猎户为了训练鹰,会三天三夜不让鹰睡觉,几个人轮流值班训练,只要鹰闭眼就把它打醒,三天以后,再野性的鹰也会乖乖驯服。首先,对支持自己工作的人要旗帜鲜明地进行表扬和奖励,让大家感觉跟着你有待遇有奔头,然后,对一些喽啰秕草,该调离的调离,该清除的清除。原创 2024-04-22 12:23:45 · 496 阅读 · 0 评论 -
SpringBoot-如何设计优秀的后端接口?
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-04-10 22:11:25 · 544 阅读 · 1 评论 -
后端怎样防止重复提交订单?
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-04-09 23:49:03 · 1408 阅读 · 0 评论 -
java为什么要分为service层,dao层,controller层?
代码精选(www.codehuber.com),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-04-08 21:59:54 · 769 阅读 · 0 评论 -
Java内存模型(JMM)是基于多线程的吗
编程严选网(www.javaedge.cn),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-01-08 23:20:54 · 983 阅读 · 0 评论 -
只有大厂才是程序员的未来吗?
首先,国内程序员黄金期较短的情况下,进大厂拿高薪攒养老本,对于大部分人来说是条比较稳妥的路子原创 2024-01-02 23:26:22 · 961 阅读 · 0 评论 -
24届春招实习必备技能(一)之MyBatis Plus入门实践详解
编程严选网(www.javaedge.cn),程序员的终身学习网站已上线!后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2024-01-01 22:41:51 · 394 阅读 · 0 评论 -
聊聊消息中心的设计与实现逻辑
消息通知的流程设计,在各个业务线中通过消息中心提供的接口方法,将不同场景下的消息内容提交到消息中心,消息中心进行统一维护管理,并根据消息的来源和去向,适配相应的推送逻辑。原创 2023-12-27 23:37:17 · 1050 阅读 · 1 评论 -
初入职场如何轻松上手Git,快速碾压实习生成为职场老鸟
后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2023-12-26 23:13:47 · 848 阅读 · 0 评论 -
初入职场不会Git?经常被团队成员怼?手把手教你如何使用git
今天公司来了一个大四实习生,连git都不会,看了这篇教程之后立马就上手git操作了原创 2023-12-25 14:15:06 · 967 阅读 · 0 评论 -
[算法总结] 十大排序算法
本文首发于我的个人博客:尾尾部落排序算法是最经典的算法知识。因为其实现代码短,应该广,在面试中经常会问到排序算法及其相关的问题。一般在面试中最常考的是快速排序和归并排序等基本的排序算法,并且经常要求现场手写基本的排序算法。JavaGPT排序算法是最经典的算法知识。因为其实现代码短,应该广,在面试中经常会问到排序算法及其相关的问题。一般在面试中最常考的是快速排序和归并排序等基本的排序算法,并且经常要求现场手写基本的排序算法。如果这些问题回答不好,估计面试就凉凉了。原创 2023-12-15 22:03:51 · 630 阅读 · 1 评论 -
全面介绍SSO(单点登录)
SSO英文全称Single SignOn,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。Spring Security是什么?Spring security 是一个强大的和高度可定制的身份验证和访问控制框架,它提供了基于javaEE的企业应有个你软件全面的安全服务。它是保护基于Spring的应用程序的事实上的标准。原创 2023-11-28 20:05:24 · 652 阅读 · 0 评论 -
领域驱动设计总结——如何构造领域模型
本文为领域驱动设计系列总结的第三篇,主要对领域驱动设计概念做个介绍,本系列领域驱动设计总结主要是在Eric Evans 所编写的《领域驱动设计》 一书的基础上进行归纳和总结。本文主要介绍在领域驱动设计中如何构造领域模型。了解了如何创建和运用模型之后,我们再来探讨下如何构造一个领域模型。这就需要我们对领域进行分离,了解领域对象的分类及生命周期的管理。后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2023-11-26 22:36:27 · 275 阅读 · 0 评论 -
Redis实战篇(一)短信登录
在这个方案中,他确实可以使用对应路径的拦截,同时刷新登录token令牌的存活时间,但是现在这个拦截器他只是拦截需要被拦截的路径,假设当前用户访问了一些不需要拦截的路径(比如首页),那么这个拦截器就不会生效,所以此时令牌刷新的动作实际上就不会执行,所以这个方案他是存在问题的后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【JavaGPT】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!原创 2023-11-25 20:01:53 · 379 阅读 · 0 评论 -
Java21虚拟线程实践
虚拟线程是一种轻量化的线程封装,由jvm直接调度和管理。反之普通的线程其实是调用的操作系统的能力,对应的是操作系统级的线程。相对虚拟线程来说操作系统级的线程持有成本很高,而且受操作系统调度和管理的。实际在普通多线程情况下,如果出现IO阻塞,这个线程就必须得跟着阻塞,这个线程对应的操作系统就被阻塞,而他却持有大量的内存。另外,要处理大量的IO就得新建更多线程,而大量的线程会在操作系统调度时因上下文切换导致大量的CPU被浪费。原创 2023-11-24 22:41:44 · 195 阅读 · 0 评论 -
分布式事务seata的AT模式介绍
seata是阿里开源的一款分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,本文主要介绍AT模式的使用。一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源二阶段:提交异步化,非常快速地完成。回滚通过一阶段的回滚日志进行反向补偿。原创 2023-11-24 22:26:54 · 314 阅读 · 0 评论 -
大白话DDD(DDD黑话终结者)
在解释完了各种概念以及举例子之后,我们对DDD是什么有了个大概的认知,相信也是有非常多的争议。作者搞微服务已经搞了多年,也曾经在梳理业务的时候被DDD的各种黑话毒打过,也使用过DDD搞过工程。经历了这么多这方面的实践之后觉得DDD最大的价值其实还是在梳理业务的时候划分清楚业务领域的边界,其核心思想其实还是高内聚低耦合而已。至于工程方面,现在微服务的粒度已经足够细,完全没必要再多这么一层。这多出来的这一层,多少有种没事找事的感觉。原创 2023-11-23 12:29:14 · 178 阅读 · 0 评论 -
Canal+Kafka实现MySQL与Redis数据同步(二)
canal只能同步增量数据。不是实时同步,是准实时同步。存在一些bug,不过社区活跃度较高,对于提出的bug能及时修复。MQ顺序性问题。网的回答,大家参考一下尽管有一些缺点,毕竟没有一样技术(产品)是完美的,合适最重要。原创 2023-11-19 12:57:30 · 1414 阅读 · 0 评论 -
Canal+Kafka实现MySQL与Redis数据同步(一)
在很多业务情况下,我们都会在系统中加入redis缓存做查询优化。如果数据库数据发生更新,这时候就需要在业务代码中写一段同步更新redis的代码。这种数据同步的代码跟业务代码糅合在一起会不太优雅,能不能把这些数据同步的代码抽出来形成一个独立的模块呢,答案是可以的。原创 2023-11-18 19:31:30 · 1027 阅读 · 4 评论 -
Kafka入门教程与详解(一)
Kafka是分布式发布-订阅消息系统,它最初由 LinkedIn 公司开发,使用 Scala语言编写,之后成为 Apache 项目的一部分。在Kafka集群中,没有“中心主节点”的概念,集群中所有的服务器都是对等的,因此,可以在不做任何配置的更改的情况下实现服务器的的添加与删除,同样的消息的生产者和消费者也能够做到随意重启和机器的上下线。Kafka消息系统生产者和消费者部署关系图1-2Kafka消息系统架构图1-31、消息生产者:即:Producer,是消息的产生的源头,负责生成消息并发送到Kafka。原创 2023-11-17 21:50:15 · 216 阅读 · 0 评论 -
「软件设计」权威领域驱动设计(DDD)简介
今天的企业应用程序无疑是复杂的,并依赖一些专门技术(持久性,AJAX,Web服务等)来完成它们的工作。作为开发人员,我们倾向于关注这些技术细节是可以理解的。但事实是,一个不能解决业务需求的系统对任何人都没有用,无论它看起来多么漂亮或者如何很好地构建其基础设施。领域驱动设计(DDD)的理念- 首先由Eric Evans在他的同名书[1]中描述 - 是关于将我们的注意力放在应用程序的核心,关注业务领域固有的复杂性本身。我们还将核心域(业务独有)与支持子域。原创 2023-11-15 21:30:54 · 107 阅读 · 0 评论 -
面试官问 Spring AOP 中两种代理模式的区别?很多面试者被问懵了
AspectJ 的底层技术就是静态代理,用一种 AspectJ 支持的特定语言编写切面,通过一个命令来编译,生成一个新的代理类,该代理类增强了业务类,这是在编译时增强,相对于下面说的运行时增强,编译时增强的性能更好。(AspectJ 的静态代理,不像我们前边介绍的需要为每一个目标类手动编写一个代理类,AspectJ 框架可以在编译时就生成目标类的“代理类”,在这里加了个冒号,是因为实际上它并没有生成一个新的类,而是把代理逻辑直接编译到目标类里面了)为对象提供一个替身,以控制对这个对象的访问。原创 2023-11-13 23:40:15 · 294 阅读 · 0 评论 -
结构型设计模式07-享元模式
享元模式是一种结构型设计模式,旨在通过共享对象来减少内存使用和提高性能。它主要用于处理大量细粒度对象的情况,其中许多对象具有相似的属性和行为。在享元模式中,对象分为两种类型:内部状态(Intrinsic State)和外部状态(Extrinsic State)。内部状态是对象的固有属性,它们不随外部环境的改变而改变。外部状态取决于外部环境,它们在运行时可以改变。享元模式的核心思想是将具有相同内部状态的对象共享,以减少内存占用。当需要创建一个对象时,首先检查是否已经存在具有相同内部状态的对象。原创 2023-11-12 21:14:04 · 399 阅读 · 0 评论 -
设计模式之禅之设计模式-原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式(Prototype Pattern)的简单程度仅次于单例模式和迭代器模式。正是由于简单,使用的场景才非常地多。 原型模式的核心是一个clone方法,通过该方法进行对象的拷贝,Java提供了一个Cloneable接口来标示这个对象是可拷贝的,为什么说是“标示”呢?翻开JDK的帮助看看Cloneable是一个方法都没有的,这个接口只是一个标记作用,在JVM中具有这个标记的对象才有可能被拷贝。原创 2023-11-11 18:41:06 · 482 阅读 · 0 评论 -
架构师必备-DDD之落地实践
主要是围绕用户、角色和两者的关系,构建权限分配领域模型。采用 DDD 4 层架构,包括用户接口层、应用层、领域层和基础服务层。数据通过 VO、DTO、DO、PO 转换,进行分层隔离。采用 SpringBoot + MyBatis Plus 框架,存储用 MySQL。谈谈我对 DDD 的理解,我觉得 DDD 不像一门技术,我理解的技术比如高并发、缓存、消息队列等,DDD 更像是一项软技能,一种方法论,包含了很多设计理念。原创 2023-11-07 13:14:18 · 216 阅读 · 0 评论 -
1024程序员博客创作者活动
最近1024出现了各种各样的程序员活动,而且活动的奖品还是非常不错的,基本上有手就行。原创 2023-10-21 23:40:54 · 151 阅读 · 0 评论