本人大一,零基础想自学Java,应该买什么书呢?求推荐,谢谢?

感谢邀请!

说实话,很久不做java项目,最近仅仅做了android开发app项目,对相关书籍还真不太清楚。

不过,买书学习应该是成本最低的方式,比免费的成本更低,写过书的人才知道要写好一本书,要花多大代价,绝对是呕心沥血,知识的精华,赞成买书。

至于具体什么书,我到当当和亚马逊网站搜索了一下,推荐【Java从入门到精通(第4版)】。因为我以前看过的书现在没了,所以推荐这本。

照着书学习是比较好的方式,关键还在于一定要动手练习,当你每敲完一段代码的时候,你会有一种充实感,会觉得人生没有虚度,坚持下去,必有所成。


我大三,其实大伙都知道,java语言在近年来趋势的明显提高,但是学起来却不简单,针对性的学习格外重要。

首先,你如果是计算机专业的,那么我推荐java程序设计,主编叶亚楠,至于为什么,计算机专业对java要求较高,作为本专业人员,想必你已经有了蛮好的基础,而这本书,例题和实验题,都能更好地让你理解其中的一些原理与应用。辅之进阶篇《突破java程序员的十六准则》相信你会很快就能写一些小程序。

其次,如果你不是计算机专业,那就先警告你,一入java深似海,从此异性是路人啊!当然,如果你很帅就例外。呃,,有点跑题,,我建议你去看《轻松学java编程》,辅之《细说java》,可以迅速上手,多看例题,了解其中详细,多练习。你可以的。

最后,作为老司机,我再次提示你,java路的坑多,常常跌倒,刚爬起,又陷入下个坑,如果你不会坚持,我推荐你看《java从入门到放弃》篇。


我也是一个刚开始学Java的大学生,大三,报了个培训班,刚开学学。我所能知道,并告诉你的是,网上资源也是很多的,不非得去买书,说实在的,按照视频那样一步一步做,应该比起书本效率高多了吧?当然,视频是没有书本那些知识结构呈现的直观。条条大路通罗马,如何学好java只是开始,入门java是学习JAVAse,然而要是想通过java语言找到工作的话,更要去继续学习JAVAEE的技术,加油吧!


谢邀,本来觉得这个问题很简单,但是看了一圈回答,感觉都不是合胃口。我做JAVA领域也有些年头,大牛比不上,但是经验还是能传授一点。

你也没写你学到什么程度,那我就从入门开始推荐吧。

入门

我个人认为最好的入门书籍是《Java核心技术》和《THINKINGINJAVA》(中文JAVA编程思想)。两本书里选一本我选《Java核心技术》,这本书我虽然没看完,但是里面对JAVA的技术讲述大而全,几乎对语法和基础库讲的都很夯实,我觉得入门看这一本就够了。

《THINKINGINJAVA》是我多年前就看完英文版的(除了GUI部分),我觉得这本书教授了一种学习编程的思想,他不是一种授课的思路而是一种探索的思路,我印象里,每个API他都会调用一遍然后来讲解。不过这本书,我不太喜欢里面的代码,有些代码内部类各种嵌套,思路挺复杂的,对于刚学习面向对象编程思维的人来说学起来有点困难。

进阶

如果你把上面两本之一看完并且初步掌握JAVA以后,你一定要看《EffectiveJava》。里面是以知识点形式讲解JAVA的,有很多JAVA的小细节,注意事项,还有编程技巧等等。很多面试问题,其实也是根据里面内容来。人和人差距在这本书看完以后开始体现。

JAVA里有很多开源代码,很多大型程序也使用JAVA。要想在编程上走的更远,就需要看一些设计思维上的书籍。我推荐《HEADFIRSTDESIGNPATTERNS》,这本书带我入门了设计模式,比较通俗易懂,看起来很舒服。C++四人帮那本过于提炼。

