美文网首页Java 杂谈Java
java基础面试/笔试题整理(一)

java基础面试/笔试题整理(一)

作者: 唯有努力不欺人丶 | 来源:发表于2019-08-19 21:28 被阅读195次

    这里说一下,因为我前不久在找工作,加上平时没事刷刷牛客答答题当学习了,所以在这里整理出来的题目个人色彩很浓,都是我做过的并且错了的!!!(我觉得我都能做对的几乎所有人都会,没啥整理的必要)
    然后我会按照笔记的顺序写。所以没什么顺序而且有的可能重复,对付看吧/(毕竟错题本厚厚的一大本)

    1. 一个文件中只能有一个public class。
      这个说法是错误的,因为可能有内部类的情况。
    2. 一个类中可以有两个main方法。
      这个说法是正确的,可以重载。只不过作为入口的main方法只有一个。一个类可以有main方法也可以没有,而只有一个main方法的时候也可以是任意访问权限,因为这个类不一定要执行,可能只是辅助类。
    3. 下列命令中:
      .java是用来运行一个.class文件的
      .javadoc是用来生成api文档的
      .jar是用来生成jar包的
      .javac是用来把java文件编译成.class文件的
    4. String s = new String(“xyz”),如果“xyz”并没有被创建过,则该语句创建了两个String 对象。一个在堆中,第二个在字符串常量池中。如果在java字符串常量池中已经存在就只会创建一个。
    5. byte的取值范围是127到-128.(我记得当时学二进制补码的时候有个图很直观,有兴趣的可以自己去找找)
      short a = 128;
      byte b = (byte)a;
      b 的值为-128。因为强制转换出现溢出,128可以理解为127+1,即127
      后面是-128。
    6. byte a1 = 2,a2 = 3,a3;
      short s = 16;
      a2 = s;//这个编译错误,因为short转为byte需要强制转换
      a3 = a1 * a2;//这个也是编译错误,因为 a1 * a2的结果为int型,转为byte型也需要强制转换。
    7. 以下方法可以取到http请求中的cookie的值的有:
      request.getAttribute(key,value);//这个是在服务器端的操作。
      request.getHeader(String name);//以字符串的形式返回指定的请求的值,cookie也是头的一种。
      request.getCookies();//返回一个数组,包含客户端发送该请求的所有的cookie对象。
      request.getParameter();//是通过容器的实现来获取类似post/get方式传入的数据。
      所以本题可用的方法只有第二个和第三个。
    8. 接口中的变量默认是public static final的,方法默认是public abstract的。
    9. java继承中对构造函数是不继承的,只是显示或者隐式的调用。
    10. Math.ceil(num);//天花板,向上取整
      Math.floor(num);//地面 向下取整
      需要注意的是符号不变,数据类型不变。
    11. java中垃圾回收分为scanvenge gc 和 full gc,其中full GC的触发条件:
    • 直接调用system.gc();
    • 持久代满了会触发full GC;
    • 新生代满了会存survivor,survivor满了就会存老年代,老年代满了就触发full GC了。
    • 其他可能还有,在这就不多说了。对垃圾回收有疑惑的可以点下面链接
      深入JVM(二) java垃圾收集器与内存分配策略
    1. Double d = 3;//这个声明是错误的,Double是包装类,int无法直接转换成包装类型Double。
      double d = 5.3e12;这个是正确的,5.3e12表示5.3*10的12次方。
    2. 通过new创建的String类型会在堆中存放。
    3. java的泛型机制仅仅是“语法糖”。他不会影响运行时间。因为在编译阶段虚拟机就会把泛型的类型擦除(这就叫做泛型擦除机制)。
    4. call by value是指传递
      call by reference 是引用传递
      值传递不会改变实际参数的数值,引用传递能改变实际参数的内容,但是不会改变实际参数的参考地址。
    5. java程序的种类有:
    • 内嵌于web文件中,浏览器观看的Applet;
    • 可独立运行的Application;
    • 服务器端的Servlets;
    1. list,set都继承自collection接口,Map是顶层接口,不继承自collection。
    package demo;
    public class VectorSychronized {    
        public static void hello() {
            System.out.println("hello");
        }   
        public static void main(String[] args) {
            VectorSychronized vectorSychronized = null;
            vectorSychronized.hello();
        }
    }
    

    这段代码的运行结果不会报空指针异常的。你猜到了没(类名是之前学jvm的时候随便起的,别在意)?
    原因只要访问VectorSychronized这个类都会加载hello方法。在其他类类的静态方法中可以调用公开的静态方法。
    这里之所以不发生空指针,是因为必须是去引用堆对象才会有空指针,而这个hello方法是static类型的,方法本身就没有指针,所以并不会空指针。

    1. class.getDeclaredMethods();//返回类或者接口的所有方法(不包括继承)
      class.getMethods();//返回类 所有public方法。
    2. 索引是从1开始而不是从0开始。
    3. HashMap没有contains方法,改成了containsValue和containsKey。因为contains方法容易让人误解。
    4. java调试器jdb.exe
    5. 在web开发中实现会话跟踪可用:session,cookie,地址重写,隐藏域。
    6. 泛型只是在编译器保证对象类型相同的技术,因此泛型指定的元素不具有继承性。其实这个归根结底还是因为泛型只是java的“语法糖”。
      若A extends B,List<A> a;List<B> b;
      那么 a=b是错误的!不同类型不能相互赋值。
    7. socket通信编程中:
    • 服务端ServerSocket提供socket实例。
    • 客户端Socket提供socket实例。
    1. toLowerCase()和toUpperCase()方法产生的字符串对象是new出来的,所以不能与字符串常量==,可以str.equals();
    2. jsp四大作用域:page(最小)<request<session<application。
      存储在application对象中的属性可以被同一个应用程序的所有用户访问。
    • session:当前用户上下文信息
    • application:当前应用
    • request:当前请求
    • pageContent:当前页面
    1. jsp语法:
    • jsp表达式:<%= ... %>
    • jsp脚本:<% ... %>
    • jsp声明:<%! ... %>
    • jsp注释: <%!-- ... --%>
    1. ArrayList的内存结构是数组,其本质是顺序存储的线性表。插入和删除操作会引发后续元素移动,效率低。但是随机访问的效率很高。
      LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问。
    2. 局部内部类不等同于内部类,是放在代码块或方法中的。不能有访问控制修饰符,也不能被static修饰。

    好了,今天就整理到这里。然后其实从头看一遍发现有些知识点我都忘了。这次整理出来也算是加深印象,如果有帮助谁了也算是功德?虽然我不信佛。。反正与人方便于己方便。然后这里的一些解释都是百度或者问人的,应该都是对的,但是如果你觉得哪个说法不够准确欢迎指出,我会注意随时改。我是打算把我几百个错题都整理进来,所以可能这是一个系列故事,就酱吧。
    然后全文手打不易,如果你觉得有帮到你或者有点用,别吝啬的点个喜欢和点个关注哦~~

    相关文章

      网友评论

        本文标题:java基础面试/笔试题整理(一)

        本文链接:https://www.haomeiwen.com/subject/gjwesctx.html