自学JAVA难不难?

甜帝


如果你有基础,java学起来不难,如果没有一点计算机基础,学起来还是很费劲。

我上大学的那会儿,报了本java入门的书,看了三天就放弃了。基础太差了,好多都不懂啥意思。

后来是从c#开始自学,有图形界面,做起来相对容易,也比较好理解。

所以我觉得如果你是兴趣爱好,可以从你熟悉并感兴趣开始,如果做平面设计的可以从javascript开始,如果做数据分析的可以从python开始,如果想做管理系统,可以从java 或者c# 开始 。如果单纯了找份工作,建议放弃。编程需要很强的内驱力取学习的。


IT小侃


自学Java并不难,我就是自学的Java。我大学的专业是信息技术这块,平时用的最多的是汇编语言,不知道大家用过汇编没,其实还挺怀念当时拿着单片机敲汇编的时候。

我学Java纯粹是为了就业压力,自己也就学了3个月,考了一个没用的证书,然后就去应聘。幸运的是应聘我的主管是我的一个老乡,所以关系一下子近了很多(我是在天津工作的湖南人)。后来也是这位主管,教了我很多东西。有个人带你,还是比自己一个人闷头学好很多,至少少走很多弯路。

学Java最重要的就是要跟着项目走,多学多做,刚开始不要追求各种框架,比如什么Spring啊,Hibernate啊,这些都是浮云。基础扎实了学什么都快。我们公司有一个老程序员,什么框架都不会,就是写原始的JSP,就是页面里写Java代码的那种,作为新时代的程序员肯定觉得很Low。但有时候必须佩服的是,他的代码很少有BUG,而且做事非常快,思路清晰,代码结构清楚,运行起来速度杠杠的,人家设计的数据库那都是很优化的。

总之一句话,进一个好项目,跟一个好师傅,摆正心态,不急不躁,保持好奇心,多学习。


乱世闲人71380810


首先自我介绍下我之前刚毕业的时候是做测试的,后面转做开发,期间还做过一段时间游戏开发,目前一直做Java开发。大学期间是学软件工程的,但是从测试到开发,完全是靠自学转变的。

所有事情,能够坚持下来并掌握就不难,但是如果中途放弃,回过头来看又觉得好难。

所以学习Java贵在坚持,如果有一个好的老师辅导和指引的话,那当然会相对简单一点,但是最重要的还是自己要下定决心和坚持。

我的座右铭:越努力越幸运。


苹果影视娱乐


你需要会这些:

1. String,Integer,Long,Array,List,Map会用就够了。

2. Interface和Impl能分得清就够了,永远不要去用继承。

3.Model,也是Bean,记着Model里只有Get和Set方法。贫血模型。

4.try-catch,Throwable, Error

5.函数,参数,返回值

你一定不要现在去看这些:

1.NIO,Thread,Extend,Abstract,GUI,GC

2.各种JDK的源码,各种算法的实现

第二。面向对象概念的理解和学习 3天

你需要会这些:

1.属性和方法

2.private/public

3.static final

4.ArrayList,Set,Map,Array的取值,长度,遍历。StringBuffer

5.null对象,Null指针

6.构造函数

7.this

8.泛型

你一定不要这个时候去看这些:

1.protect

2.重载

3.多态

4.内部类

5.socket

6.file

7.stream

第三。常用的Util 3天

你需要会这些:

1.StringUtils

2.CollectionUtils

3.log4j

4.httpClient

5.calendar

你一定不要去看这些:

第四。数据库 9天

你需要会这些:

1.JDBC

2.Mybatis

3.Hibernate

4.增删改查一个表,排序,分页,简单的联表查询

5.索引,思考一下什么样的表建索引,什么是索引 别担心,以上三种都是一理通而百理融

第五。 单元测试 3天

你需要会这些

1.Junit @Test,@Ignore

2.log4j info,warning,error

3.Eclispe debug,Step,Step in ,Step Out,run

你一定不要学这些

第六。 Spring 3天

你需要会这些

1.Spring Bean,Property,Map,List初始化值

2.Autowired

3.Annonation&配置文件

4.Spring Version

5.Spring MVC,@Method @Controller

你一定不要学这些

第七。Maven 5天

你需要会这些

1.clean,install,deploy,assembly

2.snapshot/release

3.module

4.subeclipse

5.jetty:run 。


灬亦凡


