你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

intellij idea swing 51 岁 Java 开发近 30 年,从学渣到优质创作者的蜕变秘籍

发布时间:2025-06-19

浏览次数:0

我已年满五十一岁,夸张地说,从事Java开发工作已有近三十载,至今仍活跃在技术前沿。

我今年刚好18岁,为了让自己听起来更有经验,就一本正经地胡编乱造一番,哈哈,别跟我抬杠,你要是觉得有道理,就去跟教语文的老师理论去吧。

尽管我毕业于相关专业,但大学期间除了谈情说爱,似乎就只剩下沉迷于游戏了,对于Java这门课程,我的掌握程度可以说是相当糟糕。然而,毕业后我依然能够顺利就业,这完全得益于当时“物以稀为贵”的市场环境。

自踏入职场以来,我倾尽全力,不断整理学习路径,搜集学习资源,亲自实践操作项目,再加上工作中的点滴积累,终于蜕变为“Java领域的杰出创作者”!

先前有热衷的粉丝请求我分享一些关于学习Java的心得体会,鉴于此,我便决定将多年积累的经验毫无保留地与大家分享,期望这能帮助学弟学妹们在日常的学习过程中减少不必要的曲折。

Java基础教程GitHub_intellij idea swing_Java学习路线

01、Java 学习的重点是什么

1)基础知识

请大家先阅读我精心整理的那份标注为115k+的上星Java教程,其中详尽介绍了Java的各个知识点,诸如Java语法、Java集合框架、Java输入输出、Java并发处理以及Java虚拟机等内容,篇幅适中,仅讲解核心要点。

后台回复「001」就能拉取到。

若时间分配得宜,阅读本教程大约需时两周。凭借这份Java教程作为辅助,学习Java的成效将显著增强!

intellij idea swing_Java基础教程GitHub_Java学习路线

若你打算阅读书籍,我建议你阅读《Java 核心技术卷 1》。若你询问我为何不推荐《Java 编程思想》,那是因为尽管它被誉为经典,却更适宜那些已有编程背景的读者。至于为何我对此有了解,那是因为我自身就曾险些被劝退。此外,作者在序言中也明确指出了阅读此书所需具备的前提条件。

本书预设你对编程基础有所了解:你已掌握程序由一系列指令构成的知识,对子程序、函数或宏的定义有所认识,同时熟悉“if”等控制指令以及“while”等循环机制等概念。

《C程序设计语言》一书中对子程序、函数和宏等概念有所阐述,若有机会,不妨先阅读此书。无需投入过多时间,对于指针等内容可以先略过,待编写了诸如“hello world”这类小程序之后,再回头学习或许会更加容易理解。

若你渴望浏览网络教程,不妨关注我的《辅导妹妹学习Java》专栏,那里内容轻松愉快,相关资源已在网络平台上公开发布。

禁止访问该网站,特别是Tech-Learn-Java这一部分。

intellij idea swing_Java学习路线_Java基础教程GitHub

再贴一个 CS 小姐姐的评语:

Java基础教程GitHub_Java学习路线_intellij idea swing

若您希望观看视频教学,不妨考虑尚硅谷或动力节点的课程,这些内容在B站上均可找到,观看时伴随弹幕,能增添学习的趣味性。然而,这两套教程涵盖的知识量相当庞大,其中部分内容或许并非必须学习,适当跳过它们,能帮助您节省不少宝贵时间。例如:

这些内容并未全部列出,视频教程里的一些部分实际上是可以省略的,比如某些内容已经显得陈旧,例如,现在人们通常直接使用VS Code和IDEA;还有一些则变得不再必要,比如JDK的安装和PATH环境变量的配置,因为有了IDEA之后,这些步骤就不再需要了;另外,还有一些内容无需重复学习,因为《教妹学Java》专栏和《星标115k+的Java教程》中已经有过介绍。

自学过程中,及时获得反馈显得尤为重要,这如同游戏中的通关奖励,每提升一个等级,便会获得新装备,从而激发更强的学习动力。那么,如何为自己设立奖励呢?答案是记录笔记:一方面,它能帮助整理思路,复习知识;另一方面,它还能充当备忘录,便于日后复习。

目睹笔记日渐厚实,你便会感到一股源源不断的活力涌上心头。倘若不加以记录,随着时间的流逝,你或许会渐渐忘却所学内容,届时难免会感到失落与沮丧。

