1、能够独立完成基于SSM+mysql+mybatis+redis+dubbo等框架的搭建。
2、熟悉java源码,熟练掌握反射,动态代理,多线程并发编程等技术。
3、掌握常用的设计模式,并且能够在项目中灵活运用。
4、熟悉关系型数据库,如mysql,oracle,db2及数据库优化,熟悉非关系型数据库redis。
5、熟悉java虚拟机,熟悉GC,并掌握一定的虚拟机优化方法。
6、熟悉前端Jquery、Ajax、JavaScript代码,可进行初级开发。
一、中国民生银行手机银行:
1. 业务逻辑代码开发。
2. 数据库优化:
1)随着手机银行用户量增大,出现了一些大表,例如收款人表(生产环境数据量为1.8亿条),后台交易日志表(每天会产生2000万条数据)等,性能出现了问题,为了解决这些问题,根据不同表的业务需求。进行了不同的分表逻辑处理。
2)由于生产环境数据库CPU使用率偏高,对sql进行优化改造,把业务逻辑挪到代码层面,同时减少数据库的访问量。
3. 代码优化:
1)编写了一套类似于redis的内存缓存框架MEMKV,对大量访问的数据进行缓存处理,降低数据库的压力。同时为了方便日后扩展,通过面向接口编程,后期可以通过修改配置文件切换为redis缓存。
2)编写了一套内存消息队列,用于对非重要操作的异步处理,降低了系统的响应时间。同时对于跑批系统中大量数据的处理可以极大的提高速度。
4. 公用报警编写。
1)手机银行由多个系统组成,紧密联系,如果某个跑批或者交易等出现问题抛出异常,公用报警系统可以做到定时发送邮件与短息通知运维人员,及时进行处理。
二、北京工商登记申请服务平台(http://wsdj.baic.gov.cn/)
本系统数据库设计了多套表,分为工作库,结果库,历史库。所有的变更操作都在工作库中进行,企业变更操作首先会进行一次拷表操作,把结果库的数据拷贝到工作库当中,用户进行变更时,会修改工作库相应的数据,同时在变更记录表中生成一条记录存储当前变更信息,用户变更完成后提交,工商局具有相应审核权限的工作人员就会生成一条代办,对用户提交的信息进行审核,核对无误后,提交核准,后台会进行营业期限,投资额,投资比例,注册资本的计算,生成证照等一系列操作,然后根据工作库中变更记录表更新结果库的对应信息,通过activemq进行异步通信,拷贝工作库中的数据到历史库当中,采用freemarker生成营业执照,其中使用了oracle的存过过程进行核准操作的后台处理等。