Tag Archives: java

Java基础知识——SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系

相信大多数java初学者被这些概念搞蒙过,它们之间到底有什么区别,又有什么联系呢?下面我将一一解开大家心中的谜团。首先给大家解释一下这些概念: 1 SDK(Software DevelopKit,软件开发工具包) 用于帮助开发人员的提高工作效率。各种不同类型的软件开发,都可以有自己的SDK。Windows有WindowsSDK,DirectX 有 DirectX 9SDK,.NET开发也有Microsoft.NET FrameworkSDK。JAVA开发也不含糊,也有自己的Java SDK。 2 JDK Java SDK最早叫JavaSoftware Develop Kit,后来改名为JDK,即Java DevelopKit。JDK作为Java开发工具包,主要用于构建在Java平台上运行的应用程序、Applet 和组件等。 3 JRE(Java RuntimeEnvironment,Java运行环境) 也就是Java平台。所有的Java程序都要在JRE下才能运行。 4 JVM(Java VirtualMachine,Java虚拟机) 是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。 接下来看一些问答 问题一 JDK是用java编写的,而所有的Java程序都要有JVM才能运行,但我们并没有安装JVM为什么它却可以运行? JDK的工具是Java程序,也需要JRE才能运行。为保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是安装的一部分。所以在JDK的安装目录下有一个名为jre的目录,用于存放JRE文件。而JAVA虚拟机JVM是属于JRE的,所以JDK可以运行。 随着我们学习的深入,我们很快接触了Eclipse。 问题二:Eclipse是干什么的? Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。eclipse classic 是eclipse的标准版,也就是eclipse SDK。 问题三:Eclipse IDE 和Eclipse SDK有什么区别? eclipse的标准版叫eclipse SDK,而安装了一些插件(例如:C/C++开发的插件CDT)之后,就变成了Eclipse IDE(Integrated DevelopmentEnvironment,集成开发环境)。 问题四:安装了Eclipse,必须安装JDK才能运行吗? 不是,Eclipse 标准版中包含JRE,所以它可以运行。 问题五:既然安装eclipse不是必须安装JDK,那么为什么要安装JDK? java的执行过程是先把java编译成class字节码,然后由虚拟机解释执行!而将java编译成class文件,必须用到JDK。所以如果你要从事java开发,就必须要安装JDK(当然,JDK不仅仅有这一个功能)。 Eclipse功能很强大,不仅可以开发java程序。如果想用Eclipse开发C程序,该怎么办呢?(具体搭建过程:Windows 7安装Eclipse 3.7搭建C/C++开发环境)。 首先必须安装能将C文件编译成exe可执行文件的软件——MinGW。 问题六:为什么想开发C程序,我们必须安装MinGW等编译软件? 其实,这个同开发java的道理一样,我们要想开发java程序,必须安装能将java编译成class文件的JDK,那么开发C程序呢,我们必须也安装一个类似这样的软件,不同的是,MinGW等是将C文件编译成exe文件。 问题七:有了MinGW,是不是就可以用Eclipse开发C程序了? 不是,安装了MinGW,只能说明你的电脑可以编译C文件,但是这跟我Eclipse有什么关系呢?所以,要想开发C程序,必须在Eclipse中安装相应的插件——CDT(C/C++Development Tooling)。 问题八:为什么用Eclipse开发C程序需要安装CDT,而开发java程序却不需要安装什么插件呢? 其实用Eclipse开发java程序,也是需要插件的,它就是——JDT。那为什么我们没有安装就可以开发java程序了呢?原来,安装Eclipse标准版时,默认就安装了JDT插件,所以不需要我们自己安装就能使用。 原帖地址: http://blog.csdn.net/xiaoduishenghuogo/article/details/8108467

JavaEE开发教程(一)体系结构和环境配置

转自:http://blog.csdn.net/l2show/article/details/7358282 软件发展状况和趋势 总所周知,现在好多软件都已经从C/S模式的设计开始转向B/S模式设计。并且现在云平台的推广和HTML5的来临更是加快了转型的脚步。SOA(面向服务的架构)体系将会改变软件系统的开发和运行模式。所以从这个角度来看WEB开发的潜力是非常大的。 JavaEE JavaEE只是一组以服务器为中心的企业级应用的一个规范,用于规范化和标准化以Java为开发语言的企业级软件的开发,部署,管理等。我们通常都能通过使用JavaEE来减少开发费用,软件的复杂性,和快速交付等目的。 既然JavaEE只是一组规范,下面是JavaEE的规范结构。     容器规范:容器从字面意思上也可以看出它是用来装东西的,这里容器就是组件的运行环境,它是负责组件的生命周期管理和调用。JavaEE对它进行了类型和服务的一些规范。 组件规范:组件是JavaEE应用的标准化部件,来实现系统的业务和逻辑功能。并且组件的构建,调用和销毁是被容器所控制的。 服务规范:JavaEE制定了各种外部资源的标准API,这样能够起到简化连接外部不同资源的设计和编码。 通讯协议规范:因为各个组件之间的调用是通过容器来完成的,所以就需要使用协议来进行容器的通讯。 开发者规范:由于企业级软件的系统结构非常复杂,系统规模庞大,所以就需要不同的角色负责不同工作来协作完成任务 环境配置: 下载Eclipse IDE for JavaEE 官网地址:www.eclipse.org/download 下载JDK 官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载Tomcat 官网地址:http://tomcat.apache.org/download-70.cgi 把tomcat 和 Eclipse解压出来,并且安装JDK后打开Eclipse选择window再选择preferences。 选择server中的Runtimeenvironments       点击add添加一个服务器 选择你下载的Tomcat的版本选择next  我用的是7.0的就选择7.0 在Tomcat installation directory中选中你所解压的Tomcat的文件夹点击finish. 这样服务器就添加在Eclipse中了,下面我们写一个hello world. 打开Eclipse点击File点击New,创建一个Dynamic Web project      点击Finish完成工程的创建 再右键工程New -> jspFile改名字hello.jsp 在刚刚创建出来的jsp页面中的<body>标签里写入hello world 右键工程Run as -> Run on server OK ~ 现在可以看到在浏览器中运行出了hello world 我在以后的帖子中会继续讲解JavaEE的开发·······有兴趣的朋友可以互相交流~  

IE将返回的JSON当做文件下载

由于本人对后端不了解,此问题描述的若不准确,其中用词有错,就请见谅了。 前些日子,后台开发的一个项目出现了题目描述的问题,网上搜了下,有人说修改Content-Type为text/html就可以了,参考文章见这里: http://www.oschina.net/question/223750_123703,其实类似的回答有很多,自己搜下也可以。 可是,按照上面说的,我们遇到的问题没有解决,又找到了这样一篇文章:http://blog.csdn.net/tanguang_honesty/article/details/12782523,后端人员在开发时用到了@ResponseBody这么一个东西,而这个东西是令我们按照上面进行修改后仍不成功的罪魁祸首,造成了我们设置的Content-Type无效了,具体的看上面文章。 进一步知道问题了,又开始寻找,结果找到了下面这么一个解决方法: The fastest way to fix issue with dojo fileUploader and IE8 it’s just adding “produces = “text/html; charset=utf-8″” to your controller like this: 参考文章:http://stackoverflow.com/questions/9176115/file-upload-issue-in-ie8/14879073#148790 后面还遇到了些问题,由于后台人员取图片用的是contenttype,造成IE解析出现了错误,于是他们改用了其他方式取图片类型,由于这一块我不太了解,在此就简单一提,若是有人遇到,可以查下java取图片类型的其他方式,若是没遇到,我就送上一句“恭喜!”