自学java?

用疯狂java这本书不错


我也在自学。现在自学快一年了,因为我属于有空就学的类型所以现在也就那样吧。

不过,自学Java确实可行的。现在网上资料很多,花点钱或者看免费的公开课都是可以的。

最好别参加什么三个月速成Java,培训班。

还有,Java需要多练习,书没必要买。

自学完全可以,最主要的是坚持。祝福你,加油!


看视频教程会更加高效一些,自己不懂的地方,别人几句话就给你讲明白了,另外呢就是需要多动手,多思考,多去看别人是怎么实现的,以前在学习Java的时候看的是如鹏网的《这样学Java不枯燥》视频教程,通过开发小游戏的方式来讲解Java的核心知识,学起来特别的有意思


很多新手在学习Java时,遇到第一个问题可能就是安装jdk后,在电脑上配置环境变量。配置环境变量的确有些难度,如果你在这里遇到问题,可以私信我

自学Java肯定要上网找一些Java教程。小编就找了很多视频,发现Java视频教程好坏分差很大。有些教程只是讲解一部分知识,有些教程讲解内容的门槛较高,不适合初学Java的童鞋。小编建议看看

下载API文档,并经常看看它。虽然对很多初学Java的人来说,API文档有些天书的感觉,但是如果我们慢慢去了解的话,还是可以入门的。另外,任何一个Java程序猿必然离不开API文档,所以,还是接受它吧。

自学Java,一定不能手懒,不仅要去学习,还要自己去实践,只有自己去实践了,才能有代码感,才能真正理解包、类、方法、变量还有一些关键字的内在意义。所以,应该边学边自己动手写代码。

自学Java,更应该想明白为什么要学习Java。对于非专业的人来说,学习一门编程语言是很难的,所以我们更应该想清楚为什么要学习Java,更早的确定自己的目标,这样,我们才不会漫无目的,才有前进的动力。


大家给的建议都比较中肯,可以参考大家给的路线先试试,不踏出第一步,怎么知道行不行。欢迎关注我,不定期发java知识,也会发送java教学视频。


“这是一篇完整的java程序员学习线路图,一共分为六个阶段。

我以java为例,展示完整的学习步骤。

希望对于想通过java自学的朋友有帮助。

java程序员学习线路流程

第一步:Java语言基础

从最简单的开始,helloworld开始Java之旅

1.编程基础

常量与变量

数据类型

运算符

流程控制语句

方法

数组

2.面向对象

面向对象思想

类与对象

成员变量和局部变量

封装

this关键字

构造方法

3.集合

集合概述

集合特点

ArrayList集合

HashMap集合

常用集合优劣比较

4.输入/输出IO

字符输入流

字符输出流

字符缓冲输入流

字符缓冲输出流

复制文件

集合与文件中数据相互读写

5.练习阶段

属于你自己的helloword

第二步:java语言高级

再结合java高级部分,里面的部分内容,这个阶段你不一定能理解很彻底。但有一点,如果你今后想进入高阶俱乐部,这些内容你必须掌握牢固。

举个栗子,如果你面试通过进入了公司,我一定会在早期仔细review你的代码。代码的功力是欺骗不了人的,不同人写一个接口,呈现的结果也是千差万别(所以才有了规范)。

1.面向对象

继承

多态

重写(Override)

重载(Overload)

封装

接口

java包package

2.异常处理

异常概述

异常分类

异常处理方案

自定义异常

3.多线程

Java线程:概念与原理

Java线程:创建与启动

Java线程:多线程的实现方案

Java线程:线程生命周期

Java线程:线程池

Java线程:线程状态的转换

Java线程:线程的同步与锁

Java线程:线程的交互等等

线程的几个主要概念

在多线程编程时,你需要了解以下几个概念

线程同步

线程间通信

线程死锁

线程控制:挂起、停止和恢复

4.输入与输出IO

文件和I/O

读写文件

Java流(Stream)

文件(File)

缓冲流

5.泛型(Generic)

泛型的使用场景

泛型类型

泛型方法

泛型通配符?

6.网络编程

网络机制

Socket原理机制

UDP、TCP传输等

7.反射(reflection)

类加载机制原理

反射构造方法、字段、方法

Properties配置文件

8.注解(annotation)

注解的使用和原理

三种内置annotation

自定义annotation

注解类的反射调用

