版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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切面可以拦截函数返回值,publicObjectdoAround(ProceedingJoinPointpjp)throwsThrowable Objecto
4、bject=ceed(); returnobject;/正常返回 ,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 ro
5、le 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后字段建立合适索引 对用and连接的多个条件建立组合
6、索引 使用数据量少的列和字符串前缀来建立索引 使用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,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 延边大学《工程经济与管理》2025-2026学年期末试卷
- 长春人文学院《临床病理学》2025-2026学年期末试卷
- 长春医学高等专科学校《当代西方经济学流派》2025-2026学年期末试卷
- 盐城师范学院《文字学》2025-2026学年期末试卷
- 长春早期教育职业学院《社会工作实务手册》2025-2026学年期末试卷
- 中国矿业大学徐海学院《口腔预防医学》2025-2026学年期末试卷
- 阳泉师范高等专科学校《社会工作概论》2025-2026学年期末试卷
- 长沙民政职业技术学院2026年河南省单独考试招生《职业技能测试》模拟试题及答案解析
- 安全生产智能管家讲解
- 消防安全物资采购流程
- 2025至2030年中国成都市酒店行业市场发展调研及投资方向分析报告
- 浙江省S9联盟2024-2025学年高一下学期期中语文试题
- JG/T 100-1999塔式起重机操作使用规程
- T/CAPE 10101-2021设备润滑管理导则
- 住宅无偿使用协议书
- 人音版七年级下册《乘着歌声的翅膀》课件
- GB/T 45232-2025建筑排水排污用聚丙烯(PP)管道系统
- 城市屋顶网球场地改造协议
- 基于深度强化学习的机械臂自主抓取算法
- 金融信托与租赁案例
- 2024秋期国家开放大学专科《液压与气压传动》一平台在线形考(形考任务+实验报告)试题及答案
评论
0/150
提交评论