可以来个大佬带我会编程的大佬吗?Java入门一丢丢 可以的话加vx?

该楼层疑似违规已被系统折叠 

示唎是用一个数组表示26个字符出现的次数
for循环用charAt就是遍历字符串-‘a’用的是字符阿斯克码之间的加减法,得到这个字符在字母a在后面多少然后数组的那个位置++ 这个++如果用数字的话更好理解,一上来是0 每次++就是表示这个字符出现的次数, 我跑了一下 不是数字的话是乱码泹是也能表示这个字符+1
遍历第二串字符串,再把各位置--如果匹配的话 chars应该回到初始化的样子,否则不匹配


  • 学习交流资源分享qq群:

人的大脑記忆力有限在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用

对于每一章的知识,先阅讀标题弄懂大概讲的是什么主题,再去快速看一遍不懂也没有关系,但是一定要在不懂的地方做个记号什么记号无所谓,但是要让洎己后面再看的时候有个提醒的作用看看第二次看有没有懂了些。

有了前面速读的感觉第二次看会有慢慢深刻了思想和意识的作用,具体为什么不要问我去问30年后的神经大脑专家,现在人类可能还没有总结出为什么大脑对记忆的完全方法论但是,就像我们专业程序員打代码都是先实践,然后就渐渐懂了过程慢慢懂了原理,所以第二遍读的时候稍微慢下来2周内搞定。记住一句话:没看完一个章節后总结一下这个章节讲了啥。很关键

实践的时候,要注意不用都去实践最好看着书,敲下代码把重点的内容敲一遍有个肌肉记憶就很不错了。

以及到自己做过的项目中去把每个有涉及的原理的代码研究一遍,就可以了

Java开发工程师一般负责后端开发当然也有专門做Java Web的工程师,但是随着前后端的分离越来越多的Java工程师需要往大后端方向发展。今天我们就来介绍一下Java后端开发者的书单首先要感謝一下某大佬力推的后端书架,初学阶段读到了很多好书直到现在都让他印象深刻

大佬说他在两年的学习历程中看了很多的书,其中不乏XXX入门到精通XXX王者 归来,XXX指南什么的

虽然这类书确实毛病很多,但是作为非科班的他来说当时还是看的津津有味。直到后来我他看箌一些优秀的书籍以及大佬的大佬哥的书架,他才逐渐认识到看一些精品书籍的好处

所以我今天就从这些精品书籍中挑选一些优秀书籍来推荐给大家,当然其中有一些书我自己也没有时间看完

接下来我们按照后端技术栈各个部分的内容来推荐书籍。

可以免费获取电子書籍!

以下是每本书的推荐语清楚自己缺的是什么,就下定决心去补吧一个好工作意味着高收入,投资自己的时间换来更宝贵的东西

这本其实我刚开始没看太懂,可能是当时太水的原因但是一般是大牛力荐的书。

2.《计算机网络:自顶向下》

这本从应用层讲到物理层感觉这种方式学起来更轻松,我比较推荐小白看这本

相较于前两本大厚书,这两本书更加亲民小白可以买来看看,还是很适合入门嘚

没错,就是这本教材作为非科班选手自己看这本书,那叫一个欲仙欲死啊看完就忘记了。

1.《深入理解计算机系统》

这本书不是严格意义上的操作系统书籍而是对计算机基础和操作系统做了一个串联,可以解决你很多对于计算机的疑惑并且对操作系统有一定理解。

其实这本书还是很厚的有一定难度,建议有一些基础后再看

2. 《现代操作系统》

这本书其实我没怎么看,比较详细地讲解了操作系泹是也是大家都比较推崇的书,还是那句话很厚,慎看

3.《Linux内核设计与实现》

当你对操作系统有一定理解以后,这本书将为你打开学习Linux內核的大门当然在此之前你得有一定的c语言开发能力,以及对Linux的了解反正,我现在还没开始准备好看这本书

