- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
顺丰同城架构数据部 UDATA产品及JAVA开发心得 20XX/5/22 UDATA技术架构 UDATA后续工作 任务调度系统 取代CRONTAB 自助报表系统 万花筒 Kylin Ad-hoc 即席查询 Hive Impala、Presto、Spark SQL JAVA-WEB技术体系 开发框架:Spring-boot 数据访问 基础:JDBC JdbcTemplate JPA(ORM): JAVA Persistence API(Hibernate) 实时调度:Quartz 接口访问:RestController 项目管理:Maven,私有maven仓库 其他:AOP, 注解,Filter,SSO(CAS),Servlet JAVA开发坑-1:整数比较 基础:比较引用用==,比较数值用equals方法 示例 Integer a = 123; Integer b = 123; Integer c = new Integer(123); (a == b)? true (b == c)? false Integer e = 1000; Integer f = 1000; (e == f)? false 自动装箱缓存: 默认:-128~127 -XX:AutoBoxCacheMax=300 JAVA开发坑-2:空引用null引起的 不直接使用引用,而是使用函数,比如: 使用String.valueOf(a) 而不使用a.toString三; //容易引起空指针异常 函数形参中有引用类型变量时,一定要先判断空引用再使用。 void doSomething(String a, String b){ if(a == null || b == null) return;} JAVA开发坑-3:pom jar包版本冲突 通过maven自带的工具:??mvn dependency:tree –Dverbose 通过里面的信息可以看到 两个jar都commons-logging存在依赖,但是版本不同。里面的详细信息显示引用了 commons-logging:commons-logging:jar:1.1 去掉了commons-logging:commons-logging:jar:1.0.3 (omitted for duplicate) JAVA开发坑-4:@Around 切面注解 使用前提条件 @Component? //没有导致切面不能正产工作@Aspect @Around切面可以拦截函数返回值 public?Object?doAround(ProceedingJoinPoint?pjp)?throws?Throwable{?? Object?object?=?pjp.proceed三;? return?object;??????//正常返回 }?? JAVA开发坑-5:减少SQL访问 改进前:比如通过uid获取用户权限,以前是先获取用户,然后获取用户对应角色,最后循环获取每个角色的权限。 改进后:自定义查询,一条SQL获取用户所有权限,性能能够提升3倍以上。 @Query(value=select * from privilege where id in (select privilege_id from role_privilege WHERE role_id in (select role_id from account_role left join role on account_role.role_id=role.id where account_id in ( select id from account where uid = :uid and status = 1) and role.status=1 ) and privilege.status=1), nativeQuery = true)ListPrivilegeDO findByUid(@Param(uid) String uid); JAVA开发坑-6:组合索引 组合索引生效原则:从左到右依次匹配 为where,order by, group by后字段建立合适索引 对用and连接的多个条件建立组合索引 使用数据量少的列和字符串前缀来建立索引 使用explain来分析索引的优劣 在区分度高的列上建立索引 JAVA开发坑-7:IDEA JVM优化 IDEA默认的堆内存最大值和初始值都为128M,如果需要跑一些大数据集,显得很吃力。优化设置如下: -Xms4096m 初始值 -Xmx4096m 最大值 优化后运行效率提高10多倍。 顺丰同城架构数据部
您可能关注的文档
- 【专业】培训后效果追踪及成果转化.ppt
- 经典高端共赢未来科技风互联网工作总结动态剖析模板范本作品.pptx
- 工业园区VOC源排放智能监控管理系统”.pptx
- 八大浪费的培训.ppt
- YCYA—承诺管理系统.ppt
- 校本培训总结汇报.ppt
- 激励性薪酬计划设计指引(管理人员)-剖析.ppt
- 门户网站建设、安全技术交流.ppt
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《口腔医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
最近下载
- 目的论视角下奢侈品香水广告的汉译策略研究——以迪奥为例.docx
- 2022年新版大象版六年级科学上册全册PPT课件.pptx
- 【新结构】湖北省七市州2024届高三下学期3月联合统一调研测试数学试题+答案解析.pdf VIP
- 物流和供应链(英文).ppt
- 北师大版数学八年级下册第四章 因式分解 大单元整体教学设计学历案教案附作业设计(基于新课标教学评一致性).docx
- 2023欧洲车身会议资料010_SUV full aluminium case_Hyundai and Alumobility.pdf
- 心衰的新药物治疗.pptx VIP
- 老旧小区外立面改造安全生产和文明施工措施.doc
- 口腔科护理质量查检表.docx VIP
- 《管理学习题》无答案.docx VIP
文档评论(0)