五年Java学习心路历程

news2024/10/5 15:25:15

在这里插入图片描述

五年Java学习心路历程

从大学毕业到工作的过程中,我度过了五年学习Java的岁月。从基础语法到各种细节技术再到分布式和微服务架构,经历了许多的挑战与成长。接下来,我将详细记录这段心路历程,与大家分享学习Java的经验与感悟。

大学时期:Java基础打牢

我第一次接触Java是在大学的编程课程中,那时的我对编程一无所知,但出于对计算机科学的热爱,我迅速投入到了Java的学习之中。在大学四年里,我系统地学习了Java的基础知识,包括:

  • Java基本语法:数据类型、运算符、流程控制、数组等;
  • 面向对象编程:类、对象、封装、继承、多态等;
  • Java集合框架:List、Set、Map等常用数据结构;
  • 异常处理:try-catch-finally、自定义异常等;
  • I/O流:字节流、字符流、缓冲流等;
  • 多线程编程:线程的创建、同步、通信等;
  • 网络编程:TCP、UDP、Java Socket编程等。

实习阶段:Java Web开发入门

大学三年级时,我开始了我的第一份实习,涉足到了Java Web开发。在实习过程中,我学习了以下技术:

  • Servlet与JSP:Java Web编程的基石,负责接收和处理HTTP请求,动态生成HTML页面;
  • MVC设计模式:将业务逻辑、数据和界面分离,提高代码的可维护性;
  • 常用Web框架:如Struts2、Spring MVC等,简化Java Web开发流程;
  • 数据库编程:JDBC、ORM框架如Hibernate、MyBatis等;
  • 前端技术:HTML、CSS、JavaScript、jQuery等。

通过实习,我不仅掌握了Java Web开发的基本技能,还加深了对Java生态圈的了解。

工作初期:JavaEE框架与企业级应用

大学毕业后,我进入了一家软件开发公司,开始了我的JavaEE之旅。在工作初期,我学习了以下技术:

  • Spring框架:掌握IoC、AOP等核心概念,熟练使用Spring的各种组件;
  • Spring Boot:简化Spring应用开发,快速构建独立的、生产级的Spring应用;
  • Spring Cloud:一系列微服务开发工具,包括服务注册与发现、负载均衡、熔断器等;
  • 分布式缓存:如Redis、Memcached等,提高系统性能;
  • 消息队列:如RabbitMQ、Kafka等,实现系统解耦、异步处理等;
  • 分布式事务:两阶段提交(2PC)、TCC等解决方案。

在这一阶段,我开始将Java技术应用到实际项目中,锻炼了自己的编程能力和解决问题的能力。

深入学习:Java虚拟机与性能调优

随着对Java的熟练程度逐渐提高,我开始关注到Java虚拟机(JVM)以及程序性能的问题。在这一阶段,我学习了以下内容:

  • JVM内存结构:堆、栈、方法区、程序计数器等;
  • 垃圾收集器(GC):Serial、Parallel、CMS、G1等;
  • GC算法:标记-清除、复制、标记-整理等;
  • JVM性能调优:堆内存、新生代、老年代、GC策略等参数调整;
  • Java性能监控与诊断工具:如VisualVM、JProfiler、MAT等;
  • Java性能优化实践:代码优化、缓存策略、数据库优化等。

通过深入学习JVM和性能调优,我对Java技术有了更加全面的认识,能够更好地解决实际项目中的性能瓶颈问题。

分布式与微服务架构

在现代软件开发中,分布式和微服务架构已经成为了一种趋势。在这一阶段,我学习了以下内容:

  • 分布式基础理论:CAP定理、BASE理论、最终一致性等;
  • 分布式系统设计:系统拆分、数据切分、服务编排等;
  • 分布式存储:分布式数据库、分布式文件系统等;
  • 分布式计算:MapReduce、Spark等大数据计算框架;
  • 微服务架构:服务拆分、服务治理、服务监控等;
  • 容器技术:Docker、Kubernetes等,实现应用的轻量级部署和自动化运维。

通过学习分布式与微服务架构,我能够设计和构建出更加高可用、高性能、可扩展的系统。

总结

回顾这五年的Java学习心路历程,我从基础语法到企业级应用,再到分布式与微服务架构,逐步建立了自己的Java技术体系。在这个过程中,我深刻体会到了持续学习的重要性,不断地充实自己的知识储备,提高自己的技能水平。

我相信,Java作为一门成熟、优秀的编程语言,在未来的软件开发领域仍然会有广泛的应用。我会继续沿着这条路走下去,不断挖掘Java的潜力,为编写更好的软件贡献自己的力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java基础---String str=new String(“tang“)创建了几个对象

目录 典型回答 常量池基本概念 字符串常量池的结构 再看字面量和运行时常量池 intern 还是创建了几个对象 intern的正确用法 典型回答 创建的对象数应该是1个或者2个如果常量池中存在,则直接new一个对象如果常量池不存在,则在常量池中创建一个对象…

KubeEdge官方示例运行成功_Counter Demo 计数器

运行KubeEdge官方示例_Counter Demo 计数器 KubeEdge Counter Demo 计数器是一个伪设备,用户无需任何额外的物理设备即可运行此演示。计数器在边缘侧运行,用户可以从云侧在 Web 中对其进行控制,也可以从云侧在 Web 中获得计数器值,原理图如下…

