版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、UDATA产品及JAVA开发心得,2018/5/22 向永清,UDATA技术架构,UDATA后续工作,任务调度系统 取代CRONTAB 自助报表系统 万花筒 Kylin Ad-hoc 即席查询 Hive Impala、Presto、Spark SQL,JAVA-WEB技术体系,开发框架:Spring-boot 数据访问 基础:JDBC Integer b = 123; Integer c = new Integer(123); (a = b)? true (b = c)? false Integer e = 1000; Integer f = 1000; (e = f)? false 自动装箱
2、缓存: 默认:-128127 -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,通过里面的信息可以看
3、到 两个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
4、Object object = ceed(); 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
5、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) List findByUid(Param(uid) String uid);,JAVA开发坑-6:组合索引,组合索引生效原则:从左到右依次匹配 为where,order by, group by后字段建立合适索引 对用a
6、nd连接的多个条件建立组合索引 使用数据量少的列和字符串前缀来建立索引 使用explain来分析索引的优劣 在区分度高的列上建立索引,JAVA开发坑-7:IDEA JVM优化,IDEA默认的堆内存最大值和初始值都为128M,如果需要跑一些大数据集,显得很吃力。优化设置如下: -Xms4096m 初始值 -Xmx4096m 最大值 优化后运行效率提高10多倍。,JAVA开发坑-8:权限管理,权限管理设置,标准的账户、角色、权限以及关联表设计,存在问题: 权限粒度设置过细,不方便使用 部门接口运行速度慢 使用自定义注解进行数据权限验证 权限接口尚待完善,JAVA开发坑-9:多进程争夺资源控制,哨兵双机热部署,两个进程同时写数据库? 防止写入重复的脏数据 设置一张status表,记录当前写进程状态 select for update行锁 谁抢到锁,谁拥有运行的权利,,,,JAVA开发坑-10:NS & Log & RAL,NS,命名服务,当前未上线 Log 基于Logback,已经上线 RAL 基于AOP DBRal HttpRal, com.sf.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中历史 第三单元 资产阶级民主制度的形成 第8节 英国君主立宪制的确立与完善教案 岳麓版选修2
- 河北省邯郸市肥乡区七年级生物下册 12.3激素调节教案 (新版)北师大版
- 2026年合格老板模拟题及答案详解
- 哈尔右翼前旗平地泉镇民生社区工作人员考试模拟题及答案详解
- 资源和社会保障局安置4050公益性岗位考试模拟题及答案详解
- 银行笔模拟题及答案详解
- 信息科技课程标准考试模拟题及答案详解
- 绣红旗教学设计初中音乐粤教花城版2024七年级下册-粤教花城版2024
- 2026年烟台市芝罘区城管协管人员招聘笔试参考试题及答案详解
- 2026年营口市西市区(中小学、幼儿园)教师招聘考试参考试题及答案详解
- 2026年安全生产法律法规汇编学习
- 2026年安庆岳西县公开选聘县属国有企业领导人员4名笔试备考题库及答案详解
- 2026年陕西日报社及陕西日报传媒集团招聘(46人)笔试参考题库及答案详解
- 【1252】支气管哮喘教学查房
- 工程结算审核实施方案
- 压缩空气储能地下工程验收规范
- 2026年高考数学全国二卷真题深入解读课件
- 2025年高校行政岗成果转化笔试题(附答案)
- 2026中国精神卫生服务体系建设现状及资源缺口调研报告
- DB11-T 489-2024 建筑基坑支护技术规程
- 企业聘用合同简易版(34篇)
评论
0/150
提交评论