动态代理类如何处理

9.Java高级特性和类库

java类加载器classloader

java程序运行的基础知识,java编译后的bytecode的整个运行机制,这一点对应.net的IL(intermediatelanguage)。

理解Javanio,关于这一点网上有非常多的教程,这一条需要重点掌握,对于高并发的掌握很重要。

javajuc(java.util.concurrent)等等

10.JVM原理和调优

JVM最重要的三个部分必须要非常清楚,内存划分、class加载机制以及GC策略。搞清楚这三部分不仅仅是为了面试,也是为了让你对于Java有更深刻的理解,这对于你的Java生涯非常有帮助。

内存划分简单说分为三个部分,YoungGeneration(年轻代)、OldGeneration(年老代)以及PermGeneration(永久代)。其中的YoungGeneration(年轻代),又分为Eden、From和To,其中From和To又统称为SurvivorSpaces(幸存区)。

关于classloader机制的学习,可以结合tomcat去学习,了解清楚tomcat的classloader机制,看tomcat是如何保证各个APP之间的类隔离的。如果可能的话,看一下tomcat中classloader的源码,当中也包含了与tomcat类加载机制相似的部分。

至于GC,需要清楚GCRoots都有哪些,以及如何判断一个对象可以被回收。此外,GC的算法和策略也要有大概的了解。

第三步:javaweb阶段

1.前段技术掌握

html

css

js

jquery

bootstrap

2.动态网页技术

JavaServletAPI

Velocity

FreeMarker

JSP等常用模板引擎

比如,淘宝前端层使用的是velocity模板,部分公司采用jsp、frearker等,基本类似。

3.linux服务器基本命令

在个阶段,也可以结合自己的情况,学习linux系统底层原理。

第四步:java框架阶段

1.SSH(struts2+spring+hibernate)

2.SSM(springmvc+spring+mybatis)

备注:如果你仔细,网上有部分叫SSI,I为ibatis,后来ibatis改名为mybatis了。

框架组合,我首推SSM,比SSH灵活强大。

框架的优缺点,我会再单独写文。

如果你还有兴趣,可以自己搭建Lucene、solr框架,以及mcached/redis、activeMQ、hadoop等等搜索、分布式缓存、异步消息、数据等。

我一般建议自己搭建,从学习效果再到理解深度都不一样。有兴趣,就开始自己搭建。

第五步:开发工具阶段

1.web调试工具

firefox

firebug

webdeveloper

yslow

httpwatch

ietester等

这些都是开发必用。

2.集成开发工具

eclipse(首推),STS,myEclipse,Idea

eclipse里的插件太多,推荐几个必装插件:

JadClipse、run-jetty-run(很牛的热部署调试)、veloctiy、frearkerIDE、Subclipse、m2eclipse、mybatisEditor、EasyExplorer等等。

3.版本控制工具

svn、git(首推)

4.构建工具

maven、nexus搭建maven私服

建议自己搭建一套nexusmaven私服,成为你们公司的代码仓库员。

5.java调试工具

jProfiler(性能跟踪)

jClarity(性能监控和日志分析)

Visualvm(性能分析和调优)等

优知学院是IT人的进阶站,提供系统的互联网产品&技术的入门指南以及进阶干货。


对于初学者或者说自学一般都有几种当时吧:

看书,既然是自学那么好多东西都不懂,特别是程序开发,刚入门去看书更是看天书,所以一些从入门到精通的书比较适合有点基础但是不很牢固的人。

培训,如果有钱的话,可以去试试,不过说实话不要抱太大的期望,培训班特点是讲的多但是都很浅,属于入门级别。价格也不低

看视频,这个还是比较推荐的,不过得看个人有没有耐性,看视频网上的资源也比较多,也比较好找,可以先找个基础的啃下来。

推荐路线:看视频然后看书Goodluck!


我感觉自学的话看书还是比较困难的,毕竟是刚开始学,什么都不懂,特别是代码,看书更蒙圈。好多人报培训班,说实话培训班还是有一定作用的,有人跟你讲总比自己在那学来的容易,不过培训班太贵了,将近两万,有的机构更贵,所以感觉不合适,并且培训班讲的都是特别基础的,工作毕业也大部分是外包,稍微好点的公司也够呛。个人推荐还是看视频,网上资料也多,当然这个还得看个人坚持不懈的毅力!推荐个号易学IT上面有一些资源,特别是视频,帮助挺大


