『壹』 java学习心得
我学习java已经有一年的时间了,不过虽然时间长,但是对于现在的我还是一个初学者,懂不了多少的java初学者。期间曾迷茫过,曾困惑过,走了不少的弯路,老师布置的试验作业每次都是不会做,每次都是要问同学,这个代码什么意思啊?为什么用这条代码,用别的不行吗?甚至后来根本没耐心问,索性就复制同学的作业交上去。但是都是各种0分,害的同学也这样,不过他能找老师反驳,而我却没实力。。。渐渐的,我认识到这样下去是不行的,我必须改正自己的学习态度和方式。接下提到的就是我这一年来的java学习心得。
JAVA是一门计算机语言,是人类发明的语言,应该比人类语言更容易学习,只要你有一种必胜学习JAVA心态就可以成功。学习JAVA的方法:JAVA学习中,首先要做到课前、课后复习及预习,要时时保持一个清醒的头脑;多和同学沟通;互相学习;取长补短;在学习中做到帮助他人或他人帮助自己。学习java,的确要学习的东西很多,就像同学提到的。Java不像.net一家独大,Java的繁盛在于开源社区的庞大,这也带来了分支太多的问题,怎样选择一条好的学习路线,对于初学者来说,的确是一件很迷茫的事。其实不管java东西再多,总有规律可循。对于学习java基础的经验就是多做、多思考,基础知识的学习不能不求甚解,要追本溯源,弄清问题的本质。这样才能举一反三,由点及面。java的所有编程思路都是“面向对象”的编程。所以大家在往更高境界发展以前一定要打好基础,基础是王道。我们的基础要扎实扎实再扎实。所谓打好基础并不是说要熟悉所有的java代码。要了解java的结构。class,methode,object,各种套用import,extend 让自己在结构上对java有个立体而且整体的了解。
学Java千万不要浮躁。说到浮躁,这也是一个很值得我深思的问题。我觉得我自己也有这样的倾向,不仅是我,估计大多数的人都有这个毛病。总是喜欢讨论什么语言最好,什么语言功能强大。这种讨论倒没有错,不过真正学习的时候,浮躁会使你失去很多。在学习过程中,我很努力地使自己保持心理的平静,从基础学起,甚至是一些看上去完全没有必要的基础。 同学要扎扎实实,一步一个脚印的逐步学习,不要想着一步登天。不然我问他的时候,他跟我讲的我也都不懂,这样对我也没用。
要多查API,它是Java编程的基本方法,也是编程过程中所不断利用的资源。Java的学习过程不仅仅是基本语法的学习,更多的是去学习和掌握它所提供的API类库。对于所接触到的类,方法,都去仔细去阅读文档的说明,再用自己编写的实例去此时一下。而且不要只看而不练,学好java靠的还是实践,在一周两节的实验课要认真编程,不懂问同学或问李老师。只有理论和实践相结合才能真正掌握只是和技能。而且还要懂得运用网络和谷歌,遇到问题可以先搜索一下,实在不懂再找同学。理论学习。通过对理论的学习,尽量了解新知识的概念;学习之后只是粗略的了解概念,不能和实际很好的结合。根据理论学习的知识,考虑在什么场合下可以应用这个新知识,哪些地方已经应用了这个概念,建立对新知识的感性认识。
java是一种面向对象的操作语言,必须要明白这点,才能从总体上把握java。学习编程,首先要从分析别人的代码开始,明白他们的思路,认真分析,在学习的过程中一定要动手做、写代码,九比如说老师布置的试验作业,一定要自己做,不能抄同学的,首先不是为了应付老师,而是要让自己真正懂得java,这样慢慢的,以后的试验自己就又实力去做。学习java不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,实践失最重要的。而且还可以从实验中,体会到编程的乐趣,感受到自己做好一个程序,然后运行出结果,失很有成就感的!
而对于J2EE,首先要先学jsP。要明白JSP的工作原理,在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet,而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息JSP的调试比较麻烦,特别是当bean是在一个session中存在时,更加困难。得从好几个页面开始往里面走才行。通常是用out.println()或System.out.print()来打一大堆的信息来查问题。如果是用jbuilder做开发,它能直接调试JSP.不过更重要的是知道错误产生的原因及解决方法。JSP是用JAVA写的,所以它是大小写敏感的,用过其他编程语言的人最容易犯这个错误。另外在浏览器的地址栏中输入的访问JSP的地址也是区分大小写的. 在jsp中判断字符串要使用compareTo方法,不要用==,因为在java中String变量不是一个简单的变量而是一个类实。所以JSP的知识不能欠缺,理解什么是servlet,什么是java bean,熟悉jsp常使用的标签
对于学习java基础的经验就是多做、多思考,基础知识的学习不能不求甚解,要追本溯源,弄清问题的本质。这样才能举一反三,由点及面。对于抽象的东西要能具体化,对于具体的东西要能抽象化。现在我学习java基础一直使用的是《Java核心技术》这本书,这本书失同学推荐我看的,感觉挺不错的,很基础很全面。这本书强调重视基础,如果java基础打的牢,在学习那些java框架就是非常轻松的事了。
在这一年的学习过程中,通过同学的帮助和李旺老师的教导,我对java有了初步的认识和了解。学习java首先主要是学习了Java的程序结构,包括了循环、数组、类和方法以及字符串处理等内容。在学习期间,上课认真听老师的讲解,特别是课后练习和上机的题目,以及老师提供给我们的有关学习编程语言的方法和技巧,对于我巩固所学的理论知识有很大的帮助。现在我也只是刚刚开始学习Java语言,所以想真正掌握Java技术,以后还会有很长的一段过程需要我们更加努力地去学习。毕竟,知识需要靠积累才能真正掌握。
『贰』 java开发需要掌握哪些技术
1.掌握HTML/CSS/JavaScript等WEB开发技术,深入了解WEB/AJAX的工作原理,有JQuery,AngularJS,Bootstrap等框架.
2.掌握数据库设计和开发知识,精通MySQL、Oracl等主流数据库 ,熟悉NoSQL(MongoDB, Redis)、Lucene或Solr、MQ相关的知识,有阿里云相关技术部署经验.
3. 精通面向对象的设计和开发思想,熟悉常用的设计模式,具备良好的识别和设计通用框架及模块的能力;
4.负责系统功能模块的需求沟通、详细设计、编码实现;具备清晰的编程思路和良好的代码规范;
5.系统功能模块的需求沟通、详细设计、编码实现;
6.按照公司项目开发计划,参与产品、项目的需求分析及框架设计工作;
7.熟悉Spring,Struts,Hibernate,Mybatis,Quartz等行业内常用开源开发框架;熟悉并了解常用的设计模式,有一定的代码优化能力.
8. 熟练掌握数据库操作和使用的基本技能,熟悉数据建模,熟悉MySQL数据库,有SQL查询调优,索引优化,存储优化经验和分析能力更佳。
9. 熟悉linux系统,熟练使用shell,python,php等脚本语言中的一种。
10.熟悉常用的Http服务器如Nginx,Apache的配置和优化,对web app服务器比如tomcat,resin有一定的使用经验。
11.熟悉Java GUI编程 (重要);
12.完成软件系统代码的实现,编写代码注释和开发文档;
13.辅助进行系统的功能定义,程序设计;
14.根据设计文档或需求说明完成代码编写,调试,测试和维护;
15.分析并解决软件开发过程中的问题;
16.Java基础扎实,熟悉io、多线程、集合等基础框架;熟练掌握Java各种开源框架Spring, iBatis等;
17.熟练使用Idea/Eclipse/Maven/SVN(git)等软件开发工具
『叁』 java开源的项目
Sotacs 【Java开源 未分类开源项目】
Tapestry4 web框架组件:
SpringContracts 【Java开源 未分类开源项目】
SpringContracts是契约式设计(Design by Contract)的一个Java解决方案,能够无缝地集成到Spring框架中。基于Annotations,AOP并且支持EL表达式语言。
Jettison 【Java开源 未分类开源项目】
Jettison是一组StAX parser与writer用于读写JSON。这就使得可以在像CXF,XFire这样的service框架中实现基于JSON的web service。
jEdit - Plugin Central 【Java开源 未分类开源项目】
jEdit Plugin Central是JEdit文本编辑器最主要的在线插件库。可以结合该插件库,通过jEdit的插件管理器来安装,更新和删除插件。所有插件列表
JCL 【Java开源 未分类开源项目】
JCL提供一个类库用于从JARs中加载classe。它特别适用于在一个应用程序中有区别地加载多个版本中相同的class。
JXTA 【Java开源 未分类开源项目】
Sun微系统公司公开了旨在建立P2P(Peer to Peer)通用技术基础的JXTA计划。JXTA技术是网络编程和计算的平台,用以解决现代分布计算尤其是点对点(P2P)计算中出现的问题。。
jOrgan 【Java开源 未分类开源项目】
jOrgan是一个Java开发的虚拟管风琴。
JOnbAS 【Java开源 未分类开源项目】
基于NetBeans平台的JOnAS插件。
RoX 【Java开源 未分类开源项目】
RoX(RPC over XML)是构建在Java1.4 NIO之上一个完整XML-RPC实现。
Spring-Dashboard 【Java开源 未分类开源项目】
利用Spring-Dashboard开发人员和测试人员能够监测spring web应用程序中的流程并收集在应用程序中资源使用情况的统计信息。
jUploadr 【Java开源 未分类开源项目】
jUploadr是一个跨平台,跨站点的照片上传工具。当前jUploadr可运行在Windows、Linux和OS X平台之上并支持包括Flickr与Zooomr。它可以让你在上传之前设置好照片的属性。jUploadr还支持批处理。
Bottomline 【Java开源 未分类开源项目】
Bottomline是一套利用JCL直接从JAR 文档加载数据库驱动的JDBC Bridge API。Bottomline使用jdbc:bottomline bridge从各自的JAR文件加载多个驱动。与JDBC的不同之处在于, Bottomline使用自定义的class loaders来装载驱动完全独立于JVM的bootstrap class loader.
BackupEasy 【Java开源 未分类开源项目】
BackupEasy是一个按日期/时间设定自动备份文件夹和文件的软件。它采用Java开发,界面简单,支持FTP备份,支持简体中文。
SubEtha 【Java开源 未分类开源项目】
SubEtha是一个成熟的邮件列表管理系统,它是一个采用EJB3与JMS开发的三层J2EE应用程序。 SubEtha非常容易安装在Windows与Unix平台上,一个友好的web界面可用于管理所有配置,支持虚拟域名,支持用户拥有多个email地址,智能附件处理,可配置的消息处理过滤器,基于per-list 的角色权限控制等等。
JIExplorer 【Java开源 未分类开源项目】
JIExplorer是一个采用Java开发的看图工具。支持幻灯片,放大/缩小,全屏等功能。此外还支持按关键字进行图片分类管理,把图片保存到HSQLDB与MySQL数据库中。
j-Interop 【Java开源 未分类开源项目】
j-Interop是实现DCOM wire protocol (MSRPC)的一个开源类包。可用于开发双向,Non-Native,能够与任何COM组件交互的纯Java应用程序。该项目全部采用纯Java实现并且没有使用JNI(Java Native Interface)来提供对COM的访问。
QALab 【Java开源 未分类开源项目】
QALab这个工具能够收集,整理来自一些QA工具的数据如:pmd,checkstyle,FindBugs,Cobertura和Simian,并跟踪它们的overtime。这可以帮助开发人员,架构师与项目管理者掌握项目QA的趋势。
SOJO 【Java开源 未分类开源项目】
SOJO提供一个类库用于把POJOs转换成指定的格式可以是CSV、XML、JSON等,以便与非Java的程序进行通信。这些转换都是可插拔的,所以可以自定义自己想要转换的格式。
Subsonic 【Java开源 未分类开源项目】
Subsonic是一个在线媒体播放系统。它能够将指定路径下的音乐(mp3,aac,ogg,wma等)和视频转换播放流。需要Java5.0。
Glyph 【Java开源 未分类开源项目】
Glyph是一组用于加快开发基于Jini应用程序的工具类与J2SE5.0注释。
nbtapestrysupport 【Java开源 未分类开源项目】
nbtapestrysupport该项目是一个NetBeans插件主要是为用Tapestry框架进行的web开发提供支持。功能包括:在Tapestry配置文件中为class name,file和librarie提供超链接支持。只需按拄CTRL然后选中类名就能够转到相应的类。提供向导来创建一个新的Tapestry项目所需要的页面,组件和类库等。一个组件面板允许用拖放的方式来设计页面与组件。为不同的配置文件定制编辑器。集成Tapestry的开发文档。
DContract 【Java开源 未分类开源项目】
该项目提供一个用于处理数字合同(digital contract)的Java工具箱。
GenericRCP 【Java开源 未分类开源项目】
GenericRCP是一个基于SpringRCP开发的胖客户端,它能够根据hibernate domain模型自动生成一个GUI用于修改/删除/新增将被持久化的Java对象。
『肆』 java开源的其它
Java世界中存在许多工具,从Eclipse,NetBeans和IntelliJ IDEA等著名的开始到Java开发人员应该知道的JVM分析和监视工具,如JConsole,VisualVM,Eclipse Memory Analyzer等。
如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机。就来介绍下程序员都知道的10款Java开源工具,你知道几个呢?
1. JIRA
Atlassian的JIRA是当前敏捷开发领域最重要的工具之一。它用于错误跟踪,问题跟踪和项目管理。如果你遵循敏捷开发方法,例如Sprint和Scrum,那么你必须了解JIRA。它允许您创建Spring循环并跟踪软件开发的进度。
JIRA 是目前比较流行的基于Java架构的管理系统,由于Atlassian公 司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些。
2. Git
Git是Java程序员的另一个必备工具,它是一个免费的开源分布式版本控制系统,旨在快速高效地处理从很小到非常大的项目版本管理。Git易于学习,占用空间小,具有超强的性能。最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是发现已经在很多其他自由软件项目中也使用了 Git。
3. Jenkins
Jenkins是一个用Java编写的开源自动化服务器。它有助于自动化软件开发,例如编译项目,运行单元测试,集成测试,生成文档以及在本地和远程存储库上载工件。
4. Selenium
Selenium是Web应用程序最好的软件测试框架之一。它提供了一种用于创作测试的回放工具,而无需学习测试脚本语言。Java开发人员可以使用Selenium来测试他们的HTML和JSP文件。
5. Groovy
Groovy 是一种基于 JVM 的敏捷开发语言,它结合了 Python、Ruby 和 Smalltalk 的许多强大的特性。你可以使用它编写构建脚本,测试脚本,甚至可以使用像Gradle和Spock这样的流行框架。
6、Spock
Spock 是适合 Java 和 Groovy 应用程序的一个测试框架。由于其JUnit运行程序,Spock与大多数IDE,构建工具和持续集成服务器兼容。如果你想提高你的单元测试技能,那么多花点时间在学习Spock上总是没错的。
7. Maven
如果你是一位经验丰富的Java开发人员,那么你一定非常了解Maven了,Apache Maven是一个构建和项目管理工具,基于项目对象模型(POM)的概念,Maven可用于管理项目的生成、报告和文档记录。
Maven的另一个有用特性是依赖关系管理,由于我们在Java项目中使用了大量第三方库,因此手动管理每个JAR及其依赖项可能非常麻烦,Maven通过自动为你下载正确的JAR来帮助你解决问题。
8. Gradle
Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具。为什么选择Gradle在Ant或Maven?因为它结合了其他构建工具的最佳特性,例如它具有Ant的灵活性和控制,Ivy的依赖管理,Maven的配置和插件的约定,以及可以在Ant上使用Groovy DSL。这使它成为Java项目的最佳构建工具。
9. Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。
10. Linux
初学Linux最好从Linux命令行基础知识开始,Linux是一种自由和开放源码的类Unix操作系统,在你的职业生涯中起到重要的作用,每一个Java开发者都应该学Linux。如果以上工具还有你没学会的,那就不要再错过了赶紧学起来。
『伍』 Java开源框架是什么
其实框架很简单的,你可以认为它是一个工具,甚至一个插件。
框架的作用,就是将一个公用的,常用的技术,封装起来,
帮你处理一些基础的东西,可以让你不用再去写那些繁琐的东西。
就拿你要学的struts来说:他本质上也是用java写的,和我们自己写的类没有区别,他实现的东西我们自己也可以实现。
比如接收客户端的数据,我们是用request.getParameter()来的,但是如果有很多个参数,我们要写很多个,很麻烦。struts它就帮我们实现,不用我们写,直接写个属性,就可以得到。其实本质还是用request.getParameter()。。
所以你不要再在意框架是什么东西,等你接触了就知道了。你把它当做一个工具来用,这就是框架。
前台框架:jQuery
Mvc框架:Struts、spring Mvc
核心框架:Spring
orm框架:Hibernate、Spring JDBC、myBatis。
『陆』 java和.net的异同
java的特色,网上多得是!这里主要补充一些实际的例子!
1,用java开发业务教复杂的程序,相对来说要轻松一些!因为java社区丰富!本身灵活度很高,并且是OO的语言!可以套现设计模式!
2,java的多数框架都是开源的!学习java很方便!成本低!(.net不开放源码)
3,.net是一个框架,与java语言不相关!具体可以与一些开源框架比较,例如spring,webwork,hibernate等等.
4,java的执行效率没有.net高!
综述,.net适合做网站,中型的!java适合做后台,企业系统,大型网站!
java与.net的相同:
1.都有虚拟机
2.都有庞大的类库
3.代码都在虚拟机保护模式下运行
java与.net的不同:
1.java是多次运行时都解析,而.net是在第一次运行时解析后,以后执行的就是本机代码
2..net虚拟机代码公开,各种语言都可以基于.net虚拟机进行开发
3..net暂时不支持跨平台,不过只要虚拟机一跨平台,你所有的程序就跨平台了.
你可以通过这个链接引用该篇文章:http://rjwuha.bokee.com/tb.b?diaryId=15716922