前端web入门-移动web-day10

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 移动Web基础 手机模拟器 屏幕分辨率 视口 二倍图 适配方案 rem 适配方案 rem 媒体查询 rem – …

使用java生成mvt切片的方法

如何使用java生成geoserver的矢量切片供前端(mapbox等)调用 目录新的想法Java能为切片做什么如何生成切片如何转换xyz数据如何查询如何输出mvt格式给前端前端如何调用 目录 好久没发博客了,每日或忙碌、或悠闲、或喜或悲、时怅时朗&#xff…

访问学者怎样准备申请推荐信

作为访问学者,申请推荐信是非常重要的一步,它能够在您的申请过程中增加信誉度和竞争力。一个优秀的推荐信可以更好地展现您的学术能力、研究潜力和个人品质。以下是知识人网小编整理的关于如何准备申请推荐信的建议: 1. 确定推荐人&#xff1…

阿里云OSS上传文件工具类

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

20本期刊影响因子上涨,7月SCI/SSCI/AHCI/EI刊源表已更新!

2023年7月SCI/SSCI/AHCI/EI期刊目录更新 2023年6月28日发布的最新《期刊引证报告》中,我处合作期刊中,7月刊源表有20本期刊影响因子上涨,同时新增多本快刊! 重磅!2023年JCR正式发布(附影响因子名单下载&a…

[github-100天机器学习]day2 simple linear regression

https://github.com/LiuChuang0059/100days-ML-code/blob/master/Day2_SImple_Linear_regression/README.md 简单线性回归 使用单一特征预测响应值。基于自变量X来预测因变量Y的方法,假设两者线性相关,寻找一种根据特征或自变量X的线性函数来预测Y。 目…

工资难以突破升职加薪必看,资深测试经理教你怎么做好“管理岗”!

要了解测试管理岗位需要具备的素质,我们先来看下测试管理岗位的职责。以下是 Boss 直聘上某几家的公司的测试经理的岗位要求: 如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测…

从零开始搭建STM32CubeMX开发环境

本文记录一下如何从零开始使用STM32CubeMX,包括软件的安装,环境的搭建,配置代码的生成等; 本文以STM32G030C8T6为例,如果你的单片机不是以STM32G030C8T6为例,换成你的单片机类型即可,过程都是通…

03_单一职责模式

单一职责 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 装饰模式 动态(组合)地给一个对象增…

系统没有“internet信息服务(IIS)管理器”

系统没有“internet信息服务(IIS)管理器” 解决方案1.打开控制面板,找到并打开程序。2.找到并打开程序里的启用或关闭windows功能。3.在‘Internet Information Services’下的‘web管理工具’中找到IIS相关功能,在前面的复选框中…

探索数字孪生世界:市场上五款炙手可热的数字孪生产品介绍

山海鲸可视化:山海鲸可视化是一款国内领先的数字孪生软件,具有强大的GIS功能和可视化效果,广泛应用于城市规划、建筑设计和智慧城市等领域。 华为云数字孪生:华为云数字孪生平台提供了全面的数字化解决方案,包括智慧城…

链表中倒数第k个结点(快慢指针问题)

⭐️ 往期相关文章 💫链接1:leetcode 876.链表的中间结点(快慢指针问题) 💫链接2:leetcode 206.反转链表 💫链接3:leetcode 203.移除链表元素 💫链接4:数据结构-手撕单链表代码详解…

实训笔记7.4

实训笔记7.4 7.4一、座右铭二、IDEA集成开发环境的安装和使用三、DEBUG断点调试四、Java设计模式4.1 适配器模式4.2 动态代理模式4.3 单例设计模式 五、Java中网络编程5.1 网络编程三个核心要素5.2 TCP网络编程 六、基于网络编程的聊天系统6.1 需求分析6.2 系统设计6.2.1 概要设…

解放运营人员:钡铼技术S475物联网网关实现养殖环境的远程监控与告警

在养殖行业中,对环境参数的精确监测与控制至关重要。然而,传统的监测方法往往存在诸多痛点,如数据采集不准确、传输速度慢、可视化效果差等。为了解决这些问题,钡铼技术公司推出了其旗舰产品——S475多功能RTU,该产品在…

如何利用思维导图提高项目管理效率

思维导图 是一种强大的工具,可以帮助我们更好地组织和管理项目。它是一种以图形方式展现思维和概念之间关系的方法,通过将主题、子主题和分支串联起来,帮助我们清晰地了解任务的层次结构和相互关系。在项目管理中,思维导图可以帮助…

数据生成实体类解决方案

文章目录 数据生成实体类解决方案 简介工作原理解析JSON生成实体类示例JSON消息解析JSON核心方法:调用示例:将数据保存到实体类中。将实体类转为输出为JSON。 思考 数据生成实体类解决方案 直接将xml导入到Studio里即可。下载文件连接: CSDN…

GPIO点灯

简述:本人使用教材为《嵌入式系统原理与应用》,GPIOCON控制输出,GPIODAT控制高电平和低电平,高电平点亮,低电平熄灭。

【若依】框架搭建,前端向后端如何发送请求,验证码的实现

若依框架 若依框架(Ruoyi)是一款基于Spring Boot和Spring Cloud的开源快速开发平台。它提供了一系列的基础功能和通用组件,能够帮助开发者快速构建企业级应用。若依框架采用了模块化的设计理念,用户可以选择需要的功能模块进行集…