swing算法好学吗(别再学Swing框架了好吗?)

  • A+

背景

今天摸鱼论坛的时候发现又有人在讨论swing还有没有必要学,这让我想起来之前也有很多人问过我这个问题,比如这名学生做课设,是要做一个在线考试系统,老师强制要用swing框架

如果说这个我还可以理解的话,因为学校毕竟不是培训机构,学校是教理论的地方,所有高效普遍都是用C执教,Java一般大二左右才会开始学习,的确也没有义务教会学生职业技能,而且老师们大部分时间都在任教,没怎么接触过企业那一套也无可厚非。

不是有句玩笑话吗,只有学过swing的人才知道spring有多香!

但下面这个工作两年的同学还在用swing框架,我就感觉有点匪夷所思了0.0

着实没想到2021了,除开学校不算,Java中的Swing框架早被淘汰了,哪个项目还会用这玩意编写客户端界面呢,企业里居然还有人在用swing开发!

所以,我实在看不下去了,而且之前也有很多同学问过我学到什么程度才可以找到工作,相信这也是很多大三大四的同学所关心的,今天这篇文章就来跟大伙好好唠唠,希望能帮助一些菜鸟从学校平滑过渡到企业。

话不多说,坐稳扶好,发车喽!

一、开发工具

作为一名开发人员应始终了解他们使用的工具,是事倍功半还是事半功倍就看你会不会正确地使用开发工具了。工具用对了,你就可以更加轻松高效地完成工作

1、Intellij IDEA

这个不用我多说了吧,如果你想写出质量杠杠的Java代码,又想追求开发效率,用 Intellij IDEA准没错

2、Ubuntu Linux

我一直在使用Linux作为主要操作系统。我使用的第一个发行版是2012年的Ubuntu 12.04 LTS。我尝试了许多Linux版本。Kali,Debian,Pirot,Mint等。我发现Ubuntu是一个开发人员友好的发行版,其中包含许多开发人员工具。在Dell Vostro 5590中,我一直使用Ubuntu 20.04.1 LTS focus作为主要操作系统

3、Vim

VSCode是轻量级的,VSCode的一大特点就是你可以通过多种方式来调整设置,而且Vim可以和VScode集成在一起,它还带有一个集成终端,可用的扩展太多,使开发人员的工作变得更加轻松

4、Docker

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化

5、Git

Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。我远程代码存储操作都是选择Github和GitLab

这里我得多提一嘴,虽然很多人都知道GitHub,但事实上会使用GitHub的人并没有想象中那么多,甚至可以说是很少,我建议不管菜鸟还是老鸟都要善于使用GitHub,这会让你省很多事。

6、Lucid Chart

作为软件工程师或开发人员,我们喜欢将要构建的复杂系统用可视化图表表示除了,Lucidchart是我用来绘制UML图表和AWS架构的工具

7、Swagger Editor

Swagger Editor是一款非常不错的API开发工具,专门用于生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。还可以生成客户端SDK代码用于各种不同的平台上的实现

8、Figma

Figma是一个矢量图形编辑器和原型工具,主要是基于浏览器了,支持macOS和Windows桌面应用程序的离线功能,面向Android和iOS用户的Figma Mirror允许你在移动设备上查看Figma原型

9、htop

htop是一个交互式系统监视、进程查看和进程管理器。它被设计为Unix下的任务管理器top的替代品,它显示了在计算机上运行的进程列表,通常按CPU使用量排序,她还可以垂直和水平滚动列表以查看所有进程和完整的命令行。

除了我说的这些其实还有很多有趣又实用的工作,为了不使文章显得累赘这里就不提了,感兴趣的同学可以自己去网上搜索。

这些工具不知道去哪里下载的话,我也都给你们整理好了安装包

需要的朋友转发 关注 私信“528”,即可免费领取。

二、Java基础

很多人有个误区,认为一直在简历上疯狂堆项目经验就可以提高自己在面试官中的地位,这样做严格说起来其实也不算错,但前提是这些项目够分量,而你的熟练度也够高,不然一问三不知,只会适得其反。

相比于去剑走偏锋,我认为打磨自己的基础来得更加实在和稳妥,毕竟一个刚毕业的大学生,除了极个别弄潮儿,哪来的那么多项目经验,那这时候面试看什么呢?

就看你的java基础和是否有被公司培养的价值。

像Java的数据类型、Java的运算符、Java的流程控制、Java的面向对象、Java的异常处理,这些都是最基础的东西,是初学Java的时候必须掌握的知识点。

然后是Java集合框架、Java IO、Java网络编程、Java多线程并发、Java虚拟机,这些是 Java中比较核心的知识点,也是必须要掌握的。

我也给大家整理了一份Java基础知识总结,里面涵盖了Java所有的知识点,包括Java语法、Java集合框架、Java IO、Java并发编程和Java虚拟机,内容不多,只讲重点。

需要的朋友点击转发加关注,然后私信“528”即可领取

三、MySQL

先来看一下MySQL的知识体系

  • 「《SQL必知必会》」

非常受欢迎的MySQL入门书籍,也可以当作工具书来用。

  • 「《高性能MySQL》」MySQL领域的经典著作,进阶必看。

然后其他的书的话,《MySQL技术内幕》和《高性能MySQL》也很不错,如果想更深入的学习MySQL的话,这两本书绕不过的。

四、Spring

想成为一名合格的 Java 后端开发工程师,Spring 的系列框架是必须得掌握的,swing在spring面前就是个弟弟。

从SSM(Spring Spring MVC MyBatis)到Spring Boot,再到Spring Cloud,都得会用 事实上,Spring 早已成为 Java 后端开发的行业标准,如何用好 Spring,是 Java 程序员的必修课之一。

由于Spring的快速发展,它逐渐从一个轻量级的开发框架变成了一个“庞然大物”,越来越笨重,导致搭建一个应用程序的成本越来越高,于是Spring Boot就应运而生了,它能帮助开发者快速搭建出一个独立应用,只需要很少的配置就可以了。可以毫不夸张地说,Spring Boot,牛逼!

对spring boot陌生的同学也别着急,好好踏实恶补一下,这里推荐

  • 「《深入浅出Spring Boot 2.x》」

博主看过不少SpringBoot的书籍,个人感觉这本还不错,比较详细、全面。

然后用spring boot框架写几个项目之后你就会爱上它,如果不知道去哪找合适的练手项目,我这里也收集了一些基于spring boot开发的经典练手项目

同样的,私信“528”即可领取。

Spring Cloud 利用 Spring Boot 的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,可以说,Spring Cloud 的诞生,又一次解放了Java 程序员的生产力。

五、算法

这个也是很多朋友关心的一个点,算法到底需不需要学?

其实大部分的Java程序员都不会算法的。

算法只有两个作用:

  1. 在某些要求很高的大厂面试环节当中会问到,
  2. 然后就是搞算法岗的,比如人工智能等等。

开发岗的程序员日常工作就是调包和调参,根本不会接触到算法。

对于普通开发岗程序员的要求就是:不要重复的制造轮子,所谓轮子就是算法,那么制造轮子的就是算法工程师。

所以如果你有多余的时间学一学算法当然是很好的,毕竟技多不压身,但是如果当下需求是找一份不错的工作,那我的建议是多放点时间在其他方面。

总结

掌握好我说的这几个点,你要是找不到工作你来找我,我给你内推进字节和京东,妥当不?

最后重申一下,需要资料的朋友转发 关注 私信“528”就可以领取文中所有资料啦!