现今Java开发已是一个公认的热门行业,同时也是值得长期的发展方向,从这一点上来看,Java并没有让我们失望。所以,许多人不论是不是科班出身,都相继投入到Java行列。而,掌握Java技术,不外乎2种方法:

通过专业的培训机构去学习

自己自学

给大家分享我的经历,我是13年计算机本科专业毕业,毕业后很快就找到了一份“程序员”工作,说是程序员但做的事情和一般的网管没什么两样,这是一家互联网公司,大大小小的网站有20多个,程序员就我一个,我每天的工作就是帮同事解决电脑黑屏、蓝屏问题,新来了同事帮着安装一下电脑,唯一和程序挂点边的就是用织梦后台上传一些页面,但这个实在太简单了,三个月后我选择了辞职,并决定去学Java。

当时我想,自己是计算机专业的,而且上学的时候也接触过Java、C语言,只要自己肯下功夫,每天坚持学习是可以搞定的。于是,我决心开始学习。

每天在家抱着电脑研究代码,书也买了很多-编程思想-Java从入门到精通之类,也会看一些视频,通过贴吧、论坛,问一些问题,最开始的一个月学的比较顺利,但是很快就遇到问题了,最让我头疼的就是Java面向对象,我看了无数次的视频,也有热心的网友帮助我,但始终解决不了我的疑惑,慢慢地我觉得自己连问问题的能力也没有了,因为我不知道自己遇到的是什么问题,更不用提别人怎么帮我了,于是学习激情被慢慢消磨,直至搁浅。

这个自学计划就这样不了了之了,不仅仅是学习遇到的困难,经济开销也不能支持我继续这样下去,更何况和我一起毕业的同学有很多已经开始工作了,这在无形中也给我一种压力。

转眼到了年底,而我依旧没有找到工作,Java也没学成,带着一肚子的失落而归。无意间我碰到了曾经的一个高中同学,相互寒暄之后,我得知他在北京从事Java工作,而且已经工作了两年,工作待遇也不错,我顿时感觉无地自容,因为当初他只是读的一家普通的专科院校,而现混的比我好太多了,从他口中我得知他来动力节点培训的,我默默地记在心里,回家在网上详细查阅了动力节点关于培训的信息,有些跃跃欲试。

而其实,在我心里是很排斥培训学校的,一,觉得学费高,二,盈利目的太强,但我那个同学的这个活生生的例子在我面前摆着,我不得不去深刻反省自己,今天的自己除了一纸学历什么都没有。

经过几天的思考,我决定让同学引荐我到动力节点学习。

我是14年3月份来到动力节点的,4个月的学习让我受益匪浅,我认识了很多和我有相似经历的同学,有的毕业2年半路出家的,也有从公务员转型过来学习的,还有刚毕业大学生为了就业直接来深造的。在自我介绍的时候很多同学都提到,之所以学Java是让自己有一技之长,以后再不济也能混口饭吃。从毕业到择业再到重新开始,让我更清楚的认识自己,对自己的未来也有了一个明确的规划,学习不再是应付,而是在修炼一种本领,我当时每天晚上坚持学到凌晨1点,回到宿舍倒头就睡,学习虽然很累,但我丝毫不懈怠,因为我要学本领,要挣钱,要让自己有主动选择工作的权利,的确想要得到的多,就要付出的更多。

4个月后,毕业了,我很快找到一份银行系统开发的工作,薪资也是一个让我满意的数字,现在我已经拿到单位的股份,不要惊讶,如果你面试的好,自己功能能力相当,这样的股份福利是很正常的,因为Java开发面向很多新型企业,而它们更容易吸引资本,几轮融资后就可以上市。

有时候,我也想假如当时不来动力节点,现在我可能还是一种漫无目的的飘荡,最后飘到老家,拿一份三四千的薪水,凑凑合合的过日子。而,现在我有了更多机会,也有自己了创造事业的能力,真的很感谢动力节点给了我一个不一样的人生。

我的经历大概如此,经历过自学和培训我也做了对比性总结,自学成功与否,这4个因素很关键。

1、学习材料问题:

现在相关技术书籍的种类和内容良莠不齐,有些书籍的内容太过老套,甚至是出现错误,一些案例经常会在电脑上无法运行,错误的学习材料也会将我们带上歧途,使学习者深受打击,不知所措,有的甚至学了1年,涨涨跌跌而没有学统,这很可能是材料的错误,最终丧失学习的动力。