这两本书的厚度绝对让伱感到绝望,其实就是讲解了Unix内核是如何实现网络通信的其中涉及到很多网络,操作系统的知识并且你要熟悉c语言。总之这是一本奉为网络会编程的大佬神书的存在,不过我等新手还是拿他压压泡面就好了网上有很多博客会参照该书的内容,可以去看看它们

三.数據结构与算法系列

不瞒你说,由于我非科班所以算法基础比较差,数据结构是考研时跟着天勤考研指南学的学习算法也是一路坎坷,舉步维艰还是分享几本比较靠谱的书吧。

你问我是不是认真的我就是说说而已,这本书我买来没看过

2.《数据结构与算法(Java版)》

这夲书对于初学者来说还是比较友好的,当然学Java的看这本

3.《算法图解》《啊哈算法》

这两部书籍非常适合学习算法的入门,前者主要用图解的形式覆盖了大部分常用算法包括dp,贪心等等可以作为入门书,后者则把很多常用算法都进行了实现包括搜索,图树等一些比較高级的常用算法。

这本书还是要强烈推荐的毕竟是面试题经常参考的书籍,当然最好有前面基本的铺垫再看可能收获更大,这本书茬面试之前一般都要嚼烂

这不是一本书,是一个题库算法么,终究还是要靠刷题来提升熟练度的

这本书也是被誉为Java神书的存在了,泹是对新手不友好适合有些基础再看,当然要选择性地看我当时大概只看了1/3

2.《Java核心技术卷一》

这本书还是比较适合入门的,当然这種厚皮书要看完还是很有难度的,不过比起上面那本要简单一些

1.《深入理解JVM虚拟机》

这本书是Java开发者必须看的书很多jvm的文章都是提取这夲书的内容。JVM是Java虚拟机赋予了Java程序生命,所以好好看看把我自己就已经看了三遍了。

2.《Java并发会编程的大佬实战》

这本书是Java 并发包作者寫的书所以非常权威,但是比较晦涩难懂我看的云里雾里的,大家可以按需选择

3.《Java并发会编程的大佬艺术》

这本书是国内作者写的Java並发书籍,比上面那一本更简单易懂适合作为并发会编程的大佬的入门书籍,当然学习并发原理之前,还是先把Java的多线程搞懂吧

这夲书和Java会编程的大佬思想一样被称为神书,主要讲的是Java的一些优化技巧和规范没有一定开发经验的人看这本书会觉得索然无味,不知所雲所以,先搁着吧

5.《Java性能调优指南》

说到JVM调优,可能会有很多的面试题浮现在你的脑海里这本书比较权威地讲解了Java的性能调优方法,不过我还没怎么看有空好好看看。

Netty是基于NIO开发的网络会编程的大佬框架使用Java代码会编程的大佬,其实这本书也可以放在网络或者Java Web部汾不过NIO属于JDK自带的一部分,是必须要掌握的而对于Netty,大家如果学有余力的话也可以看看

这本书是Java Web的集大成之作,涵盖了大部分Java Web开发嘚知识点不过一本书显然无法把所有细节都讲完,但是作为Java Web的入门或者进阶书籍来看的话还是很不错的

Java Web很重要的一部分内容就是Tomcat,作為应用服务器Tomcat使用Java开发,其源代码和架构设计都是经典之作

这是一本讲解Tomcat基本原理的书籍,很好地通过剖析源码来讲解Tomcat的内部结构和運行机制但是需要一定的基础才能够看懂,我还没看这本书日后再拜读。

和上面这本书类似主要讲解Tomcat原理和架构,要看懂这本书嘚话,前提是你要对Java基础NIO以及设计模式有所了解。这本书我也还没看

这本书适合作为Spring的入门书籍,把Spring的概念使用方式等内容都讲的仳较清楚。并且也介绍了Spring MVC的部分内容Spring框架还是更注重实践的,所以跟着书上的内容去做吧

学会Spring基础后,可以花点时间看看这本讲源码嘚书了这本书对于新手来说不太友好,主要也是因为Spring的代码结构比较复杂大家也可以看一些博客来完成对源码的学习。

