这都要问,你还学个吊
你这个问题一看就是小白,小白建议先看视频,和配套资料。这样少走弯路。需要资料我可以便宜买给你
1、《实战Java程序设计》
这是一本既注重实战,同时也注重底层“内功”训练的书,非常适合初学者阅读!
2、《程序员修炼之道——从小工到专家》
这本是指导程序员从低等级向高等级转变的必要圣经。每一篇幅都需要仔细阅读,深入思考,作者多年的经验可以给我们在实际项目中处理给予很大的帮助。通过在实践中,摸索,探讨,最终都会发现很多问题都能在这本书找到最好的指导。
《重构:改善既有代码的设计》,这本书确实牛掰,尤其适合当代程序员读。近几年软件开发的门槛降低了很多,好多公司都因为初级程序员的存在累积了一大批shit一样的代码,重构也讲技巧和原则,不是单纯地删除重写。看了几页就有收获,推荐给各位开发的朋友,没事儿读读,肯定有启发。
不知道您是否自学,如果是的话,光看书还是不够的。建议多看多交流。
如果需要其他资料,可私信找我获取,免费提供。
祝学业有成~
学过Java的朋友们都清楚,选择一套好的Java学习书籍对学习有莫大的帮助,不但对你的Java知识提升起到良好的基础作用,而且对编程体系框架的构建也有一定的帮助。学Java的朋友,哪几本书是Java程序员必看呢?下面将列出最受Java程序员欢迎的6本书,看看你有没有看过?没看过,赶紧买书补习吧!如果想要Java学习视频的,私信【Java】领取。
第一本:HeadFirstJava
--------------------------------------
推荐理由:HeadFirstJava是所有Java初学者最适合的书籍,无论是初级,中级还是高级都能从中有所收获。你可以从本书中了解到类,对象,线程,集合等编程知识,还可以了解到泛型,枚举,可变参数等语言特性。还涉及到了Java高级编程中的网络编程,IO操作等,能够让初学者对Java有比较完整地概念。
第二本:HeadFirst设计模式
--------------------------------------
推荐理由:HeadFirst设计模式书中涉及到设计模式解决什么问题,怎么解决问题,如何使用设计模式,设计模式有什么好处。使用简单有趣的例子,一步一步提出问题并解决问题,最终得出最优解。本书中会有很多要点总结,练习题还有有名的单词接龙等帮助你更好地了解设计模式。如果你想了解Java中的设计模式,这本书绝对是首选。
第三本:HeadFirstObjectOrientedAnalysisandDesign
--------------------------------------
推荐理由:本书建议和上一本HeadFirst设计模式结合阅读,效果更性。本书关注于面向对象设计原则。这本书可以帮助你写出好代码并且参考最佳实践进行优化改善。当然本书中的内容也适合使用其他面向对象的语言的程序员。想学好面向対象编编和设计规则,现在就开始读这本书是最好的选择。
第四本:JavaGenericsandCollections
--------------------------------------
推荐理由:本书的主要内容是关注于泛型和集合这西个Java语言的核心方面。本书对于那些有编程经验的程序员加强对集合和泛型的理解和学掌握有很大的帮助,详细介绍了每一个集合的APl,Set,List,Map,Queue,以及他们的实现,对比不同场最下它们的性能好坏。每个章节最后都有对比表图,更加容易理解。
第五本:算法导论(原书第3版)/计算机科学丛书
--------------------------------------
推荐理由:«算法导论(原书第3版)/计算机科学丛书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂。
第六本:JavaPuzzlers
--------------------------------------
推荐理由:本书讲述了Java语言中的极端情況和陷阱。相对于C++,Java更加安生低风险,JVM有着垃圾回收机制,让Java程序员不用关心内存分配和释放,大大提高了程序的开发效率。但是有些时候,即使是经验丰富的程序员也会被Java中的极端情况或陷阱给绊倒。本书列举并详细描述了Java中的这些陷阱。如果你喜欢刨根问底,钻牛角尖,这本书就是为你而写。通过本书,你可以了解很多java的核心知识并对自已的Java水平有所知晓。
以上就是学习Java推荐的6本书啦。书籍配上视频,效果更好哦。为你准备了一份Java学习视频,私信【Java】领取。
排名靠前的都列出来了。直接用吧
《Java基础入门(第2版)》出版社:清华大学出版社
这本书在第一版的基础上进行的升级,增加了很多重要知识点的原理剖析。很适合新手打基础用,因为很多高效也用第一版本作为教材的。内涵比较多的知识点案例,还充分的考虑到了学生对Java相关知识点的底层原理的熟知。总之就是基础知识点通俗易懂,并且配合了案例。
《Java编程思想》出版社:机械工业出版社
这本书,被成为Java相关书籍的圣经,这里声明,个人认为不适合入门。需要有一定的基础再去看,毕竟书中内容讲了Java各方面,需要在基础上面花精力去看的。看完了会有茅塞顿开的感觉,也是为后面学习新的技术奠定基础。
《重构:改善既有代码的设计》出版社:人民邮电出版社
是在外部行为不改变的前提下,有条不紊的改善代码。这本书在豆瓣评分9.1,并且几乎和设计模式齐名,被翻译成了众多语言,在世界畅销。作者是:马丁福勒,一步步的告诉我们怎么重构代码,避免我们写出面条代码。
《EffectiveJava》出版社:机械工业出版社
本书介绍了在Java编程中57条极其具有使用价值的经验规则。每条都很简短,并且是独立的小文章形式,告诉我们怎么避免Java语言的坑。
《敏捷软件开发:原则、模式与实践》出版社:清华大学出版社
面向对象原理和模式,也是以为马丁的书,面向对象设计原理和设计模式的应用。看书之前可以自己查查这本书,能接受电子书的,网上以后很多pdf版本。
《人件》出版社:清华大学出版社
和《人月神话》一起被誉为软件图书中的量多最鲜艳的奇葩,《人月》本身关注软件开发本身,《人件》关注的是开发软件的人;不管是软件开发成员,领导者还是被领导者看了都会受益的一本书。
《Spring实战》出版社:人民邮电出版社
Spring是开源框架我们都知道的,这本书应该是已经到第4版了,很经典,并且全面更新了Spring框架当中的核心知识点,并且在基础上介绍了怎么使用Spring构建web应用程序等等;使用已经有Java编程基础的读者。应该说适用于已经在职的尤其是企业级Java开发的人员。
《CodeComplete》中文《代码大全》出版社:电子工业出版社
翻译版本是很有误导性的,能看原著的可以看看。这是一本软件构建手册,讲了软件构建的完整流程。同样建议工作一段时间后再去看。
随着Java语言的应用变得越来越广泛,市场上对于Java开发人才的需求量也越来越大,行业发展前景也十分不错,因此有不少小伙伴开始想要通过学习来从事这个行业了。通过书籍汲取知识,相信是不少人的选择,但是市面上的书籍那么多,有哪些书籍能够帮助Java初学者快速进阶呢?
一名Java开发工程师不仅要对Java语言及特性有深层次的理解,而且需要掌握与Java相关的框架、生态及后端开发知识。本文涉及多种后端开发需要掌握的技能,对提高开发能力非常有帮助。
1、《JavaWeb开发实战》
本书以提升读者实战技能作为编写目标,使用通俗易懂的语言、丰富多样的实例,对JavaWeb开发涉及的核心技术进行了详细的讲解。涵盖了JDBC基础、JDBC进阶、DBUtils工具包、XML、Web开发前奏、HTTP协议、Servlet详解、会话跟踪、JSP详解、EL表达式、JSTL标签库、Filter详解、Listener详解、文件上传和下载、MVC涉及模式、程序日志工具和人力资源管理系统等内容。
书中更是有通过人力资源管理系统这个项目案例,将理论知识系统地串联起来,并将知识点在实战中的应用点出来,让读者真正理解JavaWeb技术的精髓并做到融会贯通、学以致用。
对于选择JavaWeb开发这条路线的人们来说,这本书的实用性还是不错的。
2、《Java工程师修炼之道》
Java开发一直是当前互联网领域火热的开发技能之一,Java工程师也一直是需求量非常大的开发职位。
本书主要针对一名合格的Java工程师的必备技能做了大纲性的总结和阐述。内容包括了工程化、常用开发框架、数据存储、数据传输、Java编程高级知识、性能优化、安全技术等内容,基本涵盖了Java工程师需要掌握的绝大部分技能点。
本书可以看作一本Java工程师的入职指南,也可以看作一本串联Java后端技能点的参考手册。通过精心编排的内容,刚入门的Java工程师能够体系化地学习相关开发技能,有经验的Java工程师能够查漏补缺,巩固自己的相关开发技能,进一步完善自身的Java技术体系。
3、《揭秘Java虚拟机:JVM设计原理与实现》
Java是一门非常流行的程序语言,但是,Java程序到底是如何运行的?如何写出更高效的Java代码……?这些令人困扰的问题,都可以从本书中找到答案。
本书从源码角度解读HotSpot的内部实现机制,主要包含三大部分——JVM数据结构设计与实现、执行引擎机制及内存分配模型。经过直接对源代码的分析,从根本上梳理和澄清Java领域中的关键概念和机制。
4、《轻量级JavaEE企业应用实战(第5版)》
本书介绍了JavaEE领域的四个开源框架和技术:Struts2、Spring、Hibernate和JPA。重点介绍了如何整合Struts2.5+Spring5.0+Hibernate5.2进行JavaEE开发。
本书主要包括三部分。一部分介绍了JavaEE开发的基础知识,以及如何搭建开发环境。第二部分详细讲解了Struts2.5、Spring5.0、Hibernate5.2、JPA的用法。第三部分示范开发了一个包含7个表,表之间具有复杂的关联映射、继承映射等关系,且业务也相对复杂的工作流案例,希望让读者理论联系实际,将三个框架真正运用到实际开发中。
5、《Spring+MyBatis企业应用实战(第2版)》
本书介绍了JavaEE(现已改名为JakartaEE)领域的两个开源框架:Spring的MVC和MyBatis。
本书重点介绍如何整合SpringMVC5+MyBatis3.4.5进行JavaEE开发。本书操作步骤详细,编程思路清晰,语言平实易懂。只要读者认真阅读本书,并掌握书中知识,那么就完全可以胜任企业中SpringMVC+MyBatis项目开发的要求。
6、《亿级流量网站架构核心技术:跟开涛学搭建高可用高并发系统》
本书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为四部分:概述、高可用原则、高并发原则、案例实战。多方面详细介绍了亿级流量网站的架构核心技术,让读者看后能迅速运用到实践项目中。
既然选择了IT行业,那么不断的学习和进步才是自己能够在行业中一直如鱼得水的秘诀。
推荐十本书,看完你将走上人生的巅峰!!!!boom~
1、《Java编程规范》或《Java语言程序设计》适合对象:初级、中级;两本都是较好的入门学习书籍,根据各自喜好酌情选择
2、《Java核心技术》适合对象:初级、中级;
3、《Java编程思想》适合对象:初级、中级;个人认为此书有点晦涩难懂,枯燥乏味。
4、《EffectiveJava》适合对象:初级、中级;
5、《Java数据结构和算法》适合对象:初级、中级、高级;既然是学习编程,那么数据结构和算法必然要掌握。
6、《数据库原理》适合对象:初级、中级、高级;数据库也是必然要掌握的一门学科。
7、《Java与模式》或《深入浅出设计模式》适合对象:初级、中级、高级;设计模式,可作为入门和进阶的过渡学习;也可作为进阶到高级的学习。
8、《重构:改善既有代码的设计》适合对象:中级、高级;当你大大小小经历了一些项目之后,想要针对某些项目做些改善或重构,那么:这本书特别适合你。
9、《代码整洁之道》合对象:中级、高级;当你经历了一些项目,也撸了(复制+粘贴)不少代码之后;你要做的是要想办法提升你写的代码的效率和性能以及整洁等。
10、《Java并发编程实践》适合对象:中级、高级;做大型高并发多线程系统时,必不可少的技术:并发编程。
java要学的还挺多,每个阶段都要不同的书,看着路线学吧。
学Java看什么书?我相信不同阶段的读者自然有不同的侧重点。以下是个人的读书清单。望能帮到你。
一、入行开发者
除了大学阶段的学习的一些《数据结构》严老师的、《操作系统》、《汇编语言》谭浩强的《C程序设计》可以深入看下李刚老师的《疯狂Java》、张孝祥的Java7K面试系列和Java核心技术,对于其他专业想要寻求Java开发的童鞋,后者上手更快。
二、初级开发者,开发规范、基本语法、基础核心思想、web开发设计模式等
《阿里巴巴编码Java开发规范》,目前是泰山版并有对应的考试,建议编码规范从入门抓起;
《码出高效,码出质量》
《spring系列》
《分布式消息中间件实战》
《Java编程思想》
《Java核心技术II》
《Java程序员面试宝典》
三、中级开发者
这个阶段是技术能力飞涨期、Java进阶和成为技术骨干和中流砥柱,对于想超越同类开发者,快速涨薪大有裨益。
《告别瀑布拥抱敏捷》
《Java大话性能调优》
《web开发核心技术》
《Java生产环境下性能监控与调优详解》
《小程序开发与设计》
《程序员的自我修养》
《代码的整洁之道》
《Java系统性能优化实战》
《SpringCloud微服务全栈技术与案例分析》尹吉欢
《Java并发之道》
四、高级资深(5年以上开发者)
对Java架构能力、源码底层、一般架构技术解决方案、性能安全瓶颈方案、技术管理、项目推进沟通等有更深入
《Java代码与架构之完美优化实战经典》
《java高级程序员面试笔试宝典》猿瑗之家
《Java虚拟机JVM故障诊断与性能优化》葛一鸣
《深入理解Apachedubbo与实战》
《zookeeper分布式系统开发实战》
《人人都是架构师》
《大话重构》
《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明》
技术总结和理解以解决实际痛点,以上建议以你实际工作需要为准~
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
Java入门好书推荐:《HeadFirstJava》
《HeadFirstJava》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。但如果你真地想要好好地学习Java,你会需要《HeadFirstJava》。这本书可是Amazon编辑推荐的十大好书之一!强烈推荐学习此书,非常适合初学者入门。
java进阶好书推荐:《Thinkinginjava》
《Thinkinginjava》(中文名:《Java编程思想》)第4版本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在BruceEckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。
《Java编程思想》帮你建立完整的知识体系
《Java解惑》可以学到一些常见但又容易出错的问题,除了以后少踩坑还可以装装b。
《effectivejava》提升你代码质量,不说了,值得反复回味的书。
《Java虚拟机规范》了解jvm的,在学习《深入理解Java虚拟机》之前,我觉得可以先看这本书。
《深入分析Javaweb技术内幕》这是我买的少数几本Java书籍之一。很系统,从网络到编程语言,到常用框架都有涉及,讲得也很好。
《spring源码深度解析》再看这个之前建议先学习设计模式的相关知识,看完后可以尝试写个自己的框架,ORM框架也好,web框架也好。不过在写之前阅读下“servlet规范”或许能帮到你。
说到网络《netty权威指南》就不得不提,现在正在看,还不错。
说了这么多,没有一本算法和设计模式的书,这可是修炼内功必须得要学的。这里就推荐《Java数据结构和算法》吧,设计模式的话,这种东西要动手才能体会得到,不过还是推荐本《headfirst设计模式》吧!
你现在的目标是三个月后能找一个一般公司的JAVA后台工程师的岗位入行,从这个角度讲,很多学习的知识点需要做减法。因为很简单,普通公司一个初级工程师的岗位,不会要你什么架构、算法、高级的框架定制,能够用业内常用框架、有质量保证的完成一些业务模块就可以了。所以你也不用太担心,把问题搞得太复杂。以下是我以前带新员工时给他们的一些建议,希望对你有帮助。
第一步:打基础
后端知识:
1.1JAVA语言:找一本JAVA基础书把上面的知识点过一遍,侧重面向对象、文件IO、集合类、多线程;你一周后尝试写一个相对复杂的业务逻辑,比如统计代码行(去注释)或者计算器(给你一个复杂带括号的四则运算公式能给出结果),swing啥的别去学。
1.2数据库:先只学mysql就可以,自己装一个mysql用客户端登录进去操作,学习基础语法,初步达到效果建议如下。你构建一套学生成绩表,诸如学生信息、考试成绩、班级信息等;聚焦单表增、删、改、查;左右连接的跨表查询;简单查询,如某个成绩的平均分、超过某个分数的学生信息、班级成绩排名等;
前端知识:
1.3建议直接在W3Cschool网站上把HTML、CSS、JS的基础知识点过一遍;你不用都记住,因为目标是后端工程师,有概念就行;
1.4把Jquery学一遍,学完后综合1.3的知识点,你看能不能完成一个左树右表的常用管理后台界面框架;
第二步:WEB开发基础
2.1学习tomcat下用servlet+jsp+jdbc完成一个简单的管理系统。目标是有登录,登录进去后能够做一些常见的业务操作,比如结合你自己熟悉的工程项目管理。
备注:之所以不建议直接上框架,是建议你在这一步去了解所谓的web项目,从浏览器到HTTP请求到WEB服务器到数据库的本质是什么。这里你会用到Ajax(是必须的知识点)。
第三步:框架下的WEB开发
3.1建议用springmvc+spring3+mybatis3去重新实现你2.1完成的管理系统。
备注:在学习第二步、第三步的时候,你会碰到很多概念,诸如AOP、IOC、连接池等,不用管它,先以能调通、能实现功能为目标。
第四步:重新夯实知识点
上面所有的工作都是以小步快跑的形式做的,其实你真的走到这一步,你已经对JAVA技术栈下的WEB开发有一个直观整体的了解。往下你要对遗漏的点进行夯实、补漏:
4.1开发环境:切到maven去搭建SSM框架
4.2生产环境:在阿里云上买一台入门级的linux服务器,搭建tomcat、mysql,并部署你的工程;
4.3原理性知识:把springioc、AOP的原理过一遍;有一本叫《从零开始写JAVAweb框架》不错
4.4应用性知识:如何做权限控制、如何使用定时器、如何使用缓存、如何使用日志;每个点自己去网上查方案,然后可以补充到你的工程里去。
4.5数据库知识:你可以尝试编一些相对复杂的统计报表来练习SQL、Mybatis的熟练度;
4.6分布式框架(可选):学习并搭建一个dubbo或dubbox的项目、学习下springboot的web开发。这个github上有很多参考项目,你对着人家源码学习就OK。
我差不多能想到的就这些,剩下的就是找一份合适你的工作。给你几个建议吧,第一份工作不要太看重薪酬,能踏实入行最重要,IT这块有能力跳槽薪酬涨涨很快的;
如果确实技术没法那么快提升到位,至少态度一定要积极,该加班就加班;
可以找与自己专业相关的IT行业,这样你自己在产品业务这块就有优势;
祝你好运:)