有时间的可以看看《DataStructuresandAlgorithmAnalysisinJAVA》这本书我就看过C++早期版本的,JAVA版的买了,翻了下内容觉得很不错,很厚一本内容很全。

无聊的自虐

就我个人经验来说,看完上面几本书基本上秒杀大部分的JAVA程序员了。(不是我黑,很多人做了十几年,只会用单例模式,代码里全是单例模式。)

《ConcurrentProgramminginJava》JAVA基础concurrent库作者写的,对多线程讲的很深入,其实大多数人日常工作都碰不到,全当爱好可以看。concurrent库源码其实也很精彩,可以网上搜一些源码分析的文章看。

《深入理解JAVA虚拟机》讲JAVA虚拟机的运行原理,CLASS编译,加载和字节码的。我看的很老版本的,新的一些还没来得及看,图片比较少,文字较多,读起来有点难。不过看完以后对程序的运行原理等等会有深刻的理解。

写到这里我感觉差不多了。吐槽下:其实我觉得java这个语言,在语法层面是我见过最简单最没花头的语言了,但是围绕java有很多知识可以学,这是入门学java最大的好处。


网上很多视频java自学看书没有视频好黑马传智的视频都可以在网上找得到一个全面的java学习过程javase基础语法跟面对对象api多线程异常等等数据库jdbcjavaee三大框架具体的视频教程里都有跟着学多敲代码不会贴吧问论坛问


对于刚学习java的你,到网上看看视频吧,Java核心技术和Thinkinginjava这两本书讲的有点太深,毕竟我在07年的时候学习的java,那个时候没有编程基础的我,现实到网上查看资料,然后去培训学校学的。

主要就是边看视频,边敲代码,学java,不仅要学基础还要学习数据库,在我的那个时候视频很少的,但是现在我看了,现在有的视频讲的很详细,说的这些,但愿对你有帮助。


我觉着java核心技术和thinkinjava这两本书对于没有基础的学生来说还是有点深,不如上网上看看相关的视频。

我是07年学习的Java,那个时候我没有一点的编程基础,甚至c语言都不会,一看到编程就头痛,毕竟不是学软件编程的,后来就到度娘上找了一些资料,也看的头大,最后就报班学习。

现在视频多了,可以看看视频,然后就是自己多多练习,学Java还得学习数据库的,一个人一个学习方法。

说这么点,希望对你有用。


首先,能在大一就开始自学java,挺不错的。

基础书,我觉得传智博客的java基础入门,挺好的,他就和高中课本一样,他可能没有其它书那么好,但是书上该有的都有,其他书,我把他当成课本以外的资料书来看,学校图书馆应该都有,时间充裕,建议你多看几本不同的基础书,对你打好基础会有很大帮助,因为面试中,基础很重要,并且后续web和框架的学习会相对轻松一些。

最后,祝你学有所成。


JAVA王者归来,或者是通过慕课网学习。慕课网有比较系统完善的学习视频,很适合初学者。


不推荐看书,看视频的效率会更高一些,以前初学java的时候看的是如鹏网的《这样学java不枯燥》,整个课程学完之后,感觉特别的有意思,也做出了好多炫酷好玩的东西来,周围同学都惊呆了


本人java专业,大学四年,工作三年,以下是个人的一些见解,零基础的话可以考虑分步走:入门、初级、提升

1.入门阶段

推荐先从教程网站入手,比如runoob,极客学院等,好多知识都是一些较专业人士精心梳理,想对而言入门快一点,且语言简洁,容易理解。

此阶段重点是掌握各个知识点,比如基本语法、数据、变量类型、对象和类、修饰符,运算符等等。

用心一点的话,一周左右时间即可熟悉,再多加练习,相信再一周就可以独立完成一些简单的逻辑开发和设计。

2.初级

这个阶段的你基本已经掌握基础知识,达到给你一段代码基本可以知道这些都是什么意思。

