甜帝
如果你有基础,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网站:慕课网。当然有什么不懂的也可以和我讨论。