Java学习需要具备的条件

  • 是否有兴趣学。如果对Java没有兴趣,建议还是不要自学了,不敢兴趣很容易就会放弃的,学到半路就不学了。如果有兴趣,那就太好了,学下去,你会发现自己受益良多!
  • 逻辑思维能力。逻辑思维能力决定了你能不能学好Java,不一定要求你的思维能力有多强,但是不要太差了,毕竟学这个还是需要有一点逻辑思维能力的,太差了可能都看不懂!
  • 坚定目标信心。学Java是为了什么?工资高?前景好?有兴趣,总之你要有个目标一直督促自己学下去,不然,你发现自己学不下去了,就真的很难再坚持!


另外一定要梳理好有计划学习的知识点,可参考下放2019年最新Java学习路线图

这个学习线路图把每个知识点都涵盖进去了,可以查看大图!下面说分阶段的,配合视频学习!

第一阶段:


第二阶段

第三阶段:

第四阶段

第五阶段

在学习Java的时候也要给自己树立目标,是为了就业还是为了兴趣爱好,就业形势中可以看到互联网企业集中的北京、上海、深圳的Java工程师需求量最大。

资均在10K以上,可以说Java工作岗位多,并且工资高,总体来说,市场需求量比较大。


传智播客官方账号


适合阅读对象:Java初学者

预计悦读时间:3~5分钟

自学Java难不难?回答这个问题的本质是,在学习能力与时间成本和经济成本之间找到一本平衡点,即如何达到利益最大化,但要理性、科学、有实际价值地回答这个问题,需要先搞懂如下3个问题:

①你要达成什么学习目标。

②Java要学些什么及学到什么程度。

③你有什么自学Java 的优势。

然后再进行:

④决策讨论

⑤建议答案

下面依次来讨论一下:

1、你要达成什么学习目标

1.1、你要达成Java初级工程师、Java工程师、Java高级工程师,还是只是科普一下Java知识?

对于基础、学习能力一般的Java初学者而言,先达到Java初级工程师的要求,更具现实意义,脚踏实地,循序渐进,别好高骛远。

1.2、你计划多久达成学习目标

要达成Java初级工程师,你打算花几个月?

三、四个月要想达到Java高级工程师,几乎是不可能的。没有2年左右时间的历练、没有2.5W~4W行代码的实践经验,中等学能力者,是很难实现,即使有高人指点。因此,要达到Java高级工程师,这可能需要分阶段、逐步实现终极目标。

2、Java要学些什么及学到什么程度

2.1、网页技术

理解并会使用HTML、CSS、JavaScript、jQuery、AJAX、JSONn/XML、EasyUI等编写程序。

2.2、Java基础

Java开发环境、数据类型、变量、语句结构(顺序、条件和循环)、数组、方法、类与对象、面向对象OO、封装、继承、多态、程序异常处理、Java程序调试等,要求深入理解,并根据实际问题编写代码。

2.3、数据库

如流行的MySql、SqlServer等。

要求会画E-R图、创建数据库、表、索引、约束、存储过程、触发器、函数,会使用Select、Insert、Update和Delete。

2.4、Java Web

JSP和Servlet。

2.5、常用算法

如冒泡排序、递归、查找等。

2.6、常用设计模式及应用

如单例模式、工厂模式、观察者模式等。

2.7、Java EE

即学习各种企业级框架,如Struts、Hibernate、Spring、SpringMVC、SpringBoot、MyBatis等,及其综合应用SSM、SSH。

2.8、软件工程及各个阶段对应的软件技术文档

2.9、软件理论基础

数据结构、编辑原理、计算机原理、操作系统原理、高等数学、线性代数、离散数学等。

2.10、多线程与高并发处理。

2.11、Java虚拟机JVM与内存等。

2.12、阅读Java优秀企业级框架源码。

2.13、大数据Hadoop、云计算、人工智能AI等暂不考虑。

3、你有什么自学Java 的优势

3.1、良好的学习能力和执行力

3.2、持之以恒地完成学习计划

3.3、你是否有较强的编程动手能力。

3.4、你的家庭成员(父母+配偶,尤其是配偶)是否支持你学习软件技术。

3.5、你工作的时间(比如经常加班或出差等因素)是否影响日常学习与动手编程。

3.6、脱产学习软件开发,你是否能承担学费(如果培训)和半年以上无收入的日常开销。

3.7、你是否有同事、朋友或亲戚从事软件开发工程师工作,能给予及时的技术帮助和支持。

4、自学Java的决策讨论

田忌赛马的故事,就充分说明了“决策”的重要性和必要性。

