蔡猜猜

导航

java开发师笔试面试每日12题(3)

1、JDK和JRE的区别是什么?

Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。
Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。

2、集合框架中的泛型有什么优点?
Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。

3、静态变量和实例变量的区别?
静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;实例变量必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。静态变量可以实现让多个对象共享内存。在Java开发中,上下文类和工具类中通常会有大量的静态成员。

4、JavaScript 中,运算符 == 和 === 的区别是什么?
双等号(==)为相等运算符,当且仅当两个运算数相等时,它返回 true。需要注意的是,为确定两个运算数是否相等,== 运算符会进行类型转换。比如,2 == “2”会返回 true。
全等号由三个等号表示(===),也用于检查相等,只是它在检查相等前,不执行类型转换,即,只有在无需类型转换运算数就相等的情况下,才返回 true。比如,2 === “2”会返回 false,而 2 === 2 才会返回 true。

5、简述几种主流的数据库及其厂商?
主流的数据库及其厂商如下:
1)Oracle数据库是著名的Oracle(甲骨文)公司的数据库产品,Oracle数据库是世界上第一个商品化的关系型数据库管理系统;Oracle数据库采用标准SQL(结构化查询语言),支持多种数
据类型,提供面向对象的数据支持,具有第四代语言开发工具,支持UNIX、WINDOWS、OS/2等多种平台;Oracle公司的产品丰富,包括Oracle服务器、 Oracle开发工具和Oracle应用软件,
其中最著名的就是Oracle数据库。
2)DB2是IBM公司的关系型数据库管理系统。DB2有很多不同的版本, 可以运行在从掌上产品到大型机不同的终端机器上;DB2 Universal Database Personal Edition和DB2 Universal
Database Workgroup Edition分别是单用户和多用户系统, 可以运行在OS/2和Windows上;DB2是Oracle的主要竞争对手。
3)Sybase是美国Sybase公司的关系型数据库系统。Sybase是较早采用C/S技术的数据库厂商;典型的UNIX或Windows NT平台上客户机/服务器环境下的大型数据库系统;Sybase通常与
Sybase SQL Anywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的PowerBuilder为开发工具,在国内大中型系统中具有广泛的应用;
Sybase公司2010年被SAP收购。
4)Microsoft SQL Server是微软的产品,运行在Windows NT服务器上。Microsoft SQL Server的最初版本适用于中小企业,但是应用范围不断扩展,已经触及到大型、跨国企业的数据库管理。
5)MySQL是开放源码的小型关系型数据库管理系统。广泛应用在中小型网站中,成本低、规模较Oracle和DB2小;2008年1月16日,Sun收购MySQL。2009年4月20日,SUN被Oracle公司收购,
所以MySQL现在属于Oracle公司。

6、 简述索引的原理及创建索引的意义
索引是对表的一列或多列进行排序的结构。因为绝大多数的搜索方法在搜索排序结构时效率都会大大提高,所以如果表中某一列经常被作为关键字搜索,则建议对此列创建索引。
索引提供指针以指向存储在表中指定列的数据值,根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。
例如“Oracle SQL Reference”这本书,如果要查找Oracle SQL的操作符部分,可以通过以下两种方式。

7、.简要描述CSS 中的定位机制?
CSS中,除了默认的流定位方式以外,还有如下几种定位机制:浮动定位、相对定位、绝对定位和固定定位。
浮动定位是指将元素排除在普通流之外,并且将它放置在包含框的左边或者右边,但是依旧位于包含框之内。
相对定位将元素相对于它在普通流中的位置进行定位。
绝对定位是指将元素的内容从普通流中完全移除,并且可以使用偏移属性来固定该元素的位置。
固定定位是指将元素的内容固定在页面的某个位置。

8、列举String中几个常用的方法?
length():求字符串的长度

indexOf():求某个字符在字符串中的位置

charAt():求一个字符串中某个位置的值

equals():比较两个字符串是否相同

replace():将字符串中的某些字符用别的字符替换掉。形如replace(“abc”,”ddd”);字符串中的abc将会被ddd替换掉。

split():根据给定正则表达式的匹配拆分此字符串。形如 String s = "The time is going quickly!"; str1=s.split(" ");

substring():输出一个新的字符串,它是此字符串中的子串,形如substring(3,7);它将字符串中的第四个第五个第六个输出。

trim():将字符串开头的空白(空格)和尾部的空白去掉。

format():使用指定的语言环境、格式字符串和参数返回一个格式化字符串。

toLowerCase():将字符串中所有的大写改变成小写

toUpperCase():将字符串中所有的小写改变为大写

9、请说明Java script和Java的区别
1:java是由早期的sun公司开发的,现在的oracle公司,JavaScript是由网景公司开发的
2:JavaScript是基于对象和事件驱动的客户端(浏览器)的动态脚本语言
3:Java是一种强类型的纯粹面向对象的语言,JavaScript是一种弱类型的语言
比如: Java中 int i=10;
JavaScript中:int i="10";
4:JavaScrip不需要编译,直接在浏览器可以运行,浏览器会自动解析
Java则必须通过Javac编译器编译成字节码文件,依赖于JVM执行

10、触发器的作用?
触发器是一种用来保障参照完整性的特殊的存储过程,它维护不同表中数据间关系的有关规则。当对指定的表进行某种特定操作(如:Insert,Delete或Update)时,触发器产生作用。触发器可以调用存储过程。
定义一个好的触发器对简化数据的管理,保证数据库的安全都有重要的影响。触发器是针对表一级的,这就意味着,只有表的所有者有权创建表的触发器
一个表最多只能有三个触发器,insert,update,delete

●每个触发器只能用于一个表

●不能对视图、临时表创建触发器

●Truncate table能删除表,但不能触发触发器

●不能将触发器用于系统表

合理地使用触发器对性能的影响是正面的。在设计和使用触发器时,经常地用sp_depends命令了解对象所关联的触发器是有好处的,该命令能列出触发器影响的所有对象、表和视等。

在定义几类数据库对象的时候,对存储过程、索引和触发器要给予特别的注意,尤其存储过程,它设计的好坏对数据库性能的影响很大。

说明:Sybase触发器使用的两个测试表:Deleted表和Inserted表,它们都是临时表,其结构与触发器的基表结构相同,用来存放与修改相关的数据行。

posted on 2018-08-27 11:25  蔡猜猜  阅读(107)  评论(2编辑  收藏  举报