我个人觉得学习JAVA必须的具备的几个条件:
第一:学习能力。什么是学习能力,就是当一个陌生东西给你了,是否有学习他的欲望,自己琢磨的心思,学习能力非常重要,如果一个人没有学习能力的话,任何东西都很难学。
第二:正常人的思维逻辑,JAVA不是每一个人都能学会的,因为JAVA的逻辑比较强,有一些人天生逻辑就差,比如一道数学题,有的同学马上懂,有的同学需要老师讲几遍,但是有的同学老师咋讲都不懂。
第三:必须而且一定有一个老师,因为如果没有人给你解答问题,会浪费很多时间,而且大多数问题对于一个新手来说是很难自己解决的,可能明白人的一句话,你需要一天的时间。
第四:目标,坚持下去的一颗心,因为学习JAVA不容易,而且现在转行的也多,工资高,最后能拿高薪的都是刚开始没日没夜的熬过来的,所以坚持非常重要,而为什么学习JAVA成了主要因素,就是坚持下去的动力,比如:挣钱就是动力。
后期要学习的也很多了,比如高性能及分布式、高性能、深入浅出。性能调优、Spring,MyBatis,Netty源码分析 。
18年19年大寒冬,互联网行业经济萧条,工作机会不是很多,能找一份工作去实习已经很不错了。可以找javaweb方向的工作。如果对技术非常感兴趣,java方向还是一个不错的选择的
关于互联网行情,可以参考:
19届毕业生都去什么公司工作了,待遇怎么样,今年的形势下找工作好难呀?
www.zhihu.com
前楼主主要是有三个问题:
1、包装自己的简历 ,目前简历是非常重要的,要想在众多简历中让hr眼前一亮,一个优秀的简历是必不可少的
2、学历问题。说一个显示的问题,没有本科学历,目前很难街道面试电话,想象一下,面试机会就很少,那么,拿到offer的概率可想而知。所以我说,学历虽然不是必须的,但是及其重要的,至少在互联网行业,是一个敲门砖!
3、提升自己的能力,合理规划,同时还要去多看面试题
针对于第一个问题,可以参考我之前的一个回答:
这样写简历,offer不给你给谁?
mp.weixin.qq.com
然后第二个问题:
关于学历,趁现在还年轻,强烈建议你去自考一个本科,或者读一个网络教育的,然后如果时间充足的话,在进行那个读硕士。其实就目前这个社会而言,渠道是很多的,只要找对渠道,能用钱解决的问题都不是问题。个人认为,这个绝对不是问题。
之前写了一篇学习JAVA的职业规划
最近计划学习Java后台,因为最近接了私活的问题,好多都要Java后台和前端一起做。平常我在做什么,当然是忙着赚钱了【除了敲代码,你还有什么副业吗?】接了活自己还要找开发Java后台开发的,为什么我自己不会呢,会了不是更好吗?
关于学习javaweb学习路线,我的计划是这样的
第一阶段 java基础(针对于0基础的童鞋们)
1 开发环境Java SDK 下载和安装
2 环境变量的配置(path和classpath)
3 编程基础 标识符命名规范
4 Java数据类型
5 运算符
6 分支语句(if,switch)
7 循环语句(for,while)
8 函数的定义方法
9 面向对象基础 面向对象与面向过程语言之间的区别
10 面向对象基本思想(封装)
11 类的定义方法
12 对象和类的关系
13 对象的创建方法
14 通过对象使用成员变量和成员函数的方法
15 构造函数的作用
16 函数的重载
17 static 的作用
18 this的作用
19 面向对象高级面向对象基本思想(继承)
20 继承的作用
21 继承的语法特点
22 super的使用方法
23 面向对象基本思想(多态)
24 对象的向上转型和向下转型
25 final关键字的作用
26 抽象类和接口的定义方法
27 接口和抽象类的语法特征
28 抽象类和接口在面向对象编程当中的地位和意义
29 设计模式(工厂方法模式)
30 Java当中异常的定义
31 异常的分类以及各自的特点
32 try…catch…finally 结构的处理方法
33 throw和throws 的使用方法
34 自定义异常的使用方法
35 内部类的定义方法
36 匿名内部类的定义方法
37 内部类的常见使用方法
38 线程 线程的基本定义
39 在 Java 当中实现线程的两种方法(使用Thread 或Runnable)
40 线程运行状态介绍(准备,运行,阻塞,死亡)
41 线程间通信的方法
42 线程同步
43 线程死锁
44 IO IO 基本概念
45 输入流和输出流的作用
46 Java当中IO 流的分类方法
47 常 见 IO 类的使用方法(File,FileInput,FileOutput,Reader,Writer以及其子类的使用方法)
48 类库 类 集框架中常见类的使用方法(ArrayList,LinkedList,Queue,Stack,HashSet,HashMap)
49 日期相关类的使用方法(Data,DataFormat,Calander)
50 数据库关系型数据库的基本概念
51 SQL 分类
52 DDL,DML,查询
第二阶段:JavaWeb前端技术
网页前端基础 如HTML, CSS, JavaScript基础 jQuery基础, BootStrap.
什么是BootStrap
是一个做网页的框架(目前最流行的WEB前端框架),就是说你只需要写HTML标签调用它的类你就可以很快速的做一个高大上的网页,你不用担心兼容问题,提供了很多样式供你选择!比如你需要做一个网站的导航对吧,你自己写的话你需要写很多代码,但是如果你使用bootstrap框架来写的话,只需要写好HTML标签然后调用类名就可以了!
去bootstrap中文网,看他的API就能够快速的上手!
第三阶段:JavaWeb前端技术
具体要学习什么,在这里我先笼统的说一下
Mysql及JDBC
JavaWEB 核心技术
WEB服务器的工作原理
Tomcat的安装与启动运行(幸好之前有业余时间玩过tomcat)
HTTP协议详解(Android中是不是很熟悉)
Servlet相关的学习
HttpServletResponse和HttpServletRequest的应用、HTTP协议在web开发中应用、请求转发与重定向使用。(在熟悉不过了)
Cookie及Cookie的应用
JSP运行原理
JDBC的事务
AJAX
第四阶段:项目阶段
1、SSH框架
Hibernate5框架、Struts2框架、Spring4框架、SSH综合案例实战, springBoot、mybatis
springMVC等框架
2、项目实战
Oracle数据库、Maven、BOS物流管理系统或者是像ERP管理系统、商务综合管理平台之类的很多项目
第五阶段:项目阶段
提升自己的逻辑思维能力,多去练习数据结构和算法之类的
最后说一下吧
制定计划是多么的重要!计划的执行更是怎么的重要!在一步一步的实行中,可能需要很长时间一星期或者是一个月。
不过有人要问我是不是要转Java后台,我想我一开始说的很明白,学习Java我是在空余时间学习的,我就是要把不可能转化为可能!
我觉得补充的还是程序开发中用到的知识点:
最少包括以下点:js,html,css,ajax,ajax跨域,跨站脚本,web缓存,web优化,nginx,apache作用,鉴权方式,cookie,session,servlet,filter,基本数据结构,线程池,线程并发,缓存,io等等,知识点非常多。如你前台用jq,你应该了解他的选择器和ajax是如何实现的(其实去了解就会发现不复杂)?而不是只是会用。后台你用springmvc,你要了解他是如何工作,知其然也只所以然。
1.《java从入门到精通》
2.《Effective Java 中文版》
3.《java核心技术卷一》
4.《java核心技术卷二》
5.《javaWeb整合开发王者归来》
其实要学的东西很多,但是要记住,我们是程序员,就要不断的去学习和总结,持之以恒,厚积薄发~~
当然学习技术更多参考:
终于,我还是下决心学Java后台了
一个完整的Java Web项目背后的秘密
分享我学习Java后台的三个总结
坚持:学习Java后台的第一阶段,我学习了那些知识
Java并发面试,幸亏有点道行,不然又被忽悠了
简析TCP的三次握手与四次分手