51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
信创认证
公众号矩阵
移动端
视频课
免费课
排行榜
短视频
直播课
软考学堂
全部课程
软考
信创认证
华为认证
厂商认证
IT技术
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
社区规则
意见反馈
社区活动
默认
发布时间
热度
原创
精华
热门标签
harmony
纯血
harmonyos
因为内存溢出,我差点被优化
作为一个技术博主,了不起不是在创作就是在创作的路上(当然偶尔也会有点恰饭文还指望大家多多支持),我们都知道,在写代码的过程中,业务逻辑很大程度上决定了你对业务的理解,但是解决问题,却是你提升比较关键的地方,而了不起,却差点因为这个内存溢出,把自己给干优化掉。什么是内存溢出百度百科是这么解释的:内存溢出(OutOfMemory,简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终...
看球不费电
0回复
4872浏览
java
利用微信公众号的图片上传接口,创造属于自己的图床功能!
作为一个技术博主,了不起不是在创作就是在创作的路上(当然偶尔也会有点恰饭文还指望大家多多支持),特别是在写一些技术文章的时候,经常会用到图片,然而为了在多个平台同步发文,就需要使用图床了。之前了不起用的是微博的图床,可是今年年初的时候,突然发现用不了了,没办法毕竟是免费的,不稳定不能用也很正常,了不起只能再想想其他办法了。Typora配置后面一想既然是为了写公众号,那可以将图片直接上传的公众号的素材...
看球不费电
0回复
5669浏览
java
手把手教你开发一套代码生成器,学不会的来怼我!
一、介绍在实际的软件项目开发过程中,我可以很负责任的跟大家说,如果你真的实际写代码的时间超过5年,你对增删改查这类简单的功能需求开发,可以说已经完全写吐了,至少我就是这种类型的。但是呢,不可否认,绝大多数的软件功能,向下追随到最基本的单元,也基本都是单表的增、删、改、查!只是随着用户需求不断增多,原来可能一个张单表就可以搞定的事情,现在可能需要多张表,或者多个库才能搞定,代码层就像堆积木一样,越...
看球不费电
0回复
5945浏览
java
你绝对不知道的 SpringBoot 的外部化配置特性!
作为Java程序员,相信大家都知道,我们日常的SpringBoot项目会有一个配置文件application.properties文件。里面会配置很多参数,例如服务的端口等,这些都只是默认值,在不改变配置文件里面内容的情况下,我们可以通过在部署的时候,传递一个相应的参数来替换默认的参数。那么问题来了,你有想过为什么可以这样吗?为什么SpringBoot部署时传递的启动配置会生效,而配置文件中的配置就不生...
看球不费电
0回复
4711浏览
java
SpringBoot 整合 Elastic-Job 实现分布式任务调度服务
一、摘要在之前的文章中,我们详细的介绍了Quartz的架构原理以及应用实践,虽然Quartz也可以通过集群方式来保证服务高可用,但是它也有一个的弊端,那就是服务节点数量的增加,并不能提升任务的执行效率,即不能实现水平扩展!之所以产生这样的结果,是因为Quartz在分布式集群环境下是通过数据库锁方式来实现有且只有一个有效的服务节点来运行服务,从而保证服务在集群环境下定时任务不会被重复调用!如果需要运行的定时任务很...
看球不费电
0回复
5290浏览
java
分页查询出现数据重复或丢失,你遇到过吗?
一、问题背景最近部分销售人员反馈在APP上查询自己名下客户订单数据时,当往下拉取数据的时候,列表上经常出现重复的订单数据,经过排查,后端代码是通过如下方式来实现数据的分页查询的。limitoffset,sizeorderbycreatetimedesc经过细致的分析,这种排序方式,在app端分页查询的时候,确实存在问题。详细的分析过程如下!二、原因分析首先我们初始化一张表,用于模拟订单表查询。CREATETABLEtborder(orderidbigint(11)unsigned...
看球不费电
0回复
4493浏览
java
SpringBoot 整合 ElasticSearch 做搜索引擎,实战介绍!
一、简介在之前的文章中,我们详细的介绍了ElasticSearch的安装与使用,详细大家对ElasticSearch有了初步的认识。本文将重点介绍SpringBoot整合ElasticSearch做搜索引擎,实现亿量级数据的快速查询。废话不多说,直接上代码!二、代码实践本文采用的SpringBoot版本号是2.1.0.RELEASE,服务端es的版本号是6.8.2,客户端采用的是官方推荐的ElasticJavaHighLevelRestClient版本号是6....
看球不费电
0回复
3616浏览
java
又发现了一个有趣的 ChatGPT 玩法,分享给大家
阿粉之前给大家写过如何将ChatGPT接入微信和钉钉,没看过的可以往公众号前面的文章翻翻,最近又发现了一个有趣的玩法,周末找时间实现了一下,感觉挺不错的,分享给大家。背景事情的起因是阿粉在朋友圈看到了这样一条信息,敏感信息已经去掉了,意思很明显就是将OpenAI接入到知识星球了,用户可以通过星球提问的方式来对OpenAI进行提问,OpenAI会自动回答相应用户的问题,并通知到用户。看...
看球不费电
0回复
4807浏览
java
慢查询应该怎么去合理优化
阿粉昨天把这个怎么把SQL是否命中是索引,以及把如何开启开启慢查询的方法已经分享给了大家,接下来我们就得分项一下,我们找到了自己的慢查询的SQL,那就应该想办法去优化,怎么能去优化自己的慢查询呢?索引和慢查询如何判断是否为慢查询?MySQL判断一条语句是否为慢查询语句,主要依据SQL语句的执行时间,它把当前语句的执行时间跟longquerytime参数做比较,如果语句的执行时间>longquerytime,就会把这条执行语句记录到慢查...
看球不费电
0回复
3858浏览
java
还不懂Java的泛型?只用这一篇文章,保证你面试对答如流
最近技术交流群里,有朋友问:Object和泛型T有啥区别。回答完问题,不禁在想,面试在即,还有那么多朋友不了泛型?是时候给大家整理一篇泛型相关的文章了,一篇文章全面搞定泛型,让大家再也不愁面试或实践中泛型相关的问题了。什么是泛型泛型是在JDK5时就引入的新特性,也就是“参数化类型”,通俗来讲就是将原来的具体类型通过参数化来定义,使用或调用时再传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建...
无聊逛51
0回复
3056浏览
java
经过多方调研,最终还是决定禁用FastJson!
老项目中使用到多种json类库,没有统一管理。最近开启全新的项目,准备对json类库进行统一,这样不仅能够压缩jar包的大小,也能够避免某个类库的漏洞导致系统问题。其实,就在前几个月因为FastJson的漏洞,已经全面升级过一次FastJson的版本。现在项目中有用FastJson,有用gson,也有用Jackson。虽然用的类库比较多,但使用的场景并不多,还在可控范围之内。这篇文章重点讲讲对FastJson的一些调研,虽然最终决定强制在项目中禁...
无聊逛51
0回复
5168浏览
JSON
JAVA
Java中的枚举,这一篇全了,一些不为人知的干货
Java枚举,也称作Java枚举类型,是一种字段由一组固定常量集合组成的类型。枚举的主要目的是加强编译时类型的安全性。enum关键字是Java中的保留关键字。在编译或设计时,当我们知道所有变量的可能性时,尽量使用枚举类型。本篇文章就带大家全面系统的了解枚举的使用,以及会遇到的一些问题。Java中的枚举枚举通常是一组相关的常量集合,其他编程语言很早就开始用枚举了,比如C++。从JDK1.5起,Java也开始支持枚举类型。枚举是一...
无聊逛51
0回复
4878浏览
Java
JDK9对String字符串的新一轮优化,不可不知
String类可以说是Java编程中使用最多的类了,如果能对String字符串的性能进行优化,那么程序的性能必然能大幅提升。这不JDK9就对String字符串进行了改进升级,在某些场景下可以让String字符串内存减少一半,进而减少JVM的GC次数。String的底层存储在面试的时候我们通常会说String字符串有不可变的特性,每次都要创建新的字符串。那么,为什么String字符串是不可变的呢?先来看一下String字符串的底层存储结构:publicfinalclass...
无聊逛51
0回复
3786浏览
java
SpringBoot配置升级,旧的已过时,新的人未知
如果你使用SpringBoot2.4及以上版本,你会发现SpringBoot中对多环境支持的配置项spring.profiles.active已经被废弃。而SpringBoot也一直在逐步推新的配置方式,可能很多人还不知道,本文就带大家一探究竟。SpringBoot的多环境配置在学习新的配置方式之前,先回顾一下通常的多环境配置形式。在项目中我们经常会遇到一个项目部署到多个环境,比如开发环境、测试环境、生产环境。而不同的环境又有不同的配置文件。因此,SpringBoot...
无聊逛51
0回复
5545浏览
SpringBoot
启动Spring Boot时,如果不设置内存参数会如何?
前言最近正在进行从SpringBoot往SpringCloud上改造升级。之前部署的应用程序比较少,还没什么问题。当SpringCloud项目逐步新增之后,问题就爆发了,服务器内存不够用了。而现有的用户体量也没必要对服务器再次进行升级,于是就开始着手SpringBoot启动时JVM内存配置的优化。服务现状由于之前服务比较少,服务器资源充足,许多服务启动时都未添加JVM参数(遗留问题)。结果就是每个服务启动都占用了1.5G2G的内存,有些服务的体量...
无聊逛51
0回复
5560浏览
Spring Boot
GC复制存活对象,它内存地址变了么?
前言前些天与一位朋友技术交流,朋友在招人面试时想到一个问题,JVM垃圾回收时,会复制存活的对象到不同的区域。比如从新生代复制到老年代,在此过程中,被复制的对象的地址是否变了呢?对他提出的这个问题很感兴趣,深入研究了一下,便有了这篇文章。更新引用是JVM的职责任何一款JVM的设计,采用任何一种GC算法进行对象的移动操作时,如何更新对象引用都是JVM的基本职责。也就是说,当移动对象时,必然会涉及到对象引用的变更...
无聊逛51
0回复
3801浏览
JVM
在 Anolis 8 上构建基于 Nydus 和 Dragonfly 的镜像加速解决方案
原创
文云原生SIG01背景镜像是容器技术的基础之一,在云原生场景下,业务的正常运作离不开对镜像的制作、分发和运行。当前的镜像在使用的过程中,需要将镜像从仓库中全量拉取到本地,再由容器engine进行解压,堆叠挂载,然后才能构造成rootfs提供给容器。而在实际生产过程中,由于镜像版本的迭代,镜像的体积往往越来越大,因而导致镜像拉取耗时往往占据了容器启动阶段的大部分时间。2016年的usenix的论文Slacker:FastDistributionw...
龙蜥社区OpenAnolis
0回复
4987浏览
镜像
解决方案
操作系统
基于SpringBoot实现让日志像诗一样有韵律
前言在传统系统中,如果能够提供日志输出,基本上已经能够满足需求的。但一旦将系统拆分成两套及以上的系统,再加上负载均衡等,调用链路就变得复杂起来。特别是进一步向微服务方向演化,如果没有日志的合理规划、链路追踪,那么排查日志将变得异常困难。比如系统A、B、C,调用链路为A>B>C,如果每套服务都是双活,则调用路径有2的三次方种可能性。如果系统更多,服务更多,调用链路则会成指数增长。因此,无论是几个简单的内部...
无聊逛51
0回复
4858浏览
SpringBoot
这一篇文章,可以把Java中的类加载器了解的七七八八了
前言对于每个开发人员来说,java.lang.ClassNotFoundExcetpion这个异常几乎都遇到过,而追求其该异常的来源的话,就免不了谈一谈Java的类加载器了。本文就基于启动类加载器、扩展类加载器、系统类加载器和自定义类加载器来为大家补充一下这方面的知识。类加载器简介Java程序被编译器编译之后成为字节码文件(.class文件),当程序需要某个类时,虚拟机便会将对应的class文件进行加载,创建出对应的Class对象。而这个将class文件...
无聊逛51
0回复
4637浏览
Java
没有监控过JVM内存的职场生涯,是不完美的
前言如果你从事Java开发多年,还没用过JVM分析工具,还没尝试着通过对JVM的dump日志来进行故障定位和性能调优,那么可以说是你职场生涯中的一大遗憾,也是一种能力的缺失。这篇文章就基于一款JDK自带的工具(VisualVM),然后编写内存溢出的案例,带大家体验一下JVM分析的入门。文中涉及到多个知识点的融合与实战经验分享,读者可留意一下。VisualVM简介VisualVM是Netbeans的profile子项目,在JDK6.0update7中自带,能够监控线...
无聊逛51
0回复
2276浏览
JVM
暂无内容
1
19
20
21
22
23
24
25
26
27
80
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