Java开发技术总结.ppt_第1页
Java开发技术总结.ppt_第2页
Java开发技术总结.ppt_第3页
Java开发技术总结.ppt_第4页
Java开发技术总结.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论