Java语言基础
谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《ThinkinginJava》。它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它。该书的作者BruceEckel在网络上被称为天才的投机者,作者的《Thinking in C++》在1995年曾获SoftwareDevelopmentJoltAward最佳书籍大奖,《Thinking inJava》被评为1999年JavaWorld“最爱读者欢迎图书”,并且赢得了编辑首选图书奖。作者从1986年至今,已经发表了超过150篇计算机技术文章,出版了6本书(其中4本是关于C++的),并且在全世界做了数百次演讲。他是《Thinking in Java》、《Thinking inC++》、《C++ Inside& Out》《Using C++》和《Thinking inPatterns》的作者,同时还是《BlackBeltC++》文集的编辑。他的书被读者称为“最好的Java参考书……绝对让人震惊”;“购买Java参考书最明智的选择”;“我见过的最棒的编程指南”。作者的非凡才华,极其跨越语言的能力,使作者被选为Java发展10年间与Java关系最密切的10个人物之一。
《Thinking in Java》讲述了Java语言的方方面面,很多Java语言的老手都评价“这是一本将Java语言讲得相当丑陋的书”。该书谈及了java语言的很多细节,每一个方面都是相当深刻的。通过本书你可以看到“丑陋的”java语言。
网络上关于java语言讲解的视频很多很多,其中不凡有垃圾。《翁恺—JAVA语言》可能是你学习java语言基础的唯一选择,该讲座基本按照《ThinkinginJava》这本书讲解,其中不凡有翁老师的很多有意思的笑话。我很幸运学习就是从此视频开始的。内容包括30讲,我总共看了3遍。
不过,对于初学者我不太推荐使用《Thinking in Java》,我比较推荐Prentice Hall PTR 的《CoreJava2》国内称为《Java 2 核心技术》,目前是第七版。网络上大家都可以下载到电子版。Oreilly的《Java inanutshell》也是一个不错的选择。读完以上两本后,你可以看看翁恺老师的视频,接着可以研究《Thinking in Java》了
1、《深入理解计算机系统》
从c语言到汇编语言到硬件再到操作系统,写得非常好。是一本能帮助深入理解计算机系统的书。基本上把这本书吃透面试操作系统的大部分问题都不是问题。
2、《算法导论(第三版)》
被很多acmer coder奉为学算法的经典之作,但不太适合初学者,因为它这本书很多内容只提供了伪代码,而没有具体实现。但可以从这本书学数据结构和算法好,因为日后的编程语言对实现而言实际上并没有特别大的障碍,只是适合与不适合的选择罢了,而把想法转换成编程语言才是对算法知识的考验。如果不想太过深入的话可以忽略掉第四部分(高级设计和分析技术)第五部分(高级数据结构)和第七部分(算法问题选编),你会发现书其实比你想象中薄很多噢!
3、《计算机网络:自顶向下方法》
软件学院的计算机网络教材,非常适合初学者,里面将计算机网络从顶层到底层逐章分析了一遍,如果能够结合一些实验来辅助理解会更好,因为里面的讲解比较抽象。
4、《STL源码剖析》
如果你是经常用c++刷算法题的同学,那么一定经常用STL的各种集合, vector, set, stack, queue等等。它们的实现原理,在源码面前,完全没有秘密。
5、《图解HTTP》
日本人著的介绍HTTP协 议的书,对理解HTTP协 议的一些细节有非常大的帮助,插画也很多,感觉就像看漫画一样,很容易理解的。
6、《TCP/IP详解卷一》
这本书能把枯燥的知识讲得很细致,强烈推荐这本,看完相应章节后大概能够明白为什么TCP/IP要这么设计了。面试的时候经常问到三次握手和四次挥手,还有各种状态的转移, TIME_WAIT的时间为什么是2*MSL······
7、《UNIX网络编程卷一:套接字联网API(第三版)》
中文版快800页,不过我只看了一些章节,这本书也是把TCP/IP的细节讲得很深很深,此外还有非常重要的基本套接字编程,就是写网络程序的时候那些bind, accept, listen, send, receive函数之类的,内容非常多,但是这些是理解多路复用模型所需要掌握的······select/poll/epoll这些系统调用解决了什么问题?事件机制能不能理解?就看这本书的前六章了。
百度,想飞社区,在资源里找,多是JAVA类书籍,也有入门教程和入门视频。学编程最好要有英语基础。要有意识地强化这块,毕竟,绝大多数编程语言是用英语书写的(易语言不算)
java 编程语言 詹姆斯·高斯林的书,不解释
还有java核心技术基础,都很好
以下列出了10本书,对于任何希望提高Java知识和理解的Java程序员来说都是必不可少的。
如果你是一名程序员,想知道如何提高你对Java的了解或者成为更好的Java开发人员,那你就来对地方了。在本文中,我将分享一些最好的Java书籍。这些书经受住了时间的考验,随着岁月的流逝变得越来越重要。你总有很多东西要学,这就是为什么我认为它们是有史以来最棒的Java书籍。
就我个人而言,我非常喜欢读书。我的图书馆里有几百本书和电子书。当我还是个孩子的时候,我读了很多漫画,包括《超级突击队》(Super Commando Dhruv),他是我最喜欢的角色,因为他故事中的科学主题,以及他通常是如何凭借自己的大脑、智慧和对科学事实的简单了解打败更强大的敌人的。
当我成为一名程序员时,我对书籍的热情还在继续。除了大学里的教科书,我读的第一本Java书籍是Head first Design Pattern。这本书完全改变了我对Java的知识和对面向对象编程的理解。
直到那时,我才明白这个接口的真正用途。对我来说,它们看起来毫无用处,因为您无法编写代码来执行任何操作。但是,读了这本书之后,我意识到它们在减少程序不同部分之间的耦合方面是多么的棒。
从那时起,我读过很多编程书籍,大部分都与Java有关。今天,我将分享每个Java开发人员都应该阅读的10本最好的Java书籍。即使其中有些知识在现在看来是过时的,可从中学到的大部分内容都会帮助你积累业务知识以及提升自己职业素质。
Java程序员的Top10本书籍
下面是我为Java程序员列出的一些最流行、最重要的书籍。如果您已经做了2到3年的Java程序员,那么您很可能已经读过这些书了。但是,如果你还没有读过,现在是阅读它们的最佳时机。你不会后悔把你的时间和金钱投资在这些书上,因为回报是无限的。
1. Effective Java(有效的Java)
相信这本书出现在第一位,不会有任何意外。约书亚·布洛赫的《有效Java》是有史以来最好的Java书籍。对于任何经验级别的Java程序员来说,这绝对是一本必读的书。你会学到很多关于Java和它的API的知识。
事实上,Joshua Bloch自己就是几个关键Java类和API(例如Java)的作者。lang和Java集合框架,是阅读这本书的充分理由。除此之外,他的写作风格也非常棒。
你可以在海滩上阅读这本书,也可以在旅行中阅读,也可以在办公桌前阅读。这是可怕的。毫无疑问,在阅读这本书之后,您将成为一个更好的Java程序员。
最重要的是,现在有了一个新的有效Java版本,它涵盖了Java 7、8和9,现在读这本书再好不过了。
2. Clean Code
Java程序员的另一个永恒经典是干净的代码。正如标题所示,它教会您编写更好的代码,这是一件非常难学的事情。说实话,学习Java很容易,但是编写更好的Java代码却很难,因为它使用了强大的OOP原则,而这正是本书的精髓之所在。
与约书亚·布洛赫相似,罗伯特·c·马丁(Robert C. Martin)也被称为鲍勃叔叔(Uncle Bob),他是一位优秀的作者,分享了他作为一名软件开发人员的许多经验,教会了你各种编程技术和实践,对你作为程序员的日常工作有很大帮助。
3. Java Concurrency in Practice(Java并发编程实战)
多线程和并发性是Java编程的重要部分。在实践中,没有比Brian Goetz的Java并发更好的书来学习和掌握这个棘手的主题。
尽管这本书只涉及Java 5,但它对于任何认真的Java开发人员来说都是必读的书籍。
有些人可能会发现有些部分有点难以理解,特别是3.5.1到3.5.6节,如果是这样,我建议您通过Heinz Kabutz博士的Java -并发性能课程。这将有助于你更好地理解和理解这些主题。
4. Head First Design Patterns
了解OOP和设计模式对于编写任何Java应用程序都很重要。Head First设计模式是学习这样做的最好的书。
正如我之前说过的,这是我在Java上读过的第一本书,除了教科书。看完这本书,我很感动。这本书教会了我为什么组合比继承更好,以及如何在不修改已经测试过的代码的情况下更改类的运行时行为。
您可能认为这只是另一本旧书,但不必担心,几年前发布了一份关于Java SE 8的更新版本。
如果您认真地学习Java中的设计模式,那么您应该阅读这本书!
5. Spring in Action
对不起,我必须在Java程序员的经典书籍列表中包含一本Spring book, Spring in Action。Spring是有史以来最流行的Java框架,这是了解Spring框架的最好的书,但是——老实说——这本书不仅仅是一本Spring的书。
虽然无法解释,可在阅读了这本书的第4版之后,我对Java和编写更好的代码有了很多的认识。
书中有一个主题,例如JDBC,并解释了JDK哪里出了问题,以及Spring如何纠正错误,例如SQLException,这是一个通用的异常,表示某件事出了问题,但并不确切地指出问题出在哪里,以及如何处理它。
就像Josuha Bloch和Uncle Bob一样,Craig Walls也是一位伟大的作家,通过阅读这本书,你会学到比Spring更多的东西。
6. Test Driven(测试驱动)
自动化测试是一项重要的技能。对于开发人员来说,一切都从单元测试开始。Java从一开始就有幸拥有JUnit,但是仅仅知道这个库并不能使您成为能够编写测试的专业程序员。
它所需要的远不止了解单元测试库(如JUnit或Mockito),这也是这本书的用处所在。如果您认真对待代码质量和编写单元、集成和自动化测试,那么在2018年您将阅读《测试驱动》这本书。
7. The Definitive Guide to Java Performance(Java性能权威指南)
成为更好的Java开发人员的另一个方面是了解JVM、垃圾收集和性能调优。虽然有一些关于这个主题的好书,例如Binu John和Charlie Hunt的Java性能,但是Scott Oaks关于Java性能的权威指南是我最喜欢的。
尽管它只涵盖了JDK 7,但您将了解很多关于性能调优和JVM的知识,这完全证明了您将在这本书中花费的时间和金钱是合理的。
8. Head First Java
有多少人是通过阅读这本书开始学习Java的? 嗯,我就是。在我了解了Head First Design Pattern之后,我也找到了这本书,Head First Java,我非常喜欢读它。我学到了很多Java概念,我的许多误解也被纠正了。
尽管许多人认为这是一本过时的书,但我仍然觉得它是一本非常适合刚开始使用Java的书,因为它独特的风格和内容。
通过阅读本书,您可以轻松了解Java 8、Java 9和Java 10对其他版本的更改。
9. Head First Object-Oriented Analysis and Design(面向对象分析和设计)
在最伟大的Java书籍列表中,这是另一本“Head First”的书。是的,他们简直太棒了。
Head First面向对象的分析和设计为Java程序员形成了“Head First”三部曲,即Head First Java、Head First Design Patterns和Head First OOAD。
它实际上补充了Head First的设计模式,解释了面向对象编程和设计的技术。
我从这本书中学到的最重要的技术是为接口编码,以及如何封装更改。这本书仅仅改变了我编写Java代码的方式。
10. Java: A Beginner's Guide(Java初学者指南)
如果你需要一本全面的Java书,应该就是这个。尽管标题上写着Java:初学者指南,但它是学习Java最完整的书籍之一。
Herbert Schildt先生在保持这本书的最新进展方面也做了一件值得称赞的工作,例如,这本书的第七版现在涵盖了Java 9。
但是,我不知道他将如何保持这本书的最新发展,因为Java从Java 10开始的新的6个月发布周期。