这时建议读一读《thinkinginjava》(最好是英文版)从头到尾认真读一遍,不懂就多看几遍,再多多练习。如果还有时间可以再看一下《effectivejava》本人觉得这本书写的很好,很多细节,容易出错的地方都写的很详细,有部分章节也很深入。

另外呢,既然是java,感觉当下大部分还都是web开发,所以有必要学习一些框架,如spring,struts2,mybatis等等,另外需要了解MVC。当然还有一些前端的知识,毕竟工作之后,不是所有公司都是前后端真正分离的,你还得写页面,所以适当了解一些布局,html,js等绝对有好处。

对了看看设计模式,你会觉得哇塞,写的真好。

另外推荐去看一些视频,网上一搜一大堆,小羽这里推荐慕课网,还有一些公开课等。

3.提升

这里的提升就海里去了,什么JVM、算法、数据结构、并发、网络、NIO、分布式的,毕竟这些工作后不一定都会用到,看个人兴趣,记住,研究的深入对未来只好不坏。

如果以后有什么问题,可以私聊我。


所有书籍,不过前几本入门,后面的上手项目。所以应该都知道,早晚用的上。

《HeadFirstJava》

非传统的教学方式,运用大量图片和对话,尽量有趣地讲解严肃的技术主题。适合初学者的入门书籍。当然,也有同学反映信息密度不高,学习效率一般。

《Java核心技术:卷1基础知识》

口碑最好的Java教程。系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,内有大量程序实例,极具实用价值。是Java初学者和Java程序员的必备参考书。

进阶·打怪

《EffectiveJava》

JoshuaBloch大神(JavaCollections作者,曾是Sun公司杰出工程师和Google首席Java架构师)的代表作。介绍了在Java编程中78条极具实用价值的经验规则,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码,并通过例子代码加以进一步说明,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。

《Java并发编程实战》

BrianGoetz等Java核心团队的集体智慧结晶。本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册,其中并非只讲述了Java的多线程设施,对一般的并发编程的原理也有相当透彻的阐述。

《Java编程思想》

曾被誉为“Java圣经”,但颇受争议。有些人说每读一遍都有新收获,有人说应作为辅助教材。如果你想阅读它,请循序渐进地看,不要操之过急。

《编写高质量代码——改善Java程序的151个建议》

国人原创作品。内容全部由Java编码的最佳实践组成,为Java程序员如何编写高质量的Java代码提出了151条极为宝贵的建议。对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还分析了问题产生的根源,犹如醍醐灌顶,让人豁然开朗。

《Spring技术内幕(第2版)》

国人原创作品。从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的优秀架构和设计思想,还能从Spring优雅的实现源码中一窥Java语言的精髓。

《深入分析JavaWeb技术内幕》

作者是2009年加入淘宝的许令波。全面、深入地阐述了Web前端、Java和Java服务端技术。

《大型网站系统与Java中间件实践》

作者是蘑菇街技术副总曾宪杰,曾长期负责淘宝主站。通过这本书可以了解大型网站架构变迁过程中的较为通用的问题和解法,并了解构建支撑大型网站的Java中间件的实践经验。

深修·要上天

《深入理解Java虚拟机》

非常难得的国人原创JVM实践性图书。“其中穿插的经验、技巧、案例、实战处处都可见作者的实践之中积累的功力。”此书与BillVenners的老书《深入Java虚拟机》很大程度上是互补的,可以参看。

《Java性能权威指南》

Java性能方面的新书,可能也是最好的一本。不仅讲述了对什么进行优化,如何优化,还阐述了大量然后编写高效代码的最佳实践。虽然篇幅小一些,但比Oracle官方的那本内容博杂的《Java性能优化权威指南》其实更深入。

『推荐Java程序员阅读的其他通用技术图书』

《重构改善既有代码的设计》

《CleanCode》

《大型网站技术架构》

《企业应用架构模式》


