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
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
社区规则
意见反馈
社区活动
默认
发布时间
热度
原创
精华
热门标签
HarmonyOS
ArkTS
鸿蒙
我也没想到 springboot + rabbitmq 做智能家居,会这么简单
前一段有幸参与到一个智能家居项目的开发,由于之前都没有过这方面的开发经验,所以对智能硬件的开发模式和技术栈都颇为好奇。产品是一款可燃气体报警器,如果家中燃气泄露浓度到达一定阈值,报警器检测到并上传气体浓度值给后台,后台以电话、短信、微信等方式,提醒用户家中可能有气体泄漏。用户还可能向报警器发一些关闭报警、调整音量的指令等。整体功能还是比较简单的,大致的逻辑如下图所示:但当我真正的参与其中开发时...
heatdog
0回复
5354浏览
springboot
rabbitmq
MQTT
豪横!程序员搭个人博客,一个 GitHub 账号足矣!
作为程序员拥有一个属于自己的个人技术博客,绝对是百利无一害的事,不仅方便出门装b,面试时亮出博客地址也会让面试官对你的好感度倍增。经常能在很多大佬的技术文章的文末,看到这样一句话:“欢迎大家访问我的博客”,每每看到这都会觉得好酷,同样是搞技术为啥人家那么优秀。而自己想要建一个博客,要么怕花钱,要么怕过程太麻烦,最后就不了了之。应粉丝要求,今天手把手的教大家搭建一个属于自己的技术博客,只要你有个...
heatdog
0回复
5586浏览
个人博客
GitHub
真是没想到,Springboot + Flowable 开发工作流会这么简单!
公司内部的OA系统最近要升级改造,由于人手不够就把我借调过去了,但说真的我还没做过这方面的功能,第一次接触工作流的开发,还是有点好奇是个怎样的流程。项目主要用Springboot+Flowable重构原有的工作流程,Flowable是个用Java语言写的轻量级工作流引擎,上手比较简单开发效率也挺高的,一起学习下这个框架。官方地址:https:www.flowable.orgdocsuserguideindex.html,分享...
heatdog
0回复
5911浏览
Springboot
Flowable
3种 Springboot 全局时间格式化方式,别再写重复代码了
时间格式化在项目中使用频率是非常高的,当我们的API接口返回结果,需要对其中某一个date字段属性进行特殊的格式化处理,通常会用到SimpleDateFormat工具处理。SimpleDateFormatdateFormatnewSimpleDateFormat("yyyyMMdd");DatestationTimedateFormat.parse(dateFormat.format(PayEndTime()));可一旦处理的地方较多,不仅CV操作频繁,还产生很多重复臃肿的代码,而此时如果能将时间格式统...
heatdog
0回复
8776浏览
Springboot
一文快速入门分库分表(必修课)
之前有不少刚入坑Java的粉丝留言,想系统的学习一下分库分表相关技术,可我一直没下定决心搞,眼下赶上公司项目在使用sharingjdbc对现有MySQL架构做分库分表的改造,所以借此机会出一系分库分表落地实践的文章,也算是自己对架构学习的一个总结。我在网上陆陆续续的也看了一些有关于分库分表的文章,可发现网上同质化的资料有点多,而且知识点又都比较零碎,还没有详细的实战案例。为了更深入的学...
heatdog
0回复
4805浏览
Java
分库分表
垃圾回收-实战篇
上文GC理论颇受大家好评,学习了之后,相信大家对GC的工作原理有了比较深刻的认识,这一篇我们继续趁热打铁,来学习下GC的实战内容,主要包括以下几点JVM参数简介发生OOM的主要几种场景及相应解决方案OOM问题排查的一些常用工具GC日志格式怎么看jstat与可视化APM工具构建再谈JVM参数设置JVM参数简介在开始实践之前我们有必要先简单了解一下JVM参数配置,因为本文之后的实验中提到的JVM中的栈,堆大小,使用的垃圾收集器...
danielmou
0回复
5685浏览
JVM
Gradle 编译速度提升 70%!怎么做到的?
之前我司每个Java应用部署到预发都要等待漫长的编译打包时间,非常地痛苦!大项目编译时间常常达到接近10分钟,生命短暂啊,人生有多少个10分钟可以等待,于是我们的效能团队针对编译作了一些优化,提速非常明显,对某个应用的测试来看,编译时间从160s缩短到了50s左右,提升近70%,大家纷纷点赞,那么效能团队做了哪些措施来让编译速度提升这么明显呢?首先要说的是我们用的Gradle来作为我们的构建工具,所以主要是针对Gradle...
danielmou
0回复
7698浏览
Gradle
Springboot 一行代码实现文件上传 20个平台!少写代码到极致
文件上传在平常不过的一个功能,做后端开发的基本都会接触到,虽然不难可着实有点繁琐。数据流的开闭、读取还容易出错,尤其是在对接一些OSS对象存储平台,一个平台一堆SDK代码看起来乱糟糟的。下边给我大家推荐一个工具SpringFileStorage,上传文件只要些许配置一行代码搞定,开发效率杠杠的,一起看看是不是有这么流批!“官网:https:springfilestorage.xuyanwu.cnSpringFileStorage工具几乎整合...
heatdog
0回复
6049浏览
Springboot
爆肝 | 一文彻底吃透JVM系列
大家好,我是冰河最近,一直有小伙伴让我整理下关于JVM的知识,经过十几天的收集与整理,初版算是整理出来了。希望对大家有所帮助。JDK是什么?JDK是用于支持Java程序开发的最小环境。Java程序设计语言Java虚拟机JavaAPI类库JRE是什么?JRE是支持Java程序运行的标准环境。JavaSEAPI子集Java虚拟机Java历史版本的特性?JavaVersionSE5.0引入泛型;增强循环,可以使用迭代方式;自动装箱与自动拆箱;类型安全的枚举;可变参...
ssschangyu
0回复
4697浏览
JVM
一文学会注解的正确使用姿势
前言日志作为排查问题的重要手段,可以说是应用集成中必不可少的一环,但在日志中,又不宜暴露像电话,身份证,地址等个人敏感信息,去年Q4我司就开展了对ELK日志脱敏的全面要求。那么怎样快速又有效地实现日志脱敏呢。相信读者看完标题已经猜到了,没错,用注解!那么用注解该怎么实现日志脱敏呢,除了日志脱敏,注解还能用在哪些场景呢,注解的实现原理又是怎样的呢。本文将会为你详细介绍。本文将会从以下几个方面来介绍注...
danielmou
0回复
4926浏览
Java
高性能 Java 应用层网关设计实践
前言上文我们简单阐述了一下接入层网关的实现原理不少人对Java网关的实现也比较感兴趣,所以这篇文章我们来简单谈谈Java应用网关设计,本文将会从以下几个方面来阐述Java应用层网关的设计Java应用层网关的必要性核心网关技术选型嵌入式网关设计Java应用层网关的必要性我们的Java网关分为应用层网关和业务嵌入式网关两部分,架构图如下在这里插入图片描述Java网关分为核心网关和业务嵌入式网关服务两部分,主要工作原理...
danielmou
0回复
5772浏览
Java
#盲盒+码# #DAYU200#OpenHarmony应用集成AGC认证服务
原创
精华
[【本文正在参加「盲盒」+码有奖征文活动】](https:ost.51cto.composts19288)前言AppGalleryConnect(简称AGC)是华为整合内部各项优质服务,将其在全球化、质量、安全、工程管理等领域长期积累的能力开放给开发者。通过集成AGC构建服务,可以降低企业开发、运维、人力成本;通过集成AGC增长服务能够使企业产品快速实现用户增长,加速企业应用商业成功率;通过集成AGC质量服务,可以精准定位应用异常,从而为应用的性能保驾护航。...
CodexBai
11回复
1.4w浏览
ArkUI
ArkTS
AGC认证服务
分库分表之 Sharding-JDBC 中间件(上)
前言这是一篇将“介绍ShardingJDBC基本使用方法”作为目标的文章,但笔者却把大部分文字放在对ShardingJDBC的工作原理的描述上,因为笔者认为原理是每个IT打工人学习技术的归途。使用框架、中间件、数据库、工具包等公共组件来组装出应用系统是我们这一代IT打工人工作的常态。对于这些公共组件——比如框架——的学习,有些人的方法是这样的:避开复杂晦涩的框架原理,仅仅关注它的各种配置、API、注解,在尝试了这个框架的常用...
danielmou
0回复
4902浏览
Sharding-JDBC
45 张图深度解析 Netty 架构与原理(下)
2.Netty的架构与原理2.1.为什么要制造Netty既然Java提供了NIO,为什么还要制造一个Netty,主要原因是JavaNIO有以下几个缺点:1)JavaNIO的类库和API庞大繁杂,使用起来很麻烦,开发工作量大。2)使用JavaNIO,程序员需要具备高超的Java多线程编码技能,以及非常熟悉网络编程,比如要处理断连重连、网络闪断、半包读写、失败缓存、网络拥塞和异常流处理等一系列棘手的工作。3)JavaNIO存在Bug,例如EpollBug会导致Selector空轮训...
danielmou
0回复
6822浏览
开发语言
Netty
45 张图深度解析 Netty 架构与原理(上)
前言读者在阅读本文前最好有Java的IO编程经验(知道Java的各种IO流),以及Java网络编程经验(用ServerSocket和Socket写过demo),并对JavaNIO有基本的认识(至少知道Channel、Buffer、Selector中的核心属性和方法,以及三者如何配合使用的),以及JUC编程经验(至少知道其中的Future异步处理机制),没有也没关系,文中多数会介绍,不影响整体的理解。文中对于Reactor的讲解使用了几张来自网络上的深灰色背景的示意图,但未找...
danielmou
0回复
6614浏览
Netty
2 w字长文带你深入理解线程池
前言线程池可以说是Java进阶必备的知识点了,也是面试中必备的考点,可能不少人看了这篇文章后能对线程池工作原理说上一二,但这还远远不够,如果碰到比较有经验的面试官再继续追问,很可能会被吊打,考虑如下问题:Tomcat的线程池和JDK的线程池实现有啥区别,Dubbo中有类似Tomcat的线程池实现吗我司网关dubbo调用线程池曾经出现过这样的一个问题:压测时接口可以正常返回,但接口RT很高,假设设置的核心线程大小为500...
danielmou
0回复
5792浏览
线程池
ELK 性能优化实践
一、背景介绍近一年内对公司的ELK日志系统做过性能优化,也对SkyWalking使用的ES存储进行过性能优化,在此做一些总结。本篇主要是讲ES在ELK架构中作为日志存储时的性能优化方案。ELK架构作为日志存储方案ELK日志架构.png二、现状分析1.版本及硬件配置JDK:JDK1.8171b11(64位)ES集群:由3台16核32G的虚拟机部署ES集群,每个节点分配20G堆内存ELK版本:6.3.0垃圾回收器:ES默认指定的老年代(CMS)+新生代(ParNew)操作系统:Cen...
danielmou
0回复
6701浏览
开发语言
高频golang面试题:简单聊聊内存逃逸?
问题知道golang的内存逃逸吗?什么情况下会发生内存逃逸?怎么答golang程序变量会携带有一组校验数据,用来证明它的整个生命周期是否在运行时完全可知。如果变量通过了这些校验,它就可以在栈上分配。否则就说它逃逸了,必须在堆上分配。能引起变量逃逸到堆上的典型情况:在方法内把局部变量指针返回局部变量原本应该在栈中分配,在栈中回收。但是由于返回时被外部引用,因此其生命周期...
ilikevc
0回复
4992浏览
Go
golang面试题:怎么避免内存逃逸?
问题怎么避免内存逃逸?怎么答在runtimestubs.go:133有个函数叫noescape。noescape可以在逃逸分析中隐藏一个指针。让这个指针在逃逸分析中不会被检测为逃逸。noescapehidesapointerfromescapeanalysis.noescapeistheidentityfunctionbutescapeanalysisdoesn'tthinktheoutputdependsontheinput.noescapeisinlinedandcurrentlycompilesdowntozeroinstructions.USECAREFULLY!go:nosplitfuncnoescape(p...
ilikevc
0回复
6478浏览
go
golang面试题:json包变量不加tag会怎么样?
问题json包里使用的时候,结构体里的变量不加tag能不能正常转成json里的字段?怎么答如果变量首字母小写,则为private。无论如何不能转,因为取不到反射信息。如果变量首字母大写,则为public。不加tag,可以正常转为json里的字段,json内字段名跟结构体内字段原名一致。加了tag,从...
ilikevc
0回复
6070浏览
开发语言
暂无内容
1
26
27
28
29
30
31
32
33
34
81
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