01 Java基础
文章平均质量分 81
Lamiaomiao
好好学习,天天向上
展开
-
10 Java参数传递机制及其他
1. Java传入值和引用的区别(Java的参数传递机制)?如果传递的参数是基本数据类型,那么传入的是这个参数的一个副本,这个副本保存的就是原变量的值,改变副本不影响原变量。如果传递的参数是引用数据类型,那么传递的也是这个参数的一个副本,但是副本的值是一个对象的内存地址,如果对这个内存地址中的对象进行修改,就会影响原变量。如果改变了这个副本的值,也就是将副本的值修改为另一个对象的内存地址,这时不会影响原变量。2. Java四种修饰符的访问权限3. Java中,什么是构造方法?什么是构造方法重载原创 2020-08-05 23:52:00 · 141 阅读 · 0 评论 -
09 Java 的 IO
IO种类从数据传输方式可以将IO分为字节流和字符流:字节流:InputStream输入流,OutputStream输出流字符流:Reader输入流,Writer输出流如何选择:对于频繁处理字符串的情况,选择字符流会好一些,因为字符流具备缓冲区,提高了性能。缓冲区是一块特殊的内存区域,通过将数据缓存在缓冲区,之后直接从中读写,可以显著提高性能,字符流的操作都是在缓冲区进行的。字节流的操作不会经过缓冲区,而是直接操作文本本身。BIO同步阻塞式IO模型: 服务端的线程会一直阻塞等待客户端发起请求原创 2020-08-10 23:56:10 · 190 阅读 · 0 评论 -
08 异常 反射 泛型
1. Java中的Exception分为哪几种?列举几种常见的异常编译时异常和运行时异常NullPointerExceptionClassCastExceptionArrayIndexOutOfBoundsExceptionIllegalArgumentException2. finally一定执行吗?什么时候不被执行?不一定当程序进入try块之前就出现异常时,会直接结束,不会执行finally块中的代码当程序在try块中强制退出时也不会去执行finally块中的代码,比如在try块中有原创 2020-08-05 23:51:23 · 113 阅读 · 0 评论 -
07 包装类
1. int和Integer的区别?区别:int则是java的一种基本数据类型,Integer是int的包装类,是引用数据类型。int变量直接存储数据值,Integer必须实例化后才能使用,存储的是对象的地址。int的默认值是0,Integer的默认值是null。java是面向对象的语言,都是基于对象操作的,比如集合,基本数据类型是放不进去的,包装类型才能放进去。2. 什么是自动装箱和自动拆箱?jdk1.5后可以自动实现装箱和拆箱。装箱是指,将基本数据转化成对象。转化为对象就可以利用对象的原创 2020-08-05 23:50:42 · 107 阅读 · 0 评论 -
06 Object类方法 equals和hashCode
1. 怎么判断两个对象是否相等?如果是判断两个对象是不是同一个对象,就用==判断;如果是判断两个对象的内容是否相等,就重写equals和hashCode方法,再用equals方法判断是否相等2. == 和 equals 的区别== 对于基本类型,比较的是值是否相同;对于引用类型,比较的是引用保存的对象的地址是否相同Object 默认提供的 equals 方法比较的是对象的地址,但是很多类重写了 equals 方法,比如String、Integer 等 把引用比较改成了内容比较,所以一般情况下原创 2020-08-05 23:50:09 · 128 阅读 · 0 评论 -
05 String、StringBuffer、StringBuilder
1. String为何会产生很多对象?String类的value域是被final修饰的,String对象在创建完成后value值就已经无法再修改了,所以每次对String进行操作产生的字符串都是新的String对象。2. JVM中String的机制?当你new 一个String时,就会在堆中新建一个对象,String 引用指向这个对象,然后检查String pool(字符串池)中有没有和这个字符串内容一样的字符串,没有的话,将此字符串加入String pool。当使用String a = “abc原创 2020-08-05 23:49:34 · 109 阅读 · 0 评论 -
04 final finally finalize static
1. 说一下final关键字的用法final 表示最终的,不可变的。final修饰的类无法被继承,final修饰的方法无法被覆盖,final修饰的方法参数不能被修改,final修饰的变量一旦被赋值之后,不可再重新赋值。final修饰的类变量,必须在声明时初始化。final修饰的实例变量,必须在声明时或者构造方法中对它赋值。2. ”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?Static表示静态的意思。它可以修饰一个变原创 2020-08-05 23:49:01 · 106 阅读 · 0 评论 -
03 重载重写 抽象类接口
1. 重写和重载有什么区别?方法重载是指在同一个类里,两个或者多个方法具有相同的方法名,但是参数列表不同(个数、类型、顺序)。方法重写是指子类继承父类,重写父类的方法,要求方法名相同,参数列表相同,返回类型也要相同或者是其子类。访问权限>=父类,抛出异常必须<=父类方法重载是编译时期的多态,而方法重写是运行时期的多态。2. 抽象类和接口的区别?相同点:都不可以被实例化,都可以被继承,都可以有抽象方法区别:接口中所有的方法都是抽象的,而抽象类则可以同时包含抽象和非抽象的方法。原创 2020-08-05 23:48:26 · 222 阅读 · 1 评论 -
02 基本数据类型
1. Java的基本数据类型有哪些?数据类型默认值byte,short,int,long0float,double0.0booleanfalsechar\u0000引用数据类型null2. Java基本数据类型的位数和取值范围?原创 2020-08-05 23:47:53 · 95 阅读 · 0 评论 -
01 JDK JRM JVM 面向对象特性
1. JVM是什么?为什么Java被称作是“平台无关的编程语言”(Java跨平台性)?JVM(Java Virtual Machine)是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上是把字节码解释成具体平台上的机器指令执行。Java虚拟机(jvm)是可以执行java字节码的虚拟进程。 准确的来说,Java的跨平台原创 2020-08-05 23:46:58 · 1726 阅读 · 0 评论