2、缺乏辅导和指导:

自学过程中肯定会遇到难题,对概念的理解,编写一个程序,怎么都搞不成功,也不知道是哪里出了问题,甚至一个月扣不出一个问题,虽然可以通过一些社交平台寻求帮助,但远水解不了近渴,更何况并不是所有的问题都有人来帮你解答。缺乏铺到和指导,让自学者遇到问题时,不止所错,从而放弃学习。

3、坚持不下去,定力问题:

自学缺乏监督完全靠自己,而手机、游戏、娱乐节目的诱惑又很强大,面对枯燥的代码当然不如舒舒服服的玩一玩,自学Java需要长达半年以上的定力和毅力,每天要坚持看书,还要勤上机联系。然而,许多学生就是坚持不下来,3天打鱼,2天晒网,结果半途而废。

4、缺乏学习氛围:

惰性是人类的共性,在缺乏外在压力和阶段目标的前提下很难保障时刻保持进度,尤其是在困难重重之下,经常受外界的干扰而转移精力。

所以,既然决定自学,就要做好应对困难的准备,最好你认识一个做Java的同学或者朋友,适当点拨和指点一下,哪怕花点钱,也是值得的。要有计划的学习,切不可闷着头乱学一通,心态和解决问题的方法都很重要,尽量为自己营造一个学习的气氛,加入一些交流群每天进行交流,不要孤军奋战。另外,如果你真正想从事Java,选择一个java培训机构进行系统的学习会更好一些。


看个人情况吧!

可以通过培训机构或者自学,总之,努力才会有收获!

学习的途径一般都是看书,看视频,敲代码!不过,有的培训机构是有老师面授的。

总之,不管通过何种途径,提升自己的技术水平才是根本!


本人有10年项目架构经验。我的意见是先学习java基础,然后在学习javaweb知识,然后再学习spring,mybatis,springmvc框架,网上有大量的视频,整个体系都可以免费学习。


学习无非就是自学和培训。单自学需要很大的毅力,否则很难坚持。我觉得培训还是靠谱点,1、培训有人教,自控力得到约束,逼着你学;2、不懂就能问,老师说一句,比自己琢磨半天好;3、有同学可以互相讨论,以后这些都是资源,4、培训有项目经验,这才是最主要的。5、培训机构有合作单的单位,可以推荐就业。当然,前提是要有一个好的机构,否则还不如自己学习。建议可以去杭州华信智原去看看,他们那不错,小班授课,而且是面授,毕业后推荐就业。


其实不管是学习那种语言,Java、C、C++,并不是语言有多难,难在你对学习的坚持和不懈的解决疑惑,当然科学的指导和大量的练习才是学会Java的关键。

两个途径

1.个人之前有过编程和学习的经验,自己的自律性也很强的话,可以考虑自己,但要有很学习计划和很强的主动性。

2.选择培训机构,选择一家合适的培训机构,有专业的老师指导和科学的教程,知识点相对应的项目训练,对学习Java有很大的帮助。可以看下阿甲科技的Java学习的课程安排和学习进程。

Java学习课程

有兴趣可以添加微信号:zcllr01进行详细了解!


如果你是零基础的话其实自己学习会不知道从哪里开始自己学有点无从下手我建议你报一个培训班最好是那种小班制面授的我有个弟弟就是在杭州华信智原学的他们就是面授还会从基础开始教学的很清楚毕业之后还会包就业现在每个月70008000的样子很满意


可以在网上找一些自学资料进行自己的学习,主要是多练练。但是更建议找个学习班或者找个大神带一带你,毕竟这样学习的氛围会更浓烈一些呢~


自学是个蛮艰苦的过程。

我本人也算是自学的,当时学的时候就是闷头看书,看的是一头雾水,后来在网上下载了马士兵的Java视频,感觉还不错,讲解的还挺好,就一直看了,学完了J2SE的内容。

我个人建议的话是先学基础。

1.C语言先过一遍

2.掌握编程所需要的基础能力:变量,常量,逻辑判断,循环语句……

3.然后能写一些简单的do

然后再看Java方面的书籍和视频,视频很多,上度娘搜索下载。

