此题为判断题(对,错)。
下列关于字符串的叙述错误的是 ( )
A.创建String类的字符串对象后,字符串所代表的文本根据情况可改变
B.字符串由java.lang.String和java.lang.StringBuffer定义
C.字符串常用数组存储,处理字符串实际上就是对数组元素的分别处理,要注意数组下界不要越界
D.在Java语言中,字符串是作为对象来处理的
下列关于字符串的叙述错误的是( )。
A.创建String类的字符串对象后,字符串所代表的内容根据情况可改变
B.字符串可以使用java.lang.String和java.lang.StringBuffer来定义
C.StringBuffer用来处理长度可变的字符串
D.在Java语言中,字符串是作为对象来处理的
String 和StringBuffer的区别
JAVA 平台提供了两个类:String 和StringBuffer,它们可以储存和操作字符串,即包含多个
字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer 类提供
的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,
你可以使用StringBuffers 来动态构造字符数据。另外,String 实现了equals 方法,new
String(“abc”).equals(new String(“abc”)的结果为true,而StringBuffer 没有实现equals 方法,所
以,new StringBuffer(“abc”).equals(new StringBuffer(“abc”)的结果为false。
接着要举一个具体的例子来说明,我们要把1 到100 的所有数字拼起来,组成一个串。
StringBuffer sbf = new StringBuffer();
for(int i=0;i<100;i++)
{
sbf.append(i);
}
上面的代码效率很高,因为只创建了一个StringBuffer 对象,而下面的代码效率很低,因为
创建了101 个对象。
String str = new String();
for(int i=0;i<100;i++)
{
str = str + i;
}
String 字符串常量,StringBuffer 字符串变量(线程安全),StringBuilder 字符串变量(非线程安全)
研发工程师面试笔试题目研发工程师面试难吗?求职面试时,面试官一般都会问你一些问题,也可能是通过问卷的形式提问,怎么回答才是最好的呢?这里给大家分享一些研发工程师面试笔试题目,希望对大家有所帮助。研发工程师招聘面试题一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?1. String是字符串常量,StringBuffer和StringBuilder是字符串变量。StringBuffer是线程安全的,StringBuilder是非线程安全的。具体来说String是一个不可变的对象,每次修改String对象实际上是创新新对象,并将引用指向新对象。效率很低。StringBuffer是可变的,即每次修改只是针对其本身,大部分情况下比String效率高,StringBuffer保证同步(synchronized),所以线程安全。StringBuilder没有实现同步,所以非线程安全。但效率应该比StringBuffer高。StringBuffer使用时最好指定容量,这样会比不指定容量快30%-40%,甚至比不指定容量的StringBuilder还快。二、VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?vector是同步的,arraylist和linkedlist不是同步的。底层方面,vector与arraylist都是基于objectarray实现的,但考虑vector线程安全,所以arraylist效率上回比vector较快。元素随机访问上,vector与arraylist是基本相同的,时间复杂度是O(1),linkedlist的随机访问元素的复杂度为O(n)。但在插入删除数据上,linkedlist则比arraylist要快很多。linkedlist比arraylist更占内存,因为linkedlist每个节点上还要存储对前后两个节点的引用。三、HASHTABLE, HASHMAP,TreeMap区别Hashmap和HashTable都实现了Map接口,但HashTable是线程安全的,HashMap是非线程安全的。HashMap中允许key-value值均为null,但HashTable则不允许。HashMap适合单线程,HashTable适合多线程。HashTAble中的hash数字默认大小是11,增加方式为old_2+1,HashMap中的hash默认大小为16,且均为2的指数。TreeMap则可以将保持的数据根据key值进行排列,可以按照指定的排序方式。默认为升序。四、ConcurrentHashMap和HashTable的区别两者均应用于多线程中,但当HashTable增大到一定程度时,其性能会急剧下降。因为迭代时会被锁很长时间。但ConcurrentHashMap则通过引入分割来保证锁的个数不会很大。简而言之就是HashTable会锁住真个map,而ConcurrentHashMap则只需要锁住map的一个部分。五、Tomcat,apache,jboss的区别Tomcat是servlet容器,用于解析jsp,servlet。是一个轻量级的高效的容器;缺点是不支持EJB,只能用于Java应用。Apache是http服务器(web服务器),类似于IIS可以用来建立虚拟站点,编译处理静态页面。支持SSL技术,支持多个虚拟主机等功能。Jboss是应用服务器,运行EJB的javaee应用服务器,遵循javaee规范,能够提供更多平台的支持和更多集成功能,如数据库连接,JCA等。其对servlet的支持是通过集成其他servlet容器来实现的。如tomcat。六、GET POST区别get是从服务器上获取数据,post是向服务器发送数据。get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在url中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在html header内一起传送到action属性所指的url地址。对于get方式,服务区端用request.QueryString获取变量值,对于post方式,服务器端用request.Form获取提交的数据。get传送的数据量较小,post较大,一般不受限制。get安全性比post要低,但执行效率较高。七、SESSION, COOKIE区别session数据放在服务器上,cookie则放在客户浏览器上。cookie不太安全,因为可以分析出本地cookie,并进行cookie欺骗,考虑安全应使用session。session会在一定时间内保存在服务器上,当访问增多时,会比较占用服务器的性能,考虑减轻服务器压力则应该使用cookie。单个cookie保持的数据不超过4k,很多浏览器都限制要给站点最多保存20个cookie。八、Servlet的生命周期主要分三个阶段:初始化调用init()方法,响应客户请求阶段调用service()方法,终止阶段调用destroy方法。工作原理:客户发送一个请求,servlet调用service方法对请求进行响应,即对请求方式进行匹配,选择调用doGet、doPost方法等,然后进入对于的方法中调用逻辑层的方法,实现对客户的响应。自定义的servlet必须首先servlet接口。具体生命周期包括:装载Servlet、服务器创建Servlet实例、服务器调用Servlet的init()方法、客户请求到达服务器、服务器创建请求对象、服务创建相应对象、服务器激活Servlet的service方法,请求对象和响应对象作为service()方法的参数、service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息、service()方法可能激活其他方法以处理请求,如doGet(),doPost()深圳艾派应用系统有限公司Java研发工程师面试题JAVA基础部分:一:选择关于静态变量描述正确的垃圾回收的方式system.gc()二:填空三:问答Statement 和preparedStatement的区别谈谈final, finally, finalize的区别面向对象部分:(这部分主要还是UML方面的)写一个Singleton模式一:选择UML的图下面那个图可以用来说明程序的执行顺序和程序的行为UML的执行者的描述正确的眼睛,鼻子,耳朵与头的关系描述正确A继承 B、。组合 C。实例化 D。引用男人和人的关系描述正确的是A继承 B。组合 C。实例化 D。引用二:填空可以用?来控制程序结构为单入口单出口三.问答题useCaseJAVA WEB部分:一:选择java中表示同步方法的关键字是synchronizedSCRIPT中用于提示消息的是那个二: 填空1. 事务的ACDI属性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)2. JSP的4个基本动作3. 字符串通常分为2类,字符串常量我们通常用 表示,字符串变量我们通常用 类表示4. 如何用javaScript 提示用户消息框提示对话框、三:问答题设计一个页面要求:有一个输入框用于填写age,一个提交按钮,还要写一段SCRIPT用于判断年龄(当年龄大于55岁时 要求提示用户年龄太大)面试问我的2个问题:HIBERNATE的主键你如何配置的,它有几种关联关系描述STRUTS的工作流久其Java研发面试题1.常用的开源框架2.Eclipse开发中用到的插件3.项目开发中,遇到问题如何解决,举例说明4.MVC控制层的作用5.开发中用到的工具6.谈谈数据库的内外连接7.你用过哪些数据库8.学习了哪些课程9.举例说明快速学习的成果10.在大学期间所获的奖励11.谈谈数据结构12.说说struts框架在前台会先让填一张表,正面是自己的基本信息,反面是心理测试题,就是让你选出符合描述自己的名词。之后是做一套题,内容涉及到操作系
下列关于字符串的描叙中错误的是( )
A、字符串是对象
B、String对象存储字符串的效率比StringBuffer高
C、可以使用StringBuffersb="这里是字符串"声明并初始化StringBuffer对象sb
D、String类提供了许多用来操作字符串的方法:连接,提取,查询等
提供长度可变字符串对象的表示的类是( )。
A.String类
B.StringBuffer类
C.Stringinput类
D.StringOutput类
下列哪个说法是正确的:()。
String与StringBuffer的区别()。
下列关于String类和stringBuffer类说法正确的有()。