Java开发技术总结.ppt

Java开发技术总结.ppt

ID:55828648

大小:1.66 MB

页数:15页

时间:2020-06-09

Java开发技术总结.ppt_第1页
Java开发技术总结.ppt_第2页
Java开发技术总结.ppt_第3页
Java开发技术总结.ppt_第4页
Java开发技术总结.ppt_第5页
资源描述:

《Java开发技术总结.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、UDATA产品及JAVA开发心得2018/5/22向永清UDATA技术架构UDATA后续工作任务调度系统取代CRONTAB自助报表系统万花筒KylinAd-hoc即席查询HiveImpala、Presto、SparkSQLJAVA-WEB技术体系开发框架:Spring-boot数据访问基础:JDBC&JdbcTemplateJPA(ORM):JAVAPersistenceAPI(Hibernate)实时调度:Quartz接口访问:RestController项目管理:Maven,私有maven仓库其他:AOP,注解,Filter,S

2、SO(CAS),ServletJAVA开发坑-1:整数比较基础:比较引用用==,比较数值用equals方法示例Integera=123;Integerb=123;Integerc=newInteger(123);(a==b)?true(b==c)?falseIntegere=1000;Integerf=1000;(e==f)?false自动装箱缓存:默认:-128~127-XX:AutoBoxCacheMax=300JAVA开发坑-2:空引用null引起的不直接使用引用,而是使用函数,比如:使用String.valueOf(a)而不

3、使用a.toString();//容易引起空指针异常函数形参中有引用类型变量时,一定要先判断空引用再使用。voiddoSomething(Stringa,Stringb){if(a==null

4、

5、b==null)return;}JAVA开发坑-3:pomjar包版本冲突通过maven自带的工具:mvndependency:tree–Dverbose通过里面的信息可以看到两个jar都commons-logging存在依赖,但是版本不同。里面的详细信息显示引用了commons-logging:commons-logging:jar:1.

6、1去掉了commons-logging:commons-logging:jar:1.0.3(omittedforduplicate)JAVA开发坑-4:@Around切面注解使用前提条件@Component //没有导致切面不能正产工作@Aspect@Around切面可以拦截函数返回值publicObjectdoAround(ProceedingJoinPoint pjp)throwsThrowable{Object object = pjp.proceed();returnobject;//正常返回}JAVA开发坑-5:减少SQL

7、访问改进前:比如通过uid获取用户权限,以前是先获取用户,然后获取用户对应角色,最后循环获取每个角色的权限。改进后:自定义查询,一条SQL获取用户所有权限,性能能够提升3倍以上。@Query(value="select*fromprivilegewhereidin(selectprivilege_idfromrole_privilegeWHERErole_idin(selectrole_idfromaccount_roleleftjoinroleonaccount_role.role_id=role.idwhereaccount_i

8、din(selectidfromaccountwhereuid=:uidandstatus=1)androle.status=1)andprivilege.status=1)",nativeQuery=true) ListfindByUid(@Param("uid")Stringuid);JAVA开发坑-6:组合索引组合索引生效原则:从左到右依次匹配为where,orderby,groupby后字段建立合适索引对用and连接的多个条件建立组合索引使用数据量少的列和字符串前缀来建立索引使用explain来分析

9、索引的优劣在区分度高的列上建立索引JAVA开发坑-7:IDEAJVM优化IDEA默认的堆内存最大值和初始值都为128M,如果需要跑一些大数据集,显得很吃力。优化设置如下:-Xms4096m初始值-Xmx4096m最大值优化后运行效率提高10多倍。JAVA开发坑-8:权限管理权限管理设置,标准的账户、角色、权限以及关联表设计,存在问题:权限粒度设置过细,不方便使用部门接口运行速度慢使用自定义注解进行数据权限验证权限接口尚待完善JAVA开发坑-9:多进程争夺资源控制哨兵双机热部署,两个进程同时写数据库?防止写入重复的脏数据设置一张sta

10、tus表,记录当前写进程状态select…forupdate行锁谁抢到锁,谁拥有运行的权利10.188.32.710.188.32.810.188.32.8JAVA开发坑-10:NS&Log&RALNS,命名服务,当前未上线Log基于

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。