现在互联网是越来越发达,学习编程语言的人也是越来越多的,很多人想要学习Java,因为Java的用处是非常大的,Java可以编程网站,可以开发小程序,可以编程APP等等。如果是零基础想要学习Java的话,文字性的东西有时候不一定能看懂,所以我建议大家可以看一些免费的视频。

因为如果你没有基础想要学习Java的话,视频比文字要更容易理解一些。在这里我推荐大家看高淇老师的Java300集(大家可以在百战程序员或者尚学堂的官网上免费领取),高淇老师是拥有很多年的教学经验,资历是非常丰富的,讲解的内容也是通俗易懂的,是非常适合刚学习Java的小白,比文字性的东西更容易让人理解。如果之后有一定基础的话,是可以买书的,那时候就能理解文字性的东西了。

想要学习Java的小伙伴记得去百战程序员或者尚学堂的官网上免费领取呦!


如果你想学习Java编程,有两个方面建议:一是自学,二是去培训机构

1、自学:需要自己的搜集资料学习,遇到问题各位找,费时费力

2、动力节点的Java实验班:通过专业的学习和考试,测试你是否适合学习Java

一、关于自学需要掌握的知识有:

一、JavaSE基础

1.1、J2SE

JAVA开发基础知识|Eclipse开发环境|J2SE5.0API|J2SE8.0新特性|多线程技术|Socket网络技术

|

RegularExpression|Java反射技术|Properties技术|各种实战设计模式|JavaDebug技术|

面向对象设

计原则详解|实例解决面向对象设计|面试题内部详解|面试答题技巧详解|AWT/SWING技术

1.2、实战数据结构

数据结构实战训练|数组、链表等常用数据结构实战

1.3、正则表达式

正则表达式基本语法。预搜索、断言、分组。JAVA操作正则表达式Matcher/Pattern

1.4、反射机制

JAVA的动态性、Reflection技术、JVM类加载器、Class对象、Method等。

1.5、CHAT项目

Chat项目通过完成一个模拟的在线聊天系统,主要锻炼大家对于TCP/IP、Socket编程、C/S模式的编程、线程的运用等方面的能力。

1.6、坦克大战单机版/图片版/网络版

这三个项目通过大家喜闻乐见的小游戏的形式来锻炼大家对于JavaSE综合运用的能力,并且能够初步运用面向对象的编程理念,锻炼初步的设计能力,并基本掌握多线程的编程。

二、JavaWeb开发

2.1、数据库技术

Oracle基础管理;SQL语言PL/SQL

语言;触发器、存储过程;MySQL,SQLServer简介;业界常见问题设计;数据库表的设计范式;数据备份与移植;多表连接难题详解;嵌入式数据库应用;

2.2、JDBC技术

JDBC基础;连接池技术;使用设计模式开发连接池;详细扩展与测试池效率;

2.3、HTML4&CSS&JavaScript

HTML语言;CSS语言;JavaScript语言;JS常用模版;后台管理模版;DOM;JS操作CSS;JS操作DOM;

ECMAScript;JS操作DIV;protoype;js基于对象编程;;Firefox和firebug调试技术;

2.4、Bootstrap

前端css框架,让我们的学生不会美工也能做出漂亮的页面;

2.5、Jquery

Jquery基本技术;Jquery使用插件;

2.6、Http协议深入

使用HttpWatcher深入理解协议内部机制;

2.7、JSTL标签库

JSTL核心标签库,JSTL函数标签库、JSTL格式化标签库,JSTL之XML解析标签库、自定义标签技术;

2.8、JSP&Servlet

Servlet技术;JSP技术;JSTLTagLibrary技术;Filter&Listener技术;报表系统;

FileUploading;Tomcat服务器技术;servlet过滤器和AOP编程;servlet监听器;

2.9、SCM技术

CVS初步;SVN简介;

2.10、JavaWeb实战演练

