java&android程序员阅读的宝藏书籍

java&android程序员阅读的宝藏书籍

java程序员推荐阅读的宝藏书籍

一.java编程思想(第4版)

一本厚厚的百科全书。第一章的对象导论,让我这个不太理解什么面向对象的家伙,茅塞顿开。而不是在学校讲的生硬的什么封装、继承、多态,尤其是对于没有什么经验的新手程序员,很难理解这种抽象晦涩的概念。
在java编程思想中讲到,什么是面向对象呢?

1.万物皆是对象。任何对象都有其对应的属性和方法,我想了一想,这个世界上的所有东西都是对象~。拿猫来举例,猫的属性:什么颜色的猫,几个月大的猫,猫的体重等等;猫的方法:猫能吃东西,猫能叫,猫能跑跳。对应到java类抽象出来。

public class Cat {
    private String name;
    private String color;
    private int age;
    private int weight;

    public Cat(String name, String color, int age, int weight) {
        this.name = name;
        this.color = color;
        this.age = age;
        this.weight = weight;
    }

    public void eat() {
        System.out.println("cat eat fish");
    }

    public void run() {
        System.out.println("cat run");
    }
    
    public void jump() {
        System.out.println("cat jump");
    }
}

简单举个例子,更多细节可以阅读书后外加实战,不断实践中理解体会。

优点:讲解的非常细致
缺点:太厚了,对于新手来说不容易抓重点,有些词汇、概念太过专业不容易理解

二、Effective Java(第三版)

看书名可以知道,有效的java。书中有90条关于java编程的金科玉律,指导java程序员编写出清晰、正确、可用、健壮、灵活和可维护的程序来。适合有一点工作经验的程序员阅读,有些东西可能刚好就是在工作中踩过的坑。依据原书的话来说,这是一本分享经验与指引你少走弯路的经典著作,针对如何编写高效、设计优良的程序提出了最实用、最权威的指导方针,是java开发人员案头上的一本不可或缺的参考书。

优点:精炼、专业
缺点:毕竟从引文版翻译过来,读起来可能并不那么流畅,同时过于专业,不适合新手程序员

三、Head First设计模式(中文版)

个人超级喜欢的一本书,讲解得非常有趣,深入浅出。
原书所说,谁适合读这本书?
1.你懂java吗?(不过不要求精通)
2.你想学习、了解、记得并应用设计模式,以及其所基于的oo设计原则吗?
3.你是不是更喜欢一种轻松的氛围,就像在餐桌上交谈一样,而不愿意被动地听技术报告似的枯燥乏味的说教?
那么,这本书正是你所需要的。

优点:有趣、容易理解、讲解透彻传神
缺点:一个小缺点就是没有讲解所有的设计模式

四、深入理解Java核心技术(基础篇)

这本书是来自阿里的程序员Hollis所著,他有一个非常著名的开源项目,叫做《java工程师成神之路》,这本书就是那个开源项目一部分知识的提炼总结。

面向对象的五大基本原则:

1.单一职责原则(一个类最好只做一件事,只有一个引起它变化的原因)
2.开发封闭原则(软件实体应该是可扩展且不可修改的。也就是说,对扩展开放,对修改关闭)
3.里氏替换原则(子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有当子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础)
4.接口隔离原则(使用多个小的专门的接口,而不要使用一个大的总接口)
5.依赖倒置原则(程序要依赖于抽象接口,而不是具体的实现。简单地说就是要对抽象进行编程,不要对实现进行编程)

java是值传递还是引用传递?

java是值传递,这一点在官方文档中已经很明确地指出了,java就是值传递,只不过是把对象的引用当做值传递给方法。这不就是共享对象传递嘛!
所以,java中的对象传递,如果是修改引用,则不会对原来的对象有任何影响,如果直接修改共享对象的属性的值,则会对原来的对象有影响。
可以说,java中的求值策略是共享对象传递,这是完全正确的。
我们说的java中只有值传递,只不过传递的内容是对象的引用,这也是正确的。

优点:实际工作经验所得,有个人理解和见解,容易理解
缺点:个人理解带有主观意识,难免会有所偏颇

android程序员推荐阅读的宝藏书籍

一、第一行代码Android(第三版)

这本书是郭霖所著,郭霖是谁?国内的第二位Android GDE(谷歌开发专家),第一位是朱凯。这本书是他android知识的集大成所得,非常适合新手小白入门android。Android层面,讲解了主要组件、ui界面、数据存储、多媒体、网络通信、架构设计、实战开发。讲解的内容很多很全,但是又非常地基础,很浅。

优点:就像书名一样,适合没有做过android的新手同学入门
缺点:点到为止,只适合入门,同时第三版是用kotlin编写,对用java的同学来说可能没那么友好

二、Android开发艺术探索

任玉刚所著,它的博客也非常有名,叫做玉刚说。
这本书适合各类开发者阅读,对于初、中级开发者来说,可以通过本书更加高效地达到高级开发者的技术水平。而对于高级开发者,仍然可以从本书的知识体系中获益。可以说这本书android学习进阶的必备书籍。

讲解的内容主要有:
1.Activity的生命周期和启动模式 2.IPC机制 3.View的事件体系 4.View的工作原理 5.理解RemoteViews 6.android的Drawable 7.android动画深入分析 8.理解Window和WindowManager 9.四大组件的工作过程 10.android的消息机制 11.android的线程和线程池 12.Bitmap的加载和Cache 13.综合技术 14.JNI和NDK编程 15.android性能优化
上面所写的内容,如果有你不太理解或困惑的,抓紧时间入手,买来读一读吧

优点:进阶必备
缺点:要求较高,需要一定的技术水平

三、Android源码设计模式解析与实战(第二版)

这本书首先也是讲解软件开发的六大原则,然后结合android的代码,讲解常用的设计模式。目前本人正在拜读这个著作,就目前来看,也是一本非常优秀的书籍。同时使用一个程序员主人公的视角来带入,一步一步深入。

优点:常用的设计模式都讲到了,非常有利于阅读android的源码
缺点:最好是先将Head First设计模式给过一遍,将基本的设计模式都给熟悉之后再读这本书

其他书籍

一、labuladong的算法小抄

培养学习算法和刷题的框架思维,个人建议,先将B站韩顺平的数据结构和算法先过一遍,同时leetcode刷上不同类型的题,然后再来看这本书。这本书套路较深,同时难度较大,我也是只读了一部分。如果都能融汇贯通,那么在leetcode上便能够所向无敌。

优点:成体系,精炼
缺点:难度过大,没有基础,云里雾里

二、浪潮之巅

一本讲解硅谷故事的传记书籍。书籍愿景:希望能够帮助和鼓励中国年轻的一代在世界科技大潮中有所作为。优缺点就不用讲了,当做故事书来看就好了。

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值