爱问 爱问共享资料 爱问分类
首页 > > > java学习笔记.pdf

java学习笔记.pdf

java学习笔记.pdf

上传者: zaki
640次下载 0人收藏 暂无简介 简介 2011-02-24 举报

简介:java学习笔记

java学习笔记作者:韩悠悠http://501565246-qq-com.javaeye.comjava学习笔记http://www.javaeye.com-做最棒的软件开发交流社区第1/356页本书由JavaEye提供的电子书DIY功能自动生成于2010-10-10目录1.TortoiseSVN1.1什么是TortoiseSVN?..............................................................81.2TortoiseSVN的历史................................................................91.3TortoiseSVN的特性...............................................................101.4安装TortoiseSVN.................................................................121.5第2章BasicVersion-ControlConcepts.............................................141.6版本模型.........................................................................151.7Apache安装基本过程..............................................................181.8Subversion实战..................................................................201.9创建版本库.......................................................................251.10版本库备份......................................................................301.11服务器端钩子脚本................................................................311.12检出链接.......................................................................321.13基于svnserve的服务器...........................................................331.14基于Apache的服务器............................................................401.15日常使用指南....................................................................531.16导入数据到版本库................................................................581.17检出工作副本....................................................................611.18将你的修改提交到版本库..........................................................641.19用来自别人的修改更新你的工作副本.................................................70http://501565246-qq-com.javaeye.com第2/356页1.20解决冲突.......................................................................731.21获得状态信息....................................................................791.22本地与远程状态..................................................................821.23修改列表.......................................................................851.24版本日志对话框..................................................................881.25查看差异......................................................................1051.26添加新文件和目录...............................................................1111.27复制/移动/重命名文件和文件夹....................................................1121.28忽略文件和目录.................................................................1141.29删除、移动和改名...............................................................1161.30撤消更改......................................................................1201.31清理f..........................................................................1221.32项目设置......................................................................1231.33外部条目......................................................................1302.java2.1LDAP读书笔记2-LDAP协议........................................................1342.2HibernateBlob数据类型映射......................................................1362.3元数据(ResultSetMeta接口)学习笔记................................................1402.4JAVA中Session的会话状态.........................................................1472.5Java里设置session的几种方式......................................................1482.6Java包导入机制的研究与解析.......................................................1492.7java的克隆......................................................................151http://501565246-qq-com.javaeye.com第3/356页2.8net.sf.json.JSONException:Thereisacycleinthe....................................1522.9Java需要达到的30个目标..........................................................1533.web3.1request.getParameterMap的学习..................................................1553.2HttpSessionsession=request.getSession(true).....................................1563.3mysql乱码问题解决...............................................................1573.4JPA注解学习总结.................................................................1593.5JPA详细说明....................................................................1663.6jstl的配置方法...................................................................1693.7Ext动画功能.....................................................................1704.struts24.1Struts2概述.....................................................................1724.2struts2的Result配置..............................................................1754.3Struts2通用的Action配置..........................................................1795.spring5.1Spring注解入门..................................................................1805.2Spring笔记.....................................................................1895.3Spring下单元测试的要点..........................................................1925.4spring事务......................................................................1945.5springsecurity工作流程...........................................................1975.6spring的DataSource数据源分析....................................................201http://501565246-qq-com.javaeye.com第4/356页5.7spring中jdbcTemplate归纳1.......................................................2075.8spring中jdbcTemplate归纳2.......................................................2255.9使用spring的jdbcTemplate-----用jdbc模板跟新数据库.................................2385.10使用spring的jdbcTemplate-----用JDBC模板查询数据库...............................2445.11使用spring的jdbcTemplate-----简化JdbcTemplate模板的创建.........................2515.12使用spring的jdbcTemplate-----SimpleJdbcTemplate的使用..........................2555.13使用spring的jdbcTemplate-----使用具名参数.......................................2595.14使用spring的jdbcTemplate-----将JDBC操作建模为细粒度的对象........................2626.hibernate6.1hibernate注解...................................................................2676.2Hibernate的那些事-manyToOne注解映射(List集合)....................................2706.3Hibernate主键生成方式...........................................................2766.4Hibernate乐观锁和悲观锁.........................................................2786.5Hibernate中saveOrUpdate()使用时要注意的问题......................................2846.6Hibernate源代码分析之大纲.......................................................2856.7如何结合hibernate进行复杂的查询功能设计...........................................2876.8Hibernate中的Session缓存........................................................2946.9Hibernate中的对象的状态.........................................................2956.10Hibernate乐观锁和悲观锁........................................................2966.11Hibernatecolumn属性简介......................................................3026.12Hibernate的多对一和一对多操作实例...............................................3037.oraclehttp://501565246-qq-com.javaeye.com第5/356页7.1oracle日期函数..................................................................3087.2Oracle日期和字符串函数转换.......................................................3097.3ORACLE插入日期数据.............................................................3107.4oracle循环插入数据函数...........................................................3128.thinkinginjava编程学习笔记8.1泛型讨论........................................................................3148.2泛型讨论------一个元组类库........................................................3178.3泛型讨论------堆栈类.............................................................3218.4泛型讨论------泛型接口...........................................................3248.5泛型讨论------泛型方法...........................................................3278.6泛型讨论------类型参数推断........................................................3298.7泛型讨论------可变参数与泛型方法..................................................3318.8泛型讨论------一个更通用的对象生成器Generator.....................................3338.9泛型讨论------利用泛型求交集并集等数学知识.........................................3358.10泛型讨论------危害..............................................................3378.11泛型讨论------危害的解决........................................................3408.12泛型讨论------危害的解决2.......................................................3428.13数组1.........................................................................3458.14数组实用功能(Arrays)............................................................3499.杂谈9.1路走到尽头,才能领悟当初的因果...................................................351http://501565246-qq-com.javaeye.com第6/356页10.未分类10.1svn教程.......................................................................353http://501565246-qq-com.javaeye.com第7/356页1.1什么是TortoiseSVN?发表时间:2010-08-30TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion和版本控制系统看作一种“时间机器”。某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性-比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。http://501565246-qq-com.javaeye.com1.1什么是TortoiseSVN?第8/356页1.2TortoiseSVN的历史发表时间:2010-08-30在2002年,TimKemp发现Subversion是一个很好的版本控制系统,但是没有好的图形化客户端,创建一个作为Windows外壳集成的Subversion客户端的创意来自TortoiseCVS,一个非常类似的CVS客户端。Tim学习了TortoiseCVS的源代码,将其作为TortoiseSVN的基础,然后开始这个项目,注册了域名tortoisesvn.org,并将源代码提交到网上。此时StefanKüng正在寻找一个好的免费版本控制系统,他发现了Subversion和TortoiseSVN,由于TortoiseSVN还不能够使用,他加入了这个项目并开始编程。很快他便重写了大多数代码,并且开始添加命令和特性,此时,最初的代码都已经不复存在了。随着Subversion越来越稳定,吸引了越来越多的用户开始使用TortoiseSVN作为他们的Subversion客户端。用户群增长迅速(每天都持续增长)。LübbeOnken提供了许多漂亮图标和TortoiseSVN的logo,细心照料网站并且管理翻译。http://501565246-qq-com.javaeye.com1.2TortoiseSVN的历史第9/356页1.3TortoiseSVN的特性发表时间:2010-08-30是什么让TortoiseSVN成为一个好的Subversion客户端?下面是一个简短的特性列表。外壳集成TortoiseSVN与Windows外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。并且你不一定必须使用Windows资源管理器,TortoiseSVN的右键菜单可以工作在其他文件管理器,以及文件/打开对话框等标准的Windows应用程序中。你必须牢记,TortoiseSVN是有意作为Windows资源管理器的扩展开发,因此在其他程序可能集成的并不完整,例如重载图标可能不会显示。重载图标每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。Subversion命令的简便访问所有的Subversion命令存在于资源管理器的右键菜单,TortoiseSVN在那里添加子菜单。因为TortoiseSVN是一个Subversion客户端,我们也很愿意为你展示一些Subversion本身的特性:目录版本控制CVS只能追踪单个文件的历史,但是Subversion实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。原子提交提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。版本控制的元数据每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性是版本控制的,就像文件内容。可选的网络层Subversion在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion的“高级”服务器是Apache网络服务器的一个模块,使用HTTP的变种协议WebDAV/DeltaV通讯,这给了Subversion在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的Subversion服务器,这个服务器使用自己的协议,可以轻松的用SSH封http://501565246-qq-com.javaeye.com1.3TortoiseSVN的特性第10/356页装。一致的数据处理Subversion使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。高效的分支和标签分支与标签的代价不与工程的大小成比例,Subversion建立分支与标签时只是复制项目,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间,以及很小的版本库空间。良好的维护能力Subversion没有历史负担,它由一系列良好的共享C库实现,具有定义良好的API,这使Subversion非常容易维护,可以轻易的被其他语言和程序使用。http://501565246-qq-com.javaeye.com1.3TortoiseSVN的特性第11/356页1.4安装TortoiseSVN发表时间:2010-08-30系统要求TortoiseSVN可以运行在Windows2000SP2,WindowsXP或更高的版本。TortoiseSVN1.2.0以后不再支持Windows98,WindowsME和WindowsNT4,但是如果需要的话,你仍旧可以下载以前的版本。如果在安装TortoiseSVN时发现了任何问题,请首先参考附录A,常见问题(FAQ)。安装TortoiseSVN提供一个容易使用的安装程序。双击安装程序文件并按照提示操作。安装程序将会完成剩余的步骤。重要你需要管理员权限来安装TortoiseSVN。语言包TortoiseSVN的界面已经翻译成了许多种语言,所以你可以下载符合你要求的语言包。你可以在我们的翻译状态页里看到语言包。如果没有你需要的,为什么不加入我们的团队并且提交你的翻译呢?-)每一种语言包都是一个.exe安装程序,只要根据向导运行安装程序,当你下一次启动程序时,翻译就会生效。拼写检查器TortoiseSVN包括了一个拼写检查器,可以检查你的提交日志信息,当你的项目语言不是你的本地语言时尤其有用,拼写检查器使用OpenOffice和Mozilla相同的词典。安装程序自动添加US和UK英语词典。如果你需要其他语言,最简单的方法是安装TortoiseSVN的语言包,这会安装合适的词典文件和TortoiseSVN的本地用户界面,当你下一次启动程序时,词典也将会生效。或者你也可以自己安装词典。如果你安装了OpenOffice或Mozilla,你可以复制这些词典,位于那些应用的安装目录。否则,你需要从http://wiki.services.openoffice.org/wiki/Dictionaries下载必要的词典文件。一旦你得到了词典文件,你可能需要重命名文件,这样文件名只包含位置信息,例如:en_US.affen_US.dichttp://501565246-qq-com.javaeye.com1.4安装TortoiseSVN第12/356页然后把它们复制到TortoiseSVN安装目录的bin子目录,通常情况下,可能是在C:\ProgramFiles\TortoiseSVN\bin。如果你不希望弄乱bin子目录,你可以将拼写检查文件放置在C:\ProgramFiles\TortoiseSVN\Languages,如果那个目录不存在,你可以自己创建,当你下次启动TortoiseSVN时,就可以使用拼写检查器。如果你安装了多个词典,TortoiseSVN使用下面的规则选择一个。检查tsvn:projectlanguage设置,关于设置项目属性可以参考“项目设置”一节。如果没有设置项目语言,或者那个语言没有安装,尝试使用对应Windows区域信息的语言。如果精确的Windows区域信息不起作用,可以试一下“基础”语言,例如将de_CH(Swiss-German)修改为de_DE(German)。如果以上都没有效果,则缺省语言是英语,包含在标准安装中。http://501565246-qq-com.javaeye.com1.4安装TortoiseSVN第13/356页1.5第2章BasicVersion-ControlConcepts发表时间:2010-08-30本章修改自《使用Subversion进行版本管理》的相同章节,它的在线版本位于:http://svnbook.red-bean.com/。这一章是对Subversion一个简短随意的介绍,如果你对版本控制很陌生,这一章节完全是为你准备的,我们从讨论基本概念开始,深入理解Subversion的思想,然后展示许多简单的实例。尽管我们的例子展示了人们如何分享程序源代码,仍然要记住Subversion可以控制所有类型的文件-它并没有限制只为程序员工作。版本库Subversion是一种集中的分享信息的系统,它的核心是版本库,储存所有的数据,版本库按照文件树形式储存数据-包括文件和目录,任意数量的客户端可以连接到版本库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。图2.1.一个典型的客户/服务器系统所以为什么这很有趣呢?讲了这么多,让人感觉这是一种普通的文件服务器,但实际上,版本库是另一种文件服务器,而不是你常见的那一种。最特别的是Subversion会记录每一次的更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。Whenaclientreadsdatafromtherepository,itnormallyseesonlythelatestversionofthefilesystemtree.Buttheclientalsohastheabilitytoviewpreviousstatesofthefilesystem.Forexample,aclientcanaskhistoricalquestionslike,“whatdidthisdirectorycontainlastWednesday?”,or“whowasthelastpersontochangethisfile,andwhatchangesdidtheymake?”Thesearethesortsofquestionsthatareattheheartofanyversioncontrolsystem:systemsthataredesignedtorecordandtrackchangestodataovertime.http://501565246-qq-com.javaeye.com1.5第2章BasicVersion-ControlConcepts第14/356页1.6版本模型发表时间:2010-08-30所有的版本控制系统都需要解决这样一个基础问题:怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。文件共享的问题考虑这个情景,我们有两个共同工作者,Harry和Sally,他们想同时编辑版本库里的同一个文件,如果首先Harry保存它的修改,过了一会,Sally可能凑巧用自己的版本覆盖了这些文件,Harry的更改不会永远消失(因为系统记录了每次修改),Harry所有的修改不会出现在Sally的文件中,所以Harry的工作还是丢失了—至少是从最新的版本中丢失了—而且是意外的,这就是我们要明确避免的情况!图2.2.需要避免的问题锁定-修改-解锁方案Manyversioncontrolsystemsusealock-modify-unlockmodeltoaddressthisproblem,whichisavery

