zoukankan      html  css  js  c++  java
  • 【新人必看】新手应该如何学习JAVA?

    本篇非常适合初学小白,和刚进入这一行业的新手。

    在这里插入图片描述

    为什么要选择卷王之王JAVA呢????JAVA实在是太卷了,但是,如果你非要选择的话,那我们就是同一战壕的兄弟了。

    在这里插入图片描述

    首先,你如果将要踏入这行或者已经踏入这行,你就必须要有一颗求知欲,要有一颗折腾的心,不怕麻烦。因为在你将来学习的路上会遇到许多各种各样的问题和需求,比如可能一个bug折腾你一周还没解决,翻遍全网也找不到答案,有可能安装个环境就是安装不好,有可能你辛辛苦苦写的代码,到最后领导一商量推倒重新做,有可能让你一开始就接手一个你不熟悉的项目就让你在限定的时间内实现功能。

    面对这种情况,你会选择怎么办?每天加班怼到12点处理问题bug、还是撂摊子跑路、还是转行。

    在这里插入图片描述

    你要学java,你首选要知道,学他干嘛。他都有什么优点,有什么技术栈,那些该学那些不该学。这些对于初学者往往是一脸懵逼的。就知道一头扎进里面狂学。浪费时间而且学完就忘还用不上。造成的问题就是,前面学后面忘,还总感觉这玩意咋那么难。。。

    首先,你要明白java是做web开发的,也就是写网站的,可不是我们肉眼看到的网站,我们肉眼看到的是前端页面。这个是HTML写的。

    java是写服务端的,打个比方就是你在页面上提交的数据,提交到后台处理,无非是这个后台就是java写的程序。

    每个软件都分为前台后台,无非是网页的前台是基于浏览器打开的HTML页面,常见的exe程序是用其他技术打包的exe壳子。这都是我们肉眼可见的前端,有前端就有后端。当然可以写后端的语言有很多,php,python,php,c# ,go等等。。。

    后端的主要功能就是 通过业务逻辑然后处理数据,处理数据,处理数据

    在这里插入图片描述

    1、弄懂什么是服务器,什么是BS 和 CS,弄懂HTTP

    2、什么是环境变量

    3、找一个牛逼的编辑器(为IDEA疯狂打call),工欲善其事必先利其器!!

    4、学完java基础,socket和gui可以不学,以后用不上,浪费脑细胞还死逼羞涩难懂。面向对象一定要理解,集合一定要熟练掌握。变量和判断循环最基础的。其实也没什么东西。所有的后端都是一样的套路。知道什么是api,熟悉常用的类库,比如日期,文件,流。。。

    5、学完基础学习下javaweb,学习下什么是tomcat,什么是mysql,什么是请求类型,cookie和session是什么玩意,文件上传下载导出excel分页查询撸一遍。做个简单后台管理系统。

    6、学习ssm搭建和springboot搭建,再搞个管理系统玩玩,必须会写RBAC权限模型!!!

    7、其他必备知识,mysql,nginx,linux,git,调试,接口调用工具,日志。模板比如freemarker 和 Thymeleaf 其实一个样。无非标签不一样,选一个就行。

    8、需要学习的中间件 redis mq es zk 。知道各个中间件的使用场景。

    9、强烈建议购买一个阿里云服务器,新用户三年才不到三百。血赚!!!

    熟悉下linux环境和部署项目。

    10、vue不勉强,有空就学,起码能用springboot+Thymeleaf +bootstrap

    搭一个后台系统。

    11、找一个趁手的脚手架练练手对你有很大的帮助!!!可以分分钟搭建一个后台管理系统,CRUD不用写,前台后台一键完成。爽的一逼。

    12、了解微信、H5、小程序开发,会加不少分!!!!坑很多,前置条件也很多,比如服务器,域名,内网映射,营业执照。。。。

    在这里插入图片描述

    前期没必要非得上分布式 springcloud ,强行装逼最为致命。问题多还效率低,单体crud能解决就单体搞。集群+nginx 整的明明白白。docker能不用就不用。不要追求最新技术,一定要求稳!!!

    关于进阶技术点。

    sso单点登录

    对接第三方登录

    百万级别的导入导出

    秒杀系统的实现

    对接第三方平台,短信或者云存储

    大数据量的上传下载,断点续传实现。

    缓存技术提高查询速度

    mock数据,压测实践

    mq延时队列的实现

    分布式锁的实现

    分布式事务的实现

    索引的优化&常用的优化套路

    nginx是个好东西

    数据库分库分表实践一波

    ....

    我上面说的都是非常非常实际的需求场景,你看我都不给你们说jvm优化来一波,spring的源码撸一遍,线程池、List的源码剖析,mysql的索引底层实现,各种算法实现。。。。虚头巴脑的。除了面试装逼实际工作根本用不上。

    在这里插入图片描述

    如果上述你都经历过了,可能你会有下面的感悟。啥新技术不新技术的,都是CRUD。没有什么复杂业务是加一个中间件完成不了的,如果有,那就再加一个。要啥代码健壮不健壮优雅不优雅的,能跑就行,速度能看到过去就行。不要重复造轮子!!!。单体项目真尼玛香。前后端分离纯写接口真尼玛爽。

    在这里插入图片描述

    找个人带,会少走很多很多很多的弯路!!!

    阿里云1000元优惠券活动地址:

    1核2G :87元/年

    2核4G :301元/年

    4核8G :764元/年

    购买地址

    购买地址

    觉的不错的朋友可以给个关注,三连一波

    你们的支持是我最大的动力。

    在这里插入图片描述

  • 相关阅读:
    日记 2018/1/12
    【程序员笔试面试必会——排序①】Python实现 冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、希尔排序
    Python笔试、面试 【必看】
    高性能Go并发
    Go连接MySql数据库Error 1040: Too many connections错误解决
    MAC 配置文件 ~/.zshrc
    go-statsd项目
    日记 2017.11.20
    sed 命令详解
    Opentsdb简介(一)
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/14728396.html
Copyright © 2011-2022 走看看