请考虑将你的学习笔记按照类别妥善整理intellij idea swing,并创建一个仓库,将它们一一存入,当然也包括那些曾经敲打过的代码。采取这种方式,你那些曾经被认为是‘糟糕’的代码便能在网络上永久留存,更有可能被运至南京进行冷冻保存,真是令人忍俊不禁。

在Java的入门阶段,并发编程与Java虚拟机的理解往往较为困难,你可能会在自学过程中遇到不小的挑战。不必过于担忧,若短期内难以掌握,完全可以选择先学习其他内容。这并不意味着,你必须彻底精通并发编程和Java虚拟机,才能继续学习后续的知识。

这一点与玩游戏的体验或许有所区别,在游戏中,若未能击败当前关卡的Boss,那么下一关的地图就无法正常加载;而在学习过程中,情况并非如此,即使某个知识点尚未掌握,你仍可以转向学习其他知识点,待你掌握了新的知识点并提升了理解力后,便能够重新回到之前未掌握的知识点进行学习。

Java虚拟机这类技术,自学阶段能彻底掌握的人寥寥无几,这是因为众多性能优化的难题,只有通过实际操作中的实战经验,才能逐渐领悟到其中的精髓。

2)

网络上有不少人士,他们往往持极端观点,觉得掌握全家桶技术并无实际价值,他们这样认为的理由是技术更新换代速度极快,各种框架终究会被时代淘汰,等到你掌握这些技术时,或许它们已经变得不再适用。

还有一些人会杠,怎么 Java 程序员变成了 程序员呢?

谈何容易?在 Java Web 开发领域,它已经和 Java 核心库地位相当,成为了基础设施的一部分。若想成为一名合格的 Java 程序员,这无疑是必走的一条路。

此外,还有一个至关重要的方面,那就是在自学过程中,你很难有足够的时间或是能力单凭一己之力构建出一个如此强大的框架。一旦掌握了相关技能,你便能运用AOP和IoC等技术,从而进行企业级项目的开发。

此外,它是一个构建于Java平台之上的开发框架,其核心技术包括面向切面编程(AOP)和依赖注入(IoC),若对Java基础知识掌握不扎实,那么学习这些技术将会变得相当困难。

为了深入理解面向切面编程(AOP)和依赖注入(IoC)的概念,我在前作中已有详述。若欲寻求更为专业的解析,不妨查阅《码农翻身》一书,具体可参考第187页的内容,仔细研读。

您可以查阅沈世钧老师在知乎上所发表的一篇文章,我认为其中的阐述十分透彻明了。

https://.zhihu.com/p/

在众多模块中,最常被应用的一个模块,它是基于 IoC 和某种机制构建而成的,若不熟悉 IoC,便难以理解该模块的配置方式;同样,若不掌握该机制,便无法理解模块是如何进行请求注入和拦截的。

再谈谈Boot。在Boot出现之前,开发一个Web项目需要完成众多配置工作,例如,要设置web.xml文件,引入相关库和框架;进行数据库连接的配置,以及事务管理的设置;还需要配置日志文件;此外,还需部署特定环境来运行Web项目。然而,自从有了Boot,这些繁琐的步骤都变得简单快捷了。

若你打算着手一个实践项目,例如创建一个图书管理平台,那么操作起来将会变得格外简便。只需直接访问以下网址:

https://start..io/

在项目配置过程中,需挑选 Maven、Java 以及必要的依赖库,例如、等。

Java学习路线_intellij idea swing_Java基础教程GitHub

接着,点击相应按钮,即可创建一个预设的 Web 应用项目。在解压该文件后,将其导入至 IDEA 环境中,启动主程序,并添加以下内容:

@SpringBootApplication
@RestController
public class HelloSpringBootApplication {

    public static void main(String[] args) {
启动SpringApplication,运行HelloSpringBootApplication。.classargs);
    }

    @RequestMapping("hello")
    public String hello() {
     return "Hello World";
 }
}

启动主程序后,只需在浏览器地址栏输入 http://:8080/hello,效果即刻显现,操作极其简便!建立这一基础后,你只需专注于业务细节的实现,嗯,没错,只需关注 CRUD 操作即可。

本身蕴含着众多卓越的设计思想,在学习该框架的过程中,实际上也在巩固着Java基础知识的掌握,待你熟练运用后,你或许会感叹:“哇,原来Java竟然有如此多的应用场景!”

学习的方法有哪些?不妨去B站观看江南一点雨制作的教学视频,我多次向大家推荐过,这并非仅因我们关系密切,真正的原因在于,他的视频内容优质,非常值得向大家推荐。

Java学习路线_Java基础教程GitHub_intellij idea swing

