新浪笔试题
作者:莎仕比亚的围脖 | 来源:互联网 | 2024-12-27 19:32
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return
1: 有如下一段程序&#xff1a; packagea.b.c; publicclass Test{ private static int i&#61;0; public int getNext(){ return i&#43;&#43;; } } packagea.b.c; publicclass TestB{ public static void main(String[] args){ Test test&#61;new Test(); System.out.println(test.getNext()); Test testObject&#61;new Test(); System.out.println(testObject.getNext()); System.out.println(test.getNext()); } } 请问最后打印出来的是什么&#xff0c;为什么&#xff1f; 结果&#xff1a; 0 1 2 因为静态变量是类变量而不是对象变量&#xff0c;在类中只会保存一份。 后缀&#43;&#43;先返回值然后再加加。 2: 有这么一段程序&#xff1a; Stringa&#61;new String("a"); Stringb&#61;"b"; Stringc&#61;a&#43;b; StringBufferstrBuf&#61;new StringBuffer(); strBuf.append("a"); strBuf.append("b"); Stringd&#61;strBuf.toString(); StringBuilderstrBuilder&#61;new StringBuilder(); strBuilder.append("a"); strBuilder.append("b"); Stringe&#61;strBuilder.toString(); 请问以上程序片段中c、d、e的字符串的创建各有什么不同&#xff1f; c是两个string相加&#xff0c;string是一个字符串常量&#xff0c;不可更改&#xff0c;相加会新开辟一段内存&#xff0c;把a、b两个字符串复制过去。 d是stringBuffer类对象&#xff0c;他会在内存开辟一段空间&#xff0c;然后直接操作内存&#xff0c;将字符串加在其后面&#xff0c;不会重新在另外地方开辟内存。在做大量的字符串相加的时候他的速度要大于String直接相加。 e是StringBuilder对象&#xff0c;他是StringBuffer对象的简化版&#xff0c;他是线程不安全&#xff0c;而StringBuffer是线程安全的所以在单线程中采用StringBuilder速度要快的多。 3: 描叙下final,finally, finalize的区别 final&#xff1a; 修饰一个变量或对象时表示表示一个常量&#xff0c;修饰方法的时候方法不能被重写&#xff0c;定义类表示类不能被重写。 finally &#xff1a;是错误处理所使用的关键字&#xff0c;他表示try代码块中无论发生不发生异常&#xff0c;finally里面的代码都必须执行。 finalize&#xff1a;是GC回收它所从属的对象时会调用的对象的方法。 4: 现有以下数据表结构&#xff0c;请按要求写出SQL语句 购物人 商品名称 数量 A 甲 2 B 乙 4 C 丙 1 A 丁 2 B 丙 5 查出所有购入商品为两种或两种以上的购物人记录 SELECT * FROM tableName WHERE 购物人 IN ( SELECT 购物人 FROM tableName GROUP BY 购物人 HAVING count(商品名称)>&#61;2 ) 5: 描叙下TCP协议三次握手过程 第一次握手&#xff1a;建立连接时&#xff0c;客户端发送syn包和一个随机序列号seq&#61;x到服务器&#xff0c;并进入SYN_SEND状态&#xff0c;等待服务器进行确认。&#xff08;syn&#xff0c;同步序列编号&#xff09;。第二次握手&#xff0c;服务器收到syn包&#xff0c;必须确认客户的SYN&#xff0c;然后服务器发送一个ACK&#61;1, SYN&#61;1, seq&#61;y的随机数和ack&#61;x&#43;1的确认数的包发送回去。第三次握手是客户端收到服务器端的SYN&#43;ACK包&#xff0c;然后向服务器端发送确认包ack&#61;y&#43;1,seq&#61;x&#43;1, ACK&#61;1,客户端和服务器端进入ESTABLISHED状态&#xff0c;完成三次握手。 6: 用java/php/C&#43;&#43;实现一个单例模式. public classTestSingle { private TestSingle() {} private static TestSingle single; static{ single &#61; new TestSingle(); } public synchronized static TestSingle getInstance() { if (single &#61;&#61; null) { single &#61; new TestSingle(); } return single; } } 7: 罗列你知道的排序算法,并注明他们的复杂度 冒泡排序法 复杂度是O(n2) 选择排序负 复杂度是O(n2) 插入排序法 复杂度是O(n2) 合并排序法 复杂度是O(nlgn) 快速排序法 复杂度是O(nlgn) 合并排序法 复杂度是O(nlgn) Shell排序法 复杂度是O(nlgn) 8: 用java/php/C&#43;&#43;实现快速排序算法 void qsort(inttest[], int left, int right) { int i &#61; left&#43;1, j &#61; right, tmp; int x &#61; test[left]; while(i<&#61;j) { while(test[i] <&#61; x && i<&#61; j) i&#43;&#43;; while(test[j] >&#61; x && j>&#61; i) j--; if(i { tmp &#61; test[i]; test[i] &#61; test[j]; test[j] &#61; tmp; i&#43;&#43;; j--; } } if(left !&#61; j) { test[left] &#61; test[j]; test[j] &#61; x; } if(left { qsort(test, left, j-1); } if(j&#43;1 { qsort(test, j&#43;1, right); } } 9: 名词解释&#xff1a;HTML5&#xff0c;CSS&#xff0c;STL&#xff0c;MYSQL,B-tree, Fedora. HTML5是HTML(超文本标记语言)的新一代标准&#xff0c;他在HTML4上删掉了一些标签增加了一些标签。 CSS是层叠样式表(Cascading Style Sheet)&#xff0c;通过设置一个或一组样式应用于HTML中&#xff0c;使页面的内容和布局表现相分离。 STL是C&#43;&#43;的标准模板类&#xff0c;包括vector、map、set、list等等&#xff0c;主要应用的是泛型思想实现了一些标准的类库和方法。 MYSQL是一个可以应用于windows和Linux下的开源的优秀的关系数据库系统&#xff0c;支持标准的SQL语句。 B-tree是多路搜索树&#xff0c;主要用于数据库基于键值的记录的存取或查找&#xff0c;或者用于硬盘中文件的节点。 Fedora是一个基于Linux的一个开源操作系统的一个版本&#xff0c;是从Red Hat Linux延伸出来的一个免费的版本。 10: 在linux下&#xff0c;需要每天凌晨4:30把 /abc目录下的文件归档并压缩为back20110615.tar.gz&#xff0c;描叙shell实现方式。 使用crontab来实现&#xff0c;格式如下 crontab -e 30 4 * * * tar -czvfback20110615.tar.gz /abc 11. 不能用来修饰interface的有&#xff08;&#xff09; A&#xff0e;private B&#xff0e;public C&#xff0e;protected D&#xff0e;static A C D&#xff0c;接口只能用public来修饰 12.System.out.println(-1>>>1) 输出什么. A.-1 B.1 C. 2147483647 D. -2147483647 C. java移位运算 >>>是无符号右移&#xff0c;左边补0 >>是有符号右移&#xff0c;左边补1 13. 下列有关Servlet的生命周期&#xff0c;说法不正确的是&#xff08;&#xff09;。 A、在创建自己的Servlet时候&#xff0c;应该在初始化方法init()方法中创建Servlet实例。 B、在Servlet生命周期的服务阶段&#xff0c;执行service()方法&#xff0c;根据用户请求的方法&#xff0c;执行相应的doGet()或是doPost()方法。 C、在销毁阶段&#xff0c;执行destroy()方法后系统立刻进行垃圾回收。 D、destroy()方法仅执行一次&#xff0c;即在服务器停止且卸载Servlet时执行该方法。 14. 关于异常处理机制的叙述哪些正确&#xff08;B C&#xff09;。 A. catch部分捕捉到异常情况时&#xff0c;才会执行finally部分 B. 当try区段的程序发生异常时&#xff0c;才会执行catch区段的程序 C. 不论程序是否发生错误及捕捉到异常情况&#xff0c;都会执行finally部分 D. 以上都是 编程题: 1. jsp有哪些内置对象?作用分别是什么? 2. 由于没有设置主键&#xff0c;表weibo有许多重复记录&#xff0c;写一个sql&#xff0c;把所有重复的记录删除掉&#xff0c;留下唯一的记录。 先选择出不重复的装到一个表里再重命名就可以了。 3. 写一个方法,输入任意一个整数,返回它的阶乘。 4. 写一个程序三个线程分别输出A,B,C, 顺序输出ABC十次。 5. 写一个二分查找算法,注意细节。
推荐阅读
本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ...
[详细]
蜡笔小新 2024-12-28 10:51:55
本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ...
[详细]
蜡笔小新 2024-12-28 10:36:30
Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ...
[详细]
蜡笔小新 2024-12-28 08:54:34
本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ...
[详细]
蜡笔小新 2024-12-27 18:51:49
本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ...
[详细]
蜡笔小新 2024-12-27 17:31:41
本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ...
[详细]
蜡笔小新 2024-12-27 16:11:49
本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ...
[详细]
蜡笔小新 2024-12-27 16:01:25
本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ...
[详细]
蜡笔小新 2024-12-27 15:06:12
本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ...
[详细]
蜡笔小新 2024-12-27 15:04:09
本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ...
[详细]
蜡笔小新 2024-12-27 13:55:14
本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ...
[详细]
蜡笔小新 2024-12-27 11:39:44
本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ...
[详细]
蜡笔小新 2024-12-27 10:18:13
本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ...
[详细]
蜡笔小新 2024-12-27 19:10:10
IneedtofocusTextCellsonebyoneviaabuttonclick.ItriedlistView.ScrollTo.我需要通过点击按钮逐个关注Tex ...
[详细]
蜡笔小新 2024-12-27 17:02:23
本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ...
[详细]
蜡笔小新 2024-12-27 10:28:40