当前位置:文档之家› Java学习从入门到精通

Java学习从入门到精通

Java学习从入门到精通
Java学习从入门到精通

Java学习从入门到精通

一、 JDK (Java Development Kit)

JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库 (rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK 是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的 JDK 等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK 包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。

1、 JDK 的下载和安装

JDK又叫做J2SE(Java2 SDK Standard Edition),可以从Sun的Java网站上下载到,https://www.doczj.com/doc/b318297768.html,/j2se/downloads.html ;;;,JDK 当前最新的版本是J2SDK1.4.2,建议下载该版本的JDK,下载页面在这里:

https://www.doczj.com/doc/b318297768.html,/j2se/1.4.2/download.html。

下载好的JDK是一个可执行安装程序,默认安装完毕后会在

C:Program FilesJava目录下安装一套JRE(供浏览器来使用),在 C:j2sdk1.4.2下安装一套JDK(也包括一套JRE)。然后我们需要在环境变量PATH的最前面增加java的路径C:j2sdk1.4.2in。这样JDK就安装好了。

2、 JDK的命令工具

JDK的最重要命令行工具:

java:启动JVM执行 class

javac: Java编译器

jar: Java打包工具

javadoc: Java文档生成器

这些命令行必须要非常非常熟悉,对于每个参数都要很精通才行。对于这些命令的学习,JDK Documentation上有详细的文档。

二、 JDK Documentation

Documentation 在JDK的下载页面也有下载连接,建议同时下载Documentation。Documentation是最最重要的编程手册,涵盖了整个Java所有方面的内容的描述。可以这样说,学习Java编程,大部分时间都是花在看这个Documentation上面的。我是随身携带的,写Java代码的时候,随时查看,须臾不离手。

三、应用服务器(App Server)

App Server是运行Java企业组件的平台,构成了应用软件的主要运行环境。当前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere

以及免费的Jboss,选择其中一个进行学习就可以了,个人推荐Weblogic,因为它的体系结构更加干净,开发和部署更加方便,是Java企业软件开发人员首选的开发平台。下面简要介绍几种常用的App Server:

1、 Tomcat

Tomcat严格意义上并不是一个真正的App Server,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些App Server的功能,如JNDI,数据库连接池,用户事务处理等等。Tomcat被非常广泛的应用在中小规模的Java Web应用中,因此本文做一点下载、安装和配置 Tomcat的介绍:

Tomcat是Apache组织下Jakarta项目下的一个子项目,它的主网站是:

https://www.doczj.com/doc/b318297768.html,/tomcat/ ;;;,Tomcat 最新版本是Tomcat4.1.27,软件下载的连接是:

https://www.doczj.com/doc/b318297768.html,/dist/jakarta/tomcat-4/binaries/ ;;;。

下载Tomcat既可以直接下载zip包,也可以下载exe安装包(个人建议zip 更干净些),不管哪种情况,下载完毕安装好以后(zip直接解压缩就可以了)。需要设置两个环境变量:

JAVA_HOME=C:j2sdk1.4.2

CATALINA_HOME=D: omcat4 (你的Tomcat安装目录)

这样就安装好了,启动Tomcat运行CATALINA_HOMEinstartup.bat,关闭Tomcat 运行shutdown.bat脚本。Tomcat启动以后,默认使用8080端口,因此可以用浏览器访问http://localhost:8080来测试Tomcat是否正常启动。

Tomcat提供了两个Web界面的管理工具,URL分别是:

http://localhost:8080/admin/index.jsp ;

http://localhost:8080/manager/html ;

在启用这两个管理工具之前,先需要手工配置一下管理员用户和口令。用一个文本工具打开CATALINA_HOMEconf omcat-users.xml这个文件,加入如下几行:

这样用户“robbin”就具备了超级管理员权限。重新启动Tomcat以后,你就可以使用该用户来登陆如上的两个管理工具,通过Web方式进行 Tomcat的配置和管理了。

2、 BEA Weblogic

Weblogic可以到BEA的网站上免费注册之后下载到最新的Weblogic8.1企业版,License可以免费使用1年时间,其实这已经完全足够了。Weblogic的下

载连接:https://www.doczj.com/doc/b318297768.html,/index.jsp,Weblogic 的在线文档:https://www.doczj.com/doc/b318297768.html,/ ;;;。

3、 IBM Webshpere

Websphere 同样可以下载到免费的试用版本,到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料,developerWorks中文网站的连接是:

https://www.doczj.com/doc/b318297768.html,/developerWorks/cn/wsdd/ ;;;,Websphere 的下载连接:

https://www.doczj.com/doc/b318297768.html,/wsdd/downloads/WASsupport.html ;;;。

4、 Jboss

Jboss 是免费开源的App Server,可以免费的从Jboss网站下载:

https://www.doczj.com/doc/b318297768.html,/index.html,然而Jboss的文档是不免费,需要花钱购买,所以为我们学习Jboss设置了一定的障碍。在Jdon上有几篇不错的Jboss 配置文档,可以用来参考:https://www.doczj.com/doc/b318297768.html,/idea.html ;;;

四、 Java 应用的运行环境

Java的应用可以简单分为以下几个方面:

1、 Java的桌面应用

桌面应用一般仅仅需要 JRE的支持就足够了。

2、 Java Web应用

Java的Web应用至少需要安装JDK和一个web容器(例如 Tomcat),以及一个多用户数据库,Web应用至少分为三层:

Browser层:浏览器显示用户页面

Web层:运行 Servlet/JSP

DB层:后端数据库,向Java程序提供数据访问服务

3、 Java企业级应用

企业级应用比较复杂,可以扩展到n层,最简单情况会分为4层:

Browser层:浏览器显示用户页面

Client层:Java客户端图形程序(或者嵌入式设备的程序)直接和Web层或者EJB层交互

Web层:运行Servlet/JSP

EJB层:运行EJB,完成业务逻辑运算

DB层:后端数据库,向Java程序提供数据访问服务

4、 Java嵌入式应用

Java嵌入式应用是一个方兴未艾的领域,从事嵌入式开发,需要从Sun下载J2ME开发包,J2ME包含了嵌入式设备专用虚拟机KVM,和普通的JDK中包含的JVM有所不同。另外还需要到特定的嵌入式厂商那里下载模拟器。

Java Learning Path(二)、书籍篇

学习一门新的知识,不可能指望只看一本,或者两本书就能够完全掌握。需要有一个循序渐进的阅读过程。我推荐Oreilly出版的Java系列书籍。

在这里我只想补充一点看法,很多人学习Java是从《Thinking in Java》这本书入手的,但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java 的整个体系,而是一种跳跃式的写作方法,是一种类似tips的方法来对Java 很多知识点进行了深入的分析和解释。

对于初学者来说,最好是找一本Java入门的书籍,但是比较完整的循序的介绍Java的语法,面向对象的特性,核心类库等等,在看这本书的同时,可以同步来看《Thinking in Java》,来加深对Java的理解和原理的运用,同时又可以完整的了解Java的整个体系。

对于Java的入门书籍,蔡学镛推荐的是Oreilly的

《Exploring Java, 2nd Edition》或者《Java in a Nutshell,2nd Edition (针对C++背景)》,我并没有看过这两本书。其实我觉得电子工业出版社的《Java 2编程详解》或者《Java 2从入门到精通》就很不错。

在所有的Java书籍当中,其实最最有用的,并不是O′reilly

的 Java Serials,真正最最有用处是JDK的Documentation!几乎你想获得的所有的知识在Documentation里面全部都有,其中最主要的部分当然是Java基础类库的API文档,是按照package来组织的,对于每一个class都有详细的解释,它的继承关系,是否实现了某个接口,通常用在哪些场合,还可以查到它所有的public的属性和方法,每个属性的解释,意义,每个方法的用途,调用的参数,参数的意义,返回值的类型,以及方法可能抛出的异常等等。可以这样来说,所有关于Java编程方面的书籍其实都不过是在用比较通俗易懂的语言,和良好的组织方式来介绍Documentation里面的某个package里面包含的一些类的用法而已。所以万变不离其宗,如果你有足够的能力来直接通过Documentation来学习Java的类库,那么基本上就不需要看其他的书籍了。除此之外,Documentation也是编程必备的手册,我的桌面上有三个Documentation的快捷方式,分别是J2SDK1.4.1的 Documentation,Servlet2.3的Documentation和J2SDKEE1.3.1的Documentation。有了这个三个Documentation,什么其他的书籍都不需要了。

对于Java Web 编程来说,最核心的是要熟悉和掌握HTTP协议,这个就和Java 无关了,在熟悉HTTP协议之后,就需要熟悉Java的实现HTTP协议的类库,也就是Servlet API,所以最重要的东西就是 Servlet API。当然对于初学者而言,直接通过Servlet API来学习Web编程有很大的难度,我推荐O′reilly的《Java Server Pages 》这本书来学习Web 编程。

EJB的书籍当中,《Enterprise JavaBeans, 2nd Edition》是一本很不错的书, EJB的学习门槛是比较高,入门很难,但是这本书完全降低了学习的难度,

特别重要的一点是,EJB的学习需要结合一种App Server的具体实现,所以在学习EJB的同时,必须同步的学习某种 App Server,而这本书相关的出了三本书,分别是Weblogic6.1,Websphere4.0和JBoss3.0上面部署书中例子的实做。真是既有理论,又有实践。在学习EJB的同时,可以边看边做,EJB的学习会变得很轻松。

但是这本书也有一个问题,就是版本比较旧,主要讲EJB1.1规范和部分EJB2.0的规范。而Ed Roman写的《Mastering EJB 2.0》这本书完全是根据EJB2.0规范写的,深入浅出,覆盖了EJB编程的各个方面,并且还有很多编程经验tips,也是学习EJB非常推荐的书籍之一。

如果是结合 Weblogic来学习J2EE的话,《J2EE应用与BEA Weblogic Server》绝对是首选读物,虽然是讲述的Weblogic6.0,仍然值得购买,这本书是BEA 官方推荐的教材,作者也是BEA公司的工程师。现在中文版已经随处可见了。这本书结合Weblogic介绍了J2EE各个方面的技术在Weblogic平台上的开发和部署,实践指导意义非常强。

在掌握了Java平台基础知识和J2EE方面的知识以后,更进一步的是学习如何运用OO的方法进行软件的设计,那么就一定要学习“设计模式”。Sun公司出版了一本《J2EE核心模式》,是每个开发Java企业平台软件的架构师必备的书籍。这本书全面的介绍了J2EE体系架构的各种设计模式,是设计师的必读书籍。

Java Learning Path(三)过程篇

每个人的学习方法是不同的,一个人的方法不见得适合另一个人,我只能是谈自己的学习方法。因为我学习Java是完全自学的,从来没有问过别人,所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法,只能给大家提供一点参考了。

学习 Java的第一步是安装好JDK,写一个Hello World,? 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader 是如何加载Class的;另一个问题是 package和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。

第二步是学习Java的语法。Java的语法是类C++的,基本上主流的编程语言不是类C,就是类C++的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。

第三步是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,

抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C的经验,我是大概花了一个月左右吧,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下5遍,才彻底领悟了。不过我想如果有C++经验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。

第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jrelib t.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个,我没有统计过。但是真正对于我们来说最核心的只有4个,分别是

https://www.doczj.com/doc/b318297768.html,ng.*;

java.io.*;

java.util.*;

java.sql.*;

这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而O′reilly也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:

首先要通读整个package的框架,了解整个package的 class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。

对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包,所以不可能详细的介绍每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们类的方法是怎么调用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每个类是用在什么场合,当我遇到问题的时候,我知道哪个类,或者哪几个类的组合可以解决我的问题,That′all!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了。编码的时候,具体的方法调用,是边写代码,边查Documentation,所有的东西都在Documentation里面,不要求你一定记住,实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。

第五步,通过上面的学习,如果学的比较扎实的话,就打好了Java的基础了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到这一步,Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了。除了要做GUI编程之外,JDK里面其他会有用处的包是这些:

java.text.*;

https://www.doczj.com/doc/b318297768.html,.*;

javax.naming.*;

这些包里面真正用的比较多的类其实很少,只有几个,所以不需要花很多时间。

第六步,Java Web 编程

Web编程的核心是 HTTP协议,HTTP协议和Java无关,如果不熟悉HTTP协议的话,虽然也可以学好Servlet/JSP编程,但是达不到举一反三,一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话,又有了Java编程的良好的基础,学习Servlet/JSP简直易如反掌,我学习 Servlet/JSP就用了不到一周的时间,然后就开始用JSP来做项目了。

在Servlet/JSP的学习中,重头仍然是 Servlet Documentation。Servlet API 最常用的类很少,花比较少的时间就可以掌握了。把这些类都看一遍,多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSP,还需要熟悉几个常用JSP的标记,具体的写法记不住的话,临时查就是了。

此外Java Web编程学习的重点要放在Web Application 的设计模式上,如何进行业务逻辑的分析,并且进行合理的设计,按照MVC设计模式的要求,运用Servlet和JSP分别完成不同的逻辑层,掌握如何在 Servlet和JSP之间进行流程的控制和数据的共享,以及Web Application应该如何配置和部署。

第七步,J2EE编程

以上的学习过程如果是比较顺利的话,进行到这一步,难度又陡然提高。因为上面的知识内容都是只涉及一个方面,而像EJB,JMS,JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶,所以掌握起来难度比较大。

首先一定要学习好JNDI,JNDI是 App Server定位服务器资源(EJB组件,Datasouce,JMS)查找方法,如果对JNDI不熟悉的话,EJB,JMS这些东西几乎学不下去。JNDI其实就是javax.naming.*这个包,运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置,就需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等等。针对每种不同的App Server,还有自己的服务资源配置文件,也是需要熟悉的。

然后可以学习JTA,主要是要理解JTA对于事务的控制的方法,以及该在什么场合使用JTA。这里可以简单的举个例子,我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,https://www.doczj.com/doc/b318297768.html,mit()),做为一个原子操作,但是假设我的业务需求是要把对两个不同数据库的操作做为一个原子操作,你能做的到吗?这时候只能用JTA了。假设操作过程是先往A 数据库插一条记录,然后删除B数据库另一个记录,我们自己写代码是控制不了把整个操作做为一个原子操作的。用JTA的话,由App Server来完成控制。

在学习EJB之前要学习对象序列化和RMI,RMI是EJB的基础。接着学习JMS 和EJB,对于EJB来说,最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的,以及在什么情况下要用到EJB。

在学习完EJB,JMS这些东西之后,你可能会意识到要急不可待学习两个领域的知识,一个是UML,另一个是Design Pattern。Java企业软件的设计非常重视框架(Framework)的设计,一个好的软件框架是软件开发成功的必要条件。在这个时候,应该开始把学习的重点放在设计模式和框架的学习上,通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。

J2EE规范里面,除了EJB,JMS,JTA,Servlet/JSP,JDBC之外还有很多很多的企业技术,这里不一一进行介绍了。

另外还有一个最新领域Web Services。Web Services也完全没有任何新东西,它像是一种黏合剂,可以把不同的服务统一起来提供一个统一的调用接口,作为使用者来说,我只要获得服务提供者给我的WSDL(对服务的描述),就够了,我完全不知道服务器提供者提供的服务究竟是EJB组件,还是.Net组件,还是什么CORBA组件,还是其他的什么实现,我也不需要知道。Web Services最伟大的地方就在于通过统一的服务提供方式和调用方式,实现了整个Internet 服务的共享,是一个非常令人激动的技术领域。Web Services好像目前还没有什么很好的书籍,但是可以通过在网络上面查资料的方式来学习。

Java Learning Path(四)方法篇

Java作为一门编程语言,最好的学习方法就是写代码。当你学习一个类以后,你就可以自己写个简单的例子程序来运行一下,看看有什么结果,然后再多调用几个类的方法,看看运行结果,这样非常直观的把类给学会了,而且记忆非常深刻。然后不应该满足把代码调通,你应该想想看如果我不这样写,换个方式,再试试行不行。记得哪个高人说过学习编程就是个破坏的过程,把书上的例子,自己学习Documentation编写的例子在运行通过以后,不断的尝试着用不同的方法实现,不断的尝试破坏代码的结构,看看它会有什么结果。通过这样的方式,你会很彻底的很精通的掌握Java。

举个例子,我们都编过 Hello World

public class HelloWorld {

public static void main(String[] args) {

System.out.println("Hello World");

}

}

很多初学者不是很理解为什么main方法一定要这样来定义

public static void main(String[] args),能不能不这样写?包括我刚学习Java的时候也有这样的疑问。想知道答案吗?很简单,你把main改个名字运行一下,看看报什么错误,然后根据出错信息进行分析;把 main的public取掉,

在试试看,报什么错误;static去掉还能不能运行;不知道main方法是否一定要传一个String[]数组的,把 String[]改掉,改成int[],或者String试试看;不知道是否必须写args参数名称的,也可以把args改成别的名字,看看运行结果如何。

我当初学习Java的时候就是这样做的,把Hello World程序反复改了七八次,不断运行,分析运行结果,最后就彻底明白为什么了main方法是这样定义的了。

此外,我对于 staic,public,private,Exception,try{ }catch finally

等等等等一开始都不是很懂,都是把参考书上面的例子运行成功,然后就开始破坏它,不断的根据自己心里面的疑问来重新改写程序,看看能不能运行,运行出来是个什么样子,是否可以得到预期的结果。这样虽然比较费时间,不过一个例子程序这样反复破坏几次之后。我就对这个相关的知识彻底学通了。有时候甚至故意写一些错误的代码来运行,看看能否得到预期的运行错误。这样对于编程的掌握是及其深刻的。

其中特别值得一提的是JDK有一个非常棒的调试功能,-verbose

java ?Cverbose

javac ?Cverbose 以及其它很多JDK工具都有这个选项

-verbose 可以显示在命令执行的过程中,JVM都依次加载哪里Class,通过这些宝贵的调试信息,可以帮助我们分析出JVM在执行的过程中都干了些什么。

另外,自己在学习过程中,写的很多的这种破坏例程,应该有意识的分门别类的保存下来,在工作中积累的典型例程也应该定期整理,日积月累,自己就有了一个代码库了。遇到类似的问题,到代码库里面 Copy & Paste ,

Search & Replace,就好了,极大提高了开发速度。最理想的情况是把一些通用的例程自己再抽象一层,形成一个通用的类库,封装好。那么可复用性就更强了。

所以我觉得其实不是特别需要例程的,自己写的破坏例程就是最好的例子,如果你实在对自己写的代码不放心的话,我强烈推荐你看看JDK基础类库的Java 源代码。在JDK安装目录下面会有一个src.zip,解开来就可以完整的看到整个JDK基础类库,也就是rt.jar的Java源代码,你可以参考一下Sun是怎么写Java程序的,规范是什么样子的。我自己在学习Java的类库的时候,当有些地方理解的不是很清楚的时候,或者想更加清晰的理解运作的细节的时候,往往会打开相应的类的源代码,通过看源代码,所有的问题都会一扫而空。Java Learning Path(五)资源篇

1、;https://www.doczj.com/doc/b318297768.html,/ ;;; (英文)

Sun的Java网站,是一个应该经常去看的地方。不用多说。

2、;https://www.doczj.com/doc/b318297768.html,/developerWorks/cn/ ;;;

IBM 的developerWorks网站,英语好的直接去英文主站点看。这里不但是一个极好的面向对象的分析设计网站,也是 Web Services,Java,Linux极好的网站。强烈推荐!!!

3、;https://www.doczj.com/doc/b318297768.html,/ ;;; (中文)

JAVA中文站,目前国内资料最全、会员最多的JAVA技术网站,人气极高。有《JAVA 电子书库》、《JAVA视频库》(国内唯一)、《JAVA技术文摘库》、《JAVA源代码库》、《JAVA工具库》、《招聘求职广场》等主要栏目,还有一些专家栏目。目前会员有5万多,VIP会员近1000人。无论是菜鸟还是老鸟,都能在此网站中找到自己所需要的东东!!最强烈推荐!!!!!!

4、;https://www.doczj.com/doc/b318297768.html,/ ;;; (英文)

关于Java很多新技术的讨论和新闻。想多了解Java的方方面面的应用,这里比较好。

5、;https://www.doczj.com/doc/b318297768.html,/index.jsp ;;;

BEA 的开发者园地,BEA作为最重要的App Server厂商,有很多独到的技术,在Weblogic上做开发的朋友不容错过。

6、;https://www.doczj.com/doc/b318297768.html,/ ;;;

灰狐动力网站,一个专业的中间件网站,虽然不是专业的Java网站,但是在J2EE企业应用技术方面有深厚的造诣。

7、;https://www.doczj.com/doc/b318297768.html,/home/ ;;; (英文)

TheServerSide是一个著名的专门面向Java Server端应用的网站。

8、;https://www.doczj.com/doc/b318297768.html,/ ;;;

Java 研究组织,有很多优秀的Java方面的文章和教程,特别是在JDO方面的文章比较丰富。

9、;https://www.doczj.com/doc/b318297768.html,/ ;;;

JSP 技术网站,有相当多的Java方面的文章和资源。

10、;https://www.doczj.com/doc/b318297768.html,/ ;;;

Jdon 论坛,是一个个人性质的中文J2EE专业技术论坛,在众多的Java的中文论坛中,Jdon一个是技术含量非常高,帖子质量非常好的论坛。

11、;https://www.doczj.com/doc/b318297768.html,/ ;;;

SourgeForge 是一个开放源代码软件的大本营,其中也有非常非常丰富的Java 的开放源代码的著名的软件。

更多资源:

参与论坛讨论: https://www.doczj.com/doc/b318297768.html,/forum

更多技术文章: https://www.doczj.com/doc/b318297768.html,/technology

最大JAVA社区: https://www.doczj.com/doc/b318297768.html,/club

更多JAVA博客: https://www.doczj.com/doc/b318297768.html,/club/html/spaces.html

从零开始学VC系列教程之四并口控制与类的使用

从零开始学VC系列教程之四.并口控制与类的使用 学习目标:掌握VC下并口程序的方法及类的使用. 课程详解: 参照第一章新建一个基于对话框的Vc工程,名称定义为Eg04. 图01 (原文件名:01.JPG) 类型选基于对话框. 在本例中,我们要用到一些资源,现列出如下 WinIo.sys WinIo.dll 这是一个动态库,与WinIo.sys完成同并口的连接. WinIo.lib 这是为静态调用提供的引入库文件.虽然引入库文件和静态库文件都是以Lib为扩展名的,但实际上有本质的区别. WinIo.h 这是IO操作的头文件. ParallelPort.cpp 这是一个并口操作类,用于同WinIo接口,并定义了相关的操作函数.虽然这个类用于同WinIo的操作接口,但这个类并不是从WinIO派生的,只是一个独立的自定义类.至于类的自定义,以前我们也提到过. ParallelPort.h 这是并口类的头文件. 这几个文件是可以从网上下载到的,并不是我做的,所以这个动态库大家就不用问我要源码了,因为我也没有. 首先,把WinIo.lib WinIo.h ParallelPort.cpp ParallelPort.h拷贝到工程目录中,后面马上就要用到.再把WinIo.Dll WinIo.sys 拷贝到工程目录的Debug目录中,以后工程发布后,这两个文件要跟随工程一起. 下面添加引入库到系统中,点击[工程]->[设置]在弹出的对话框中选择[连接]标签,然后在[对象/库模块]中加入WinIo.lib完成后如下图.

图02 (原文件名:02.JPG) 然后加入并口操作类的头文件.一般来说,网上可以下载到的源码都是以类的形式给出的,VC的好处也在于可以把一个操作封装成类,以便在不同的工程中调用.如图,双击类管理器中的Ceg04Dlg在弹出的文件中加入#include "ParallelPort.h" //添加并口类头文件 图03 (原文件名:03.JPG) 同时,还要定义一个类变量,用于并口类的操作. 在刚打开的类定义文件中找到CEg04Dlg类,并加入一个类变量m_Port,完成后如下图所示

从零开始学电脑,一步一步到高手(硬件篇和软件篇)

硬件篇: 电脑硬件的组成: (菜鸟篇) CPU:目前常见的CPU主要是由2个厂家生产,一个是AMD公司的,高端产品是 速龙系列,低端是闪龙系列,另外就是INTER公司,高端产品是奔4系列,低端是赛扬系列.这两年开始流行的双核CPU在2个公司的高端产品中都有相应的型号 . CPU的知识比较多,具体的可以再网上查询,这里就不多说了.提醒一句,CPU是造不了假的,只有外盒,风扇等附加品存在假货. 主板: 目前的主板的主芯片都是国外制造的,芯片厂家主要有NVIDIA,ATI,INTER,AMD,VIA,SIS等等,各大主板厂家自己研发PCB板来进行主板的设计,分别来满足2个CPU厂家的CPU需要. 显卡:目前的显卡分为独立和集成显卡,生产独立的显卡芯片主要有2个厂家垄断,NVIDIA 和ATI 公司,生产集成显卡芯片有INTER,NVIDIA,ATI,SIS等等.各大显卡厂家利用显卡芯片提供的显卡GPU来进行显卡的设计和组装. 内存:目前所有内存的颗粒都是国外制造的,主要是韩国制造.国内不过是生产PCB板和封装 的过程.内存主要有3种,一种是SD内存(已淘汰),一种是DDR内存,一 种是DDR II代内存.未来还有DDR III代内存. 硬盘:常见的硬盘有三星,西数和希捷,基本上是希捷一枝独秀,容量在20GB以上的基本上都是7400转的,低于20GB的一般都是5400转的,转速越高,硬盘读些数据的速度越快.提醒一句:

硬盘的生产环境要求比较高,所有的硬盘都是国外生产. 机箱+电源:这两样东西没有什么技术含量,都是国内制造. 光驱:常见的有CD-ROM(类似VCD机),CD刻录机(兼容VCD,可以刻录VCD),DVD光驱(类似DVD 机,兼容VCD),康宝(相当于DVD光驱多了个刻录VCD光盘的功能),DVD刻录机(VCD,DVD播放和VCD,DVD刻录功能) 显示器:常见的有两种类型,CRT 和LCD ,一种是普通显示器, 一种是液晶显示器,普通显示器常见的发展过程和电视机相似,尺寸从14 15 17 19 21,屏幕从球面超平视觉纯平物理纯平.液晶显示器尺寸从14 15 17 19寸,目前流行的宽屏有17 19 20 21寸等等.LCD显示器的液晶面板都是国外制造的. 声卡:常见的有集成声卡和独立声卡,绝大多数的主板都集成的有集成声卡,可以满足普通 消费者的是使用.独立声卡一般应用于高端,这里就不多说了. 网卡:常见的有独立和集成网卡,绝大多数的主板都集成有集成网卡,可以满足普通消费者 的使用,独立网卡主要应用于特殊要求的用户.这里不多说了. 键盘+鼠标:相对没有什么技术含量,属于损耗品.跟个人喜好有关系 音箱+耳麦:相对没有什么技术含量,属于损耗品.跟个人喜好有关系. 软驱:基本上已经淘汰,这里就不讨论了. 综述:: 主板就是个平台,把CPU,内存,显卡,硬盘,光驱通过数据线或者直接安装来组成一个工作整体.CPU相当于人的大脑,发出各种指令来协调各个部分的工作,内存是个中转仓库,中转各种指令,数据等等.关机后数据不保留,硬盘是最终载体,所有的数据,程序,歌曲,电影等等都是保存在硬盘中,硬盘中的数据在关机后保留.机箱就是把这个整体固定在一个固定的环境中,通过电源来给各个部分来进行供电,通过显卡来输出显示信号,最后在显示在显示器上.键盘鼠标来进行电脑的各项操作.音箱通过主板上的集成声卡来输出各种声音.网卡是组建局域网或者上网的时候发送和接收数据.电脑的硬件说白了就是能摸的到的都是硬件,摸不到的就属于软件.电脑硬件一般情况下是不容易损坏的,只有软件方面的问题比较多,只有把软件方面的故障全部排除后最后才考虑硬件方面的问题.

从零开始学VC系列教程完整版

从零开始学VC系列教程一.信息显示实验 题外话:第一次写教程,不知道该怎么开始.以前见过的教程可能都会介绍比较多的理论然后才开始讲实际操作,我想对于VC,理论讲得太多大家可能更糊涂,所以选择了这个方案,我们先一步步照着做,每一次只介绍一两个知识点,并且把理论放在后面说明,希望大家能喜欢这种方式,并对这种方式提出意见和建议,以便以后章节更适合大家的学习. 或许我写的还不能称之为教程,只是一些操作步骤及说明,通过这些练习,希望能使大家对VC 有一个新的认识.VC的功能是十分强大的,但我们一般并不会用到所有的功能,就像大家熟悉的KeilC一样,其实Keil功能也是很多的,平时也没见谁把Keil的功能都用到了.基于此,我写的这个教程可能在VC专业人士看来比较简单.不是要班门弄斧,而是希望推行上位机技术,形成一个氛围让大家来学习交流,PC机与下位机结合毕竟也是发展的一个方向.望高手谅解小辈的不自量力.同时,我们结合单片机编程,让大家明白上位机控制方法及原理,当然这是今后章节的内容了. 本节内容:学会在文本框中显示文本,学会弹出式对话框使用. 学习目的:信息显示是人机交互的基础,同时,信息显示也为以后的程序调试打下基础. 1.新建工程.打开VC6.0点击[文件]->[新建],弹出如下对话框. 在工程选项中选择MFC AppWizard[exe],选择好工程存入的位置,然后在工程名称中填入工程的名称,例如Eg01,填入Eg01后.VC会在我们选择的路径后自动加入一个以工程名命名的文件夹作为工程目录.完成按[确定]就会进入工程向导,出现以下的提示.

在这个我们选择[基于对话框]就行了.单文档及多文档方式会在以后详细介绍.这里也简要说明一下.①单文档.程序一次只能处理一个文档对象(文件).像写字板,记事本等.②多文档.程序一次可以处理多个对象(文件),像word之类的,可以同时打开多个文件.③基本对话框.程序一般用于处理一些比较小的,工具型的软件.像双龙的ISP下载软件,Easy 51Pro等都是基于对话框.一些不是很复杂的工业软件也通常可以用基于对话框的形式,这种方式的优点是所见即所得,一些控件可以像VB一样拖到工作区就行了.选好以后直接按[完成]就可以了.至于[下一步]的向导,这里我们先不管.然后会进入以下的画面.其中红色及绿色是我的标注,看不清图片可以下载图片放大. 选中静态文本框[TODO:在这里设置对话框控制],单击指标右键,在弹出的快捷菜单中选择[属性Properties]菜单项,弹出如下对话框 修改IDC_STATIC为IDC_FIRSTLABEL,标题可以写为”第一个应用程序”然后关闭这个对话框,就可以看到刚才的静态文本框内容变为”第一个应用程序”了. 在刚才的操作中,我们将静态文本框的ID改为了IDC_FIRSTLABEL,在VC中,ID是控件的标志,不能有相同的ID出现,但允许多个名为IDC_STATIC的ID号.所以,一般并不把文件名命为 IDC_STATIC,除非以后我们不想在程序中改变这个控件的属性.有一些控制,例如GroupBox一般并不在程序中改变什么,所以不改变其ID号.ID是程序访问控件的标识,所以一个应用程序中不能有重复ID. 按下来我们要添加一个按钮. 用鼠标将控件条上的按钮拖到对话框上,可以看到对话框上多了一个按钮.?用上叙方法,改变按钮ID为IDC_BTN1,标题改为”显示”,这样就做好一个按钮了.下面我们为按钮添加代码. 双击按钮,会出现以下的提示框. 按[OK]为按钮添加响应函数,出面以下画面 void CEg01Dlg::OnBtn1()

从零开始学习黑客技术入门教程(基础)

最简单的黑客入门教程 目录 1 黑客简介 (3) 2 保护自己电脑绝对不做黑客肉鸡 (5) 3 抓肉鸡的几种方法 (10) 4 防止黑客通过Explorer侵入系统 (19) 5 SQL注入详解 (22) 5.1 注入工具 (23) 5.2 php+Mysql注入的误区 (24) 5.3 简单的例子 (27) 5.4 语句构造 (30) 5.5 高级应用 (48) 5.6 实例 (57) 5.7 注入的防范 (62) 5.8 我看暴库漏洞原理及规律1 (64) 5.9 我看暴库漏洞原理及规律2 (70) 6 跨站脚本攻击 (75) 6.1 跨站脚本工具 (75) 6.2 什么是XSS攻击 (76) 6.3 如何寻找XSS漏洞 (77) 6.4 寻找跨站漏洞 (78) 6.5 如何利用 (78)

6.6 XSS与其它技术的结合 (81) 7 XPath注入 (82) 7.1 XPath注入介绍 (82) 7.2 XPath注入工具 (87) 声明:文章来源大多是网上收集而来,版权归其原作者所有。

1黑客简介 "黑客"(hacker)这个词通常被用来指那些恶意的安全破坏者。关于"黑客"一词的经典定义,最初来源于麻省理工学院关于信息技术的一份文档,之后便被新闻工作者们长期使用。但是这个在麻省理工被当做中性词汇的术语,却逐渐被新闻工作者们用在了贬义的环境,而很多人也受其影响,最终导致了"黑客"一词总是用于贬义环境。有些人认为,我们应该接受"黑客"一词已经被用滥并且有了新的意义。他们认为,如果不认可这种被滥用的词汇,那么将无法与那些不懂技术的人进行有效的交流。而我仍然认为,将黑客和恶意的骇客(cracker)分开表述,对交流会更有效,比如使用"恶意的安全骇客"会更容易让对方理解我所指的对象,从而能够达到更好的沟通交流效果,也避免了对"黑客"一词的滥用。之所以要区分黑客和恶意骇客,是因为在某些情况下,我们讨论的对象是那些毫无恶意并且不会对安全防御或者用户隐私造成损害的对象,这些人只有用"黑客"这个词来描述才最贴切。如果你只是简单的将"黑客"和"恶意的安全骇客"划等号,将无法在与人交流安全技术问题时,轻松的分辨别人所指的到底是哪种类型的人。黑客和骇客的区别是,黑客仅仅对技术感兴趣,而后者则是通过技术获取职业发展或者谋生。很多黑客和骇客都具有技术天赋,有些骇客据此进行职业发展。当然,并不是每个有技术天赋的人都必须沿着黑客或者骇客的方向发展。黑客这个术语的经典意义是指那些对于事物如何工作非常感兴趣的人,他们修理,制作或者修改事物,并

Vc_MFC教程

1.MFC概述 1.MFC是一个编程框架 MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。 1.封装 构成MFC框架的是MFC类库。MFC类库是C++类库。这些类或者封装了Win32应用程序编程接口,或者封装了应用程序的概念,或者封装了OLE特性,或者封装了ODBC和DAO数据访问的功能,等等,分述如下。 (1)对Win32应用程序编程接口的封装 用一个C++ Object来包装一个Windows Object。例如:class CWnd是一个C++ window object,它把Windows window(HWND)和Windows window有关的API函数封装在C++ window object的成员函数内,后者的成员变量m_hWnd 就是前者的窗口句柄。 (2)对应用程序概念的封装 使用SDK编写Windows应用程序时,总要定义窗口过程,登记Windows Class,创建窗口,等等。MFC把许多类似的处理封装起来,替程序员完成这些工作。另外,MFC提出了以文档-视图为中心的编程模式,MFC类库封装了对它的支持。文档是用户操作的数据对象,视图是数据操作的窗口,用户通过它处理、查看数据。 (3)对COM/OLE特性的封装 OLE建立在COM模型之上,由于支持OLE的应用程序必须实现一系列的接口(Interface),因而相当繁琐。MFC的OLE类封装了OLE API大量的复杂工作,这些类提供了实现OLE的更高级接口。 (4)对ODBC功能的封装 以少量的能提供与ODBC之间更高级接口的C++类,封装了ODBC API的大量的复杂的工作,提供了一种数据库编程模式。

从零开始学VC系列教程 二.对话框及常用控件实验

从零开始学VC系列教程二. 对话框及常用控件实验 恭喜你,进入VC学习的第二节了.这一节是人机交互的基础.所谓人机交互,说通俗点就是与机器对话.然而我们现在的技术还不能像科幻片里一样与机器人直接说话就行了.所以,我们的操作意图还得通过文本输入,命令按钮等等来实现. 本节内容:学会对话框调用及一些常用控件的使用方法. 学习目的:学习人机交互,为软件开发提供界面基础. 1.新建工程.参考第一节的方法新建一个工程,名字为Eg02完成后如下图 细心的朋友一定会发现.新建的工程里还有一个对话框,ID名是IDD_ABOUTBOX这个是做什么用的呢?我们用到的软件都会有一个版权声明.通过第一章的学习,大家应该知道怎么观看这个IDD_ABOUTBOX对话框了吧.没错!双击IDD_ABOUTBOX就可以了.我们会看到如下的一个对话框 这就是我们这个程序的关于对话框,一般用于版权声明及版本号标识.大家看到的这个对话框里有两个静态文本框和一个图像框(Picture),静态文本框我们在前一节已经介绍过了.大家可以修改一下版权所有这一行,填什么都可以,签个大名也行.完成以后你一定想看看效果,这个对话框怎么打开呢?其实VC已经为我们做好了.先按F7编译,然后按F5运行.大家可以看到

程序运行了. 单击应用程序图标,就会出现一个菜单,选最后一个[关于Eg02],关于对话框就弹出来了. 当然,这是系统为我们做好的.自己怎么在程序中调用这个对话框呢?为了演示,首先参考第一节的内容添加一个按钮,然后把按钮的ID改为IDC_BTN_ABOUTME,把标题,也就是Caption 改为[关于].最终效果如下 下面我们为按钮添加代码.相信大家一定还记得怎么进入代码吧..对了,双击[关于]按钮,在弹出的对话框中点[确定]就可以了.为了让大家更好的理解下面的操作,我们先要解释一下关于对话框的类.VC向导会为关于对话框建立一个类,大家看看下面的图

VC教学大纲2019年版

《可视化程序设计》课程教学大纲 一、课程基本信息 课程名称:可视化程序设计Visual C++ 英文名称:Visual programming Visual C++ 课程编码:210306822 课程性质:必修 适用专业:软件技术 开课学期:第3学期 课程模块:专业课 课程学分:4 课程学时:总学时数72,理论学时3,实践学时36 二、课程内容与目标 课程性质:《可视化程序设计VC++》是计算机专业学生的专业核心课程。VC++是目前应用较为广泛的可视化程序设计语言之一,功能十分强大。 课程目的:通过本门课程的学习,完善了C、C++、VC++语言学习链,使学生掌握VC++的基本语法以及Windows程序设计方法,了解搭建MFC程序框架的基本方法,熟悉简单界面设计,掌握各种常用的类以及类的属性和方法,为今后实际工作中大型工程应用软件的设计与开发打下坚实的基础。 课程任务:学生应熟练掌握VC++集成开发环境,熟练掌握VC++的数据库链接技术、数据库设计方法,网络编程的相关知识,Socket协议及应用等,在熟练掌握语言的基础上,更能动手解决实际问题。 三、教学学时分配 章次教学内容学时分配 理论*实践小计第一章Visual C++程序的建立 4 4 8 第二章菜单、工具栏和状态栏的设计 4 4 8 第三章对话框与控件 6 6 12 第四章窗口、文档和视图 6 6 12 第五章图形绘制 6 6 12 第六章数据库应用 6 6 12 第七章多媒体技术 4 4 8 合计36 36 72 四、教学内容和教学要求

第一章VC++集成开发环境 (一)教学要求 通过本章内容的学习,熟练掌握:C++程序开发环境,c++程序的基本结构,vc++程序的开发步骤,vc++ 程序的编译和运行方法等。掌握:数据的基本输入方法和基本输出方法。 (二)教学内容 1.1 VC++概述 1.2 集成环境介绍 1.3 程序调试 1.4 思考练习题 (三)重点与难点 教学重点: VC++概述,集成环境介绍,程序调试。 教学难点: VC++程序调试。 第二章菜单、工具栏和状态栏的设计 (一)教学要求 通过本章内容的学习,熟练掌握:设计菜单,工具栏,状态栏。掌握:菜单和工具栏的连用。 (二)教学内容 2.1 设计菜单 2.2 工具栏 2.3 状态栏 2.4 章后实训 (三)重点与难点 教学重点: VC++概述,集成环境介绍,程序调试。 教学难点: VC++程序调试。 第三章对话框与控件

从零开始学漫画-(跟我学画漫画入门教程)

从零开始学漫画-(跟我学画漫画入门教程) 教画漫画01-手绘漫画工具 ★☆★☆★☆手绘漫画用的工具★☆★☆★☆ 在进行漫画创作之前,首先应该了解创作漫画应必备的基本工具。由于漫画风格多种多样,绘制时所用到的工具也五花八门,我们这里所介绍的只是几种较常用的基本绘制工具。绘制漫画时,除经常用到的铅笔、橡皮外,还需要一些专门的工具。比如原稿纸、网点纸、尺子、刮网刀、拷贝台等。下面详细介绍一下这些工具: 铅笔:

主要用来打草稿,一般用自动铅笔较好,可根据个人习惯选用不同硬度的笔芯,还可以用木杆铅笔,比如“中华”牌的,一般用HB以上或硬H笔即可。 橡皮: 用来擦去铅笔线或在网点纸上做特殊效果。一定要使用不易使纸张起皱起毛的绘图橡皮。 尺子: 画漫画时需要的尺子大体上有三种:直尺、三角尺、云形尺。直尺用的最多,一般用于画分格框和拉直线,其次是三角尺,用它来画平行线和直角边,云形尺用来画曲线。应注意买尺子时不要买边缘是直角的,最好是买带有斜面的。 墨汁: 需要全部涂黑的地方,用墨汁比用黑墨水涂得更黑更漂亮。涂黑的时候要从外侧开始,沿着画的轮廓线细心地勾出轮廓,注意不要出界,随后把笔饱沾墨汁,将中间部分涂满。 鸭嘴笔: 用来画墨稿中的直线,画出的直线边缘整齐,而且粗细一致。在使用时,“鸭嘴笔”不应直接蘸墨水,而应该用蘸水笔或是毛笔蘸上墨汁后,从鸭嘴笔的夹缝处滴入使用,通过调整笔前端的螺丝来确定所画线段的粗细。画直线时,笔杆垂直于纸面,均匀用力横向拉线,速度不要太快,这样才能画出均匀的直线。 麦克笔: 常用来画大面积的黑或做特殊效果,也可用来画细线。有时,也可以用彩色麦克笔为彩稿上色,与传统风格的彩稿有区别,较前卫,其效果象效果图,有明显的笔触,初学者不易画好。麦克笔分油性、水性两种。 黑墨水: 画线条时用黑墨水的效果很好,和墨汁相比干得快,而且干了以后不易被水溶化晕开。另外,也可用黑广告色来涂黑,好处是黑广告色不会反光,有乌黑的感觉,便于电脑扫描,使用时切忌调水太多或太少。 修正白(白颜色): 用来修改画错、弄脏的部分,白色可以使画面华丽,富于变化,常用的是广告颜料的白颜色。使用时应注意调整好浓度,不同的浓度,将会产生不同的效果,

VC++深入详解学习笔记(非常全面)

孙鑫 孙鑫VC++视频笔记列表(全) 简介 第一课Windows程序内部运行机制 第二课MFC程序框架的剖析 第三课MFC消息映射机制和DC的获取 第四课简单字处理软件 第五课菜单编程 第六课对话框编程1 第七课对话框编程2 第八课MFC中各类指针的获取 第九课应用程序外观修改 第十课图形绘制与通用对话框 第十一课图形保存和重绘 第十二课文件操作 第十三课文档和串行化 第十四课网络编程 第十五课多线程和简单聊天室制作 第十六课线程同步与异步套接字编程 第十七课进程间通信 第十八课ActiveX 控件 第十九课动态链接库 第二十课Hook钩子函数

第0章简介 Lesson1:Windows程序运行原理及程序编写流程,窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系,使用VC++的若干小技巧,stdcall与cdecl 调用规范的比较,初学者常犯错误及注意事项。 Lesson2:C++经典语法与应用,类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数、析构函数先后调用顺序,如何在派生类构造函数中向基类的构造函数传递参数,this成员变量,类型转换的内幕,虚拟函数与多态性,引用和指针变量的区别与共同处。VC工程的编译原理与过程,将工程中不同的类拆分到不同的文件中,每一个类由一个.h和.cpp文件共同完成,头文件重复定义问题的解决,培养了学员良好的编程习惯,也为以后分析MFC AppWizard生成的工程奠定了良好基础。 Lesson3:讲述MFC AppWizard的原理与MFC程序框架的剖析。AppWizard是一个源代码生成工具,是计算机辅助程序设计工具,WinMain在MFC程序中是如何从源程序中被隐藏的,theApp全局变量是如何被分配的,MFC框架中的几个类的作用与相互关系,MFC框架窗口是如何产生和销毁的,对窗口类的PreCreateWidow和OnCreate两个函数的着重分析,Windows窗口与C++中的CWnd类的关系。 Lesson4:MFC消息映射机制的剖析,讲述如何运用ClassWizard,,理解发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的函数进行响应的。掌握设备描述表及其封装类CDC的使用,CDC是如何与具体的设备发生关联的,融合具体的画图程序进行分析。如何设置封闭图形的填充刷子(位图画刷与透明画刷的使用)。 Lesson5:掌握CDC的文字处理程序的编写,如何产生自定义字体和自定义插入符,熟悉对CString类的使用。通过对卡拉OK程序的编写,讲解定时器的使用和DrawText函数的巧妙运用。讲解如何使用CDC的裁减功能。 Lesson6:菜单的工作原理及编写应用,菜单命令消息在MFC框架程序的几个类中的传递顺序和处理过程。标记菜单、缺省菜单的实现原理、图形菜单的实现及常犯错误的分析,GetSystemMetrics的应用,快捷弹出菜单的实现方式及其命令响应函数有效范围(与弹出菜单时所指定的父窗口有密切的关系,最底层的子窗口具有最优先的处理机会)。动态菜单的编写,如何让程序在运行时产生新的菜单项及如何手工为这些新产生的菜单命令安排处理函数,如何在顶层窗口中截获对菜单命令的处理,更进一步掌握CString类的应用。 Lesson7:对话框用户界面程序的编写,如何向对话框控件关联数据成员及其实现机理,如何利用对话框类的成员函数向控件发送消息和获取对话框控件的类指针,如何直接利用对话框控件类操纵对话框控件(发送消息和直接调用成员函数)。如何在程序运行时产生和销毁控件。对话框控件的几种操作方式的优劣比较分析。如何实现对话框的部分收缩和展开。如何让对话框上的文本框在程序启动后立即获得焦点,如何利用SetWindowLong改变窗口的回调函数,通过改变文本框的默认回车处理方式进行演示。实现多个输入文本框间通过回车逐一向下传递焦点的另一种巧妙方法(用缺省按钮来处理)。 Lesson8:逃跑按钮的巧妙实现。如何制作属性页对话框和向导对话框,融合讲解组合框(如何调整组合框的大小)、列表框、单选按钮、复选按钮等常用对话框控件的多种使用方法。如何限制用户在不满足设定的条件时切换到其他属性页和向导页。 Lesson9:如何修改MFC AppWizard向导生成的框架程序的外观和大小,修改图标、光

vc2010学习版教程文件

使用 Visual Studio IDE 进行 C++ 桌面开发 演练:使用项目和解决方案 (C++) Visual Studio 2013 此处介绍如何在 Visual Studio 中创建 C++ 项目,添加代码,然后生成并运行该项目。本演练中的项目是一个程序,该程序跟踪正在玩各种纸牌游戏的玩家数量。 在 Visual Studio 中,可以将工作组织为项目和解决方案。一个解决方案可以包含多个项目,例如,一个DLL 和一个引用该 DLL 的可执行文件。有关详细信息,请参阅解决方案和项目。 系统必备 若要完成本演练,你必须了解 C++ 语言的基础知识。 创建项目 若要创建项目,请先选择项目类型模板。对于各种项目类型,Visual Studio 会根据类型设置编译器设置,生成起始代码,稍后你可以进行修改。 创建项目 1.在菜单栏上,依次选择“文件”、“新建”、“项目”。 2.在“新建项目”对话框的左侧窗格中,依次展开“已安装的模板”节点、“Visual C++”节点,然后 选择“Win32”。 3.在已安装模板列表的中间窗格中,选择“Win32 控制台应用程序”。 4.在“名称”框中输入项目的名称。对于此示例,请输入“游戏”。 你可以接受“位置”下拉列表中的默认位置,输入其他位置,或者选择“浏览”按钮,浏览要保存项目的目录。 当你创建项目时,Visual Studio 会将该项目放入一个解决方案。默认情况下,解决方案的名称与项目名称相同。你可以更改“解决方案名称”框中的名称,但是对于此示例,请保留默认名称。 选择“确定”按钮,启动“Win32 应用程序向导”。 5.在“Win32 应用程序向导”的“概述”页面上,选择“下一步”按钮。 6.在“应用程序设置”页的“应用程序类型”下,选择“控制台应用程序”。在“其他选项”下,清除 “预编译头”设置,然后选择“空项目”设置。选择“完成”按钮创建项目。

《VC++程序设计》自学指导

《Visual C++程序设计》自学指导 "Visual C++程序设计"是面向计算机类各专业的必修计算机类基础课程。该课程介绍基本的程序设计技术,包括结构化程序设计方法(SP)、面向对象的程序设计方法(OOP)以及使用Visual C++和MFC开发WINDOWS应用程序的技术。通过本课程的学习,使学生掌握现代程序设计的基本理论和方法,能用Visual C++进行基本的WINDOWS应用程序设计。 本课程的重点在培养学生的实际应用软件开发能力.通过本课程的学习,在结构化程序设计方法和面向对象的程序设计方法的基本理论研究WINDOWS应用程序开发和MFC编程能力方面达到以下基本要求: 1.熟悉计算机程序的基本组成要素,包括数据类型、程序流程、函数和 指针等基本概念; 2.理解结构化程序设计方法(SP)的理论,掌握“自顶向下,逐步求精” 的程序设计技术,可设计含有分支、循环和模块(函数)的程序; 3.掌握C++的基本流程控制; 4.理解类、对象、封装、继承和多态性等面向对象程序设计(OOP)概 念,掌握基本的面向对象程序设计方法; 5.理解WINDOWS的消息机制和WINDOWS应用程序的基本结构; 6.掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、 对话框和控件等对象的程序设计方法,Visual Studio中的AppWizard、 ClassWizard、资源编辑器和调试器等工具的方法,可用Visual C++ 开发基本的WINDOWS应用程序。 第1章C++入门 学习目标 1.了解Visual C++的特点。 2.熟悉Visual C++集成开发环境的基本使用方法。 3.学习使用Visual C++编写标准的C++控制台程序。 学习重点 1.利用Visual C++编写标准的C++控制台程序。 第2章控制结构 学习目标 1.掌握结构化程序设计方法的基本思想。 2.熟练使用VC++的基本控制结构。 3.熟练使用VC++的控制语句。 4.熟悉使用伪代码的编程方法。 学习重点 1.结构化程序设计方法的基本思想。 2.使用VC++的控制语句。 第3章基本数据类型 学习目标

从零开始学电脑,一步一步到高手

CPU:目前常见的CPU主要是由2个厂家生产,一个是AMD公司的,高端产品是 速龙系列,低端是闪龙系列,另外就是INTER公司,高端产品是奔4系列,低端是赛扬系列.这两年开始流行的双核CPU在2个公司的高端产品中都有相应的型号 . CPU的知识比较多,具体的可以再网上查询,这里就不多说了.提醒一句,CPU是造不了假的,只有外盒,风扇等附加品存在假货. 主板: 目前的主板的主芯片都是国外制造的,芯片厂家主要有NVIDIA,ATI,INTER,AMD,VIA,SIS等等,各大主板厂家自己研发PCB板来进行主板的设计,分别来满足2个CPU厂家的CPU需要. 显卡:目前的显卡分为独立和集成显卡,生产独立的显卡芯片主要有2个厂家垄断,NVIDIA 和ATI 公司,生产集成显卡芯片有INTER,NVIDIA,ATI,SIS等等.各大显卡厂家利用显卡芯片提供的显卡GPU来进行显卡的设计和组装. 内存:目前所有内存的颗粒都是国外制造的,主要是韩国制造.国内不过是生产PCB板和封装 的过程.内存主要有3种,一种是SD内存(已淘汰),一种是DDR内存,一 种是DDR II代内存.未来还有DDR III代内存. 硬盘:常见的硬盘有三星,西数和希捷,基本上是希捷一枝独秀,容量在20GB以上的基本上都是7400转的,低于20GB的一般都是5400转的,转速越高,硬盘读些数据的速度越快.提醒一句: 硬盘的生产环境要求比较高,所有的硬盘都是国外生产.

机箱+电源:这两样东西没有什么技术含量,都是国内制造. 光驱:常见的有CD-ROM(类似VCD机),CD刻录机(兼容VCD,可以刻录VCD),DVD光驱(类似DVD机,兼容VCD),康宝(相当于DVD光驱多了个刻录VCD光盘的功能),DVD刻录机(VCD,DVD播放和VCD,DVD刻录功能) 显示器:常见的有两种类型,CRT 和LCD ,一种是普通显示器,一 种是液晶显示器,普通显示器常见的发展过程和电视机相似,尺寸从14 15 17 19 21,屏幕从球面超平视觉纯平物理纯平.液晶显示器尺寸从14 15 17 19寸,目前流行的宽屏有17 19 20 21寸等等.LCD显示器的液晶面板都是国外制造的. 声卡:常见的有集成声卡和独立声卡,绝大多数的主板都集成的有集成声卡,可以满足普通 消费者的是使用.独立声卡一般应用于高端,这里就不多说了. 网卡:常见的有独立和集成网卡,绝大多数的主板都集成有集成网卡,可以满足普通消费者 的使用,独立网卡主要应用于特殊要求的用户.这里不多说了. 键盘+鼠标:相对没有什么技术含量,属于损耗品.跟个人喜好有关系 音箱+耳麦:相对没有什么技术含量,属于损耗品.跟个人喜好有关系. 软驱:基本上已经淘汰,这里就不讨论了. 综述:: 主板就是个平台,把CPU,内存,显卡,硬盘,光驱通过数据线或者直接安装来组成一个工作整体.CPU相当于人的大脑,发出各种指令来协调各个部分的工作,内存是个中转仓库,中转各种指令,数据等等.关机后数据不保留,硬盘是最终载体,所有的数据,程序,歌曲,电影等等都是保存在硬盘中,硬盘中的数据在关机后保留.机箱就是把这个整体固定在一个固定的环境中,通过电源来给各个部分来进行供电,通过显卡来输出显示信号,最后在显示在显示器上.键盘鼠标来进行电脑的各项操作.音箱通过主板上的集成声卡来输出各种声音.网卡是组建局域网或者上网的时候发送和接收数据. 电脑的硬件说白了就是能摸的到的都是硬件,摸不到的就属于软件.电脑硬件一般情况下是不容易损坏的,只有软件方面的问题比较多,只有把软件方面的故障全部排除后最后才考虑硬件方面的问题.

从零开始学VC系列教程完整版

从零开始学V C系列教 程完整版 Corporation standardization office #QS8QHH-HHGX8Q8-GNHHJ8

从零开始学VC系列教程一.信息显示实验 题外话:第一次写教程,不知道该怎么开始.以前见过的教程可能都会介绍比较多的理论然后才开始讲实际操作,我想对于VC,理论讲得太多大家可能更糊涂,所以选择了这个方案,我们先一步步照着做,每一次只介绍一两个知识点,并且把理论放在后面说明,希望大家能喜欢这种方式,并对这种方式提出意见和建议,以便以后章节更适合大家的学习. 或许我写的还不能称之为教程,只是一些操作步骤及说明,通过这些练习,希望能使大家对VC有一个新的认识.VC的功能是十分强大的,但我们一般并不会用到所有的功能,就像大家熟悉的KeilC一样,其实Keil功能也是很多的,平时也没见谁把Keil的功能都用到了.基于此,我写的这个教程可能在VC专业人士看来比较简单.不是要班门弄斧,而是希望推行上位机技术,形成一个氛围让大家来学习交流,PC机与下位机结合毕竟也是发展的一个方向.望高手谅解小辈的不自量力.同时,我们结合单片机编程,让大家明白上位机控制方法及原理,当然这是今后章节的内容了. 本节内容:学会在文本框中显示文本,学会弹出式对话框使用. 学习目的:信息显示是人机交互的基础,同时,信息显示也为以后的程序调试打下基础. 1.新建工程.打开点击[文件]->[新建],弹出如下对话框. 在 工 程 选 项 中 选 择 MFC App Wiz ard [ex e], 选 择 好 工程存入的位置,然后在工程名称中填入工程的名称,例如Eg01,填入Eg01后.VC会在我们选择的路径后自动加入一个以工程名命名的文件夹作为工程目录.完成按[确定]就会进入工程向导,出现以下的提示.

VS2010学习教程

第一章:关于Visual Studio、VC和C++的那些事 首先,这三个东西有什么区别呢?VC和C++是相同的吗,有什么区别呢?我刚开始学C++的时候也有这样的问题,在这里我来替大家解释一下他们到底是什么。 Visual Studio,我们一般都简称为VS,VC全称是Visual C++,C++就不用解释了吧?Visual Studio其实是微软开发的一套工具集,它由各种各样的工具组成,这就好像Office 2007是由Word 2007、Excel 2007、Access 2007等等组成的一个道理。其中Visual C++就是Visual Studio的一个重要的组成部分。Visual Studio可以用于生成Web应用程序,也可以生成桌面应用程序,在Visual Studio下面,除了VC,还有Visual C#,Visual Basic,过去还有Visual J#,现在还有Visual F#等等组件工具,使用这些工具你可以使用C++语言、C#语言或者Basic语言(微软改进版)进行开发。这就好比桌上放着刀、叉、筷子,你可以用它们来吃饭,无论你用什么工具都可以,因为它们都是餐具的一种。 VC,全称是Visual C++,它只是一个工具而已。 C++是一门和C、Basic、C#、Java一个概念的东西,它是一门语言,这个概念就同汉语、英语、法语之间的关系一样。语言的可以不同,他们有的复杂有的精简,比如汉语,我个人认为这是这个星球上最复杂的语言;又比如电影《阿凡达》中外星人使用的语言,不过100都个单词而已。当然,语言并没有高低贵贱之分,而对语言掌握的好不好,说的好不好是有高下之别的。 一个语言都有哪些要素呢?语法就是其中一个重要的方面,比如你要对你所喜欢的人表达爱慕之情,那么你应该说“我爱你”,你不能说“你爱我”,因为这搞错了主谓宾关系,因此我们通常都需要按照一定的规矩和原则表达才会让别人正确理解我们真正的含义。在我们的汉语中有一些成语,它们通常都比较简单短小,但是却能表达非常强烈的感情,而且效果非常好。比如你想骂一个坏人“你实在是太变态了,这种事情都干得出来。”你可以这样说:“你也太禽兽不如了!”对于编程的语言来说,其实也是有成语的,在我看来,这就是库函数。通常我们在编程的时候都推荐选择库函数,因为它通常会比较快一些。 一直以来都有不少人混淆Visual C++和Visual Studio,其实最初Visual C++发布的时候还没有Visual Studio这个东西,Visual C++是一个独立的开发工具,与Visual Basic等并列,最后微软将它们整合在一起组成了Visual Studio。 Visual C++从发布起到现在已经有10个大版本了,我们这里介绍的Visual C++ 2010就是Visual C++ 10,简称VC10。上朔10多年,Visual C++ 6.0发布了,这个被称为史上最经典的VC,现在有很多企业还在用它,大量的教材基于这个版本的VC来写的。然而实际上VC6并没有想象中的那么美好,孱弱的IDE,不完善的STL等等让它越来越不适应时代的发展,同时由于后来的版本和它的差别越来越大,让很多习惯于VC6教材的人在新版本上无所适从。VC6走向历史的终结点其实是必然的,只在于时间问题罢了,况且大部分人都有追求最新的“嗜好”,所以这里也选择最新版的VC来做入门教程。

相关主题
文本预览
相关文档 最新文档