若想真正掌握,单凭观看视频是远远不够的,还需亲自实践操作。在此,我联合江南一点雨精心打造的VHR项目,强烈建议各位尝试。

https://.com/lenve/vhr

该系统采用前后端分离架构,相关文档详尽完备,非常适合个人进行自学研究。

需要特别指出的是,Boot 的问世并不代表 和 已经失去了其价值,实际上,从其设计初衷来看,Boot 主要功能是实现了 的自动化部署,从而简化了项目的构建过程。

从技术层面分析,Boot框架的根基仍旧是核心机制,即AOP与IoC,而Boot本身仅是这一机制的承载工具。个人认为,掌握Boot的正确学习顺序应当是:先了解MVC,再逐步深入学习,最终过渡到Boot。

3)其他知识

MySQL、Redis 等数据库技术,以及 Vue、CSS 等前端技术,在进行实践项目时是不可或缺的。然而,在掌握了 和 Java 的基础知识之后,对这些技术的学习将会变得更加简单。

当然,Java的知识体系相当广泛,涉及众多需要掌握的要点,不过不必急于一时,这些内容可以在工作过程中逐步学习掌握。

在大学时光中,我虚度了光阴,然而步入职场后,当我意识到自己与岗位需求之间存在不小的鸿沟,便下定决心付出极大的努力去缩小这一差距。幸运的是,编程学习是一个从杂乱无章到条理清晰的过程,众多知识点之间相互联系,若遇到一时难以理解的内容,无需灰心丧气,亦无需自暴自弃,因为这种情况每个人都可能遇到,并非个人学习能力不足所致。

与 Java 中的接口相似,CPU 执行比较的机制也具有相同的特点(可参见《程序是怎样跑起来的》一书)。若需对累加寄存器内的 XXX 数据与通用寄存器内的 YYY 数据进行对比,在执行比较操作后,CPU的运算部件会自动执行 XXX 减去 YYY 的运算,若所得结果为正数,则表明 XXX 的数值高于 YYY;若结果为零,则意味着两者数值相同;而若结果为负数,则说明 XXX 的数值低于 YYY。

瞧瞧,这还挺有趣吧?CPU 竟然与接口连接在了一起。

02、哪些 Java 知识不需要再学了

这位年逾半百的长者,亲历了Java技术领域的诸多演变,诸如:

集成开发环境,自学生时期开始使用,再到步入职场后频繁接触,以及最近几年愈发盛行的IDEA。

Web开发领域,经历了从最初的SSH架构,逐步演进至SSM框架,如今 Boot已成为业界主流,占据着主导地位。

究竟有哪些Java技能已经变得不再适用,以至于无需再进行深入学习呢?我的判断依据主要包括:

为了避免不必要的冲突,我采纳了沈世钧老师的主张,他作为知乎上程序员领域的杰出回答者,若有人感到不适,大可不必关注我们的意见,按照自己的方式去学习,当作未曾目睹,未曾听闻即可。

https://www.zhihu.com////

1)JSP

MVC,即模型-视图-控制器,这一概念相信大家都不陌生,它是软件工程领域内一种常见的架构模式。该模式将软件系统划分为三个核心组成部分:模型(Model)、视图(View)以及控制器()。

JSP,即Java Pages,亦称Pages,是由Sun公司主导开发的一种动态网页技术规范。它允许将Java代码及特定可变内容融入静态页面,从而实现以静态页面为模板,动态生成页面内容的功能。

这无疑为 Java 后端开发者带来了福音,记得七八年前,我为某位客户打造了一款电商系统,当时便采用了 JSP 技术,而如今,这套系统仍在稳定运行。

“前后端分离”模式日益盛行,导致JSP技术逐渐显得过时。众多互联网企业纷纷摒弃了这一模式,转而采用更为彻底的“前后端分离”架构。在这种架构中,后端主要负责提供服务接口(即REST接口),而前端(主要指H5技术)则通过这些接口进行数据的发送与接收,数据格式通常为JSON。

沈世钧老师提出,完全可以放弃对JSP的学习,对此我深表赞同。

2)

该子项目是整个项目的一部分,它运用了Java Pages(JSP)技术,并被视为一个典型的基于MVC模式的经典应用框架。然而,随着时代的进步和技术的飞速发展,尤其是新兴技术的崛起,它已经被淘汰,不再受到重视。尽管在设计阶段,该项目借鉴了许多业界优秀的理念,但现实往往如此无情,胜者为王,败者为寇。

