Java核心编程技术第四版(JAVA编程思想第四版)
介绍几本JAVA原版英文书籍
Think in Java 偏重于技术方面
个人认为
对于Java和C#这种面向对象语言
学习的重点应该是培养和提高面向对象思想
而非研究语言的特性
所以我推荐以下OOP、OOD、OOA方面的书
《Head First 设计模式》(有翻译得不错的中文版)
《设计模式 可复用面向对象软件的基础 》(中英文版本都有)
《重构》(有中文版,不知道有没有原版的)
《分析模式》(有中文版,不知道有没有原版的实体书,电子书有英文版)
《领域驱动设计》(英文版电子书,中文版翻译得不太好)
《Java Modeling in Color With UML》(也就是中文版的《彩色建模》,不过翻译得爆烂,像金山快译翻出来的,推荐看原版,有电子书)
不过如果楼主是初学Java的新手的话
Core Java 和 Think in Java 都应该看看
学java看什么书
Java的优势是简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。
Java语言的设计从现在的角度看非常中庸,啥都不是特别出色,但都“凑合”。
学习Java就业时就意味着有不少选择余地的。
其实Java并没有想象中的那么难,前提是做好一个心理准备,那就是你想走远点,就得不间断的去学习,去汲取知识,前期不能怕辛苦,不要闲下来就打游戏,多看看各种开源项目的代码,API的设计方式,各大网站的设计架构,理解各个环节的作用。补齐自己的知识视野。
推荐这些Java方面的书籍,仅供参考
《Head First Java》
零基础的小白与半路出家者的最爱
这是一本完整的面向对象(object-oriented,oo)程序设计和java的学习指导,以生动有趣而风靡。本书是根据学习理论所设计的,可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。而且不只是读死书,你还会玩游戏、拼图、解谜题以及以意想不到的方式与java交互。在这些活动中,你会写出一堆真正的java程序,包括了一个船舰炮战游戏和一个网络聊天程序。
《Java 核心技术》与《Java 编程思想》
《JAVA编程思想》显然要更深入地剖析java,而《JAVA核心技术》是对于java各个知识点的阐述。可以说《JAVA编程思想》重在深度,理解为教人怎么写代码。《JAVA核心技术Ⅰ》重在全面,甚至罗列了很多API。
《算法第四版》
必读之作,不仅涵盖所有 Java 基础,对于编程思想层面的提升也有很好的帮助。
《Effective Java 中文版(第2版)》
Java 编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。
《重构:改善既有代码的设计》
出自于 Martin Fowler 的大作,写出优秀代码的必经之路。
《Java Concurrency in Practice》
了解 Java 并发编程必读佳作,建议阅读英文版。
《敏捷软件开发, 原则,模式,实践》
该书作者是Robert C. Martin。本书重点讲述了如何使用uml,并通过真实案例讲解如何用极限编程来设计、测试、量构和结对编程。曾经获得美国《软件开发》第13届震撼(jolt)大奖!
《Java并发编程实战》
书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。
《深入理解Java 虚拟机》
全书共分为五大部分。从宏观的角度介绍了整个Java技术体系到JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见的虚拟机的监控与调试工具的原理和使用方法。从虚拟机的执行子系统,包括Class的文件结构以及如何存储和访问Class中的数据;虚拟机的类创建机制以及类加载器的工作原理和它对虚拟机的意义;虚拟机字节码的执行引擎以及它在实行代码时涉及的内存结构。到讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果。
《Java 核心技术》第八版和《thinking in java》第四版,这两本书的中文版怎么样?
中文版很不错的,我同学很多用这2本书的中文版,我自己也用了编程思想,毕竟英语没那么好,呵呵,如果你英语不错,也可以看看原著,那样效果会更好!希望能帮到你!
零基础,学Java用哪本书比较好?
零基础学习java,可以看李刚编写《疯狂java讲义》,推荐理由如下:
李刚的书都是从非常的入门基础开始讲,而且每个例子都非常简单,每个知识点都有实际的例子配套,可以马上上机验证结果是否正确,有理论也有操作,对于新手是最好的学习方式。
李刚的《疯狂java讲义》在各大书店销量排在第一,证明已经经过市场的考验。
谁能介绍几本学Java的书?
Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。这三块相互补充,应用范围不同。
J2SE就是Java2的标准版,主要用于桌面应用软件的编程;
J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;
J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
先学习j2se
要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。学习j2se推荐两本书,《java2核心技术一二卷》,《java编程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而定。
不要被IDE纠缠
在学习java和j2ee过程中,你会遇到五花八门的IDE,不要被他们迷惑,学JAVA的时候,要学语言本身的东西,不要太在意IDE的附加功能,JAVA编程在不同IDE之间的转换是很容易的,过于的在意IDE的功能反而容易耽误对语言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加强版WSAD。用好其中一个就可以了,推荐从eclipse入手j2ee。因为Jbuilder更适合于写j2se程序。
选择和学习服务器使用配置
当你有了j2se和IDE的经验时,可以开始j2ee的学习了,web服务器:tomcat,勿庸置疑,tomcat为学习web服务首选。而应用服务器目前主要有三个:jboss、weblogic、websphere。有很多项目开始采用jboss,并且有大量的公司开始做websphere或weblogic向jboss应用服务器的移植(节省成本),这里要说的是,学习tomcat和jboss我认为是首选,也是最容易上手的。学习服务器使用配置最好去询问有经验的人(有条件的话),因为他们或许一句话就能解决问题,你自己上网摸索可能要一两天(我就干过这种傻事),我们应该把主要时间放在学习原理和理论上,一项特定技术的使用永远代替不了一个人的知识和学问。
学习web知识
如果你是在做电子商务网站等时,你可能要充当几个角色,这是你还要学习:
html,可能要用到dreamwave等IDE。
Javascript,学会简单的数据校验,数据联动显示等等。
J2eeAPI学习
学习j2eeAPI和学习服务器应该是一个迭代的过程。
先学习jsp和servlet编程,这方面的书很多,我建立看oreilly公司的两本《jsp设计》和《java servlet编程》,oreilly出的书总是那本优秀,不得不佩服。
学习jdbc数据库编程,j2ee项目大多都是MIS系统,访问数据库是核心。这本应属于j2se学习中,这里拿出来强调一下。
学习jndi api,它和学习ejb可以结合起来。
学习ejb api,推荐书《精通ejb》
经过上面的这些的学习,大概可以对付一般的应用了。
有人说跟着sun公司的《j2ee tutorial》一路学下来,当然也可以。
STRONG学习ejb设计模式和看代码(最重要)
设计模式是练内功,其重要性可以这么说吧,如果你不会用设计模式的话,你将写出一堆使用了ejb的垃圾,有慢又是一堆bug,其结果不如不用ejb实现(ejb不等于j2ee)
无论学习什么语言,都应该看大量代码,你看的代码量不到一定数量,是学不好j2ee的。
目前有很多开源的工程可以作为教材:
jive论坛
petstore sun公司
dune sun公司
等等,研读一个,并把它用到自己的工程中来。
J2ee其他学习
当你渐渐对j2ee了解到一定深度时,你要开始关注当前领域中的一些技术变化,J2ee是一块百家争鸣的领域,大家都在这里提出自己的解决方案,例如structs,hiberate,ofbiz等等,学习这些东西要你的项目和目标而定,预先补充一下未尝不可,但不用涉及太深,毕竟学习原理和理论是最最重要的事。
目前常见j2eeAPI
JavaServer Pages(JSP)技术1.2
Java Servlet技术2.3
JDBC API 2.0
Java XML处理API(JAXP)1.1
Enterprise JavaBeans技术2.0
Java消息服务(JMS)1.0
Java命名目录接口(JNDI)1.2
Java事务API(JTA) 1.0
JavaMail API 1.2
JavaBeans激活架构(JAF)1.0
J2EE连接器体系结构(JCA)1.0
Java认证和授权服务(JAAS)1.0
学习上面的某些API要以你的项目而定,了解所有他们总之是有好处的。
上面印证了大家说的一句话,java语言本身不难学,但是技术太多,所以学java很费劲。回想一下,基本上每个初学者,在刚学习java的时候可能都会问别人这么一句话,你怎么知道的哪个方法(api)在哪个包里的?呵呵,无他,唯手熟尔。