决策是一个信息搜集、加工,最后作出判断、得出结论的、复杂的思维操作过程。决策是围绕着目标展开的, 决策的开端是确定目标, 终端是实现目标。决策目标既体现了决策主体的主观意志, 也反映了客观事实, 没有目标就无从决策。决策时,采取独裁与民主都不可取。

权重是指某一因素或指标相对于某一事物的重要程度。某一指标的权重是指该指标在整体评价中的相对重要程度。在模糊决策张,权重至关重要,其反应了各个因素在综合决策过程中所占的地位和所起的作用,直接影响决策的结果。

通常来说,设置权重的方法有主观经验法、主次指标排队分类法和专家调查法。

  • 主观经验法

考核者凭自己以往的经验直接给指标设定权重,一般适用于考核者对考核客体非常熟悉和了解的情况下。

  • 主次指标排队分类法

也称A、B、C分类法,是比较常用的一种方法。其具体操作分为排队和设置权重两步:排队是将考核指标体系中所有指标按照一定标准,如按照其重要性程度进行排列;设置权重是在排队的基础上,按照A、B、C三类指标设置权重。

  • 专家调查法

该方法是聘请有关专家,对考核指标体系进行深入研究,由每位专家先独立地对考核指标设置权重,然后对每个考核指标的权重取平均值,作为最终权重。通常根据指标的重要性进行设置,并可根据需要适时进行调整。

决策的目的是为了使组织获得最大的经济效益

这里为了具有实际可操作性,选择主观经验法加以判断:

技术估值说明,主要参考学员的平均学习用时和难度,不具权威性,仅供参考,可根据实际情况,填写实际估值,以作为判断的依据。

比参考值越低,则所用时间越短,难度就越低。但有一个难点是,初学者可能不能正确评估其大概的值,会产生一定的偏差,需要在后续的学习中不断修正,只是一个定性指导。这同时指出这里所花的时间是极其紧缩的。

同样,你有什么自学Java 的优势也需要相对理性的给自己一个评分。和上面相似,这里不再赘述。

5、建议答案

对于中等能力的初学者而言,除了“2.7、Java EE、2.10、多线程与高并发处理、2.11、Java虚拟机JVM与内存等”较难以外,其他基本上还是容易学会并能动手编程的。

假定家人支持学习,因为学习是最好的投资;而且经济也不是太大问题。

综上所述,从Java初级工程师、工程师到高级工程师,分阶段掌握Java技术,自学Java编程是不太难的。当然,还是希望您在做出决定前,认真省事你最重要的因素,以免半途而废。

💢💢请关注下篇:如何自学java编程。💢💢

大家好,这里是iT例史。以经典的例子,让编写程序更容易。谢谢您的支持与关注。


iT例史


自学Java并不难,只要用心,多看多做练习,掌握基础很重要,另外一个很重要的是一定要弄清楚当下流行什么技术,这个跟你能不能找到工作息息相关。如果条件允许建议报个培训班,会少走很多弯路,不行挑一个系统的培训视屏坚持看完,练完。

不过在你开始前,建议花点时间看看我的个人经历再决定。

本人原大专,学校期间基本没学任何东西,毕业发现什么都不会,培训3个月Java可以说零基础,面试上了一家外包的上市公司,做了很多年,因为自己基础差,工作期间很卖力,技能和岗位提升都很快。

但是重点来了,外面培训出来的,没有科班出身的理论知识,出现瓶颈后很难突破,要么狠心补理论基础,这个很难,有工作压力家庭压力,基本不会给你太多机会。要么转岗,比如管理、售前、销售等,这些都很有前途,且是可以干一辈子的。

程序员只能搞到30出头,如果你已经这个年纪了直接放弃吧,如果是小年轻可以考虑。第一年纪大工作难找。就算有公司愿意尝试,你很快又会面临我上面说的问题。

上了这一行,你会发现根本就学不完,学的越多,发现会有更多等着你学。

如果你觉得你对自己非常狠,能够坚持学习,这个坚持至少是5年以上,每天花几个小时学习,就当我前面废话,干就是了!