沈世钧老师提出,我们应停止现有的学习,转而投身于新的起点,这一观点我也深表赞同。

3)

实际上,当我刚开始步入职场,参与的项目中就已经应用了它,这给我留下了深刻的印象。这项技术的最初目标是尽可能地释放程序员的负担,实现数据库与程序的完全分离,并达到完美的对象关系映射。然而,过犹不及,过多的配置使得该技术在应用过程中变得异常繁重。

在几年前,我曾遇到一个相对更为简洁的框架,其SQL指令大多直接嵌入Java类文件,这让我感到操作起来更加顺畅和自然。

近些年来,流行的做法相对更为温和,并非一味只侧重于配置支持,同时它也涵盖了SQL的支持,这无疑增强了其灵活性。

沈世钧老师提出,我们无需继续深造,掌握现有知识即可,我对这一看法深表赞同。

4)

在1990年代中期崭露头角,堪称Java迅速崛起的关键推手之一,然而岁月流转,这种网页插件技术已逐渐被时代所淘汰,连带着那些表现力更为出色的Flex、Flash等浏览器插件也一并退出了历史舞台。

5)Swing

谈及 Swing,或许有人会提出异议,认为 IDEA 不就是基于 Swing 进行开发的吗?这样的观点我能够感同身受。

简单提一下,Java 在其诞生初期几乎面临绝境,幸亏网页浏览器的迅猛发展,而它自身作为浏览器插件为网页注入了更强大的活力,从而使得 Java 获得了新生。

在现实情况中,桌面应用程序多采用 C++(MFC)或 C#(、WPF)进行开发,Swing 的使用频率已经相当低。然而,IDEA 作为一个特例,仍然有人质疑它是否也是基于 Swing 开发的。实际上,它并非如此,而是利用了 IBM 进行优化的 SWT/JFace 技术进行开发的。

有人质疑Swing能实现五子棋、天天跑酷等直观易玩的小游戏intellij idea swing,这有助于激发编程新手的学习热情,还能锻炼他们的编程思维能力,甚至为学习Java打下坚实的基础,相较学习全家桶而言,优势明显,毕竟框架这类工具终究会被时代所淘汰。

嗯。。。。。。我叫不醒一个装睡的人,(逃

6)JDBC

Java,亦称JDBC,是Java语言与数据库进行交互的基础框架,随后衍生出了JTA(Java API)这一规范。在《码农翻身》一书中,作者对JDBC进行了较为详细的阐述。

理论上,JDBC 是一个至关重要的知识点,然而在实际操作中,若每次执行增删改查时都必须重新开启连接,完成操作后再关闭,那么频繁地创建和销毁连接所造成的开销将变得十分巨大。为了减少这种不必要的开销,便诞生了 JDBC 连接池这一机制,它能够有效地重复利用已经建立好的连接资源。

诸如Druid等,已成为当前应用最广泛的JDBC连接池,因此,在JDBC的学习顺序中,其重要性逐渐降低。

再次强调,虽然其中可能存在一些过于武断的观点,但若你发现有些并非必须学习的内容却已掌握,那无需担忧,学习这些内容无疑能带来益处,有助于拓展你的思维视野。此次特意做出这样的解释,希望能够避免引起不必要的争议。

最后,需特别提醒各位,切勿在语言运用上自我设限,例如,若自诩为Java开发者,便对其他编程语言抱有强烈排斥,此类观念极有可能导致发展道路受限!

在学习过程中,建议先集中精力掌握一门编程语言,例如 Java。只有将 Java 的学习路径彻底理顺,之后转换到其他领域时,你才会发现过程变得格外轻松。

我在大学期间并未学习C语言,然而后来我意识到,若想深入研究操作系统,C语言是不可或缺的技能。此外,我的妹妹当时也在学习C语言,但她对老师的讲解感到困惑。因此,我决定花些时间补充学习C语言,尽管指针部分确实有些复杂,但总体上并没有遇到特别难以克服的难点。

关键在于,先前在 Java 中理解不够透彻的一些概念,诸如值传递,在学习 C 语言之后,竟然突然变得明朗起来。

在掌握了 C 语言的基础之后,阅读《深入理解计算机系统》以及《程序是怎样跑起来的》这两本书,便会觉得理解起来不再那么困难。

Java的知识体系相当广泛,若想掌握得扎实,务必精选关键点进行学习,不可全面铺开,否则即便经过一个月,甚至一个学期,你也难以察觉到明显的进步。

好了,我是二哥呀,我们下期见~

如有侵权请联系删除!

13262879759

微信二维码