个人介绍
我是一名拥有四年工作经验的Java程序员,具备扎实的编程基础和丰富的项目经验。
在技术栈方面,我熟练掌握JavaSE的基础知识,包括面向对象编程、异常处理、集合框架、IO流、多线程等。同时,我也对Java EE的企业级开发有着深入的了解,能够熟练运用Spring、Spring Boot、MyBatis等框架进行Web应用和分布式系统的开发。此外,我还熟悉常用的关系型数据库如MySQL、Oracle,以及NoSQL数据库如Redis,并具备良好的SQL编写能力。
在项目经验方面,我曾参与过多个中大型项目的开发,涉及银行支付、金融、教培监管等多个行业。这些项目不仅锻炼了我的编码能力,也让我学会了如何在团队中协作、沟通,以及如何应对项目中的各种挑战。
我相信自己的技术能力和项目经验能够为公司带来价值,期待有机会加入贵公司,共同成长。
工作经历
2023-04-10 -2024-05-19神州数码 Java开发
该项目是对交通银行老核心系统进行重构,项目中涉及到开卡、换卡、销卡、存款、转账、贷款、卡冻结等业务。本项目主要是对老核心拆分多个微服务,采用集群分布式的架构体系,相较于老核心提高了系统的TPS(QPS),和进一步加强了系统稳定系和可靠性。
教育经历
2016-03-09 - 2020-07-07郑州工业应用技术学院物联网工程本科
技能
项目介绍:天津市教育局、中国人民银行天津分行和天津监管局等联合下发,关于校外培训机构预收费资金托管有关工作。进一步规范校外培训机构预收费行为,切实维护学生及家长合法权益,同时委托天津农商银行搭建资金监管系统,提供资金托管服务并依法保障监管资金安全。 功能介绍:此系统主要监管校外培训机构预收费行为,就机构预收费资金托管有关工作,创建家长端*小程序购课入口,机构端自助管理系统,银行端的监管系统以及记账簿虚账户系统,提供资金托管服务并依法保障监管资金安全。 责任描述: 负责购课订单管理、用户签到管理、和拨付计划管理开发。 负责开立虚拟账户、为了培训机构做资金监管开立的虚拟账户,首先培训机构需要在天津农行银行申请资金监管账户,将培训机构信息录入监管端系统,请求虚账户系统进行开立虚拟账户,可以开立三种虚拟账户分别是:预支付账户,待拨付账户,结算账户。 定时任务根据生成的拨付计划,将达到拨付条件的资金,通资金拨付接口,将资金通过虚账户系统将虚拟账户钱划拨到机构的实体账户中。
1)生成一个可玩,可操作的游戏窗口 a)继承Frame类,导入相应jar包快捷键 shift+ctrl+o; b)重写paint() 2)添加一个关闭窗口的处理 a)addWindowListener(new WindowAdaptor()) b)重写 windowClosing()方法 3)生成一个坦克,使用实心圆来代替(静态版) a)重写paint()方法,g.fillOval() b)给坦克改变颜色,顺便将窗口的背景颜色改变 4)让坦克动起来 a)将坦克的x,y定义为变量 b)启动一个重画线程的内部类,重写run()方法 (1)定义死循环 (2)调用repaint() (3)注意线程要sleep() c)使用双缓冲方法解决屏幕闪烁的问题 5)将游戏窗口的定值改为常量,方便后期修改、维护 6)添加键盘监听器,让坦克听从玩家的指挥 a)addkeyListener(new keyAdapter()) b)重写keyPressed()和keyReleased()方法 c)添加操纵坦克的逻辑代码 d)注意break穿透问题 7)使用面向对象的思维方式及设计模式重构代码(重点) 8)坦克朝8个方向运动 a)确定坦克的运动方向是哪个方向,使用枚举类型定义 L,LU,RD... locateDirection() b)确定键盘按下后坦克到底朝哪个方向运动,使用布尔类型定义 bL,bD... c)写出坦克运动的方法move() 9)生成一枚子弹 a)定义一个子弹类Bullet,定义相关属性和方法 b)new出来一枚子弹 10)使用键盘中的某一个键,来控制子弹的打出 使用 space键 11)解决坦克在停止的情况下也能发出子弹 a)先画出代表子弹运行方向的炮筒drawLine() b)判断炮筒方向和坦克的方向的关系 c)将原来new 子弹的构造器的方向参数改为炮筒的方向 12)解决只有一颗子弹的问题,实现多发炮弹的连射 a)创建一个放炮弹的容器 b)使用泛型,约束容器中只能放炮弹类型的元素 c)往容器中添加元素的方法容器.add() 13)生成敌方坦克 a)给Tank类添加一个区分敌我的boolean变量 good b)添加重载的构造器,将good属性添加到构造器当中 c)给我方和敌方的坦克添加不同颜色 14)生成一个爆炸类 a)在爆炸类当中添加应有的属性x,y,live b)使用直径不同的圆来模拟爆炸效果,int[] diameter 静态初始化 c)添加一个表示步骤的变量 step d)drawOval(x,y,diameter[step],diameter[step])来表示每一次画圆的步骤 e)在ctc中new出来一个静态的爆炸 15)敌方坦克死亡时添加爆炸效果 a) public Rectangular getRect(){ return new Rectangular(x,y,w,h); } b)添加判断两个矩形是否相交的方法 打击一辆坦克 hitTank(Tank tank) 将坦克放到容器中,打击一系列坦克 hitTanks(List tanks) 16)让敌人坦克运动更加智能 步骤: a)让敌人坦克动起来 构造函数中可以指定方向 New敌人坦克的时候指定敌人坦克的方向 b)让敌军坦克向随机方向移动 Tank是静态的,添加随机数产生器Random类 move完成后,如果是敌军坦克,随机产生一个数,来设定坦克的下一个方向 Direction.values() c)敌军坦克向随机方向移动随机的步骤 添加变量step,记录随机步骤 当step==0时,改变方向,否则,只要随机步骤递减 d)敌人坦克发射炮弹 本军炮弹不打本军 炮弹添加好坏good,根据好坏画不同颜色 修改炮弹的构造方法 修改Tank的fire()方法 修改hitTank()方法 e)敌人的炮火不能太猛烈 17)添加障碍物Obstruction a)创建一个障碍物的父类Obstruction为抽象类,添加属性x,y,w,h,draw()为抽象方法,方便后期维护及修改 b)创建Wall类Grass类继承Obstruction类 c)new Wall() new Grass() 18)子弹撞墙的问题 a)如果撞到,子弹live = false 19)坦克撞墙的问题 a)如果撞到,记录上一步坦克运动的位置,返回上一步的位置 b)不可让坦克的方向Direction.STOP 20)坦克撞坦克问题 a)如果撞到,记录上一步坦克运动的位置,返回上一步的位置 21)超级子弹 a)朝各个方向发射的子弹superFire() b)添加一个很大的炮弹,打到坦克上,此炮弹不消亡,完全出窗口才消亡 c)弹雨
项目描述: 此项目是一款网约车软件,主要功能包括: 乘客端:登录注册,下单,支付,评价,维护个人信息等。 司机端:登录,出车收车,接乘客到订单完成,发起收款等。 车载大屏:同步司机和乘客信息,广告投放,第三方应用投放。 车机端:类似司机端功能,区别是在车机上操作。 项目功能: 地图模块:主要是接入第三方地图实现。车辆同步,车辆调度,里程查询,轨迹点查询,路径规划,距离计算,围栏限定等。 消息模块:轮寻消息,推送,短信等。 派单引擎:实时单派单,预约单派单,抢单等。 订单系统:订单创建,修改,状态变更等。 计价系统:基础计价,动态调价,分时段计价。 支付系统:接入*支付,支付宝支付。余额充值,资金冻结,订单退款等。 账号系统:乘客注册登录,乘客信息维护,司机录入,司机登录,司机信息维护等。 项目中职责: 1.业务需求评审,协议制定,服务端框架搭建,架构设计,技术选型,核心功能实现。 2.独自完成注册中心优化,节省了服务的上下线时间,降低了无效服务的调用率,提高了接口调用的成功率。 3.指导初级开发者。代码review,review代码的时候,提升了10倍效率,以及QPS的提高。(提高并发数 ( 1. 能用多线程用多线程。 2. 增加各种连接数:tomcat mysql redis等等。 3. 服务无状态,便于横向扩展。扩机器。 4. 让服务能力对等。(serviceUrl:打乱顺序))。