Java记事本毕业论文设计.docx
- 文档编号:27524210
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:78
- 大小:347.98KB
Java记事本毕业论文设计.docx
《Java记事本毕业论文设计.docx》由会员分享,可在线阅读,更多相关《Java记事本毕业论文设计.docx(78页珍藏版)》请在冰豆网上搜索。
Java记事本毕业论文设计
Java记事本
摘 要
现在网上的各种记事本数不胜数,功能也应有尽有,有能改变字体的,改变字体颜色的,还要改变背景颜色,还有些可以给记事本加密保存,但是这些记事本总是有一些小瑕疵。
日常生活中,我们需要的是一个功能强大,而且操作简单的记事本,还需要记录一些比较私密的事情。
所以本程序就是综合了一些平时常用的功能,并且加入了加密保存功能,满足各种用户需求。
随着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。
JAVA是实践性很强的课程。
Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。
面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。
该程序通过java语言,使用Eclipse编写而成,参考windows记事本的基本功能,实现了所要实现的功能。
点开文件,可以进行新建,打开,保存,另存为,载入加密文件,加密保存为和退出功能。
点开编辑有撤销,复制,粘贴,剪切,删除,搜索/替换,全选,时间/日期功能。
点开格式有自动换行,字体格式,字体颜色,背景颜色的功能。
关键词:
JAVA;Eclipse;记事本;加密
Java记事本
JavaNotepad
Abstract
Nowonlinenotepadnumerousvariousfunctionsareeverything,therecanchangethefont,changethefontcolor,butalsotochangethebackgroundcolor,andsomecanbesavedtotheencryptednotepad,buttheyalwayshavesomeNotepadsmallflaws.Everydaylife,whatweneedisapowerfulandeasy-to-notepad,alsoneedtorecordsomeofthemoreintimatethings.Sotheprocedureisusuallyacombinationofsomeofthecommonlyusedfunctions,andjoinedtheencryptionsavefunction,tomeetthevariousneedsofusers.
Anytimetherapiddevelopmentofscienceandtechnology,computerprogramminghasbecomeatrend,JAVAisacomputerprofessionalcorecourses,isthetechnicalfoundationofcomputersciencealgorithmsandsoftwaredesignrationale.JAVAisaverypracticalcourse.
TheJavalanguageistoday'spopularwebprogramminglanguage,ithasobject-oriented,cross-platform,distributedapplicationsandsoon.Object-orienteddevelopmentapproachisthedevelopmentoftheworld'smostpopularmethod,whichnotonlyhasmorenaturalsemantics,butalsoconducivetosoftwaremaintenanceandinheritance.
Theprogramwrittenbyjavalanguagemadereferencetothebasicfunctionsofwindowsnotepadachieveafunctiontobeachieved.Openingthefile,youcanbeNew,Open,Save,SaveAs,loadingtheencryptedfile,saveitasencryptionandexitfunctions.Openingtheeditorhaswithdrawn,copy,paste,cut,delete,search/replace,selectall,time/datefunction.Openingthewrapformat,fontformatting,fontcolor,backgroundcolorfunction.
Keywords:
JAVA;Eclipse;notebook;encryption
1绪论
1.1记事本的背景
记事本相当常见,其存储文件的扩展名为.txt,文件属性没有任何格式标签或者风格,所以相当适合在dos环境中编辑。
记事本的特点是只支持纯文本。
一般来说,如果把文本从网页复制并粘贴到一个文字处理软件,它的格式和嵌入的媒体将会被一起粘贴并且难以去除。
但是,如果将这样一个文本先粘贴到记事本中,然后从记事本中再次复制到下最终需要的软件里,记事本将会去除所有的格式,只留下纯文本,在某些情况下相当有用。
记事本几乎可以编辑任何文件,但不包括Unix风格的文本文件。
早期的记事本只提供最基本的功能,例如文字查找功能。
较新版本的windows所搭载的新版记事本可以支持查找及取代功能,快捷键是Ctrl+H,而Ctrl+F则是传统的查找功能。
在一些旧版的Windows中,例如Windows95、Windows98、WindowsMe和,其所自带的记事本有64k的文件大小的编辑限制,源自操作系统的一个“EDIT”层面的限制。
WindowsMe中,记事本仍不支持任何快捷键操作,亦不支持行数统计功能。
从Windows2000开始,一些普遍的功能开始有快捷键的操作,例如新增、打开和存储。
同时,状态栏亦开始出现,有行数统计器,在自动换行功能取消时才会出现。
在Windows95中,记事本只支持Fixedsys字体,到了和Windows98,记事本便开始支持字体变更。
在Windows2000和WindowsXP中,默认字体已变为LucidaConsole。
在以WindowsNT为基础的操作系统中,记事本可以编辑传统的8-bit文本文件,同时支持Unicode文本文件(UTF-8和UTF-16)。
记事本利用"EDIT"作为其系统自带的类型名称。
记事本亦集成了一个简单的日志功能,每一次打开文件,都可以记下一个新的时间标签。
要激活这个功能,在文档开头的第一行,必须是".LOG",不包括引号。
记事本直到最,仍然是一款只可以在Windows下运行的软件。
但如果利用开源的ReactOS操作系统,并配合Wine,就可以在非微软的操作系统中,运行记事本。
该软件是开源的,并且是GNU宽通用公共许可证的软件。
从WindowsXP开始(WindowsME及Windows2000未经确认)附带的记事本,若在自动换行功能打开时保存,且当前窗口内有任何行长度超过编辑窗口宽度,则保存后该行会如同在原自动换行位置插入硬回车一样“断开”,更改窗口宽度(无论是扩大还是缩小)便可发现此现象。
但是,保存至文档中的内容并不会受到影响。
由于记事本功能简单,稍有经验的程序员都可以开发出与记事本功能近似的小软件,所以在一些编程语言工具书上也会出现仿照记事本功能作为参考的示例,有趣的是,记事本亦可用来撰写软件,但不包含程序的编译功能,编译程序仍得通过外部程序解决。
1.2记事本的编写目的及意义
记事本指的是Windows操作系统附带的一个简单的文本编辑、浏览软件
记事本只能处理纯文本文件,但是,由于多种格式源代码都是纯文本的,所以记事本也就成为了使用最多的源代码编辑器。
它只具备最基本的编辑功能,所以体积小巧,启动快,占用内存低,容易使用。
“记事本”的功能虽然连“写字板”都比不上,但它还是有它自己的独门绝技的。
下面我们就来看看记事本吧。
相对于微软的Word来说“记事本”的功能确实是太单薄了,只有:
新建,保存,打印,查找,替换这几个功能。
但是“记事本”却拥有一个Word不可能拥有的优点:
打开速度快,文件小。
我相信对于这一点大家一定是深有感触地,一点就打开;同样的文本文件用Word保存和用记事本保存的文件大小就大不相同,所以对于大小在64KB以下的纯文本的保存最好还是采用记事本。
记事本另一项不可取代的功能是:
可以保存无格式文件。
你可以把记事本编辑的文件保存为:
“.html”,“.java”,“.asp”等等任意格式。
这使得“记事本”又找到了一个新的用途:
作为程序语言的编辑器。
翻开任何一本介绍一门编程语言的入门教材,里面都会建议学生在记事本中编写源程序。
记事本使用的一个老窍门,在记事本文件的第一行输入.LOG之后,按回车键换行(.log和文字之间必须要空一行,这样才能够正确生效。
),之后你会发现在每次编辑的结尾处有个时间显示。
你也可以利用这个功能,把它当作是数码日记本。
一般来说记事本右边和下边都会有滚动条,如果想只在右边显示滚动条,可以勾选格式菜单下的自动换行。
随着科学技术的快速发展,计算机在人们的日常生活中早已十分普及,个人电脑也越来越多。
个人电脑对于我们来说也越来越重要,在平时的生活中,我们需要通过笔记本来记录一些日常生活中一些事情,而且现在有许多用户通过记事本来书写自己的日记或者文章,对于现在的用户来说,拥有一个简单而且功能强大的记事本也很有必要,拥有一个可以加密的记事本对于用户来说必不可少。
所以要编写一个可以满足大众用户的记事本,不仅要功能强大,而且操作简单,并且拥有加密保存功能。
1.3Java技术
Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。
由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。
随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
Java编程语言的风格十分接近C++语言。
继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指針,改以引用取代,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口取代,增加垃圾回收器泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。
太阳微系统对Java语言的解释是:
“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”
Java不同于一般的编译语言和直译语言。
它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。
在早期JVM中,这在一定程度上降低了Java程序的运行效率。
但在J2SE发布后,Java的运行速度有了大幅提升。
与传统型态不同,Sun公司在推出Java时就将其作为开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。
后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。
Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大范围的Internet上。
1995年,Java语言的名字从Oak编程了Java。
1997年J2SE1.1发布。
1998年J2SE1.2发布,标志Java2的诞生。
十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。
Java的体系结构由Java语言、Javaclass、JavaAPI、Java虚拟机组成。
它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。
Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。
Java的平台标准有JavaME,JavaSE和JavaEE。
Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。
目前在众多的支持Java的开发工具中主要的7有JavaDevelopmentKit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。
其中JavaDevelopmentKit简称JDK是大多开发工具的基础。
以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。
由于Java编译器和虚拟机的不同对Java代码的性能影响比语言本身的影响大的多,所以统一讨论Java的程序的性能经常是有误导性的。
据IBM的数据,在同样的硬件上2001年时的IBMJDK版本的性能是1996年的JDK版本的十倍左右。
而即使是在同一时期,不同公司的JDK和JRE的性能也不一样,比如SUN、IBM、BEA等公司都有自己开发的JDK和JRE。
Java语言的一些特性不可避免的有额外的性能代价,例如数组范围检查、运行时类型检查等等。
Java程序的性能还会因为不同的动态复杂性和垃圾处理机制使用的多少而各有不同。
如果JVM的实现比较优化的话,那么这些功能甚至可以增加存储器分配的性能。
这和总是使用STL或者托管C++的程序的情况类似。
尽管如此,仍然有许多人认为Java的性能低。
这部分归因于Sun公司最初的JVM实现使用未优化的解释机制来运行字节码。
一些新版本的JVM使用Just-In-Time(JIT)编译器,在加载字节码的时候将其编译成针对运行环境的本地代码来实现一些本地编译器的优化特性。
Just-In-Time机制和本地编译的性能比较仍旧是一个有争议的话题。
JIT编译需要很多时间,对于运行时间不长或者代码很多的大型程序并不适宜。
但是不算JIT编译阶段的话,程序的运行性能在很多JVM下可以和本地编译的程序一争短长,甚至在一些计算比较密集的数值计算领域也是这样。
目前,Java已经使用更先进的HotSpot技术来代替JIT技术,Java的性能有了更进一步的提升。
另外,在使用-server选项运行Java程序时,也可以对Java进行更深入的优化,比如在运行时将调用较多的方法内联(inline)到程序中来提高运行速度,这就是所谓的“动态优化”,而本地编译器是无法做到这一点的;这也是一些Java代码比对应用C/C++等语言编写的本地代码运行的更快的原因之一。
微软的.NET平台也使用JIT编译器,所以也有类似问题。
Java的设计目的主要是安全性和可携性,所以对于一些特性,比如对硬件架构和存储器地址访问的直接访问都被去除了。
如果需要间接调用这些底层功能的话,就需要使用JNI(Java本地接口)来调用本地代码,而间接访问意味着频繁调用这些特性时性能损失会很大,微软的.NET平台也有这样的问题。
所以到目前为止,性能敏感的代码,例如驱动程序和3D视频游戏,还是大多使用本地编译,甚至直接以不直接支持面向对象的C语言或机器码编写。
但最近已经有了许多用纯Java编写的3D游戏,其效果与用C语言编写的不相上下,例如“合金战士”(英文名:
Chrome)。
这主要是因为新版的Java3D技术已经能像C++一样调用硬件加速,也就是使用显卡来加速,无论是C++还是Java语言写的3D游戏都是使用显卡及GPU来处理,从而使得CPU可以专注于其他方面的工作。
1.4Java技术的优点
Java的特点之一就是面向对象,是程序设计方法的一种。
“面向对象程序设计语言”的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作。
代码和数据的实际集合体叫做“对象”。
一个对象可以想像成绑定了很多“行为(代码)”和“状态(数据)”的物体。
对于数据结构的改变需要和代码进行通信然后操作,反之亦然。
面向对象设计让大型软件工程的计划和设计变得更容易管理,能增强工程的健康度,减少失败工程的数量。
Java语言的第二个特性就是跨平台性,也就是说使用Java语言编写的程序可以在编译后不用经过任何更改,就能在任何硬件设备条件下运行。
这个特性经常被称为“一次编译,到处运行”。
执行Java应用程序必须安装JavaRuntimeEnvironment(JRE),JRE内部有一个Java虚拟机(JavaVirtualMachine,JVM)以及一些标准的类库(ClassLibrary)。
通过JVM才能在电脑系统执行Java应用程序(JavaApplication),这与.NetFramework的情况一样,所以电脑上没有安装JVM,那么这些程序将不能够执行。
实现跨平台性的方法是大多数编译器在进行Java语言程序的编码时候会生成一个用字节码写成的“半成品”,这个“半成品”会在Java虚拟机(解释层)的帮助下运行,虚拟机会把它转换成当前所处硬件平台的原始代码。
之后,Java虚拟机会打开标准库,进行数据(图片、线程和网络)的访问工作。
主要注意的是,尽管已经存在一个进行代码翻译的解释层,有些时候Java的字节码代码还是会被JIT编译器进行二次编译。
有些编译器,比如GCJ,可以自动生成原始代码而不需要解释层。
但是这些编译器所生成的代码只能应用于特定平台。
并且GCJ目前只支持部分的JavaAPI。
甲骨文公司对于Java的许可是“全兼容的”,这也导致了微软和升阳关于微软的程序不支持RMI和JNI接口、并且增加特性为己所用的法律争端。
升阳最终赢得了官司,获得了大约两千万美元的赔偿,法院强制要求微软执行升阳公司关于Java的许可要求。
作为回应,微软不再在Windows系统中捆绑Java,最新的Windows版本,WindowsVista和InternetExplorer7.0版本也不再提供对于Java应用程序和控件的支持。
但是升阳公司和其他使用Java运行时系统的公司在Windows操作系统下对用户提供无偿的第三方插件和程序支持。
Java语言使用解释层最初是为了轻巧性。
所以这些程序的运行效率比C语言和C++要低很多,用户也对此颇有微词。
很多最近的调查显示Java的程序运行速度比几年前要高出许多,有些同样功能的程序的效率甚至超过了C++和C语言编写的程序。
Java语言在最开始应用的时候是没有解释层的,所有需要编译的代码都直接转换成机器的原始代码。
这样做的后果就是获得了最佳的性能,但是程序臃肿异常。
从JIT技术开始,Java的程序都经过一次转换之后才变成机器码。
很多老牌的第三方虚拟机都使用一种叫做“动态编译”的技术,也就是说虚拟机实时监测和分析程序的运行行为,同时选择性地对程序所需要的部分进行编译和优化。
所有这些技术都改善了代码的运行速度,但是又不会让程序的体积变得失常。
程序的轻便性事实上是软件编写很难达到的一个目标,Java虽然成功地实现了“一次编译,到处运行”,但是由于平台和平台之间的差异,所编写的程序在转换代码的时候难免会出现微小的、不可察觉的错误和意外。
有些程序员对此非常头疼,他们嘲笑Java的程序不是“一次编译,到处运行”,而是“一次编译,到处调试”。
以JavaAWT为例,早期JavaAWT内提供的按钮、文字区等均是以计算机系统所默认的样式而显示。
这令Java程序在有些没有提供图案的计算机系统产生错误(在MicrosoftWindows设有窗口管理器,在一些Linuxdistribution则没有)。
后来SUN公司针对JavaAWT一些问题而推出JavaSwing。
平台无关性让Java在服务器端软件领域非常成功。
很多服务器端软件都使用Java或相关技术创建。
C++语言被用户诟病的原因之一是大多数C++编译器不支持垃圾收集机制。
通常使用C++编程的时候,程序员于程序中初始化对象时,会在主机存储器堆栈上分配一块存储器与地址,当不需要此对象时,进行解构或者删除的时候再释放分配的存储器地址。
如果对象是在堆栈上分配的,而程序员又忘记进行删除,那么就会造成存储器泄漏(MemoryLeak)。
长此以往,程序运行的时候可能会生成很多不清除的垃圾,浪费了不必要的存储器空间。
而且如果同一存储器地址被删除两次的话,程序会变得不稳定,甚至崩溃。
因此有经验的C++程序员都会在删除之后将指针重置为NULL,然后在删除之前先判断指针是否为NULL。
C++中也可以使用“智能指针”(SmartPointer)或者使用C++托管扩展编译器的方法来实现自动化存储器释放,智能指针可以在标准类库中找到,而C++托管扩展被微软的VisualC++7.0及以上版本所支持。
智能指针的优点是不需引入缓慢的垃圾收集机制,而且可以不考虑线程安全的问题,但是缺点是如果不善使用智能指针的话,性能有可能不如垃圾收集机制,而且不断地分配和释放存储器可能造成存储器碎片,需要手动对堆进行压缩。
除此之外,由于智能指针是一个基于模板的功能,所以没有经验的程序员在需要使用多态特性进行自动清理时也可能束手无策。
Java语言则不同,上述的情况被自动垃圾收集功能自动处理。
对象的创建和放置都是在存储器堆栈上面进行的。
当一个对象没有任何引用的时候,Java的自动垃圾收集机制就发挥作用,自动删除这个对象所占用的空间,释放存储器以避免存储器泄漏。
Java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE发布后,Java的执行速度有了大幅提升。
Java语言是一个支持网络计算的面向对象程序设计语言。
Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。
主要特性如下:
1、Java语言是简单的。
Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
另一方面,Java
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 记事本 毕业论文 设计