介绍自己做的网站的论文,口碑营销的本质是什么,wordpress 数据喵,做花语的网站1.JAVA语言的下面几种数组复制方法中#xff0c;哪个效率最高#xff1f; A for循环逐一复制 B System.arraycopy C System.copyof D 使用clone方法 答案#xff1a;B A、for循环的话#xff0c;很灵活#xff0c;但是代码不够简洁. for循环为什么慢#xff0c;java中所… 1.JAVA语言的下面几种数组复制方法中哪个效率最高 A for循环逐一复制 B System.arraycopy C System.copyof D 使用clone方法 答案B A、for循环的话很灵活但是代码不够简洁. for循环为什么慢java中所以的变量都是引用就其本身来说实在栈区而申请的空间也就是new在堆中所以一来一回就会导致java中for循环变慢。 B、System.arraycopy()源码。可以看到是native方法native关键字说明其修饰的方法是一个原生态方法方法对应的实现不是在当前文件而是在用其他语言如C和C实现的文件中。 可以将native方法比作Java程序同程序的接口。 原型 public static native void arraycopy(Object src, int srcPos , Object dest, int destPos, int length); src - 源数组。srcPos - 源数组中的起始位置。dest - 目标数组。destPos - 目标数据中的起始位置。length - 要复制的数组元素的数量。 public class TestArrayCopy {/**
* param args
*/
public static void main(String[] args) {// TODO 自动生成方法存根String[] s1 {中国,山西,太原,TYUT,zyy,加拿大,不知道哪个州,不知道哪个市,不知道哪个学校,yxf};String[] s2 new String[10];System.arraycopy(s1, 0, s2, 0, 10);s2[6] 假设蒙大拿州;s2[7] 假设蒙特利尔市;s2[8] 假设Montreal商学院;System.out.println(This is s1);for(int i 0;i s1.length ;i){System.out.print(s1[i] ,);}System.out.println(\nThis is s2);for(int i 0;i s2.length ;i){System.out.print(s2[i] ,);}String[][] s3 {{中国,山西,太原,TYUT,zyy},{加拿大,不知道哪个州,不知道哪个市,不知道哪个学校,yxf}};String[][] s4 new String[s3.length][s3[0].length];System.arraycopy(s3, 0, s4, 0, s3.length);System.out.println(\nThis is original s3);for(int i 0;i s3.length ;i){for(int j 0; j s3[0].length ;j){System.out.print(s3[i][j] ,);}}s4[1][1] 假设蒙大拿州;s4[1][2] 假设蒙特利尔市;s4[1][3] 假设Montreal商学院;System.out.println(\nThis is s3 after s4 has changed.);for(int i 0;i s3.length ;i){for(int j 0; j s3[0].length ;j){System.out.print(s3[i][j] ,);}}System.out.println(\nThis is s4);for(int i 0;i s4.length ;i){for(int j 0; j s4[0].length ; j){System.out.print(s4[i][j] ,);}}
}} TestArrayCopy native方法 Java不是完美的Java的不足除了体现在运行速度上要比传统的C慢许多之外Java无法直接访问到操作系统底层如系统硬件等)为此Java使用native方法来扩展Java程序的功能。 可以将native方法比作Java程序同程序的接口其实现步骤 、在Java中声明native()方法然后编译 、用javah产生一个.h文件 、写一个.cpp文件实现native导出方法其中需要包含第二步产生的.h文件注意其中又包含了JDK带的jni.h文件 、将第三步的.cpp文件编译成动态链接库文件 、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件这个native()方法就可以在Java中被访问了。 C、选项有误copyOf不是System的方法而是Arrays的方法下面是源码可以看到本质上是调用的arraycopy方法。那么其效率必然是比不上 arraycopy的 1 2 3 4 5 6 public static int[] copyOf(int[] original, int newLength) { int[] copy new int[newLength]; System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength)); return copy; } D clone的话返回的是Object【】需要强制转换。 一般用clone效率是最差的 CD可以排除。那么AB怎么比较呢 给出一下参考的 http://bbs.csdn.net/topics/370151185。 http://xuyuanshuaaa.iteye.com/blog/1046621 java的system.arraycopy方法 结论System.arraycopy clone Arrays.copyOf for循环 2.下面有关servlet service描述错误的是 A 不管是post还是get方法提交过来的连接都会在service中处理 B doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的 C service()是在javax.servlet.Servlet接口中定义的 D service判断请求类型决定是调用doGet还是doPost方法 答案B 注意以下几点 1.service方法是在servlet生命周期中的服务期默认在HttpServlet类中实现根据HTTP请求方法GET、POST等将请求分发到doGet、doPost等方法实现。 2.GenericServlet 抽象类给出了设计servlet的一些骨架定义了servlet生命周期还有一些得到名字、配置、初始化参数的方法其设计的是和应用层协议无关的。doget/dopost与Http协议有关是在 javax.servlet.http.HttpServlet 中实现的。 3.doGet和doPost方法在HttpServlet类中实现GenericServlet中实现了service() 4.常说所有的请求都先由service方法处理而javax.servlet.GenericServlet接口实现了javax.servlet.Servle接口且javax.servlet.http.HttpServlet 是 javax.servlet.GenericServlet 的子类。只有最先定义好了的service方法才可以处理所有的请求。 3 .下面属于java合法变量定义的是 A final B 1var1 C _var2 D var3 答案C 标识符可以包括这4种字符字母、下划线、$、数字开头不能是数字不能是关键字 4. static String str00123456789; static String str10123456789; String str2str1.substring(5); String str3new String(str2); String str4new String(str3.toCharArray()); str0null; 假定str0,...,str4后序代码都是只读引用。Java 7中以上述代码为基础在发生过一次FullGC后上述代码在Heap空间不包括PermGen保留的字符数为 A 5 B 10 C 15 D 20 答案:C 这是一个关于java的垃圾回收机制的题目。垃圾回收主要针对的是堆区的回收因为栈区的内存是随着线程而释放的。堆区分为三个区年轻代Young Generation、年老代Old Generation、永久代Permanent Generation也就是方法区。 年轻代对象被创建时new的对象通常被放在Young除了一些占据内存比较大的对象,经过一定的Minor GC针对年轻代的内存回收还活着的对象会被移动到年老代一些具体的移动细节省略。 年老代就是上述年轻代移动过来的和一些比较大的对象。Minor GC(FullGC)是针对年老代的回收 永久代存储的是final常量static变量常量池。 str3,str4都是直接new的对象而substring的源代码其实也是new一个string对象返回 经过fullgc之后年老区的内存回收则年轻区的占了15个不算PermGen 5.What will happen when you attempt to compile and run the following code? public class test{ static{ int x5; } static int x,y; public static void main(String args[]){ x--; myMethod( ); System.out.println(xy x); } public static void myMethod( ){ yx x; } } A compiletime error B prints:1 C prints:2 D prints:3 E prints:7 F prints:8 答案D public class TestStaticMethod{static {int x5;//类变量}static int x,y;public static void main(String args[]){TestStaticMethod test new TestStaticMethod();System.out.println(x的值test.x);x--;// 局部变量System.out.println(x的值x);myMethod( );System.out.println(y的值y);System.out.println(x的值x);System.out.println(xy x);}public static void myMethod( ){yx x;}} TestStaiticMehod 6.下面不是面向对象的基本原则的是 A 单一职责原则Single-Resposibility Principle B 开放封闭原则Open-Closed principle C抽象类原则Abstract-Class principle D依赖倒置原则Dependecy-Inversion Principle E接口隔离原则Interface-Segregation Principle 答案C 面向对象的五大基本原则 http://www.cnblogs.com/yellowapplemylove/archive/2011/05/11/2042903.html单一职责原则SRP开放封闭原则OCP 里氏替换原则LSP 依赖倒置原则DIP 接口隔离原则ISP 7. 下面有关java threadlocal说法正确的有 A ThreadLocal存放的值是线程封闭线程间互斥的主要用于线程内共享一些数据避免通过参数来传递 B 线程的角度看每个线程都保持一个对其线程局部变量副本的隐式引用只要线程是活动的并且 ThreadLocal 实例是可访问的在线程消失之后其线程局部实例的所有副本都会被垃圾回收 C 在Thread类中有一个Map用于存储每一个线程的变量的副本。 D 对于多线程资源共享的问题同步机制采用了“以时间换空间”的方式而ThreadLocal采用了“以空间换时间”的方式 答案ABCD 转载于:https://www.cnblogs.com/Solomon-xm/articles/6055303.html