java学习笔记.pdf

java学习笔记.pdf

上传者: zaki
640次下载 0人收藏 暂无简介 简介 2011-02-24 举报

简介:java学习笔记

java学习笔记作者:韩悠悠http://501565246-qq-com.javaeye.comjava学习笔记http://www.javaeye.com-做最棒的软件开发交流社区第1/356页本书由JavaEye提供的电子书DIY功能自动生成于2010-10-10目录1.TortoiseSVN1.1什么是TortoiseSVN?..............................................................81.2TortoiseSVN的历史................................................................91.3TortoiseSVN的特性...............................................................101.4安装TortoiseSVN.................................................................121.5第2章BasicVersion-ControlConcepts.............................................141.6版本模型.........................................................................151.7Apache安装基本过程..............................................................181.8Subversion实战..................................................................201.9创建版本库.......................................................................251.10版本库备份......................................................................301.11服务器端钩子脚本................................................................311.12检出链接.......................................................................321.13基于svnserve的服务器...........................................................331.14基于Apache的服务器............................................................401.15日常使用指南....................................................................531.16导入数据到版本库................................................................581.17检出工作副本....................................................................611.18将你的修改提交到版本库..........................................................641.19用来自别人的修改更新你的工作副本.................................................70http://501565246-qq-com.javaeye.com第2/356页1.20解决冲突.......................................................................731.21获得状态信息....................................................................791.22本地与远程状态..................................................................821.23修改列表.......................................................................851.24版本日志对话框..................................................................881.25查看差异......................................................................1051.26添加新文件和目录...............................................................1111.27复制/移动/重命名文件和文件夹....................................................1121.28忽略文件和目录.................................................................1141.29删除、移动和改名...............................................................1161.30撤消更改......................................................................1201.31清理f..........................................................................1221.32项目设置......................................................................1231.33外部条目......................................................................1302.java2.1LDAP读书笔记2-LDAP协议........................................................1342.2HibernateBlob数据类型映射......................................................1362.3元数据(ResultSetMeta接口)学习笔记................................................1402.4JAVA中Session的会话状态.........................................................1472.5Java里设置session的几种方式......................................................1482.6Java包导入机制的研究与解析.......................................................1492.7java的克隆......................................................................151http://501565246-qq-com.javaeye.com第3/356页2.8net.sf.json.JSONException:Thereisacycleinthe....................................1522.9Java需要达到的30个目标..........................................................1533.web3.1request.getParameterMap的学习..................................................1553.2HttpSessionsession=request.getSession(true).....................................1563.3mysql乱码问题解决...............................................................1573.4JPA注解学习总结.................................................................1593.5JPA详细说明....................................................................1663.6jstl的配置方法...................................................................1693.7Ext动画功能.....................................................................1704.struts24.1Struts2概述.....................................................................1724.2struts2的Result配置..............................................................1754.3Struts2通用的Action配置..........................................................1795.spring5.1Spring注解入门..................................................................1805.2Spring笔记.....................................................................1895.3Spring下单元测试的要点..........................................................1925.4spring事务......................................................................1945.5springsecurity工作流程...........................................................1975.6spring的DataSource数据源分析....................................................201http://501565246-qq-com.javaeye.com第4/356页5.7spring中jdbcTemplate归纳1.......................................................2075.8spring中jdbcTemplate归纳2.......................................................2255.9使用spring的jdbcTemplate-----用jdbc模板跟新数据库.................................2385.10使用spring的jdbcTemplate-----用JDBC模板查询数据库...............................2445.11使用spring的jdbcTemplate-----简化JdbcTemplate模板的创建.........................2515.12使用spring的jdbcTemplate-----SimpleJdbcTemplate的使用..........................2555.13使用spring的jdbcTemplate-----使用具名参数.......................................2595.14使用spring的jdbcTemplate-----将JDBC操作建模为细粒度的对象........................2626.hibernate6.1hibernate注解...................................................................2676.2Hibernate的那些事-manyToOne注解映射(List集合)....................................2706.3Hibernate主键生成方式...........................................................2766.4Hibernate乐观锁和悲观锁.........................................................2786.5Hibernate中saveOrUpdate()使用时要注意的问题......................................2846.6Hibernate源代码分析之大纲.......................................................2856.7如何结合hibernate进行复杂的查询功能设计...........................................2876.8Hibernate中的Session缓存........................................................2946.9Hibernate中的对象的状态.........................................................2956.10Hibernate乐观锁和悲观锁........................................................2966.11Hibernatecolumn属性简介......................................................3026.12Hibernate的多对一和一对多操作实例...............................................3037.oraclehttp://501565246-qq-com.javaeye.com第5/356页7.1oracle日期函数..................................................................3087.2Oracle日期和字符串函数转换.......................................................3097.3ORACLE插入日期数据.............................................................3107.4oracle循环插入数据函数...........................................................3128.thinkinginjava编程学习笔记8.1泛型讨论........................................................................3148.2泛型讨论------一个元组类库........................................................3178.3泛型讨论------堆栈类.............................................................3218.4泛型讨论------泛型接口...........................................................3248.5泛型讨论------泛型方法...........................................................3278.6泛型讨论------类型参数推断........................................................3298.7泛型讨论------可变参数与泛型方法..................................................3318.8泛型讨论------一个更通用的对象生成器Generator.....................................3338.9泛型讨论------利用泛型求交集并集等数学知识.........................................3358.10泛型讨论------危害..............................................................3378.11泛型讨论------危害的解决........................................................3408.12泛型讨论------危害的解决2.......................................................3428.13数组1.........................................................................3458.14数组实用功能(Arrays)............................................................3499.杂谈9.1路走到尽头,才能领悟当初的因果...................................................351http://501565246-qq-com.javaeye.com第6/356页10.未分类10.1svn教程.......................................................................353http://501565246-qq-com.javaeye.com第7/356页1.1什么是TortoiseSVN?发表时间:2010-08-30TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion和版本控制系统看作一种“时间机器”。某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性-比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。http://501565246-qq-com.javaeye.com1.1什么是TortoiseSVN?第8/356页1.2TortoiseSVN的历史发表时间:2010-08-30在2002年,TimKemp发现Subversion是一个很好的版本控制系统,但是没有好的图形化客户端,创建一个作为Windows外壳集成的Subversion客户端的创意来自TortoiseCVS,一个非常类似的CVS客户端。Tim学习了TortoiseCVS的源代码,将其作为TortoiseSVN的基础,然后开始这个项目,注册了域名tortoisesvn.org,并将源代码提交到网上。此时StefanKüng正在寻找一个好的免费版本控制系统,他发现了Subversion和TortoiseSVN,由于TortoiseSVN还不能够使用,他加入了这个项目并开始编程。很快他便重写了大多数代码,并且开始添加命令和特性,此时,最初的代码都已经不复存在了。随着Subversion越来越稳定,吸引了越来越多的用户开始使用TortoiseSVN作为他们的Subversion客户端。用户群增长迅速(每天都持续增长)。LübbeOnken提供了许多漂亮图标和TortoiseSVN的logo,细心照料网站并且管理翻译。http://501565246-qq-com.javaeye.com1.2TortoiseSVN的历史第9/356页1.3TortoiseSVN的特性发表时间:2010-08-30是什么让TortoiseSVN成为一个好的Subversion客户端?下面是一个简短的特性列表。外壳集成TortoiseSVN与Windows外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。并且你不一定必须使用Windows资源管理器,TortoiseSVN的右键菜单可以工作在其他文件管理器,以及文件/打开对话框等标准的Windows应用程序中。你必须牢记,TortoiseSVN是有意作为Windows资源管理器的扩展开发,因此在其他程序可能集成的并不完整,例如重载图标可能不会显示。重载图标每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。Subversion命令的简便访问所有的Subversion命令存在于资源管理器的右键菜单,TortoiseSVN在那里添加子菜单。因为TortoiseSVN是一个Subversion客户端,我们也很愿意为你展示一些Subversion本身的特性:目录版本控制CVS只能追踪单个文件的历史,但是Subversion实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。原子提交提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。版本控制的元数据每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性是版本控制的,就像文件内容。可选的网络层Subversion在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion的“高级”服务器是Apache网络服务器的一个模块,使用HTTP的变种协议WebDAV/DeltaV通讯,这给了Subversion在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的Subversion服务器,这个服务器使用自己的协议,可以轻松的用SSH封http://501565246-qq-com.javaeye.com1.3TortoiseSVN的特性第10/356页装。一致的数据处理Subversion使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。高效的分支和标签分支与标签的代价不与工程的大小成比例,Subversion建立分支与标签时只是复制项目,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间,以及很小的版本库空间。良好的维护能力Subversion没有历史负担,它由一系列良好的共享C库实现,具有定义良好的API,这使Subversion非常容易维护,可以轻易的被其他语言和程序使用。http://501565246-qq-com.javaeye.com1.3TortoiseSVN的特性第11/356页1.4安装TortoiseSVN发表时间:2010-08-30系统要求TortoiseSVN可以运行在Windows2000SP2,WindowsXP或更高的版本。TortoiseSVN1.2.0以后不再支持Windows98,WindowsME和WindowsNT4,但是如果需要的话,你仍旧可以下载以前的版本。如果在安装TortoiseSVN时发现了任何问题,请首先参考附录A,常见问题(FAQ)。安装TortoiseSVN提供一个容易使用的安装程序。双击安装程序文件并按照提示操作。安装程序将会完成剩余的步骤。重要你需要管理员权限来安装TortoiseSVN。语言包TortoiseSVN的界面已经翻译成了许多种语言,所以你可以下载符合你要求的语言包。你可以在我们的翻译状态页里看到语言包。如果没有你需要的,为什么不加入我们的团队并且提交你的翻译呢?-)每一种语言包都是一个.exe安装程序,只要根据向导运行安装程序,当你下一次启动程序时,翻译就会生效。拼写检查器TortoiseSVN包括了一个拼写检查器,可以检查你的提交日志信息,当你的项目语言不是你的本地语言时尤其有用,拼写检查器使用OpenOffice和Mozilla相同的词典。安装程序自动添加US和UK英语词典。如果你需要其他语言,最简单的方法是安装TortoiseSVN的语言包,这会安装合适的词典文件和TortoiseSVN的本地用户界面,当你下一次启动程序时,词典也将会生效。或者你也可以自己安装词典。如果你安装了OpenOffice或Mozilla,你可以复制这些词典,位于那些应用的安装目录。否则,你需要从http://wiki.services.openoffice.org/wiki/Dictionaries下载必要的词典文件。一旦你得到了词典文件,你可能需要重命名文件,这样文件名只包含位置信息,例如:en_US.affen_US.dichttp://501565246-qq-com.javaeye.com1.4安装TortoiseSVN第12/356页然后把它们复制到TortoiseSVN安装目录的bin子目录,通常情况下,可能是在C:\ProgramFiles\TortoiseSVN\bin。如果你不希望弄乱bin子目录,你可以将拼写检查文件放置在C:\ProgramFiles\TortoiseSVN\Languages,如果那个目录不存在,你可以自己创建,当你下次启动TortoiseSVN时,就可以使用拼写检查器。如果你安装了多个词典,TortoiseSVN使用下面的规则选择一个。检查tsvn:projectlanguage设置,关于设置项目属性可以参考“项目设置”一节。如果没有设置项目语言,或者那个语言没有安装,尝试使用对应Windows区域信息的语言。如果精确的Windows区域信息不起作用,可以试一下“基础”语言,例如将de_CH(Swiss-German)修改为de_DE(German)。如果以上都没有效果,则缺省语言是英语,包含在标准安装中。http://501565246-qq-com.javaeye.com1.4安装TortoiseSVN第13/356页1.5第2章BasicVersion-ControlConcepts发表时间:2010-08-30本章修改自《使用Subversion进行版本管理》的相同章节,它的在线版本位于:http://svnbook.red-bean.com/。这一章是对Subversion一个简短随意的介绍,如果你对版本控制很陌生,这一章节完全是为你准备的,我们从讨论基本概念开始,深入理解Subversion的思想,然后展示许多简单的实例。尽管我们的例子展示了人们如何分享程序源代码,仍然要记住Subversion可以控制所有类型的文件-它并没有限制只为程序员工作。版本库Subversion是一种集中的分享信息的系统,它的核心是版本库,储存所有的数据,版本库按照文件树形式储存数据-包括文件和目录,任意数量的客户端可以连接到版本库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。图2.1.一个典型的客户/服务器系统所以为什么这很有趣呢?讲了这么多,让人感觉这是一种普通的文件服务器,但实际上,版本库是另一种文件服务器,而不是你常见的那一种。最特别的是Subversion会记录每一次的更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。Whenaclientreadsdatafromtherepository,itnormallyseesonlythelatestversionofthefilesystemtree.Buttheclientalsohastheabilitytoviewpreviousstatesofthefilesystem.Forexample,aclientcanaskhistoricalquestionslike,“whatdidthisdirectorycontainlastWednesday?”,or“whowasthelastpersontochangethisfile,andwhatchangesdidtheymake?”Thesearethesortsofquestionsthatareattheheartofanyversioncontrolsystem:systemsthataredesignedtorecordandtrackchangestodataovertime.http://501565246-qq-com.javaeye.com1.5第2章BasicVersion-ControlConcepts第14/356页1.6版本模型发表时间:2010-08-30所有的版本控制系统都需要解决这样一个基础问题:怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。文件共享的问题考虑这个情景,我们有两个共同工作者,Harry和Sally,他们想同时编辑版本库里的同一个文件,如果首先Harry保存它的修改,过了一会,Sally可能凑巧用自己的版本覆盖了这些文件,Harry的更改不会永远消失(因为系统记录了每次修改),Harry所有的修改不会出现在Sally的文件中,所以Harry的工作还是丢失了—至少是从最新的版本中丢失了—而且是意外的,这就是我们要明确避免的情况!图2.2.需要避免的问题锁定-修改-解锁方案Manyversioncontrolsystemsusealock-modify-unlockmodeltoaddressthisproblem,whichisavery
  • 相关资料
  • 该用户的其他资料
  • 名称/格式
  • 下载次数
  • 资料大小
  • 名称/格式
  • 下载次数
  • 资料大小

用户评论

0/200
暂无评论
上传我的资料
关闭

请选择举报的类型

关闭

提示

提交成功!

感谢您对爱问共享资料的支持,我们将尽快核实并处理您的举报信息。

关闭

提示

提交失败!

您的举报信息提交失败,请重试!

关闭

提示

重复举报!

亲爱的用户!感觉您对爱问共享资料的支持,请勿重复举报噢!

全屏 缩小 放大
收藏
资料评价:

/ 356
所需积分:0 立即下载
返回
顶部
举报
资料
关闭

温馨提示

感谢您对爱问共享资料的支持,精彩活动将尽快为您呈现,敬请期待!