1. 自我介绍
大数据网络安全工程师,日常炒java、pyhon及shell三鲜,大学人称“神龙”。
现坐标成都,曾在杭州西湖、北京西山混迹过
接下来,勇猛的神龙斗士变身吧
2、高质量的Java代码意义
自不待言,高并发、高容错、高可拓展、高性能、灵活、简单明了的服务端代码,是每个程序员的孜孜以求的目标,可以有效降低成本,提高产品质量和竞争力。
3、具体而言
分布式架构、好的接口设计、优雅的代码实现、高性能(正确处理并发/竞争)。
• PPT上的功能模块和实际的组件代码之间存在着鸿沟
• 分布式环境下,任何一个小的功能需求都会变得复杂和困难:
• 容错/AA负载均衡
• 安全/认证
• 配置
• 分布式一致性/分布式缓存
• 组件状态监控
• 日志
多线程代码支持 ---- 多线程问题难测试和复现,需要从最开始就避免可重入的代码减少全局锁,多用并发数据结构: java.util.concurrent高性能代码必备;了解各种数据结构在不同数量下的性能表现了解各种数据结构的耗用内存大小Reference Object?
ArrayList vs LinkedList
HashSet vs TreeSet
HashMap vs TreeMap vs LinkedHashMap vs ConcurrentHashMap
Synchronized vs Concurrent
• 有两种缺陷:好改的和不好改的
• 容易定位,容易修复:逻辑BUG
• 不容易定位,不容易修复:
• 对要处理的数据的资源消耗导致性能低下或OOM
• 多线程缺陷
• 代码出现功能性重复
• 设计不当,系统出现分布式竞争导致性能低下
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。