综合运用所学知识;HTML+CSS+JS;JSP+Servlet+JavaBean;FileUploading;分页技术;

数据校验;MVC初步;Filter;Listener;

2.11、XML技术

XML+XSL+DTD/Scha;XML数据解析;XML应用详解;XQUERY技术;CAST技术(XML数据和对象互转);

2.12、AJAX技术

AJAX技术基础;AJAX技术框架;AJAX技术调试技巧;

2.13、项目实战

《基于servlet/JSP技术的电子商务网站》、《基于AJax和Jquery的BBS论坛系统》、《基于ApacheCommons

FileUpload的网络硬盘系统》

三、主流框架技术及项目实战

3.1、流行Web框架简介

Struts2/spring4.x/hibernate4.x/springmvc/WebWork/mybatis等简介

3.2、MVC模式

ModelViewController模式深入

3.3、SpringMVC

springmvc概述;springmvc的开发流程;springmvc基本配置;springmvc的注解开发;常用注解;

service,control,reposity,reques+mapping,responseboby等

3.4、Struts2.x

Struts2的基本开发流程;action类的三种实现方法;XML配置的几种方法;Struts2国际化支持;Struts2异常处理;

Struts2的验证框架;Struts2的多模块配置;拦截器;

3.5、Hibernate4.x

Hibernate基本开发流程;ORM简介;模拟SQL语句的自动生成;hibernate的检索;性能优化一级缓存二级缓存查询缓存事务与并发

悲观锁、乐观锁

3.6、Spring4.x

简单工厂模式;抽象工厂;工厂方法模式;Spring3简介;Spring的基本开发流程;IOC、DI;Bean的配置;

SSH框架的整合;Spring的注解开发;SpringAOP开发代理模式静态代理、动态代理、CGLIB;

3.7、Mybatis

Mybatis简介;Mybatis的开发流程;配置文件;映射文件;面向接口的Mybatis开发;

3.8、手工编写实战开发struts2.x框架

亲自动手开发struts2.x框架,融入设计模式,让大家的对struts的核心机制烂熟于胸!

3.9、手工编写实战开发Hibernate4.x框架

学习开发hibernate框架,让你真正将ORM框架理解透彻!

3.10、手工编写实战开发mybatis框架

完成另一个ORM框架mybatis的开发工作!

3.11、手工编写实战开发Spring4.x框架

Spring是最著名的框架之一!也是业界应用范围非常广泛的框架!是否对其核心机制有透彻了解,往往是高薪的关键!因此,完成spring框架核心机制的开发。当别人还在探讨如何使用spring时,你已经更上层楼!

3.12、项目实战

《基于struts2+spring+mybatis的电子政务系统》、《基于springMVC+hibernate的在线考试系统》

二、去培训机构要注意的有:

现在IT行业的培训机构越来越多,鱼龙混杂,那么,应该如何擦亮眼睛,选择一家货真价值的机构来学习呢?

如果你是刚毕业的大学生,或者已经在社会上工作过的有志之士,想在软件行业道路上发展,最重要的是你要有技术。

现在,企业需求的是有IT技术的人才最吃香,如果你没有技术,是不是应该与时俱进努力学习新时代所需求的知识呢?那你就需要提升一下自身的综合实力和竞争力,就是学习技术,技术是在社会竞争中最核心的实力,其次就是自身的综合能力。学技术就要选择靠谱的机构,不能说看到那种广告的宣传,我们要看真正受到实惠的学生,也就是口碑,这是最实在,也是最真实的。


推荐:

1、《Java核心技术》

2、或者市面上那些培训机构的视频教程,可以下载下来看看

【Tips】

1、不要一开始就看《Java编程思想》,驾驭不了的,还不如看《Java从入门到精通》《21天学通Java之类云云》

2、不要买《HeadFirstJava》,自己买过,那些推荐的估计连看这本书都没看过,知乎咋云云它就咋云云,唉,悲哀自己都没看过的东西还告诉别人要这样做,HeadFristJava你学不到什么的,太表浅了,而且还很乱!


 《Java从入门到精通》适合自学者

