精华内容
下载资源
问答
  • Thinking in Java读书笔记

    万次阅读 多人点赞 2019-07-31 18:37:16
    Thinking in Java读书笔记(IO和并发除外) 1.1、类中所有的private方法都隐式地指定为final的,由于其他类无法取用private方法,所以也就无法覆盖它;private方法无法被重写,继承对应private的方法无效,private...

    Thinking in Java读书笔记(IO和并发除外)

    1.1、类中所有的private方法都隐式地指定为final的,由于其他类无法取用private方法,所以也就无法覆盖它;private方法无法被重写,继承对应private的方法无效,private的属性也无法拿到,但我们通常private的属性有对应的get、set方法,通常是public的,所以子类继承后可以调用方法来取得到父类的属性。

    1.2、final类禁止继承,所以final类中所有的方法都隐式地指定为final的,因此无法覆盖他们,你也可以给他们添加final关键字,但这没什么意义。

    1.3、java中所有方法都是通过动态绑定来实现多态的。

    1.4、如果某个方法是静态的,它的行为就不具有多态性。所以构造器不具有多态性,他们实际上是static的,只不过该static声明是隐式的。

    2.1、在方法的作用域内(而不是其他类的作用域内)创建一个完整的类,这个类称为局部内部类(其实命名就和局部变量一样,在方法中的变量叫局部变量)。

    3.1、Set中,HashSet拥有最快的获取元素的方式;如果存储顺序很重要,那么使用TreeSet,它按照比较结果的升序保存对象,或者使用LinkedHashSet,它按照被添加的顺序保存对象。

    3.2、List中,基本的arrayList擅长随机访问元素,但是在中间插入和移除元素时会比较慢;LinkedList和arrayList相反,中间插入和删除快,随机访问慢。

    3.3、ListIterator是一个更加强大的迭代器,但看名字就知道只用于List类,普通的Iterator只能向前移动,就只有hasNext(),但ListIterator可以双向移动,有hasNext()和hasPrevious()两种移动方式。

    3.4、Queue是队列,典型的先进先出容器,即从一端进去,另一端出来,取出顺序和放入顺序一样。

    3.5、java容器实际上就四种:Map、List、Set和Queue。下面详细地介绍一下各个容器类型的性能特点区别:

    3.5.1、List:元素可以重复。

    ArrayList:底层是由数组支持的;

    LinkedList:是由双向链表实现的,其中的每一个对象都包含数据的同时还包含了指向链表中前一个和后一个元素的引用。

    因此如果要经常在表中插入和删除元素,LinkedList比较合适。

    3.5.2、Set:元素必须唯一,不允许重复,是否重复由equals()方法判定,所以加入set的元素必须定义equals()方法以确保对象的唯一性。

    HashSet:为快速查找而设计的Set,其中的元素必须定义hashCode()方法,一般情况下都用他。

    Treeset:保存了次序的set,底层为(平衡)树结构,使用他可以从Set中提取有序的序列,其中的元素必须实现Comparable接口(实现里面的compareTo方法)。SortedSet是TreeSet的唯一实现。

    LinkedHashSet:具有HashSet的查询速度,使用链表来维护元素的顺序(这个顺序就是插入的次序),所以使用迭代器遍历他时,结果就是插入的次序,元素必须定义hashCode()方法。

    3.5.3、map:保存的是键值对,key不能重复,是唯一的,可以但只能有一个为null,value可重复,可为null。

    HashMap:是map基于散列表的实现(现在已经取代了HashTable)。插入和查询键值对的开销是固定的,可以通过构造器设置容量和负载因子,以调整容器的性能。通常我们都使用他。

    LinkedHashMap:在HashMap的基础上保存了键值对插入的次序,访问速度比hashMap慢一点,但迭代访问时反而更快,因为内部使用链表维护内部次序。

    TreeMap:基于红黑树的实现,查看键或者键值对时,他们会被排序(次序由Comparable或者Comparator决定),因此特点就是结果是排过序的,他是唯一一个具有subMap()方法的map,可以返回一个子树。SortedMap是TreeMap现阶段的唯一实现。

    ConcurrentHashMap:一种线程安全的map,它不涉及同步加锁,却比HashTable或者通过加锁来实现同步的Collections.synchronizedMap(Map)得到的同步map性能更好。Collections.synchronizedMap(Map)是把一个不同步的map作为参数返回一个同步的,靠加锁来实现的。

    WeakHashMap:弱键映射,允许释放映射所指向的对象,为解决特色问题而设计的。

    IdentityHashMap:使用==代替equals()对“键”进行比较的散列映射,专为解决特殊问题而设计。

    3.6、Object.hashCode()方法生成散列码,而它默认使用对象的地址计算散列码,除非重写他;Object.equals()默认比较对象的地址是否相同,除非你重写他。

    3.7、hashmap的结构我们通常叫他散列桶,散列表中的槽位通常称为桶位,因此实际散列表的数组命名为bucket。

    3.8、设计hashCode()时,最重要的因素是,无论何时,对同一个对象调用hashCode()都应该返回同样的值,当然这个对象内的属性不应该发生了变化。

    3.9、java容器采用快速报错机制,他会探查容器上的任何除了你的进程所进行的操作以外的所有变化,一旦发现其他进程修改了容器,就会立刻抛出ConcurrentModificationException异常。一个简单的例子就可以看出快速报错的原理:

    public static void main(String[ args){

    Collection<String> c = new ArrayList<String>();

    Iterator<String> it = c.iterator();

    c.add("An Object");

    try{

    String s = it.next();

    }catch(ConcurrentModificationException e){

    System.out.println(e);

    }

    }

    //输出:java.util.ConcurrentModificationException。。。

    以上程序在运行时出现异常,catch后输出了异常信息,因为在容器取得迭代器后,又有东西放入到了容器中。当程序的不同部分修改了同一个容器时,就可能导致容器的状态不一致,就出现了这个异常。此例中,迭代器在获取容器后也可能会有修改容器的操作(比如iterator.remove()操作),所以在获取迭代器后,不能再调用容器的add方法改变容器,应该在获取迭代器之前就添加好元素。

    3.10、在3.5中也提到了Hashtable,它和HashMap相似,甚至方法名也相似,Hashtable是同步的,但HashMap的同步问题也可通过Collections的一个静态方法得到解决: Map Collections.synchronizedMap(Map m) 这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。 所以没有理由再使用Hashtable而不用HashMap了。

    4.1、Throwable对象可分为两种类型(指从Throwable继承来的类型):Error用来表示编译时和系统错误(除特殊情况外,一般不用你关心);Exception是可以抛出的基本类型。

    4.2、因为finally子句一定会执行,即便在try子句中return,也会继续执行finally子句。

    5.1、String对象是不可变的,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,最初的String对象则丝毫不动。

    6.1、java泛型是使用擦除来实现的,这意味着当你在使用泛型时,任何具体的类型信息都被擦除了,你唯一知道的就是你在使用一个对象。因此List<String>和List<Integer>在运行时事实上是相同的类型,都被擦除成他们的“原生”类型--List。理解擦除以及如何处理它,是你在学习java泛型时面临的最大障碍。如下:

    Class c1 = new ArrayList<String>().getClass();

    Class c2 = new ArrayList<Integer>().getClass();

    System.out.println(c1 == c2);//输出:true

    同样的因为擦除,同一个类就不能实现同一个泛型接口的两种变体,如下:

    interface A<T> {}

    Class B implements A<Integer> {}

    Class C extends B implements A<String> {}

    类C不能编译,A<Integer>和A<String>因为擦除而简化为相同的类型A,这样C就重复实现了接口A两次了。

    但是有趣的是,如果把A的泛型参数去掉,编译是可以的。如下:

     

    interface A {}

    Class B implements A {}

    Class C extends B implements A {}

    类C可以编译。

    6.2、java泛型的限制之一:不能将基本类型用作泛型的类型参数,如ArrayList<int>之类的是不能创建的。

    7.1、编译器会为你创建的enum都继承自java.lang.Enum。

    7.2、枚举的values()方法返回enum实例的数组,而且该数组中的元素严格保持在enum中的声明顺序。有趣的是,你的enum中没有values()方法,你会以为是编译器会为你创建enum时继承了Enum,values方法应该在Enum这个父类里。可惜,如果你研究一下Enum类就发现也不是,Enum里也没有。答案是,values()方法是由编译器添加的static方法,是编译器在创建enum时加进去的。

    7.3、ordinal()方法返回一个int值,这是每个enum实例在声明时的次序,从0开始。

    7.4、对应enum实例可以直接使用==比较,编译器会自动为你提供equals()和hashcode()方法。

    7.5、我们也知道所有的enum都会继承自java.lang.Enum,因为java不支持多重继承,所以你的enum不能再继承其他类了。

    enum EnumA extends ClassB{...}这是不行的。

    7.6、enum还有一个非常有趣的特性,就是它允许你为enum实例编写方法,从而为每个enum实例赋予各自不同的行为。大致步骤就是在enum中定义抽象方法,然后每个实例都实现它。如下:

    public enum EnumTest{

    SHI_LI_ONE {

    String getInfo(){

    return "实例1";

    }

    },

     

    SHI_LI_TWO {

    String getInfo(){

    return "实例2";

    }

    };

    abstract String getInfo();

    }

    8.1、switch语句是可以没用default子句的,当表达式的值和所有值都不同时就退出了switch语句,继续执行后面的。

    9.1、注解也被称之为元数据,它为我们在代码里添加信息提供了一种形式化的方法。注解的定义用@interface。例如:

    public @interface Test{}

    9.2、注解不支持继承,不能使用extends来继承某个@interface。

    10.1、我们都知道static修饰的变量存放在方法区中,和类信息存放在一起,所以只有一份,可以用它来修饰作为多线程任务区分的标识ID,例如每创建一个任务就加1等。

    展开全文
  • Java 白皮书

    千次阅读 2012-04-19 14:05:41
    Java 白皮书(White Papers) 是 Java 的设计者编写的用来解释设计初衷的指导纲领,我们可以在下面的链接中找到它. http://java.sun.com/docs/white/langenv/ ---更多参见:Java 精萃 -- 声 明:转载请注明...

    -- Start

    Java 白皮书(White Papers) 是 Java 的设计者编写的用来解释设计初衷的指导纲领,我们可以在下面的链接中找到它.

    http://java.sun.com/docs/white/langenv/

    ---更多参见:Java 精萃
    -- 声 明:转载请注明出处
    -- Last Updated on 2012-04-19
    -- Written by ShangBo on 2012-04-19
    -- End


    展开全文
  • Java程序员必看的 14 本 Java 书籍!

    万次阅读 多人点赞 2018-11-08 08:50:26
    ! 毕竟,是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。 在下面这 13 本书籍中小编还是要建议大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法错误。   ...

    关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书!

    毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。

    在下面这 13 本书籍中小编还是要建议大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法错误。

     

    入门

     

    《Head First Java》


    作者: Kathy Sierra / Bert Bates

     

    简介:《Head First Java》是一本完整地面向对象(object-oriented,OO)程序设计和Java的学习指导用书,根据学习理论所设计,你可以从程序语言的基础开始,到线程、网络与分布式程序等项目。重要的是,你可以学会如何像一个面向对象开发者一样去思考,而且不只是读死书。               

     

    作为一本入门书,它是绝对出色的。一个星期就能让你明白怎么用Java写程序了。尤其是你有其它语言基础的情况下,这本书能迅速让你明白java的特质。 缺点是,它真的只是入门书。你必然还需要一本Java大字典,比如《Thinking in Java》,以便查阅Java在细节上的更多东西。关于这一点,书中附录B也说得很清楚了。

     

    《Java 核心技术:卷1 基础知识》


    作者:Cay S. Horstmann / Gary Cornell 译者: 杜永萍 / 邝劲筠 / 叶乃文

     

    简介:《JAVA核心技术(卷1):基础知识(原书第8版)》是《Java核心技术》的最新版,它反遇了Java SE6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类型库的相关特性。           

     

    作为一本入门参考书,绝对比国内现在的大部分教材要优秀得多。对于Java初学者来说,也是一本值得时常翻阅的技术手册。书中有较多地方进行java与c++的比较,这是很有意义的,因为java与c++其实有很多类似之处,尤其是在面向对象的方面。同时书中也对Java与C++不同的地方做了一些解释,这对于学习过C++的朋友来说是很有助

     

    《Java 编程思想》(英文名《Thinking In Java 》)


    作者: [美] Bruce Eckel 译者: 陈昊鹏 / 饶若楠

    简介:本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。     

     

    搞JAVA不多,但是因为很多好书都以JAVA为实例代码,所以也自学的JAVA,这本书我利用十一的假期,完整的看了一遍,虽然都很基础,但是对内力有绝对的提升!

     

    《Java开发实战经典》


    作者:李兴华 编著

     

    简介:本书是一本综合讲解Java核心技术的书籍,在书中使用大量的代码及案例进行知识点的分析与运用,并且给出一些比较成熟的开发步骤,帮助读者更好地进行Java的开发。从作者多年的Java培训经验来看,大部分学生对各种高端开发都没有任何问题,唯一的问题在于Java基础并不牢固,而且在国内也始终没有一本真正可以引领读者入门的好书籍,大部分的书籍都是围绕概念本身进行讲解的,没有讲解清楚为什么要具备这些知识以及该如何去理解这些知识。

                 

    不知道我应该带着怎样的心情来写这份书评…… 首先java是一门高级语言,不是那么容易吸收和理解的,这就是这本书那么厚的原因吗? 好吧……书中很多都是废话,我一般都是跳着看,只看“注意”和字体加深的部分,以及实例代码。 相比书,光盘里的视频讲解比较实用。

     

    进阶

     

    《Effective Java》


    作者:(美)Joshua Bloch 译者:潘爱民

    简介:本书介绍了在Java编程中57条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮的高效的代码。

     

    看这本书的朋友就如作者所说,如果你没一定java经验的话先不要看了,因为看了可能没多少的帮助,或者很快就会遗忘千万也不要急功近利。总而言之,经典之作,当然了,有条件的朋友希望直接看英文版好了。

     

    《Spring揭秘》


    作者:王福强

     

    简介:没有教程似的训导,更多的是说故事般的娓娓道来,本书是作者在多年的工作中积累的第一手Spring框架使用经验的总结,深入剖析了Spring框架各个模块的功能、出现的背景、设计理念和设计原理,揭开了Spring框架的神秘面纱,使你“知其然,更知其所以然”。每部分的扩展篇帮助读者活学活用Spring框架的方方面面,同时可以触类旁通,衍生出新的思路和解决方案。本书内容全面,论述深刻入理,必将成为每个Java专业开发人员必备的Spring图书。

     

    好书,Spring里实践了大量Java语言优秀的理念,此书通过讲解Spring原理,通俗易懂地向我们展示了这些理念。

     

    《分布式 Java 应用:基础与实践》


    作者:林昊

     

    简介:本书介绍了编写分布式Java应用涉及的众多知识点,分为了基于Java实现网络通信、RPC;基于SOA实现大型分布式Java应用;编写高性能Java应用;构建高可用、可伸缩的系统四个部分,七章内容来进行介绍,在这一本不算厚的书中,一方面结合作者的经验介绍了这些知识点;另一方面提供了进一步学习这些知识点的参考资料,希望能给想掌握编写分布式Java应用知识点的开发人员提供一定的帮助以及指引,同时也希望书中分享的经验对于目前正在从事分布式Java应用编写的开发人员提供帮助。

     

    之前刚刚读了《大型网站架构技术》,算是同一个大主题,但前者主要讲网站机构的理论和最佳实践,而这本书则实践性比较强,还涉及了java网络编程,并行编程,jvm性能调优等等,每个方面都值得深入研究。

     

    《http权威指南》


    作者:David Gourley / Brian Totty 译者:陈涓 / 赵振平

     

    简介:超文本传输协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好说的。但现在,你手上拿着的是却一本两磅重的书。如果你对我们怎么会写出一本650页 的关于HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本HTTP首部的参考手册;它是一本名副其实的web结构圣经。               

     

    本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。在这本书里,我们对Web正常工作所必须且互相关联的技术进行了详细的介绍。但是内容比较老,全而浅,不过用来给我镂空纱一样的HTTP知识查漏补缺足够了,大部分章节翻译的还不错。

     

    《深入理解 Java 虚拟机》


    作者:周志明

     

    简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义。              

     

    在国内的图书市场上来看,这是一本很优秀的介绍 Java 虚拟机的书籍。读起来很引人入胜,一口气看几章,不费劲。我对本书最大的感受就是:全面。作为一个刚开始接触 JVM 的人,我感觉本书基本上把 JVM 中所涉及的概念涵盖到。

     

    Java四大名著

     

    《Java编程思想(第4版)》


    原书名:Thinking in Java

     

    《JAVA 2核心技术 卷II:高级特性(原书第7版)》


     

    本书是java 2技术权威指南,全面覆盖java 2技术的高级主题,包括:多线程、集合框架、网络api、数据库编程、分布式对象等,深入探究了swing、java 2d api、javabean、java安全模式、xml、注释、元数据等主题,同时涉及本地方法、国际化以及jdk 5.0的内容。

     

    本书适合软件开发人员、高等院校学生和教师参考。

     

    《Java Web开发详解--XML+XSLT+Servlet+JSP深入剖析与实例应用》


     

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。

    本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。

    本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发中经常使用的功能,具有相当的实用价值。本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。

     

    《Effective Java中文版(第2版)》


     

    本书介绍了在java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。

    本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。

     

    这 14 本经典书籍,你都看过吗?

    展开全文
  • Java推荐书籍

    千次阅读 多人点赞 2018-08-12 01:16:56
    前言 分享知识和分享苹果是不一样的,苹果会越分越少,而自己的知识并不会因为给了别人就...《C++Primer》《C++ Primer Plus》,这是LZ最早看的,当初看完科班的教材就开始看这两本书了 Java语言 《...

    前言

    分享知识和分享苹果是不一样的,苹果会越分越少,而自己的知识并不会因为给了别人就减少了,知识的分享更能激荡出不一样的火花(Doug Lea)

    从会计到嵌入式再到Java,一路走来很感激那些帮助我的人,也更愿意和别人分享学到的东西。

    正文

    C和C++

    《C++Primer》《C++ Primer Plus》,这是LZ最早看的书,当初看完科班的教材就开始看这两本书了

    《Qt5开发及实例》Qt入门书籍
    《C++ Qt设计模式 第2版》《Qt Creator快速入门》《Qt Quick核心编程》《QT高级编程》《Qt及Qt Quick开发实战精解》Qt进阶

    《PYTHON+QT+GUI快速编程+PYQT编程指南》当初用Python写了几个工具,想做成图形界面,正好字节也学了一下Qt,就看了这本书学了一下大概的套路,函数和Qt原生的函数几乎一样,所以学过Qt,用PyQt就几个小时的事情,工具链接如下
    https://blog.csdn.net/zzti_erlie/article/details/78922112

    Java语言

    《Java语言程序设计-基础篇(原书第8版)》《Java语言程序设计-进阶篇(原书第8版)》入门看的书籍

    《Java编程思想》《Effective Java中文版》《Java核心技术卷》Java进阶

    《Java多线程编程核心技术》《JAVA并发编程 核心方法与框架》 高洪岩的这2本书在豆瓣上评价不是很高,但是LZ觉得很适合入门,并不是内容有多高深,而是你跟着敲一遍确实能学到很多基础

    《Java并发编程的艺术》《Java并发编程实战》业内公认的好书,写的也确实很好

    《深入理解Java虚拟机:JVM高级特性与最佳实践》JVM面试问的还是挺多的

    《Java性能权威指南》《实战Java虚拟机》《Java性能优化权威指南》

    Java框架

    《Spring实战》《Spring入门经典》《深入浅出Mybatis技术原理与实战》比较好的入门书籍,Mybatis的官方网站写的也挺好的,可以去看看

    《JavaEE开发的颠覆者 Spring Boot实战》《Spring Boot实战》《SpringBoot揭秘 快速构建微服务体系》Spring Boot系列相关书籍

    《Spring Cloud 微服务实战》

    《Spring MVC学习指南》《精通Spring MVC4》《精通Spring4.x企业应用开发实战》

    《Spring揭秘》《MyBatis技术内幕》《看透SpringMvc源代码分析与实践》《SPRING技术内幕:深入解析SPRING架构与设计原理》
    《Sping揭秘》和《SpringBoot揭秘 快速构建微服务体系》都是王福强老师写的,写的很赞,尤其《Spring揭秘》,现在出版社已经没有再卖了,不过可以按需出版,LZ花了150买了,虽然是基于Spring以前的版本写的,但还是收获满满,MyBatis源码的书较少,就买了一本《MyBatis技术内幕》配合有中文注释的Mybatis源码看

    Java Web

    《how tomcat works》写的还是挺好的
    《Head First Servlet JSP 》《JSP&Servlet学习笔记》《深入分析Java Web技术内幕 》现在大部分公司都已经前后端分离了,所以JSP不太值得深入学习了,当初之所有看这2本书,是因为面试官问用户点击页面返回请求中间经历了什么,结果直接从Sping MVC讲起,面试官问我前面的过程呢?所以回来就看了这2本书恶补了一下Servlet的知识,让我看看有多少人不会,哈哈

    Servlet执行过程

    1. 用户点击页面发送请求->Web服务器应用(如Apache)->Web容器应用(如tomcat)
    2. 容器创建两个对象HttpServletRequest和HttpServletResponse
    3. 根据URL找到servlet,并为请求创建或分配一个线程,将请求和响应对象传递给这个servlet线程
    4. 容器调用Servlet的service()方法,根据请求的不同类型,service()方法会调用doGet()和doPost()方法,假如请求是HTTP GET请求
    5. doGet()方法生成动态页面,并把这个对象塞到响应对象里。容器有响应对象的一个引用
    6. 线程结束,容器把响应对象装换为一个HTTP请求,把它发回给客户,然后删除请求和响应对象

    《从Paxos到Zookeeper》现在分布式项目大部分都会用到Zookeeper
    《Netty实战》面试被问到过,公司的项目也有用Netty写的,所以就看了一波

    Thrift,Kafka,RabbitMQ,Elasticsearch之类的用的也多,奈何要学的东西太多了,还没有看相关的书,Thrift国内没有相关的书,Elasticsearch貌似官方文档写的挺不错的

    Linux

    《鸟哥的Linux私房菜》
    《Git Community Book 中文版》学git的时候看的书,
    《Linux与Unix shell编程指南》这本书还是值得好好看看,因为集群项目手动部署或者更改配置文件太麻烦了,必须得会一点shell脚本,不然每次部署都敲命令,能敲到疯
    《UNIX&LINUX大学教程》
    《UNIX环境高级编程》

    数据库

    《MongoDB权威指南》《Redis实战》平时用的那点nosql知识全是从这2本书上学的

    《MySQL必知必会》《SQL必知必会》《SQL查询的艺术》《SQL Cookbook》比较基础的书籍

    《高性能mysql第三版》《MySQL技术内幕 InnoDB存储引擎 》都买了实体书,不过还没有看完

    前端

    因为前端的知识仅限于我自己瞎搞的这些项目,工作之后就没写过前端,所以推荐的不是很多,都是比较基础的书
    《HTML5与CSS3权威指南》《JavaScript高级程序设计(第3版)》《锋利的jQuery》《[JavaScript权威指南》《CSS权威指南》《Effective JavaScript》《编写可维护的JavaScript》

    算法

    因为做过一年ACM,其实学习算法最好的方法就是刷题,但是对于不做ACM的去刷OJ有点不现实,刷刷LeetCode还是可以的
    《算法图解》不怎么枯燥
    《编程珠玑》很经典的算法书
    《数据结构(C语言版)》严蔚敏,国内的大学教材大部分用的都是这个,当初为了学数据结构,LZ买了一本考研的参考书,一边学一边做题,好像是天勤系列的参考书
    《算法设计与分析 - 吕国英》入门书籍,基本算法都涉及到了

    网络

    《图解HTTP》《图解TCP/IP》《图解网络硬件》因为并没有科班教育,所以计算机网络,计算机组成原理看的比较少,仅有的一点网络知识就是从这学的,漫画较多,学起来还是挺轻松的
    《计算机网络:自顶向下方法》
    《网络是怎样连接的》科普读物,写的很好
    《http权威指南》 有人说这本书太厚,偷偷告诉你,其实这本书并厚,因为这本书的后面的30%部分都是附录,这本书的精华是前50%的部分
    《tcp/ip 详解 卷1》这本书,让你知其然,更知其所以然
    《tcp/ip 基础》、《tcp/ip 路由技术》这两本书,会让你从不同角度思考协议
    《wireshark网络分析就这么简单》《wireshark网络分析的艺术》《精通wireshark》、《wireshark网络分析实战》如果你看了很多书,却从来没有试过网络抓包,那你只是懂纸上谈兵罢了。你永远无法理解tcp三次握手的怦然心动,与四次分手的刻骨铭心。
    《网络是怎样连接的》非常好看,引人入胜的科普书籍,作者户根勤从软件到硬件,方方面面造诣都很深。
    《tcp ip 入门经典》
    《UNIX网络编程 卷1》
    《UNIX网络编程 卷2》

    其他

    《剑指offer 名企面试官精讲典型编程题》这本书真心很赞

    分布式

    《深入分析Java Web技术内幕》
    《大型分布式网站架构设计与实践》
    《深入分布式缓存 从原理到实践》

    设计模式

    《Head first设计模式》
    《设计模式之禅》

    展开全文
  • java图书排列

    千次阅读 2020-05-23 17:29:59
    将编号为1~10的10本书排放在书架上,要求编号相邻的不能放在相邻的位置。 请计算一共有多少种不同的排列方案。 注意,需要提交的是一个整数,不要填写任何多余的内容。 9 9 10 9 9 9 9 9 9 10 7 7 9 7 package 第...
  • Java 技术书籍大全

    千次阅读 多人点赞 2019-08-11 20:38:49
    前言 本文档目前已收录 277本 Java相关领域经典技术书籍,从初级开发者到资深架构师,涵盖 Java ...流程,职业素养与个人成长,格局与视野,面试参考等。 入门书籍 《明解Java》 - 豆瓣评分 8.5 《Java从入门到精...
  • 转载:On Java 8 think in java 真的是学习java 的必读书籍,转载了大佬的 java 8 中文翻译版本 文章目录第二章 安装Java和本书用例编辑器ShellJava安装校验安装安装和运行代码示例 第二章 安装Java和本书用例 现在...
  • 关于写的Java书籍进展

    千次阅读 多人点赞 2014-08-04 18:56:00
    大家好,去年说要写本Java书,近期就快出版了。目前已经开始打印样书了,最快于本月中旬左右就可以在互动网www.china-pub.com上看到消息,其它各个网站何时会发售要看具体进货情况。去年我预期是半年写好这本书,6个...
  • 工作十年,分享看过的优质 Java 书籍

    万次阅读 多人点赞 2019-12-13 10:38:32
    不知不觉,我已经接触 Java 11 年了——从 2008 年北京奥运会那年开始,到现在;未来还会更久。这期间我读了不少 Java 方面的书籍,纸质版的少说有三十来本吧,更何况还有不少的电子书。万事都有好坏,也一样。有...
  • JAVA学习,你必读的5本JAVA书籍

    千次阅读 热门讨论 2016-10-22 23:37:54
    给广大JAVA爱好者推荐JAVA教程,很多人学习Java是从《Thinking in Java》这本书入手的,但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物,第四版翻译的已经不错了,其实如果...
  • Java入门

    2020-09-15 18:37:31
    各位有什么经典的的Java入门吗,感觉还是看点经典的比较好
  • Java程序员必看的 13 本 Java 书籍

    千次阅读 多人点赞 2018-10-27 10:55:03
    转载自 Java程序员必看的 13 本 Java 书籍 关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!! 毕竟,是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java...
  • Java白皮书的关键术语

    千次阅读 2018-01-08 16:48:19
    Java的设计者已经编写了颇有影响力的白皮书,用来解释设计的初衷以及完成的情况,并且发布了一个简短的摘要。这个摘要要用一下关键术语进行描述: 1.简单性2.面向对象性 3.分布式  4.健壮性 5.安全性 6.体系...
  • Java程序员必读的10本书籍

    万次阅读 多人点赞 2018-06-19 12:45:31
    以下列出了10本书,对于任何希望提高Java知识和理解...这些经受住了时间的考验,随着岁月的流逝变得越来越重要。不管你是在2018年读还是计划在2019年读,你总有很多东西要学,这就是为什么我认为它们是有史以来最...
  • 学习Java好书及视频推荐

    千次阅读 2018-07-17 14:19:34
    要想在java领域成为大牛,除了不断进行项目实战以外,还要不断的进行进修和学习,以下将本人学习java多年使用的好书和一些好的视频推荐给大家,这些和视频都是本人在网络找了很久,后来又经过实践证明的好书和视频...
  • 大一java图书馆管理系统课程设计

    万次阅读 多人点赞 2017-09-18 16:24:15
    大一java图书馆管理系统课程设计代码仅供参考!!!仅供参考!!!效果图如下管理员用户名:123456 密码123456下载地址:http://download.csdn.net/download/qq_36326947/9995208...
  • Java书籍Top 10

    万次阅读 2009-02-08 00:54:00
    本文同时也发表于:酷壳(http://www.cocre.com/?p=67 ) Java 书籍 Top 10 陈皓 http://  blog.csdn.net/haoel 下面是Java Inside上推荐的十本Java书籍(文章来源),我把... 1)Java Language Specification, Thir
  • Java图书类

    千次阅读 2014-09-10 19:30:57
    d) 编写测试类TestBook,实现创建一个Book对象book,打印出该的详细信息。 public class Book { private String bookId; private String bookName; private String author; private String publisher; ...
  • 学习Java必看的Java书籍(本本经典实用)

    千次阅读 多人点赞 2019-12-14 21:27:22
    今年下半年,正式系统地学习Java。最近把学习Java所用到的书籍整理了一下,分享出来,希望对正在学习或准备学习Java的人有一定的帮助。 关于Java的学习路线,和IDE工具IntelliJ IDEA的安装使用可以看我之前的文章。...
  • java推荐书籍

    千次阅读 2014-02-10 20:24:09
    java编程入门 《java编程思路》,《Agile java》中文版,《你必须知道的261个java语言问题》 二 java编程进阶 《编程匠艺——如何编写卓越的代码》,《重构 改善既有代码的设计》,《驱动测试开发 by ...
  • 推荐给java新手的JAVA零基础入门书籍

    万次阅读 多人点赞 2018-04-09 16:41:52
    不管是出于兴趣还是出去java的热门高薪资,想要入门java是很辛苦的,零基础的更辛苦,想要零基础自学入门更更辛苦。当然,只要你学习能力和自制能力强,坚持就是胜利。下面整理一些java的书籍给大家分享,1,《Head ...
  • Java 必读 书籍 推荐

    万次阅读 2016-06-02 17:27:42
    一、Java编程入门类    对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的...
  • Java Web 开发书籍

    千次阅读 2019-04-01 14:14:32
    都是java web开发的程序员可能接触的,其他的如设计/手机开发/其他语言的就不写了,因为自己只做过java web开发,那些没什么资格评判。 因为不是每本书都翻开确定一下再写的,可能有张冠李戴或记忆错误的情况...
  • JAVA图书馆管理系统各个项目链接

    千次阅读 2017-09-10 13:49:28
    java图书馆管理系统【优秀毕业设计论文+源码】http://down.51cto.com/data/68350java+sql server图书管理系统 http://down.51cto.com/data/74736 基于struts的图书管理 http://down.51cto.com/data/99614 图书...
  • 9本Java程序员必读的

    千次阅读 2015-11-18 21:56:50
    本文列出的9本书在Java程序员界都是被认为很棒的。当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本来作为指导学习Java。这个问题也就表明,相对于其他的教程和博客,Java书籍还是很重要的参考,...
  • 几本推荐的Java书

    万次阅读 2016-04-28 15:26:53
    一、《深入理解Java虚拟机:JVM高级特性与最佳实践》 如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,我随便举几个例子吧: 1、了解Java代码的底层运行机制 2、定位性能问题 ...
  • java好书推荐-

    千次阅读 2007-02-05 15:03:00
     如果什么基础都没有,就先看看java编程起步,21天学通java之类的 附: java2十大经典中文图书 只针对Java2平台-而且是在国内可以找到的中文版的,其实好不好是见仁见智的(高手可以去看Sun的开发文档,这也...
  • 学习java必读书籍

    千次阅读 多人点赞 2010-05-11 09:30:00
    《Thinking in java》,《Core Java》,《effective java》,《Java Puzzlers》,《Java Network Programming》,《java concurrency in practice》,《深入Java虚拟机》,《Java并发编程实践》,《How Tomcat Works...
  • java必读书籍

    千次阅读 2006-09-18 21:27:00
    1、JavaJava编程语言(第三版)---Java四大名著----James Gosling(Java之父)Java编程思想(第2版)----Java四大名著----Bruce EckelJava编程思想(第3版)----Java四大...基础知识(原第7版)---Java四大名著-----Cay

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 603,237
精华内容 241,294
关键字:

有关java的书

java 订阅