1. 熟练掌握 Java 核心知识(IO、网络、多线程、反射、常用集合框架、常见的Java 锁、以及分布式锁的应用、理解线程
池原理、CAS底层实现)。
2. 熟练使用JUC并发包,深刻理解JMM内存模型,并且能根据实际需求场景灵活使用多线程处理。
3. 理解分布式理论下的CAP、BASE理论思想,根据实际业务场景选择高可用或强一致性的框架使用。
4. 熟悉类加载机制,JVM内存模型,GC垃圾回收算法以及GC收集器。
5. 熟练使用并理解Spring、SpringMVC、Mybatis、SpringBoot相关底层工作原理,熟练掌握SpringCloudAlibaba微
服务框架 下的Nacos,分布式事务seata, OpenFeign,GateWay服务网关等等,能快速熟悉框架整合下的项目开发
。
6. 熟练掌握Mysql关系型数据库,了解原理、索引原理以及四种隔离级别,掌握Explain语句以查询SQL语句执行过程,
并建立高效索引,对sql提供优化。
7. 熟悉Redis非关系型数据库,了解RDB、AOF持久化底层原理,了解缓存击穿、缓存穿透、缓存雪崩等问题及其解决方
案,了解redis List,Hash,Zset底层数据结构。
8. 熟练使用消息中间件RabbitMQ能够解决常见的消息丢失和重复消费等问题。
9. 熟练使用vuejs、html、css、js进行前端开发操作。
10. 熟练使用Linux操作系统、docker。
项目名称:重庆法院专网开放平台-业务中台
担任角色:java开发工程师
项目周期:2023年6月-2023年12月
主要技术:SpringBoot、Redis、Mybaits-plus、Mysql、Nacos、Doris、Xxl-job、Seata、Gateway、feign、SPI机
制、Minio、HttpClient、Vuejs
项目描述:
该项目是为开发者提供通用的模板组件进行统一管理的目的,通过该业务中台验证模板组件的合法性并对模板组件的
调用进行记录,汇总到数智大屏并展示。
工作内容:
1.负责接入法院SSO单点登录:通过HttpClient进行调用法院统一平台登录,拿到token令牌,业务中台在redis中记
录使用username作为key,其登录的token作为value,设置其过期时间并返回,第三方用户通过合法的token去访问模板
资源。
2.负责第三方独立实现合法性验证:业务中台提供模板服务会进行合法性校验,通过暴露出去一个统一的校验模板,
第三方通过这个模板接口进行实现,使用SPI加载机制把实现的模板进行加载并缓存,在提供模板服务的时候,取出模板
实现并调用校验。
3. 负责模板组件发布:第三方通过在业务中台发布模板组件上传到Minio并选择是否使用第三方自己的校验模板,并
通过审核后才能使用。
4.参与日志汇总:自定义注解LogAspect,通过AOP切面编程记录模板调用的执行结果,通过kafka进行采集日志数据
,kafka消费时存入Doris数仓。
5.参与数智大屏设计:罗列每个模板组件调用结果并对结果进行反查。
6.负责优化数据字典查询效率,如查询全省、全市法院这些字典数据在系统中每次都要查询数据库势必会浪费一定的
资源和查询效率,是否可以将这些数据放入到缓存即JVM缓存中,通过Map存储对应的字典数据,在第一次调用时将其值p
ut到map中去,之后每次调用都从map中获取即可,同时将该类注入到Spring容器中, 另一方面Spring获取bean默认是单
例也避免了频繁new对象。
7.项目优化:存在的问题,xxl-job在每个项目中都有用到过,所以每个项目都要重复配置一遍xxl-job从而产生大量重
复代码。解决方案,通过SPI机制自定义一个starter,各个服务只需引用该starter即可方便使用;创建xxl-job配置类,设
置对应的属性值通过@ConditionalOnMissingBean注入到Spring容器,如果当前服务存在当前bean就不需要注入,再
创建一个配置属性信息类,使用者可以直接在 application.yml 中直接设置对应的属性值,最后 在ClassPath 路径下的MET
A-INF/service 创建 spring.factories文件配置要自动装配的xxl配置类的全限定名,最后打包进行上传至业务中台以供下载
。
项目名称:重庆法院专网开放平台-服务中台
担任角色:java开发工程师
主要技术:SprintBoot、Redis、Mybaits-plus、Mysql、Nacos、Doris,Xxl-job,Seata,Gateway,feign,SPI机制
,Minio,HttpClient,Vuejs
项目周期:2023年1月-2023年6月
项目描述:
该项目是为整合各方服务、接口为目的进行开发,通过该服务中台进行各方服务、接口统一调用,并对调用的服务接
口进行合法性校验、参数校验等,随后对服务接口的结果进行记录,汇总到数智大屏并展示。
工作内容:
1.负责接入法院SSO单点登录:通过HttpClient进行调用法院统一平台登录,拿到token令牌,业务中台在redis中记
录使用username作为key,其登录的token作为value,设置其过期时间并返回,第三方用户通过合法的token去访问模板
资源。
2.负责服务接口发布:服务商发布服务接口,选择是否使用第三方自己的校验模版,并通过审核后才能提供调用服务
。
3.负责服务接口在线调试:vuejs、axios实现在线请求调用,服务发布时服务商会填写调试地址和正式地址,接口调
试默认使用调试地址进行调用,根据服务接口请求类型设置不同的contentType,在url、请求体设置参数,进行手动调用
,随后返回调用结果到页面进行展示。
4.负责服务接口文档:服务商发布服务接口时,根据填写的参数,自动生成具体的服务接口文档,页面展示字段其说
明及其是否必传,递归进行组装请求参数事例json和响应参数事例json,页面通过pre标签展示json数据。
5.负责服务接口:服务调用方调用服务商发布接口,通过