操作系统:
1.Windows操作系统
⑴直观、高效的面向对象的图形用户界面,易学易用
⑵用户界面统一、友好、漂亮
⑶丰富的设备无关的图形操作
⑷多任务操作环境
2.Unix操作系统
⑴UNIX系统是一个多用户,多任务的分时操作系统
⑵UNIX的系统结构可分为三部分:操作系统内核,系统调用,应用程序
⑶UNIX系统大部分是由C语言编写的
⑷UNIX提供了丰富的,精心挑选的系统调用
⑸UNIX提供了功能强大的可编程的Shell语言作为用户界面
⑹UNIX系统采用树状目录结构
⑺UNIX系统采用进程对换的内存管理机制和请求调页的存储方式
⑻UNIX系统提供多种通信机制
3.Linux操作系统
⑴Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途
⑵Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码
⑶完全兼容POSIX1.0标准
⑷多用户、多任务操作环境;支持多种平台
4.Mac OS操作系统
⑴全屏模式是新版操作系统中最为重要的功能,一切应用程序均可以在全屏模式下运行
⑵任务控制整合了Dock和控制面板,并可以窗口和全屏模式查看各种应用
⑶快速启动面板的工作方式与iPad完全相同,它以类似于iPad的用户界面显示电脑中安装的一切应用,并通过App Store进行管理,用户可滑动鼠标,在多个应用图标界面间切换
⑷Mac App Store的工作方式与iOS系统的App Store完全相同,他们具有相同的导航栏和管理方式
————————————————
应用服务器
Apache
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。
Tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
Weblogic
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优势。
Websphere
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。
WebSphere 是一个模块化的平台,基于业界支持的开放标准。可以通过受信任和持久的接口,将现有资产插入 WebSphere,可以继续扩展环境。WebSphere 可以在许多平台上运行,包括 Intel、Linux 和 z/OS。
WebSphere 是随需应变的电子商务时代的最主要的软件平台,可用于企业开发、部署和整合新一代的电子商务应用,如B2B,并支持从简单的网页内容发布到企业级事务处理的商业应用。WebSphere 可以创建电子商务站点, 把应用扩展到联合的移动设备, 整合已有的应用并提供自动业务流程。
JBoss
是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
IIS
"IIS"即(Internet Identity system)中文翻译为“互联网识别体系。"IIS"在人们日常的工作中,是指企业有意识,有计划地将自己企业的CI特征通过互联网向社会公众主动地展示与传播,使公众在互联网中对企业有一个可管理、符合企业传播规范的印象和认识,以便消费者更好地认知并留下良好的印象。
对以上几种服务器的对比和分析
Apache是一个静态页面,而Tomcat是一个动态页面。如果想要在Apache环境下运行jsp动态网页就需要一个jsp解释器,而tomcat就是作为一个解释器来帮助在Apache的环境下执行动态页面,Tomcat是先将静态页面转换成java.类型文件,然后再以jsp.的文件形式运行。但是在处理静态页面时,tomcat就不如Apache那样迅速,也不能对其进行配置。因此在现实的使用中,Tomcat是做为一Apache的一个插件来显示网站的动态页面的。这样可以使网站具有更好的扩展性和安全性。
JBoss Web将Tomcat内核作为其Servlet容器引擎,Tomcat,在很活动连接支持、静态内容、大文件和HTTPS处理上表象不如JBoss那样优越,同时Tomcat只能运行Java应用程序,企业在使用时Tomcat,这样在使用时需要用Apache Web Server进行整合。
Apache支持所有的操作系统,可以跨平台使用,而IIS只能基于windows操作系统下使用,在开源代码方面Apache是完全开放免费的,而IIS是部分开源代码。在安装上IIS使用的是傻瓜式图形化安装,使用者只要按照提示安装即可,但是Apache在安装上相对复杂困难,在语言的运行方面Apache支持多种运行语言例如ASP,PHP,JSP,但是IIS如果要运行PHP需要反复的配置才能运行。
WebLogic和WebSphere都是中间件,除做web容器外还支持一系列应用,如JMS,EJB等。二者都是基于Java平台来满足实时处理需求的,不同的版本与jdk版本兼容和有所不同;他们都基于sun公司的servlet来实现的.
从以上的对比来看,Apache的使用率以及在性能上都是是要优越于其他应用服务器的,Apache与tomcat整合使用,可以发挥更大作用,不论在静态页面还是动态页面上都能快速的运行,但是Apache的安装配置方面要比其他应用服务器复杂。与其他的应用服务器相比较,在安全性能方面Apache也要优越于其他应用服务器。
————————————————
数据库
Oracle
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。
MySql
SqlServer
Oracle和MySQL的主要区别
Oracle:客户端和命令窗口,都是由用户决定内容-> conn user_name/password;
MySQL:客户端和命令窗口,都是由数据库决定内容-> use datebase;
都可以创建多数据库多用户,个人倾向于Oracle一个数据库中多个用户的形式,MySQL多个数据库多个用户形式(最好每个数据库对应一个用户)
Oracle是大型数据库而MySQL是中小型数据库,Oracle市场占有率达40%,MySQL只有20%左右,同时MySQL是开源的而Oracle价格非常高。
Oracle支持大并发,大访问量,是OLTP(On-Line Transaction Processing联机事务处理系统)最好的工具。
安装所用的空间差别也是很大的,MySQL安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。
Oracle也与MySQL操作上的一些区别
组函数用法规则
MySQL中组函数在select语句中可以随意使用,但在Oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错
eg:
select name,count(money) from user;这个放在MySQL中没有问题在Oracle中就有问题了。
自动增长的数据类型处理
MySQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。Oracle没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。
CREATE SEQUENCE序列号的名称(最好是表名+序列号标记)INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;
其中最大的值按字段的长度来定,如果定义的自动增长的序列号NUMBER(6),最大值为999999
INSERT语句插入这个字段值为:序列号的名称.NEXTVAL
单引号的处理
MySQL里可以用双引号包起字符串,Oracle里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。
翻页的SQL语句的处理
MySQL处理翻页的SQL语句比较简单,用LIMIT开始位置,记录个数;PHP里还可以用SEEK定位到结果集的位置。Oracle处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置,并且只能用ROWNUM<100,不能用ROWNUM>80。
以下是经过分析后较好的两种Oracle翻页SQL语句(ID是唯一关键字的字段名):
语句一:
SELECT ID, [FIELD_NAME,...] FROM TABLE_NAME WHERE ID IN ( SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;
语句二:
SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (SELECT [FIELD_NAME,...] FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;
长字符串的处理
长字符串的处理Oracle也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节,如果要插入更长的字符串,请考虑字段用CLOB类型,方法借用Oracle里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。
日期字段的处理
MySQL日期字段分DATE和TIME两种,Oracle日期字段只有DATE,包含年月日时分秒信息,用当前数据库的系统时间为SYSDATE,精确到秒,或者用字符串转换成日期型函数TO_DATE('2001-08-01','YYYY-MM-DD')年-月-日24小时:分钟:秒的格式YYYY-MM-DD HH24:MI:SS TO_DATE()还有很多种日期格式,可以参看Oracle DOC.
日期型字段转换成字符串函数TO_CHAR('2001-08-01','YYYY-MM-DD HH24:MI:SS')
日期字段的数学运算公式有很大的不同。MySQL找到离当前时间7天用DATE_FIELD_NAME > SUBDATE(NOW(),INTERVAL 7 DAY)Oracle找到离当前时间7天用 DATE_FIELD_NAME >SYSDATE - 7;
MySQL中插入当前时间的几个函数是:NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。CURDATE()以'YYYY-MM-DD'的格式返回今天的日期,可以直接存到DATE字段中。CURTIME()以'HH:MM:SS'的格式返回当前的时间,可以直接存到TIME字段中。例:insert into tablename (fieldname) values (now())
而Oracle中当前时间是sysdate
空字符的处理
MySQL的非空字段也有空的内容,Oracle里定义了非空字段就不容许有空的内容。按MySQL的NOT NULL来定义Oracle表结构,导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。
字符串的模糊比较
MySQL里用字段名like%'字符串%',Oracle里也可以用字段名like%'字符串%'但这种方法不能使用索引,速度不快,用字符串比较函数instr(字段名,'字符串')>0会得到更精确的查找结果。
程序和函数里,操作数据库的工作完成后请注意结果集和指针的释放。
主键
MySQL一般使用自动增长类型,在创建表时只要指定表的主键为auto increment,插入记录时,不需要再指定该记录的主键值,MySQL将自动增长;Oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;只是ORM框架是只要是native主键生成策略即可。
Oracle实现了ANSIISQL中大部分功能,如,事务的隔离级别、传播特性等而MySQL在这方面还是比较的弱
————————————————
开发工具
IntelliJ IDEA
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Python等少数语言。
Eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
MyEclipse
MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。
Netbeans
NetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。
1)代码格式化:
IntelliJ IDE,Eclipse IDE以及Java NetBeans IDE在代码格式化方面类似。这些技术能够格式化整个源文件、被选中的部分源文件以及用户特定的代码。
2)查找和替换:
所有这三种IDE都支持带大小写匹配和正则表达式等选项的查找和替换功能。
Eclipse包含了一个为实现查找和替换的通用对话框,这个对话框覆盖着编辑器的窗口。
IntelliJ具有一个实现替换的特殊对话框窗口和一个实现查找的快速自动弹起顶条。IntelliJ的设计很巧妙。
NetBeans 使用了相似的方式,但它的自动弹出窗口是在编辑器窗口的底部。
3)代码补全:
这三种IDE中都有相似的代码补全功能,同时它们的设计也是相同的。IntelliJ具有一个被称为“驼峰(Camel Hump)”的特性,其功能是在单词列表中查找合适的文本。
4)用户提示:
Eclipse:一个像灯泡一样的图标会出现在左边条上,左边条带有某行所对应的行号。当光标停留在这个灯泡图标上时,具有提示作用的解释文本就会弹出,同时一整列的解决方案随即就显示出来了。
IntelliJ:使用IntelliJ的用户需要在解决方安列的提示文本上手动点击来获得用户提示。
NetBeans:使用NetBeans时,用户需要在提供可能的解决方案提示文档上以滚动滑条的方法得到用户提示。
宏
NetBeans:Netbeans支持宏编辑和帮助。用户可以移动、重命名、编辑和设置快捷方式。幸运的是,每隔两个位置用户就可以为宏编辑快捷方式,但用户在没有设置快捷方式的情况下是不能够运行宏的。
InelliJ:在使用IntelliJ时,用户可以对宏进行记录、编辑和重命名。用户不能设置宏的快捷方式。一旦用户设置了宏名,那么宏就会被自动添加。
Eclipse:Eclipse IDE不支持宏特性。
5)语法高亮
所有这三种IDE都支持语法高亮。它们都允许用户改变预定义颜色。
6)代码导航
导航器的一些特性如下:
◆结构视图
◆过滤器
◆快速查找
◆弹出导航器
NetBeans IDE,Intellij和Eclipse支持结构视图、过滤器和快速查找。而NetBeans IDE和IntelliJ不支持弹出导航器特性,但Eclipse支持这项特性。
7)任务管理:
任务管理一些特定的子部分如下:
◆活动(active)源文件中的任务列表
◆项目中德任务列表
◆过滤
◆新任务定义
Eclipse:它具有经典的任务视图。它允许用户根据诸如描述、资源、路径、地点和优先级等可获得的域对任务进行分类。它支持工程中的任务列表,过滤以及新任务定义。
NetBeans IDE:-NetBeans IDE具有和Eclipse相同的任务管理方式。但是它不支持任务优先级。NetBeans IDE在不同的窗口中可以显示错误。
IntelliJ IDE:它具有一个任务树状视图,任务树的叶子是任务,节点是文件。从一个任务移动到另一个任务是个困难而复杂的过程。它的设置中有一个默认的TODO命令。
8)重构
重构的特定子部分如下:
◆Find用法
◆重命名
◆移动
◆安全删除
Eclipse IDE:Eclipse IDE支持find用法、重命名和移动特性。当一个用户打算改变或者重命名一个方法时,标示符将会被设置成高亮,用户继而可以改变相应的方法名。
IntelliJ: IntelliJ支持Find用法、重命名、安全删除和移动特性,在用户新命名、重构、预览和删除按纽之前,一个单视图会呈现在用户眼前。
NetBeans IDE:NetBeans支持所有四项功能(find用法,重命名,移动以及安全删除)。Netbeans的预览设计同Eclipse类似。但它的预览窗口是在屏幕下方显示,程序员浏览起来不大方便。
9)自动代码生成:
自动代码生成有两个字部分,它们是
◆构造器
◆设置器/获得器(Getters)
NetBeans IDE:NetBeans IDE支持函数构造器和设置器。
IntelliJ IDE:支持函数构造器和设置器。
Eclipse:Eclipse也具有类似设计,同时支持函数构造器和设置器,它还具有一些其他能力,比如设置插入点,进而可以在该点处生成代码。
来源:https://www.cnblogs.com/rookie-long/p/11479737.html