学Java不单单只是这一门语言,后面还要学习一些框架,HTTP等等,能单独写一个博客(前端,服务端,后台)的程序就差不多了。


没有基础还是算了吧这个社会快消学这个最快最快每天天天学而且必须保证每天6小时并且记忆力很需要大量也得10个月以上而且必须有一定逻辑即使成年人也不一定有逻辑就好比斐波那契数学问题


谢谢邀请,附上一高司令的靓照

看了好多大神的们的回答,他们给出了大篇幅学习java的路径.

大部分学习的路径大同小异,都是教科书式的.

举个栗子,好比问怎么自学英语,回答的差不多都是学音标,背单词,学语法.......

给自学者的建议就是,随便找一本java入门书的目录或者参考下面答者们给出的路径,

制定自己的学习计划,根据自己的时间安排,比如说今天下班后八点至九点点我先把java标识符这块内容吃透,九点至十点我把for循环搞懂参考案例自己敲几遍.

记得上学时刚学英语的时候,老师要求我们把对话背下来,Howareyou?Finethanks...

把每节课的单词写十遍,你会发现往往是偷懒的同学第二天听写的时候写不出来,而那些写了十遍的同学掌握的往往很好.

计算机语言也是一样,需要初学者们大量的动手实践,再次强调,重要的事情说三遍,敲代码敲代码敲代码!

预则立不预则废,希望在学习的过程中脚踏实地,快乐而有收获~


1、Java零基础(第一阶段)

视频:

(1)推荐极客学院的整套知识体系(视频教程)Java语言开发知识体系图

(2)如果你不想使用极客学院,以下推荐网易云课堂

尚学堂_高淇java零基础最全300集视频教程或者Java8编程开发入门

书籍:

疯狂JAVA讲义第2版PDF(下载地址):疯狂JAVA讲义第2版PDF

Java核心技术卷1基础知识:Java核心技术卷1基础知识(第8版中文版)

文档:Java™Platform,StandardEdition8APISpecification

练习、实例:

100个Java经典编程实例源代码

JAVA基础编程练习题--50道

基于Java多线程的下载器源码剖析(一)

練手小項目一:JAVA聊天室源代码

Java图书馆管理系统经典合集

2、进阶(第二阶段)

Java编程思想(第4版)PDF:链接:s/1i4ZHH7B密码:6bh9

(1)JavaWeb

视频:

极客学院的整套知识框架:JavaWeb开发知识体系图

网易云课堂的教程:JavaEE视频教程

动力节点-王勇-SSH框架视频教程---[共享完毕]

书籍、文章

javaweb学习总结:JavaWeb学习总结

Servlet官方文档:ServletAPIDocumentation

练习:

Java_Web开发实战经典-开发实战练习

(2)Android

视频:

极客学院视频体系:Android开发知识体系图

网易云课堂的视频教程(推荐上面的教程,比较系统):

来自网易云课堂的教程:

android第一步:

AndroidStudio开发指南(Android基础开发)

android第二步:

Android基础视频教程(推荐一)

玩转Android基础课堂(推荐二)

轻松学Android移动开发

Android开发课程

Android开发——UI基础

android第三步:

Android深入浅出

三节课了解AndroidL-你不的不听的技巧

AndroidClient与Server的数据交互

android第四步:

Android项目开发实战

Android实战开发淘宝网手机客户端

Android平台2048游戏完整项目开发

Android项目开发实战

Android开发课程

Android项目开发实战


其实自学并没有那么复杂,关键是你是要学java后的应用方向。

一、如果将来是准备开发网站,做企业系统:

1、学好java语法基础

2、掌握一门数据库语言,如MySQL

3、学好HTML、Javascript、JSP语法

4、学会tomcat服务器的安装和配置

5、学会eclipse开发工具的运用

综合起来,就是你用jsp开发一个留言板功能,能够简单支持不同用户登录,发表文章,查阅。那你基本上就算入门了。以后的其他学习可以在工作中去实践。

二、如果将来准备做安卓开发

1、学好java语法基础

2、学会eclipse开发工具的运用,配置安卓开发环境

3、学习安卓下的java的开发语法

综合起来,你能够在手机上开发出一个简单的app就算入门了。

目前入门大概就以上两类,其他的很多都需要靠工作中学习,工作中实践,有公司团队里面的大神带着,学好,运用好更多的java技术。


原始地址:/resou/42678.html