产品
解决方案
文档与社区
权益中心
定价
云市场
合作伙伴
支持与服务
了解阿里云
备案
控制台
开发者社区
首页
探索云世界
探索云世界
云上快速入门,热门云上应用快速查找
了解更多
问产品
动手实践
官方博客
考认证
TIANCHI大赛
活动广场
活动广场
丰富的线上&线下活动,深入探索云世界
任务中心
做任务,得社区积分和周边
高校计划
让每位学生受益于普惠算力
训练营
资深技术专家手把手带教
话题
畅聊无限,分享你的技术见解
开发者评测
最真实的开发者用云体验
乘风者计划
让创作激发创新
阿里云MVP
遇见技术追梦人
直播
技术交流,直击现场
下载
下载
海量开发者使用工具、手册,免费下载
镜像站
极速、全面、稳定、安全的开源镜像
技术资料
开发手册、白皮书、案例集等实战精华
插件
为开发者定制的Chrome浏览器插件
探索云世界
新手上云
云上应用构建
云上数据管理
云上探索人工智能
云计算
弹性计算
无影
存储
网络
倚天
云原生
容器
serverless
中间件
微服务
可观测
消息队列
数据库
关系型数据库
NoSQL数据库
数据仓库
数据管理工具
PolarDB开源
向量数据库
热门
百炼大模型
Modelscope模型即服务
弹性计算
云原生
数据库
云效DevOps
龙蜥操作系统
平头哥
钉钉开放平台
物联网
大数据
大数据计算
实时数仓Hologres
实时计算Flink
E-MapReduce
DataWorks
Elasticsearch
机器学习平台PAI
智能搜索推荐
人工智能
机器学习平台PAI
视觉智能开放平台
智能语音交互
自然语言处理
多模态模型
pythonsdk
通用模型
开发与运维
云效DevOps
钉钉宜搭
支持服务
镜像站
码上公益
开发者社区
技术作品
Java应用提速(速度与激情)
在线阅读
47
1
读书笔记
暂无相关笔记,快来写一篇吧!
读完了整部书,发现以前都忽视了这一块:“从java应用的一些基础设施和工具层面着手,提速java应用”,或许也是由于一直没接触过这么庞大的应用吧。 对于小应用而言,简单的优化下代码逻辑,提高部分功能的执行效率,是我们会关注的重点,我们基本不会从工具层面、从基础设施层面来考虑速度上面的问题,因为它们对我们项目几乎没影响,或者说不被重视,也或者说还不至于让我们能参与到这等程度,能实现好项目功能,让业务顺利执行就够了。 从这本书中,开阔了我认知,我了解到了提速的新方向,也汇总了下提速的不同手段: 1. 优化算法:算法要和使用的场景结合起来,没有最好的,只有最适用的。例如结合 maven 的版本仲裁机制,从深度优先算法(DF)改到广度优先算法(BF) 2. 利用索引:索引是为了提高查询效率的,像字典的目录一样,所以对于检索查询的场景去做优化,往往要用到索引。例如ClassLoader提速一章: > 优化的方案可以简单的用一句话概括,就是给URLClassLoader的资源查找加索引。 3. 利用缓存:将会重复做、重复使用且大部分情况下内容都一致的“东西”缓存起来,使重复做的时候用更少的时间来完成。例如maven依赖树的缓存,这里也包含了增量的意思,如文中所写 > 增量是与缓存息息相关的,增量的实现就是用缓存 4. 增量更新:特别再提一下增量,对于java应用部署war包之类的,有直观的感触,一个几G的文件每次更新可能只有几M的变化,但要重新全部传输一遍,浪费太多时间,只增量更新就快多了 5. 并发处理:在保证安全的基础上,利用并发,同时处理多个请求,或者将复杂的操作分成多个线程同时进行。例如maven提速中的分布式并发构建、增大下载并发数、扫包算法并发扫jar包 6. 调整逻辑:有的时候遇到的场景是,某段逻辑放在这里是不合适的,想办法提高它的效率,可能难以做到的,这个时候我们需要转变思路,考虑这段逻辑的主体执行者该是谁了。例如maven提速中【**SNAPSHOT 版本号缓存**】,在mave中检测SNAPSHOT时要多次请求maven仓库,SNAPSHOT是否有更新maven仓库是最先知道的,这个时候应该是将这个更新的通知接收,然后更新我们这边...