精华内容
下载资源
问答
  • java编程思想读后感
    千次阅读
    2016-09-06 19:03:17

    最近找工作,面试了好多家企业,见了很多优秀的面试官,都给了很多有帮助的建议。大部分面试官在知道我在看Java编程思想,都会认为我现阶段不适合看编程思想,head first会更适合我。开始我觉得是不是自己有些好高骛远,应该踏实的把基础打扎实。后来我问了自己几个问题,看Java编程思想给自己带来进步了吗?有没有看着很痛苦的感觉?答案是很清楚的,当然给我带来很大帮助,也潜移默化的解决了一些问题。

    我最开始看编程思想是再看圣思园张龙的Java教学视频,讲多态的时候他极力推荐去看Java编程思想,就去看了看完觉得很通透,从为什么用多态,怎么实现,怎么用,到好处有哪些,什么时候用什么时候不用,都有了比较清晰的认识。后来有一个多线程的问题解决不了,就想找根源,看了编程思想的线程同步那一节,看完觉得受益很多,讲的很详细很全面,虽然后来定位到问题不是有多线程引起的,但是对这本书的好感已经不能抹杀了。紧接着就开始从多态的下一章开始翻看起这本书,把里面的程序都挨个敲了一遍。一直看到容器那一章,工作项目紧张就暂停了编程思想的学习,但是自此之后,在看别的基础Java数据,基本畅通无阻。

    现在觉得,或许我这个阶段看这本书的收获还远远不及书中知识的本身价值,但也向前引领我了一大步,至少让我对Java的基础知识有了整体的概念。现在我要翻回头去看head first了,所有的知识都要经过多次迭代才会有深入的认识。恩,就这样。

    更多相关内容
  • Java编程思想读后感

    千次阅读 2015-09-26 00:18:16
    thinking in java 读后感

    8月底,决定买这本书。9月初,在看完了多线程、并发的书(java并发编程的艺术,java多线程编程核心技术)之后,决定看这本,扎实一下自己的Java基础。

    从开始看,到看完,每天坚持看,包括周末。在国庆节看完了,不得不说,这是一本好书。

    这本书包含众多的demo,在代码中更能领悟java语言的魅力。感受比较深的就是构造器、RTTI、多态等方面的内容。

    推荐在阅读的时候,对不太懂的demo,可以进行实际的debug,深入理解。尤其是对于这种纸上的代码,有时候阅读比较吃力,如果能进行实际的debug,很快就可以理解作者的思想。我采用的则是直接去官网,把所有的源代码下载到本地,使用IDE进行debug,有奇效,推荐。

    其中部分章节,由于之前已经有过深入了解,就处于略过的状态,包含集合、并发、异常。

    还有部分内容目前只能略懂一二 ,还需要后续重复研读,才能真正掌握精髓。例如泛型、容器的深入研究、I/O、枚举。可能在日常有使用,但是没达到书中的那种高度。

    同时也包含其他的一些知识,如设计模式、Jvm、类加载等。

    鉴于这本书内涉及到的一些知识点,还不太熟,需要后续深入学习的内容有:JVM类加载、设计模式。


    后续再读本书时,还会继续扩充、完善。


    20160228更新:快速的再读了一遍,还是有很多收获。作为以jdk5为主的教科书式的资料,虽然有点过时,但是总体内容写的非常精彩。当然了,也还是有部分内容没太细看,比如泛型这章。总的来说,这本书可以常备手边,可以反复的阅读。

    展开全文
  • //java编程思想 //一、作用域 //c、c++,java中变量的作用域与花括号的位置有关 {  int a=12;  //a有效  {  int k=90;  //a与k有效  }  //k无效,a有效 } //此代码在c与c++中是有效的,而在java...
    //java编程思想
    //一、作用域
    //c、c++,java中变量的作用域与花括号的位置有关
    {
     int a=12;
     //a有效
     {
      int k=90;
      //a与k有效
     }
     //k无效,a有效
    }
    //此代码在c与c++中是有效的,而在java中会报错
    {
     int x=12;
     {
      int x=90;
     }
    }
    //编译器将会报告变量x已经定义过,所以,在c与c++中将作用域较大的变量“隐藏”起来的做法
    //在java中是不允许的,因为java设计者认为会造成程序的混乱
    //java对象没有与基本类型一样的生命周期,在作用域之外,虽然java对象的引用失去了意义,但对象本省
    //仍然占有内存空间
    {
     String s=new String("hello");
    }
    //二、java中打印出当前日期
    import java.util.Date;

    public class dateshow{
     public static void main(String[] args)
     {
      System.out.println("now is ");
      System.out.println(new Date());
      //创建date对象,打印出获取的当前时间信息
     }
    }
    //三、java中获取运行系统中所有属性,并显示
    public class show{
     public static void main(String[] args){
      System.getProperties().list(System.out);
      //显示从运行程序的系统中获取所有“属性”
      //可以提供环境信息
      //list方法将结果发送给它的参数System.out,从而得到显示
      //也可以发送到其他地方
      System.out.println(System.getProperty("user。name"));
      //查询系统中的属性:用户名
      System.out.println(
      System.getProperty("java.library.path"));
      //查询系统中的java目录路径
     }
    }
    //四、嵌入html
    /**
    *insert a <em>list</em> for it
    *<ol>
    *<li>one</li>
    *<li>two</li>
    *<li>three</li>
    *<li>four</li>
    *</ol>
    */
    //注意,在文档注释中,位于每一行开头的*与空格都会被javadoc丢掉
    //javadoc会对内容进行重新格式化,与其标准的文档外观一致
    //并且,不要再嵌入式html中使用标题标签,如<h1>或<br>
    //因为javadoc会加入自己的标题,如果自行加入可能会发生冲突
    //五、简化打印语句
    //可以将打印日期的代码改写如下:
    import java.util.*;
    import static net.mindview.util.Print.*;
    //简化打印语句

    public class show{
     public static void main(String[] args)
     {
      print("now is ");
      print(new Date());
      //无需使用system.out
     }
    }
    //六、运算优先级
    public class prior{
     public static void main(String[] args)
     {
      int x=1,y=2,z=3;
      int a=x+y-2/2+z;
      //2/2优先运算
      int b=x+(y-2)/(2+z);
      //括号内的优先运算
      System.out.println("a="+a+"b="+b);
      //最后一个变量只需前面添加一个“+”
     }
    }
    //使用括号,使a与b的结果不同,括号内的优先结合
    //没有括号时,加减的优先级低于乘除的优先级
    //System.out.println()语句中的“+”,意味着字符串链接
    //并且还要执行字符串转换
    //即如果编译器观察到“+”后面的元素为非String类型,则将其转换为String类型
    //七、赋值
    import static net.mindview.util.Print.*;

    class rank
    {
     int a;
    }
    public class test
    {
     public static void main(String[] args)
     {
      rank r1=new rank();
      rank t2=new rank();
      r1.a=1;
      r2.a=2;
      print("1:r1: "+r1.a+"r2: "+r2.a);
      r1=r2;
      //此时两个rank引用指向同一个对象
      print("2:r1: "+r1.a+"r2: "+r2.a);
      r1.a=27;
      //当改变一个引用指向对象的数据时
      //由于两个引用指向的是同一个对象
      print("3:r1: "+r1.a+"r2: "+r2.a);
      //所以再次输出时两个数字相同都为27
     }
    }
    //注:没有引用指向的对象将被“垃圾回收器”自动清理
    //八、别名现象
    import static net.mindview.util.Print.*;

    class ch
    {
     char c;
    }
    public class PassObject
    {
     static void f(ch chh)
     {
      chh.c='z';
     }
     public static void main(String[] args)
     {
      ch cc=new ch();
      cc.c='a';
      print("1: cc.c:"+cc.c);
      f(cc);
      print("2: cc.c:"+cc.c);
     }
    }
    //f函数看起来是复制其参数ch chh的一个副本
    //并且改变它的值,但实际上,由于复制的是一个引用
    //所以实际上改变的是引用指向的对象的值
    //也就是cc指向的对象的值发生了改变
    //九、自增自减符
    import static net.mindview.util.Print.*;

    public class as
    {
     public static void main(String[] args)
     {
      int i=1;
      print("i: "+i);
      print("++i: "+ ++i);
      //输出结果是2,先做加1运算再输出
      print("i++: "+ i++);
      //输出结果仍然是2,此时先输出再做++
      print("i: "+i);
      //此时显示上次++完毕的结果,为3
      print("--i: "+ --i);
      //同理,此时的输出结果为2
      print("i--: "+ i--);
      //此时的输出结果仍然为2
      print("i: "+i);
      //此时输出第二次--后的结果1
     }
    }
    //总结:++/--在前,先做运算再执行操作
    //++/--在后,先进行操作,再做运算
    //十、比较
    public class equal
    {
     public static void main(String[] args)
     {
      Integer n1=new Integer(2);
      Integer n2=new Integer(2);
      System.out.println(n1==n2);
      //输出false
      System.out.println(n1!=n2);
      //输出true
     }
    }
    //两条输出语句打印出逻辑运算后的布尔值结果
    //==/!=符号比较的是二者的引用是否相同
    //而不是二者指向对象中的值是否相同
    //故输出的结果显示false后市true
    //比较两对象实际内容是否相同使用equals()方法
    //将上述例子的最后两句改为:
    System.out.println(n1.equals(n2));
    //此时输出结果为true

    class va{
     int a;
    }
    public class equal{
     public static void main(String[] args){
      va v1=new va();
      va v2=new va();
      v1.a=v2.a=2;
      System.out.println(v1.equals(v2));
     }
    }
    //此时的输出结果为false
    //因为equals的默认行为是比较引用
    //所以要在自己的类中覆盖equals方法,改为比较值
    //而Integer中已经重写了equals方法
    //故上一个例子中输出结果为true
    展开全文
  • 引数组建立,其中的每一个reference都会被自动设为null,表示“不指向任何对象”。 二.建立新的数据型别:Class 1. 数据成员和函数 1.1 基本成员的缺省值 1) 当class的某个成员属于基本型别时,即使你没有...
  • java编程思想读后感

    千次阅读 2021-02-12 17:15:41
    读《java编程思想读后感自从学电脑以来,我对于编程有了浓厚的兴趣,正好朋友有一本叫做《java编程思想》的书,我便借来研读,读完之后我深有体会,所以和大家分享一下。 本书共22章,包括操作符、控制执行流程、...

    读《java编程思想》读后感

    自从学电脑以来,我对于编程有了浓厚的兴趣,正好朋友有一本叫做《java编程思想》的书,我便借来研读,读完之后我深有体会,所以和大家分享一下。 本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。 一切皆是对象 在第二章中讲到,一切皆为对象,引起了我深度的思考,为何说一切都是对象呢?无论C++还是Java都属于杂合语言。但在Java中假定了我们只希望进行面向对象的程序设计。也就是说,正式用它设计之前,必须先将自己的思想转入一个面向对象的世界(除非早已习惯了这个世界的思维方式)。只有做好这个准备工作,与其他OOP语言相比,才能体会到Java的易学易用。 多线程 看到十四章多线程时,我出现了一些困惑不明白何为多线程所以我上网找到了正解:线程是进程中一个任务控制流序列,由于进程的创建和销毁需要销毁大量的资源,而多个线程之间可以共享进程数据,因此多线程是并发编程的基础。多核心CPU可以真正实现多个任务并行执行,单核心CPU程序其实不是真正的并行运行,而是通过时间片切换来执行,由于时间片切换频繁,使用者感觉程序是在并行运行。读完这一章,我深刻的感受到java的强大之处,不管是不是单核,java都可以实现表面上的多线程。 设计范式 设计范式根据创建、结构、行为分为23个类,在这里我就不一一举例了。我们可将范式想象成一种特别聪明、能够自我适应的手法,它可以解决特定类型的问题。而我们需要做的就是学会这些范式后,去改进我们程序的效率去制造更多的类,变成我们的框架。 总结 当我看完这本书,合上最后一页是我的内心如释重负,闭上眼回忆这本书的内容感觉精彩无比,根据我的总结java不外乎分为:继承、封装、多态,只要好好学一定可以学会。说实在的我觉得这本书对于我来说越看越迷糊,所以我觉得这本书还是需要有点Java功力的人看的,初学者不妨选择一些较浅的书看着。

    展开全文
  • Java编程思想》这本书,陆陆续续了1年,终于基本都浏览了一遍。通过这本书,试图理解作者的想法,才真的体会到Java思想。感谢本书的作者,不仅讲述了java的语法,更重要的是向读者剖析了Java的设计思想,以及他...
  • Java编程思想个人读后感

    千次阅读 2018-06-20 22:43:25
    今天又拿起了Java编程思想啃了起来,前段时间看了二十来章,但感觉心静不下来,有许多知识没有消化,所以昨天又从第一章开始学起,这次也不强加自己一天要学一两章,也觉得那样没什么效果,只有静下心来,把知识点一...
  • Java编程思想读后感

    千次阅读 2015-09-17 23:03:51
    最近匆匆忙忙把《Java编程思想》看了一下,最后一章图像用户界面暂时没有看,一是最近用不上,二是觉得这个部分大都是讲怎么用,心想到时查阅一下即可。 整本书下来,其实只有一个大概的感觉,很多细节和例子自己并...
  • java编程思想读书笔记

    2010-07-10 19:32:21
    java编程思想读书笔记,114页,压缩文件才39K。
  • 第七章:复用类 http://blog.csdn.net/u014115673/article/details/53350009 第八章:多态(上) http://blog.csdn.net/u014115673/article/details/53424669 第八章:多态(下) ...未完
  • 总结一下初始化顺序,要想使用构造器初始化,首先构造器是静态的,首先加载静态变量,再加载非静态变量,并且只在第一次创建对象时加载,再次创建对象时不会加载,会 再次加载非静态变量,并且从父到子类挨个加载。...
  • Java编程思想读书笔记(一)第1~13、16章

    万次阅读 多人点赞 2017-11-26 18:54:06
    Java编程思想(一)第1~13、16章 Java编程思想(二)第14章-类型信息 Java编程思想(三)第15章-泛型 Java编程思想(四)第17章-容器深入研究 Java编程思想(五)第18章-Java IO系统 Java编程思想(六)第19章-...
  • Java编程思想第五版》心得体会

    千次阅读 多人点赞 2021-09-20 13:20:58
    Java学习路线:搬砖工逆袭Java架构师 ???? 简介:Java领域优质创作者????、CSDN哪吒公众号作者✌ 、Java架构师奋斗者 ???? 扫描主页左侧二维码,加入群聊,一起学习、一起进步 ???? 欢迎点赞 ???? 收藏 ⭐留言 ?...
  • java编程思想读书笔记1

    千次阅读 2019-03-04 14:15:37
    经典的书再一遍,虽然1.8有很多新特性,java12都出来了,但是真的写的不错的书,还是这几本。 一、抽象过程 所有编程语言都提供抽象机制,可以认为,人们能够解决问题的复杂性直接取决于抽象的类型和质量。C、...
  • 如图
  • 感谢图灵图书的邀请,能提前拜读**Bruce Eckel** 的新作《On Java 8》 ,**Bruce Eckel** 是《Thinking in Java》(中文版是 **《Java编程思想》(第4版)** )的原作者,**巨佬** (大佬中的大佬)的新书值得期待。
  • 读书笔记——Java编程思想

    千次阅读 2018-08-02 19:57:27
    读书笔记——Java编程思想 第一章 对象导论 1.1抽象过程 (1)对象的定义: 我们将问题空间中的元素在解空间中的表示称为“对象”。 这种思想的实质是程序可以通过添加新类型的对象使自身自适应用于某个...
  • 900 多页,书中的内容都是 Java 编程语言中的重难点集合。完本书,花了两个星期, 10 几个小时。 书提到了这些知识模块: 类与对象 操作符 执行流程的控制 初始化与清理 访问权限控制 复用类 多态 接口 ...
  • Java编程思想读书笔记 doc doc
  • Java编程思想阅读收获

    千次阅读 2016-01-14 10:11:40
    15年8月份买了一本Java编程思想第四版中文版。之所以买中文版是因为我试读了同事的英文版发现自己英语水平还是有限,单词虽然认识,但对很多句子把握不准,这样看书太慢了,要理解英文还要理解技术有些hold不住。买...
  • 对《Java编程思想》读者的一点建议

    千次阅读 多人点赞 2019-10-30 18:03:18
    Java 编程思想》这本书在豆瓣的评分高达 9.1 分,但我总觉得有点虚高。 记得刚上大学那会,就在某宝上买了一本影印版的《Java 编程思想》,但由于初学 Java,对编程极度缺乏信心,导致看这本书有一种看天书的感觉...
  • Java编程思想真的是一本神书,时隔这么多年再看,还是有不小的收获的,这么多年以来,只顾得上写码,好多基本知识都忘得一干二净了,重新复习一下,甚好。下面来说一下自己的收获。 对象导论重点写了什么是对象,...
  • Java编程思想(第四版)笔记(一)

    千次阅读 2016-05-25 11:53:48
    闲来无事,重读一遍Java编程思想,有些自己感觉容易忘记的东西,记个笔记。 第2章 一切都是对象 22 基本类型 第3章 操作符 7 关系操作符 16 Java没有sizeof 第4章 控制执行流程 33 逗号操作符 第5章 初始化...
  • 很厚的一本书,在大一末的时候导师推荐了这本书,在学校怀着完成学业的目的完它。2016年,工作之后,发现真正写代码的时候,很多都是一知半解。比如,容器和泛型应该怎么用,并发该怎么写,异常该如何处理,IO的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,470
精华内容 8,588
关键字:

java编程思想读后感