本书是一本Spring MVC的敎程内容细致、讲解清晰,非常适合Web开发者和想要使用Spring MVC开发基于Java的Web应用的读者阅读但是由于出的比较早,所以不太适合现在版本

Maven是Java Web開发中不可缺少的一部分,如果想要全面了解其实现原理的话可以看看这本书。

数据库原理应该是教材吧这本书作为数据库入门来说還是可以的,毕竟不是专门做DB的看大厚书用处不大,这本书把数据库的基本概念都讲完了

2.《SQL必知必会》

这本书主要是讲解sql语句怎么写,毕竟数据库最重要的一点就是要熟练地使用sql语句当然这本书也可以当做工具书来使用。

这本书适合作为MySQL的学习书籍当你有了一定的MySQL使用经验后,可以看看它该书从数据库的基础、开发、优化、管理维护和架构5个方面对MySQL进行了详细的介绍,讲的不算特别深但是足够峩们使用了。这本书我也只看了一部分

看完上面那本书以后,对MySQL算是比较熟悉了不过对于面试中常考的innodb引擎,还是推荐一下这本书把专门讲解了innodb存储引擎的相关内容。我还没有细看但是内容足够你学好innodb了。

这本书可以说是很厚了更适合DBA拜读,讲的太详细了打扰叻。

和MySQL一样学习Redis的第一步最好也是先实战一下,通过这本书就可以较好地掌握Redis的使用方法以及相关数据结构了。

7.《Redis设计与实现》

该書全面而完整地讲解了 Redis 的内部运行机制,对 Redis 的大多数单机功能以及所有多机功能的实现原理进行了介绍。这本书把Redis的基本原理讲的一清二楚包括数据结构,持久化集群等内容,有空应该看看

1.《分布式Java应用》

这本书是淘宝大牛写的书,主要讲的就是使用rpc来构建分布式的Java应鼡讲了很多基础的东西,可以作为入门书籍不过这本书我之前没有遇到,所以没看过

2.《大型网站技术架构》

这本淘宝系技术指南还昰非常值得推崇的,可以说是把大型网站的现代架构进行了一次简单的总结内容涵盖了各方面,主要讲的是概念很适合没接触过架构嘚同学入门。看完以后你会觉得后端技术原来这么博大精深

3.《大型分布式网站架构设计与实践》

这本书与上面一书相比更倾向于实践,主要讲的是分布式架构的一些解决方案但是如果你没有接触过相关的场景,可能会看的云里雾里

4 .《布式服务框架原理与实践》

上面那夲书讲的是分布式架构的实践,而这本书更专注于分布式服务的原理讲解和对应实践很好地讲述了分布式服务的基本概念,相关技术鉯及解决方案等,对于想要学习分布式服务框架的同学来说是本好书

5.《大型网站系统与Java中间件开发实践》

话说这些书的名字真实够长的。这本书也是阿里系出品主要讲的是大型网站系统以及使用的相关中间件,毕竟阿里是中间件大户所以很多中间件对应用再网站系统Φ,对于想学习这方面技术的同学来说可以一看

说起分布式系统,我们需要了解它的原理相关理论及技术,这本书也是从这个角度出發讲解了分布式系统的一些常用概念,并且带出了分布式一哥zookeeper可以说是想学分布式技术的同学必看的书籍。

7.《大规模分布式存储系统》

这本书是阿里巴巴oceanbase核心开发大佬写的书讲的是分布式存储相关的原理和解决方案,该书不是很厚如果想做存储方向的同学可以看看。

云计算方面的内容主要是我在实习阶段接触的如果只是应用开发方向的话这块不懂也罢。主要还是看个人兴趣

OpenStack是基于KVM技术的一套私囿云生态。这本书很好地讲解了OpenStack的一些基本原理包括各个组件的设计与实现,比起另一本《OpenStack王者归来》简单易懂的多当然,前提最好昰你对Linux内核和网络有所了解

docker是现在应用部署的主流方案了,所以了解一下还是挺有必要的这本书作为入门书籍足够让你会使用docker了。

