• 我的Java学习流程 2006-10-14 08:20:00
    Java一年有余,每每总结时,常常遗憾于学习过程的迂回曲折。好比站在高处俯视蚂蚁搬家,总觉得存在有诸多可疑之处,倘若有人能分享学习过程,那么设想我就不会走那么多弯路,浪费那么多时间。言归正传,James ...
    学Java一年有余,每每总结时,常常遗憾于学习过程的迂回曲折。好比站在高处俯视蚂蚁搬家,总觉得存在有诸多可疑之处,倘若有人能分享学习过程,那么设想我就不会走那么多弯路,浪费那么多时间。
    言归正传,James Gosling 博士亲手设计Java语言,让我们回顾一下吧那个经典瞬间吧。1994年底,James Gosling参加了在硅谷召开的“技术、教育和设计大会”。他报着试一试的心情向与会者演示了Java的功能。他点击了网页上的一个静止的分子结构图标,一条命令通过互联网送到了几百英里外的网站,下载了一段Java小程序,在本地工作站上开始执行。在几秒钟时间里,原本静止的网页上,一个分子图像以三维动画的方式转了起来。
    “哇!”James Gosling听到了全场观众的赞叹声。言之于此,联想在JDK中demo包中的例子了吗?如此Java就成为网络最炙手可热的编程语言之一。
     在此我不想再赘述Java在网络安全、可移植性等诸多方面带给我们的惊喜,一切都显得多余。无论如何很多程序员都成她的忠实fans,包括我。当然我写下学习历程的原来不是炫耀自己已经达到某种水平,只想经后来的Java fans分享我的学习历程,并且企望给他们些许的启示吧。
    那我们就开始吧。
    1、入门教材。
    刚开始学习Java的时候一定不要错过两本书,Thinking In Java(<<Java编程思想>>)和Core Java 2(Java核心技术)。Thinking In Java是Bruce Eckel的经典之作,你可以登陆http://www.bruceeckel.com下载免费版本,另外假如英语水平不是太差的话,推荐看英语原版的。我得承认,看完这本种的时候最大的想法是书的作者是我就好了,因为太经典了,经典的让人想占为己有。本书不仅讲解Java面向对象的基本知道,在很多内容解入Java深层的东西。
     Core Java 2的原出版社是Sun Microsystems,或许大家已经想到了,假如Thinking In Java 更注重“思想”的话,那么Core Java2注重的是应用,你可以在书到找到许许多多的例子来帮助你学习Java。
    2、不得不提的建议。
    学习伊始,智能的IDE对学习Java是不利的,比较如些智能的Eclipse几乎不用自己写代码,就可以完成学习任何一门语言都不能错过的HelloWord。诚然,几乎没有人现在用提示符下的,javac 、java 命令编译运行代码。对于初期学习的程序员来说,手写代码的过程会使你更快了解Java的结构,加快学习的进度。
    3、继续前进。这时候你已经对Java语言有了一定的了解,也可能在做J2EE方面的开发,并接解不少优秀的开源框架,如struts、spring等。你对java.lang包、javax.swing包已经有了相当深入的了解。假如你这时,还经常为“用继承还是用组合”诸如此类问题而因惑的时候,我建议你去看看这个本,Effective Java。这本书提出了实用的57条建议,假如你是一个C++程序员,并且看过Effective C++的话,那么,这本书的Java版本就是它了。Effective Java的作者是Joshua Bloch,又一位大师,JDK的collection框架的主要设计者。
    这本书我觉得和编程思想有一些共同的东西,另外给我们提供了实用的建议,不要忘记这本书可是Jolt Award大奖的得主噢。
    2005年,Joshua Blosh又出版另一本书Java Puzzlers,假如你不知道下面这段程序的输出结果并且对些充满好奇的话,请你看看这本书,。
    public class Foo {
     private Foo(Object o) {
      System.out.println("object");
     }
     private Foo(String s) {
      System.out.println("string");
     }
     public static void main(String[] args) {
      new Foo(null);
     }
    }
    4、设计模式与重构
    也许你对Thinking In Java第十六章 Analysis and Design提出一的问题想进行深入了解的话。看看这本书吧,Design Patterns:elements of reusable object oriented software,大师 Erich Gamma等人的经典之作,或者你已经听说过创建模式,结构模式和行为模式,但如何对一个问题找不到解决方面的时候,这本书将是你的最佳选择。虽然书中代码全是用C++写的,但我想语言只是一种工具,并不妨碍你对设计模式的学习,读完这本书,你就可去用singlton,decorator,command模式去编程了,你将发现它非常有用。
    有你做过一些项目,特别看过别人的代码的时候,你是否会提出这样的疑问,我的代码为什么没有别人写的漂亮呢?我的代码修改起来为什么这么麻烦?为什么别人看不懂我的代码?如果你有这样的疑问,你可以去看这本书了Refactoring:Improving Design of Existing Code,作者又是一位顶级大师Martin Fowler,他的主页http://www.martinfowler.com。
    5、关于JUnit框架
    还有一个不得不介绍的开源框架就是JUnit,这个框架其实在学习Java不久就要了解的,并且和重构有极大的联系。JUnit为我们测试一个类提供方以简单能便的框架,你可通过继承TestCase就可以实现测试类,而方便的Eclipse的JUnit插件使用
    非常方便。感谢Erich Gamma (Design Patterns:elements of reusable object oriented software的作者之一)and Kent Beck编写这个框架,网址http://www.junit.org。介绍JUnit的不错的一本书,JUnit In Action。
    举个简单例子
    public class Calulator
    {
    public int add(int number1,int number2){
    return number + number2}
    }
    下面测试用例,很简单吧。
    import junit.framework.TestCase;
    public class TestCalculator extends TestCase {
    public void testAdd()
    {
    Calculator calculator = new Calculator();
    int result = calculator.add(10, 50);
    assertEquals(60, result);
    }
    }
    就写到这些,未曾想到如此罗嗦的写下这些文字。希望对未来的Java fans有些帮助吧,哪怕只是一点,我已经欢心雀跃了。
    末了,提几个忠告:
    1、不要买“几天就学有通Java”的书,除非,你有很多钱可以浪费并且不在乎你宝贵的时间。
    2、不要怕向别人请教,除非得到别人花了很长时间才明白的问题,并不令你感觉兴奋与快乐。
    3、不要吝啬你的经验,一定要与大家分享,除非你忘记了别人是怎么帮助你的。
     
    展开全文
  • java.util.Collection学习笔记 2016-10-28 17:16:54
    java.util.Collection学习笔记概述java.util.Collection是集合层次的根接口,定义了所有集合类型都应该提供的基础方法。在java中,集合的概念与数学中的集合概念相同:代表一个对象的分组,包含的每个对象称为集合的...
  • java.util.Map学习笔记 2016-11-14 10:31:42
    Map接口主要用于替换抽象类java.util.Dictionary。Map接口中提供了3种集合视图,分别为:Map对象中所有key的集合,Map对象中所有value的集合,Map对象中所有实例(entry)的集合。Map中实例的顺序与map对象的迭代器...
  • Java.util.Map详解 2018-08-03 14:49:17
    Java为数据结构中的映射提供了一个接口Java.util.Map,此接口主要有四个常用的实现类:HashMap、Hashtable、LinkedHashMap和TreeMap。 继承关系图为: 下面针对各个实现类的特点做一些说明: (1)HashMap: 它...
  • 定义了String类型的变量,在用String.length()==0这个方法进行... Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'int java.lang.CharSequence.length()' on a null object refe...
  • java.util.Collections学习 2010-06-21 22:07:00
    java.util.Collections此类为java.util.Collection的工具类.字段:public static final List EMPTY_LIST ;public static final Map EMPTY_MAP ;public static fianl Set EMPTY_SET ;方法:boolean addAll(Collection c...
  • There is no getter for property named '*' in 'class java.lang.String',此错误之所以出现,是因为mybatis在对parameterType="String"的sql语句做了限制,假如你使用!= null">这样的条件判断时,就会出现该错误,...
  • java.lang.NoSuchMethodException 2014-04-30 14:34:14
    学习struts2的时有时会出现此异常,现将其总结如下,方便大家参考: 1、先尝试下看其它的方法能不能用,要是都是这种情况的话,可能是你的Action类没有继承structs里面的DispatchAction或者其它的类。还有你...
  • java.util.List学习笔记 2016-10-31 14:43:03
    Java中,List是一种特殊的集合结构,即:List是一种有序的集合。在List接口的实现中,需要提供根据列表下表对元素进行操作的方法,包括:插入,删除,查询和修改等;List一般允许重复的元素存在。判定元素是否相同...
  • java.util.Set学习笔记 2016-11-10 13:23:48
    Set的概念与其在数学上的意义相同,是一种不允许存在重复元素的特殊集合,即:在一个Set中不包含满足条件e1.equals(e2)的元素对e1和e2。Set接口在从Collection中继承的接口的基础上,增加了额外的限制条件,主要包括...
  • 如果是一名Java初学者,那么如何进行学习java确实非常关键,通过自己的学习经历,先将Java学习从以下几个方面提供建议:技术路线学习层面?设计学习层面?技术学习方式层面?1. 技术路线学习层面为了更好的给同学...
  • 调用java.util.Collections.sort(List list)方法来进行排序的时候,List内的Object都...否则出现下面的错误:java.lang.ClassCastException at java.util.Arrays.mergeSort(Arrays.java:1152) at java.util.Arrays.so
  • Java反射(java.lang.reflect) 2015-01-29 12:22:14
    学习一下java.lang.reflect包下有关反射的相关内容,提供类和接口,以获得关于类和对象的反射信息。在安全限制内,反射允许编程访问关于加载类的字段、方法和构造方法的信息,并允许使用反射字段、方法和构造方法对...
  • 不久前在学习struts时出现这个错误,在网上搜索了半天,发现答案不一。将其总结如下,以方便大家参考。 1、 你有没有试试看 其它的方法能不能用,要是都是这种情况的话,可能是你的Action类没有继承structs里面的...
  • Caused by: java.lang.NullPointerException ,翻译过来就是空指针异常,也叫野指针异常。 野指针,是在c和c++学习过程当中认识到的名词。就是指针指向的内存单元不可用,或者是指针未被初始化,又或者是指针...
  • 学习struts2的时有时会出现此异常,现将其总结如下,方便大家参考: 1、 先尝试下看其它的方法能不能用,要是都是这种情况的话,可能是你的Action类没有继承structs里面的DispatchAction或者其它的类。还有你...
  • 1、问题出现场景: 昨天的工作中有一个业务需求是根据数据id查询该条数据包含...java.util.Map" resultType="java.util.Map"&gt;    select &lt;include refid="images"/&g
1 2 3 4 5 ... 20
收藏数 215,737
精华内容 86,294