个人介绍
1、熟练运用 pgSql、Mysql、Oracle 等主流关系型数据库,掌握 mysql 锁、索引等原 理、具备 SQL 优化能力;
2、掌握 Spring,掌握核心源码,并熟练运用 SpringMVC、Mybatis、Mybatis-Plus 等主流开发框架;
3、掌握 SpringBoot,SpringCloud 微服务框架的使用;
4、熟悉 JVM,包括内存模型、垃圾回收机制等,具备 jvm 调优经验;
5、 熟悉 IO、Netty,具备 netty 编码能力;
6、掌握 JUC 并发编程,具备熟练的多线程并发经验;
7、熟悉 Kotlin,能流畅使用 Kotlin 进行编码。
8、 对算法有一定了解,熟悉常用的设计模式;
9、掌握 redis 数据库的使用及其核心原理;
10、掌握 Docker 容器的使用;
11、 熟悉 RPC,并掌握 dubbo 的使用;
12、 掌握 RabbitMQ 的使用及其核心原理;
13、掌握 Linux 常用命令,具备 shell 编写能力;
14、掌握 nginx、zookeeper、GateWay、Nacos、seata 常见组件,Feigh 动态代理 以及 Elasticsearch 分布式搜索引擎的使用;
15、熟练使用 git、maven、svn、gitlab、禅道工具;
16、 熟悉使用 Axure 软件绘制高保真原型图;
17、 有良好的代码规范、追求写出干净优质的代码
工作经历
2023-08-01 -2024-06-19北京信安世纪科技股份有限公司Java开发工程师
项目名称:NetEDS 项目描述:是一款基于商用窑码算法与技术实现的高性能数据安全产品。功能包含密钥管理、KMIP、通用加解密、数据库切面加解 密、切面 Hmac、脱敏管理等多种安全服务。 技术选型:springboot,MybatisPlus,Mysql,Netty。 个人职责: 完成相关服务模块的设计与开发,配合前端完成开发; 完成测试过程中的 BUG 修改; 配合运维完成服务上线。 技术突破: Jvm 调优:有个客户生产环境只要数据量超过 1000w,很容易发生堆内存溢出。通过 jcmd 获得目标服务的进程 id,然后通过 jmap 查看进程内存使用情况,发现有个算法供应商类有 1000 多万的实例存活。然后通过 jstat 命令分析堆内存使用情况,发现 老年代使用率飙高不下,并且触发了多次 fullgc。怀疑是错误的大量创建对象或者内存泄漏导致。通过 jmap 命令拿到堆转储文 件,通过 visualvm 导入查看实例引用,最终定位到加解密方法有个算法供应商类入参传参不对,引用得不到释放,导致内存泄 漏,最终堆内存溢出。解决办法为定义一个全局静态变量,代替每次加
2021-07-01 -2023-08-01武汉天喻软件有限公司Java开发工程师
项目名称:intePLM 项目描述:是针对产品全生命周期管理的系统,是面向制造企业产品生命周期信息化管理的整体解决方案。功能主要有 CAD(图纸) 管理、part(部件)管理、doc(文档)管理、 ec(需求变更)管理、高级搜索管理。 技术选型:springboot,MybatisPlus,Pgsql,Redis,es,nacos,seata,rabbitmq。 个人职责: 负责所分配功能模块的详细设计、功能开发; 单元测试,代码优化工作; 和前端联调,解决项目 bug。 项目名称:中台旗舰版 项目描述:是基于华为中台二次开发的企业管理项目、包括立项管理、项目管理、任务管理、工时管理等。 技术选型:springboot,MybatisPlus,Pgsql,Redis,es,nacos,seata,http 远程调用 restTemplate,rabbitmq。 个人职责:(同上) 技术突破: 参与开发 CAD 模块,因为 cad 模块数据量较大,对接口性能要求较高,多次参与接口重构,sql 优化,曾将一个 20w 返回数据 的接口由 8s 提升至 2s,性能提升 400
2021-04-01 -2021-07-01美的Java开发工程师
项目名称:美星 项目描述:是一款美的自用的一款企业产品,主要功能包括事业部管理、工厂管理、供应商管 理、零部件生产管理。 技术选型:springboot,MybatisPlus , Mysql,Redis,swagger,vue。 个人职责: 完成相关服务模块的设计与开发,配合前端完成开发; 完成测试过程中的 BUG 修改; 配合运维完成服务上线
教育经历
2017-06-09 - 2021-06-01武汉工程大学软件工程本科