雷诗人


  企业在招聘Java开发类人才时一般都要求求职者有一定的项目经验,对于工作能直接上手,所以很多零基础转行的人需要学好Java再去找工作,那么Java学习难吗?

  Java学习难不难取决于你的学习方法。如果你有正确的学习方法那么学好Java很容易,而如果你的学习方法不对,那么对你而言Java不但很难,最后还可能学到错误的Java知识。下面小编就详细讲讲Java的学习方法。

  比较简单的学习方法是报班培训,培训机构根据企业的需求研发课程,这使得学员可以学到目前正流行的Java技术;培训机构的讲师经过层层筛选留下的都是经验丰富的老师,这使得他们可以帮助学员快速学好Java,而且有问题可以在讲师的帮助下迅速解决;培训机构会再课程中穿插实战环节,这能帮助学员锻炼动手能力,找工作也会更容易;学员学完后有的培训机构还会定期举办双选会,给学员更多就业机会。

  另一种是自学,自学需要你制定详细的学习计划,并按照计划严格执行,中途学习不要懈怠,相对报班比较困难。而且自学需要你自己找学习资料,网上的资料真真假假,一不小心就会学到错误的知识。最后自学Java也需要自己找项目做,而做项目是如果出现问题不能第一时间解决,就会让学习的人感到挫败,从而放弃学习,所以自学Java比较难。

  综上,零基础想学Java,如果报班学习就比较简单,如果自学就相对困难,但不管是自学还是报班,只要坚持学习就能学会Java。


老王聊IT


新手Java学习路线规划先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME。

1、J2SE

新手在学习的时候先要从J2SE开始学起,所包含的内容主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java API等(关键是要学会怎样查阅)。

此处需要重点学习的是:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出处理等

2、J2EE

在学习了J2SE之后,可以尝试着慢慢过渡到J2EE。而且学习J2EE还需要许多非Java技术的支撑,比如数据库技术,网页编程技术等等。J2EE有三个必学的框架,即Struts、spring和hibernate。虽然这三个框架应用很广,但不代表这三个框架就代表了J2EE。

学习J2EE较为核心的内容有:JDBC、JSP、servlet和JavaBean,后面三个也是学习SSH的基础(Struts/Spring/Hibernate的简称)。鉴于J2EE的内容太过复杂,建议大家最初只学习:JSP,servlet和JavaBean,等这个基础掌握好再把SSH学习了,再对其他J2EE技术有个大致的了解就可以出去找工作了。

除了这些技术的东西,在这阶段,大家更多的是会接触到比如设计模式的东西,比如工厂模式、桥梁模式、单例模式等等,还要学习建模思想(比如UML建模等等)和软件生命周期等等。

3、数据库技术

数据库几乎是程序中不可或缺的一部分,在整个软件开发中更是占据了重要作用。目前数据库几乎都是关系型数据库,代表的有:SQL Server/MySQL。

4、网页编程基础

网页编程基础要学的内容也比较多,但主要集中在以下这三个技术之上,大家每天看的各种样式的网页都是它们呈现的:HTML:超文本标记语言、CSS:层叠样式表、JavaScript:浏览器客户端脚本语言。现在更是流行各种JavaScript库,比如:jQuery、ExtJs等。

5、J2ME

如果已经掌握了以上的技术了,可以再学习手机程序的开发。J2ME的学习的话,切忌不要单纯的再模拟器上测试,一定要找真机测试,真机和模拟器的效果之间差别是很大的。

除了学习的规划线路之外,选择合适的开发工具也是比较重要的,工欲善其事必先利其器,作为初学者比较建议使用的开发工具是:JCreator或是记事本,当熟悉了Java代码之后再根据自己的习惯和发展去选择合适的工具。


千锋青岛


答主本身也不是科班出身,除非你特别聪明或者有毅力,否则还是不建议自学Java。我也是毕业后培训了三个月才找到工作的,班里也有科班出身又去培训的,当然他们基础要比我好上很多,也有学过C语言的,也有重点大学理科毕业的。对于我来说还是很难的,我下边列出来认为的难点。

首先来看一下Java的学习路线

1 Java基础


面向对象是难点,也是重中之重,说整个Java围绕着面向对象作为核心也不为过。就我现在也不能说掌握了面向对象。

2 数据开发


“SQL”是数据库开发的前提,一定要牢牢掌握;“JDBC”是连接数据库的重要步骤,这点要融会贯通。

3 HTML

这是前端的一些东西,js需要多看看。


4 Javaweb



学到这里就可以进行简单的开发网站了。MVC模式也是重点,但是很好理解。

5 框架

三大框架是以后开发经常需要用到的,需要不断的练习,但是现在随着时代的发展,流行框架可能会发生改变,前几年用ssh的比较多,我认为作为入门还是可以的,现在普遍用springMVC比较多,但是几乎都从上图的三个框架开始学起的。

对于题主这种情况,可以参考我给你的学习路线在网上找些资源,毕竟都是免费的,推荐一个自学IT网站:慕课网。当然有什么不懂的也可以和我讨论。


分享到:


相關文章: