Java这口优势在于大而全,也就注定了其复杂。
就像banq说的一样,要积累足够的经验。
如果的确是热爱编程,就选择C、C++、或Java,日积月累,百炼成钢。

我现在也是湖南的一个在校大校大学生,
跟你的经历有一点相似,希望以后能和你成为朋友一起探讨一下
现在也在钻设计模式这些东西
以前对interface abstract 这些东西东西没有认识觉得没用
现在才发现它的魅力是如些之大
希望以后能和各位大师多交流各位也能给我一点学习的机会

有浮躁之嫌疑

从一些项目入手,慢慢体会什么是做软件

不知道你是否预料到这样的结果.你提的问题还是很不错,之前应该是很认真的做了整理.但这样的问题真的很不好回答.不过很欣赏你的精神,我就试着正面回答一下吧.
我大学也不是计算机专业,但毕业的时候计算机理论水平还算可以,现在工作3年,对计算机,软件,J2EE有了一点认识.
我不知道j2se部分的知识要学多深? J2SE大多数是一些JAVA API,实际开发中漫漫熟悉吧,现在没必要学那么多,如果功力不够,今天学明天就忘.但要把握好JAVA的精髓,设计和面向对象思想.
里面关于Swing,gui,以及网络这些部分是不是对于向j2EE方向走是没用的. 在实际项目中可以说用处不大.
还有设计模式该怎么去学,看书就可以了吗? 看书是最好最直接最有效的方式,有些书有习题的,可以尝试做做.
我们现在根本接触不到大的项目,我们如何用一个小的程序来实现? 完全可以用小程序实现,大项目核心的东西其实也不多,主要是些业务代码.
既然数据结构,算法不重要,为何大型企业招聘的考题都跟它划等号呢? 大企业看中基础,商和学习能力,而数据结构和算法是很有效的辨别手段.
还有xml,uml我们要不要去学? 学一点,以后项目中用的着.
除此之外还要去学什么? JAVA的东西你也说的差不多了,其他感兴趣的都可以学.
那几个框架要学到什么程度?还有如何能够快速的去学习? 看代码,扩展,如果可以的话可以修改地层代码或者可以参与开发.
看开源项目,有怎么去看? 看代码,看文档.
我以后不只是想做个程序员而已.....我想听下过来人的说法. 站在巨人帽子上看世界会看的更清楚,多从高出俯视.
也许你不满意,但我也只有这样的水平了.一段时间以后,你会发现我的回答其实都是废话,不过希望现在对你有些帮助.

哈哈 。。LZ和我差不多。我也打算放弃其他的,一心学JAVA哈哈。。

看了lz的描述,感觉就像没头的苍蝇在乱撞。
java技术三大体系,实在博大精深,没人能全精,只能侧重。如果眉毛胡子乱抓,形成不了路线,不能层层积累的话,还是不行。
既然来了这里,建议你就老老实实走j2ee吧,其他的还是不要想了。
lz还没有毕业呢,其实不用心急,先把java基础和jsp、javabean、servlet学好,做些小的应用,积累经验,然后逐步提高吧。
常言道,心急吃不了热豆腐,可要小心噎着。

我还是觉得J2SE里面什么都有。
SWING不就是基于MVC设计的吗?为什么一定就要专门去学MVC呢?你看swing的源代码不好吗?
设计模式,你不觉得java API就是最好的设计模式吗?
jsp,javaBean,servlet,struts都学了。最后还是回过头来啃J2SE了。

你好!我也曾经有过同样的困惑,现在也还在不停的学习中。我的建议你可以参考一下。
1. 这是最重要的一条,别人的话可以听,但要结合自身的情况加以思考。当别人说这也不好拿也不好时,一定要从多个不同的信息来源获取消息,以鉴别他人所说是否正确,或者只是信口开河不管他人死活。尽量不要去指责他人。
2. 你看过马士兵的JAVA课程那就把它看完,看完了看自己是否能写得出他讲课中的所有的代码。尚学堂还有Struts,Hibernate,Spring方面的课程,边看边写代码,代码一定要敲,只看是不行的。
3. 在做第二步的时候,分出些时间来看看《java 设计模式》和《java 数据结构和算法》(Robert Lafore著,计晓云.... 等译)。这两本书是基本功的一部份。它们贯穿在你的编程学习过程之中。刚开始看和学是看不出很明显的效益的。它们是随着你编程的深入和从事这个行业的长久而缓慢的成长的,但你要有这个基础啊,好比万丈高楼平地起,先打地基。
4. 第二步做完了,第三步还在进行中的时候,这时候你要深入了解JAVA,Hibernate, Spring了。Java中的线程是重点,因为在J2EE开发或最近的云计算,都会涉及并发访问的问题。能熟悉更多的Java API那是好的,要不然需要时自己不知道而自己来编写,会出很多问题又写的没别人的好。同时看看源码,但也不要看太多,常用的lang包,util包看看,那可是精品,其它的有精力就看看。在看JAVA源码的这个阶段也看看Hibernate的源码,Spring的有精力就看吧。
5. 第三步做完,第四部在进行的时候,学下EJB也是不错的。
6. 有钱就去买书看,一本书好不好,先从他处了解,看完了自己有收获才是好,做软件开发不多买几本书是不行的。
7. XML明白它的语法就行,能用JDOM,DOM等进行简单的XML解析即可,有了这基础,将来你在项目中要用JAVA进行复杂的XML处理时就能很快地解决。
8. 能用UML的各种图把你一个简单的小项目描述清楚,别人能看明白。别人画的UML图你能看明白。其它部分有精力再去深究。
9. 你做J2EE开发和JAVA中的Swing,GUI,网络这些部分关联不大,可以不深究,如果你参与的项目需要再去看,有了JAVA基础,能很快地上手。但在看马士兵的课程的时候却不能跳过。因为事件侦听和处理要了解,很多框架都使用这种模式。把个东西学的全点也不是坏事嘛。

一步一个脚印,不停的学习,你就不停地成长。别太急,别捡了芝麻丢西瓜。
要进外企或国内的大企业,英语不能太差。
一个东西,一件事情,一个人要深入了解才会觉得美。

-.-!郁闷啊,潜水很久,号都没了,能登录却不能发表,嘿嘿用原来的也能注册
[该贴被achuanok于2009-01-08 18:01修改过]

楼主写了这么多的奖学金,几等奖。。。。其实直接提出问题就ok了
在中国,奖学金,学校的高才生说老实话,不算什么
大学里面推荐逃课,但是要知道为什么逃课,是因为你在寻找着自己什么要学,什么不要学(学了浪费时间)。

看看现在的招聘就知道了

还有,人的一生其实大部分都在给自己找方向。。。。。。你才大2现在这种意识已经很不错了,好好把握自己的时间吧。


[该贴被spring7777777于2009-03-13 23:26修改过]

妈的,tinking in Java 我看好几遍了,还没有真正的像j道上面的朋友那样认识面向对象思想。

我跟LZ有点像,什么都想学,但是我是一个实用主义者,用什么才学什么,平时就看看别人写的东西,练习。目前公司开发的东西较少,就忙着理解业务。因为无论你做的东西有多好,人家客户一句话,说根本不能满足需求,一切白费了,所以我个人觉得:楼主还没有接触客户,可以先把技术弄通了,学精了再说。