美文网首页
问题精选-Java

问题精选-Java

作者: AC编程 | 来源:发表于2021-03-11 09:08 被阅读0次

一、&和&&的区别

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)

二、Collection 和 Collections 的区别

Collection 是集合类的上级接口,继承与他的接口主要有 Set 和 List。Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

三、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递

是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的

例子一

public class Client {
    public static void main(String[] args){
        int num = 1;
        fun(num);

        System.out.println(num);
    }

    private static void fun(int num){
        num = num+1;
        System.out.println("fun:"+num);
    }
}

//输出
fun:2
1

例子二

public class Client {
    public static void main(String[] args){
        User user = new User();
        user.setName("Alan Chen");

        fun(user);

        System.out.println(user.getName());
    }

    private static void fun(User user){
        user = new User();
        user.setName("AC");

        System.out.println("fun:"+user.getName());
    }
}

//输出
fun:AC
Alan Chen

例子三

public class Client {
    public static void main(String[] args){
        User user = new User();
        user.setName("Alan Chen");

        fun(user);

        System.out.println(user.getName());
    }

    private static void fun(User user){
        user.setName("AC");

        System.out.println("fun:"+user.getName());
    }
}

//输出
fun:AC
AC

引用传递本质上就是值传递,将引用变量的值传递给形参,因为引用变量的值存放的是地址值,所以当地址值传递给形参后,形参和实参指向同一块内存区域。 但改变形参的地址值,不会影响到实参的地址值。

四、ArrayList 和 Vector 的区别

1、同步性:Vector 是线程安全的,也就是说是同步的,而 ArrayList 是线程序不安全的,不是同步的。

2、数据增长:当需要增长时,Vector 默认增长为原来一培,而 ArrayList 却是原来的一半。

五、HashMap 和 Hashtable 的区别

1、历史原因:Hashtable 是基于陈旧的 Dictionary 类的,HashMap 是 Java 1.2 引进的 Map接口的一个实现。

2、同步性:Hashtable 是线程安全的,也就是说是同步的,而 HashMap 是线程序不安全的,不是同步的。

3、值:只有 HashMap 可以让你将空值作为一个表的条目的 key 或 value。

六、char 型变量中能不能存贮一个中文汉字?为什么?

是能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 16 个字节,所以放一个中文是没问题的。

相关文章

  • 问题精选-Java

    一、&和&&的区别 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 二、Collection...

  • Lambda 表达式的常见应用场景

    文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 Lamb...

  • Java 技术之垃圾回收机制

    文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 垃圾回收...

  • Java 资源大全

    精选的Java框架,库和软件的精选列表。 内容 项目 Bean Mapping Build 字节码操作 缓存 CL...

  • Collection

    参考地址:Java集合常见面试题集锦Java集合必会14问(精选面试题整理) Java中Collection和Co...

  • 问题精选-Java多线程、锁、内存模型

    一、 Synchronized 用 过 吗 , 其 原 理 是 什 么 ? Synchronized 是 由 JV...

  • 精选2019年最新97道Java面试题:spring+Redis

    精选19年最新97道Java面试题:spring+Redis+JVM+mysql等 一、Java面试题之sprin...

  • 问题精选-MyBatis

    一、简述 Mybatis 的插件运行原理,以及如何编写一个插件? 1、Mybatis 仅可以编写针对 Parame...

  • 问题精选-MySQL

    一、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再...

  • 问题精选-Spring

    一、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的? 启动类上面的注解是@SpringBoot...

网友评论

      本文标题:问题精选-Java

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