kubenetes是docker嘚集群解决方案也是一个微服务的解决方案,所以这本书涉及的内容非常多需要有网络,操作系统以及docker相关的基础我看这本书的时候可以说是非常晕的。

和云计算一样大数据方面的内容也不算是Java后端技术栈所需要的,但是这也能为你加分并且让你跟大数据开发的崗位沾点边,何乐而不为

1.《大数据技术原理与应用》

作为大数据方面的一本教材,厦大教授写的这本书还是非常赞的从最基础的原理方面讲解了Hadoop的生态系统,并且把每个组件的原理都讲得比较清楚另外也加入了spark,storm等内容可以说是大数据入门非常好的一本书了。

这本書很厚我买的时候大概看了一遍,一头雾水所以建议先看上面那本书,再来看更加进阶的书籍否则可能就是浪费时间了。

这本书主偠对Hadoop生态中组件进行详细讲解有点太详细了,如果不是做大数据方向的话可以不看。

1.《Git权威指南》

Git是现在大公司主流的代码协同工具如果你想要了解其底层原理,可以看看这本书

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

这本书主要介绍的是代码重构的一些指导思想和最佳實践。有重构需求的同学可以看看

其他方面的书籍就太多了,比如软件工程方面的测试方面,Linux方面以及讲一些程序员自我提升的书籍,就不一一列举了因为这部分的内容可以不归入Java后端的技术栈。

1.《做自己的颈椎医生》

身体是革命的本钱懂得人不用解释了。

一.计算机网络系列(4本):

2.《计算机网络:自顶向下》

二.操作系统系列(4本)

1.《深入理解计算机系统》

3.《Linux内核设计与实现》

三.数据结构与算法系列(4.5本)

2.《数据结构与算法(Java版)》

3.《算法图解啊哈算法》

四.Java基础系列(2本)

2.《Java核心技术卷一.二》

五.Java进阶系列(6本)

1.《深入理解JVM虚拟機》

2.《Java并发会编程的大佬实战》

3.《Java并发会编程的大佬艺术》

5.《Java性能调优指南》

七.数据库系列(7本)

2.《SQL必知必会》

八.分布式系列(7本)

1.《分咘式Java应用》

2.《大型网站技术架构》

3.《大型分布式网站架构设计与实践》

4.《布式服务框架原理与实践》

5.《大型网站系统与Java中间件开发实践》

7.《大规模分布式存储系统》

九.云计算系列(3本)

十.大数据系列(3本)

1.《大数据技术原理与应用》

十一.其他系列(2本)

1.《Git权威指南》

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

十二.颈椎康复指南系列(不开玩笑,适当看看真心有用)(1本)

1.《做自己的颈椎医生》

天下没有不劳而获的果實望各位年轻的朋友,想学技术的朋友在决心扎入技术道路的路上披荆斩棘,把书弄懂了再去敲代码,把原理弄懂了再去实践,將会带给你的人生你的工作,你的未来一个美梦

实习期要听话转正了再说。

下媔的话适用于转正后:

1. 不要想着比别人优秀那样你会被拖垮,首先要承认时刻都有比你优秀的人存在技术有好几个方向,每人都有自巳的方向你要做的是先找对自己的方向,然后专心研究这个方向并且一直走下去

2. 替别人干活的话,在完成自己任务的前提下可以帮忙。在公司里最重要的是做好自己的本职工作如果自己的本职工作做不好,你帮别人帮的再好也会被淘汰

3. 总结1和2就是找准方向,一直赱下去知道自己要做什么不要做什么(大部分都是在明白这些的情况下没有照做坚持下去,最后落到淘汰的边缘)

4. 书籍的话看经典的,比如算法导论深入Java虚拟机,Java并发会编程的大佬实践等

5. 书籍是打基础,练内功一定要结合实际问题去考虑书中的概念.

6. 生产环境出的問题就是你的工作经验,遇到的问题越多越大,你的经验就越足这个最重要。如果好几年一个问题都没遇到那你就要被淘汰了。

7. 没什么Java大佬只有基础,经验思想和性格。

我要回帖

更多关于 会编程的大佬 的文章

 

随机推荐