本书以零基础讲解为宗旨,用实例引导读者深入学习,对于自学者来说,比较合适,能从零开始,逐渐的一步步的了解和学习。另外一个,这本书实操的内容够多,自学者尤其非科班出身的,比较容易掌握书中讲述的知识。


如何自学Java

首先要清楚了解自己适不适合学习,测试方法有两个:

一个是自己自学,也就是你现在打算走的路子,第一步肯定是先从基础学起,基础书籍,基础视频教程。

我个人建议是先看视频,如果你连视频都看不进去哪看不看书也就无所谓了。

基础视频推荐你看杜聚斌老师的159集零基础Java系列,这个系列在B站上很火,我也看过,其优点有三:

1.代码特别规范

2.每个细节、知识点讲解尤为细致,连电脑操作这种很基本的东西都有讲到,但这个老师讲课确给人一种雷厉风行的赶脚。所以不会显得拖泥带水。

3.这个基础系列能很好的帮助学习者打好Java的坚实基础。

零基础书籍方面,有这么几本推荐

1.《零基础学Java》杜老师新出的书

刚才妖精介绍过这里就不多做赘述了,总之对Java基础的“奠基”,代码的规范书写,知识点的学习梳理等等都对初学者学习会大有助益。

2.《thinkinginJava》

被称之为Java的圣经的一本书,不建议零基础刚入门的时候看,容易造成学习阴影压力,建议有一定能力以后观看,能学会很多东西,无论什么阶段都能看,都能有不少收获。

3.《HeadFirstServle&JSP》

虽然说,这本书是为考试而诞生的,但依然遮掩不住它的出色,我是觉得算是在HeadFirst系列中也比较出色的一本,并且非常适合初学者,不但让你知其然,更能知其所以然。如果是Servlet和JSP的初学者,推荐用这本。

4.《Java从入门到精通》

在Java入门书籍里,他算是比较出色的了,语言简单明了,只需要一周便可让你明白JAVA语言程序是什么,完全零基础的人学习再合适不过,他能带你一步步走入Java的大门。但掌握了基础期后,它就可以束之高阁了。

5.《Java核心技术:卷1基础知识》

这里建议,有了一定编程寄出后再去看这个系列的书籍会比较适合,它能帮助你在原有基础上快速掌握Java技术,但初学者不太能看的懂,有些东西讲的比较深入,往往会让你产生全书都是重点的错觉,不知道那块才是真重要的知识点。

6.《Java学习笔记》

此书,其特点在于作者将自己对于Java编程的独到了解注入其中,而他所讲解的这些大部分也是初学者容易迷惑的,所以这本Java学习笔记称之为超简入门也不为过。

7.《HeadFirstJava》

这本书通俗易懂,即便是不喜欢读书,看这本也能体会到不同的乐趣,本书的重点也很突出,初学者学习可以快速入门,不过就是过于段子了,如果感到无聊当笑话书看也行。。如果你是个讨厌读书的人,那么这本书一定会让你觉得很有趣。

除了自学外,还有一个方法就是到Java实验班去测试自己是否适合学习

此学习班,可能是国内唯一一个做专业Java测试的,并且还不收费,这就在很大程度上减轻了学习者的负担,更能及早的在短时间的清楚了解自己到底是否合适学习Java。

目前他们(动力节点)学校这个Java实验班9月份的报名已经截止了,10月9号的活动已经开启了,抢先报名的除了可以免学费,还可以免住宿和车费报销,感兴趣的可以去了解一下。

测试的两个方法已经说完,再说回学习方法除了上述的学习视频、学习书籍外,完整的自学Java更需要一套系统的学习规划和学习路线。哪个阶段该学习什么能够一目了然,胸有成竹。


原始地址:/changshi/17140.html