自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 第十四章I/O输入输出

1.Java中流的分类有哪些?流从流动方向上看:一般分为输入流和输出流输入流:如System.in是一个InputStream类型输入流 输出流:如System.out 是一个PrintStream类型输出流从读取类型上分:一般分为字节流和字符流字节流:如System.in是一个InputStream类型字节流 字符流:如new InputStreamReader(System.in)是一个字符流对象流从发生的源头:分为节点流和过滤流类节点流:直接操作目标设备对应的流 ...

2021-11-28 21:18:09 212

原创 第十五章网络通信

import java.io.*;import java.net.*;public class MultiTalkServer{ static int clientnum=0;、 public static void main(String args[]) throws IOException { ServerSocket serverSocket=null; boolean listening=true; try{ serverS.

2021-11-28 20:37:27 129

原创 第九章线程

volatile关键字有什么作用?在JVM1.2之前,Java总是从主存读取变量,但随着JVM的优化,线程可以把主存变量保存在寄存器(工作内存)中操作,线程结束再与主存变量进行同步,然而,当线程没有执行结束就发生了互换这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中变量值的副本,造成数据的不一致。要解决这个问题,就需要把该变量声明为volatile(不稳定的),它指示JVM这个变量是不稳定的,每次使用它都到主存中进行读取,因此多线程环境下volatile关键字的使用变得

2021-11-28 20:25:21 139

原创 Future Task类有什么作用?它实现了哪些接口?Callable接口和Runnable接口有什么不同?

Future Task类可以封装异步任务,然后提交给Thread或线程池执行,然后获取任务执行结果。Runnable,Callable,FutureCallable接口是一个泛型接口,定义了一个call()方法,有返回值,可以返回子任务的执行结果。Runnable接口多个线程可共享实现类对象的资源。...

2021-11-15 19:31:19 459

原创 为什么不建议在for循环中使用“+”进行字符串拼接?

“+”反编译后的代码,在for循环中,每次都是new了一个StringBuilder,然后再把String转成StringBuilder,再进行append。频繁的新建对象不仅仅会耗费时间,还会造成内存资源的浪费。

2021-11-15 19:21:50 104

原创 String与StringBuffer、StringBuilder三者之间的共同点与区别,应该分别在何种场景下使用?

相同点:1、内部实现基于字符数组,封装了对字符串处理的各种操作2、可自动检测数组越界等运行时异常不同点:1、String内部实现基于常量字符数组,内容不可变;StringBuffer、StringBuilder基于普通字符数组,数组大小可根据字符串的实际长度自动扩容,内容可变2、性能方面,对于字符串的处理,相对来说StringBuilder >StringBuffer>String3、StringBuffer线程安全;StringBuilder非线程安全使用场景:Stri

2021-11-15 19:19:06 75

原创 String与StringBuffer、StringBuilder的常用API

String:public class A{ public static void main(String[] args) { String s="abc" ; System.out.println(s.length()); System.out.println(s.indexOf()); System.out.println(s.getBytes()); }}StringBuffer、StringBuilder

2021-11-15 19:16:13 450

原创 finally子句的作用是什么

finally是这个语句块的统一出口,一般用来进行一些善后操作,如释放资源、关闭文件等。

2021-11-15 19:03:28 623

原创 异常中的throws声明与throw语句的区别是什么

作用不同:throw用于程序员自行产出并抛出异常;throws用于声明在该方法内抛出了异常使用的位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表的后面,不能单独使用。内容不同:throw抛出一个异常对象,且只能是一个;throws后面跟异常类,而且可以有多个...

2021-11-15 19:01:24 412

原创 异常处理的两种方式

抛出和捕获处理

2021-11-15 18:59:02 188

原创 StackOverflowError和OutOfMemoryError两类错误的发生情形和原因

StackOverflowError发生原因:如果程序使用的栈深度超过虚拟机分配给线程的栈大小时,抛出该错误。OutOfMemoryError发生原因:如果程序在对应栈中无法申请到足够的内存空间,则抛出该错误。

2021-11-15 18:57:34 475

原创 Exception又分为checked异常和unchecked异常

若为unchecked异常类型,则throws声明子句可省略。

2021-11-15 18:54:50 235

原创 Throwable的子类包含哪两类?Java Error类与Exception类的区别

Error类和Exception类Exception类是所有异常类的祖先类,而Error类是所有错误类的祖先。错误和异常的区别:Error不是程序需要捕获和进行处理的。Exception有许多子类,这些子类在JDK中也是按照包的形式组织的。...

2021-11-15 18:51:33 466

原创 自定义一个类,复写equals方法

public class A { public boolean equals(Object otherObject) { //测试两个对象是否是同一个对象,是的话返回true if(this==otherObject) return true; //测试检测的对象是否为空,是就返回false if(otherObject==null) return false; //测试两个对象所属的类是否相同,否则返回false.

2021-10-19 17:27:07 209

原创 使用接口改写例6.8中的程序

import java.awt.*;import java.applet.*;interface Shapes{ abstract public double getArea(); abstract public double getPerimeter();}class Rect implements Shapes{ protected int x,y,k; protected double m; public Rect(int x,int y,int k,.

2021-10-19 17:22:42 71

原创 谈谈抽象类与接口的异同以及两者的使用场景

相同点:两者都是抽象类,都不能实例化。不同点:interface需要用implements实现,而abstract class需要继承,要用extends。一个类可以实现多个interface,但一个类只能继承一个abstract class。abstract class的使用场景:在既需要统一的接口,又需要实例变量或缺省的方法的情况下,就可以使用它。interface的使用场景:类与类之前需要特定的接口进行协调,而不在乎其如何实现。...

2021-10-19 16:46:07 90

原创 举例说明运算符instanceof的使用场景

判断一个类是否是一个类或者该类子类的实例

2021-10-19 16:41:12 64

原创 Java中的运行时多态的含义是什么?有什么作用?

多态是指一个程序中同名但不同方法共存的情况。方法同名表明它们的最终功能和目的相同,但由于在完成同一功能时可能遇到不同的具体情况,所以需要定义含不同具体内容的方法。

2021-10-19 16:38:25 79

原创 谈谈组合与继承的区别以及两者的使用场景

继承是子类继承父类,父类的所有属性和方法都可以被子类访问和调用。组合是指将已存在的类型作为一个新建类的成员变量类型,两个类之间无上下级关系。只需要使用另外一个类的方法时使用组合。需要使用另外一个类的作用时不想被其他的类访问用继承。...

2021-10-19 16:32:53 89

原创 如何实现两个对象之间互发消息

可以通过对象引用的方法,创建两个类,这两个类中都包含另一个类的成员。

2021-10-19 16:31:07 126

原创 什么是覆写?有什么作用?

子类对父类参数相同、返回类型相同的同名方法重新进行定义对从父类继承过来的方法进行重写

2021-10-19 16:29:16 365

原创 什么是重载?有什么作用?

在类中定义了多个同名而不同内容的参数的成员方法。实现程序共享

2021-10-19 16:26:57 252

原创 什么是组合?有什么作用?

组合即把一个类当成另一个类的组合成分,从而允许新类直接复用该类的public方法。组合会使对象之间的耦合性较为松散。

2021-10-19 16:24:46 178

原创 子类对于从父类继承的哪些属性与方法是可见的?

public和protected

2021-10-19 16:21:14 62

原创 Java的访问控制修饰符有哪些?各有什么访问权限?

Java有许多访问控制修饰符,其中常用的有public,protected,private,friendly.private:用 private 修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。因此,private 修饰符具有最高的保护级别。friendly(默认)如果一个类没有访问控制符,说明它具有默认的访问控制特性。这种默认的访问控制权规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,即使其他包中有该类的子类。这种访问特性又称为包访问性

2021-10-19 16:19:54 380

原创 Java数组元素类型为基本类型和引用类型时,有什么不同?

对于基本类型数组而言,数组元素的值直接存储在对应的数组元素中,因此,初始化数组时,先为该数组分配内存空间,然后直接将数组元素的值存入对应数组元素中。引用类型数组的数组元素是引用,因此情况变得更加复杂:每个数组元素里存储的还是引用,它指向另一块内存,这块内存里存储了有效数据。...

2021-10-08 23:26:54 111

原创 Java中float[10]arr;语句正确吗?为什么?

错float[] arr=new float[10];

2021-10-08 23:25:22 110

原创 Java中final修饰符都有什么作用?

1.final修饰类属性,则该属性为常量;2.修饰方法,则该方法为最终方法,在子类中不能被覆盖。利用final修饰符可以防止数据被篡改

2021-10-08 23:23:04 152

原创 类的static字段与非static字段的区别是什么?什么场景应该使用static修饰符?

static:使用该修饰符的变量是该类实例共享的变量。使用该修饰符的函数是该只能访问使用该修饰符的变量。‘使用场景:当对象中出现共享数据时,就应该使用static修饰。...

2021-10-08 23:21:52 54

原创 对象初始化顺序是怎样的?请举例说明

j类变量(静态变量)、实例变量(非静态变量)、静态代码块、非静态代码块

2021-10-08 23:20:14 45

原创 对象作为参数传递的特点是什么?请举例说明

对象的参数传递是传递对象的地址

2021-10-08 23:18:35 50

原创 对象与对象引用的区别是什么?请举例说明

对象是一个实例,对象引用是引用对象的一个地址。

2021-10-08 23:16:46 66

原创 JDK、JRE、JVM分别是什么的简称,它们之间有何联系和区别?

JDK(Java SE Development Kit)JRE( Java Runtime Environment)JVM(Java Virtual Mechinal)区别与联系:JDK 用于开发,JRE 用于运行java程序 ;如果只是运行Java程序,可以只安装JRE,无序安装JDK。

2021-09-25 19:25:37 174

原创 Java实现跨平台的原理是什么?

Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。

2021-09-25 19:23:25 58

原创 Java语言都有哪些特点?与C,C++,Python有何不同?

c++、java和python都是面向对象的编程语言,但是c++和java都是强类型语言,而python是一种弱类型语言。

2021-09-25 19:21:55 58

原创 高级语言的编译型和解释型语言的编译执行过程有什么区别?

编译型语言的特点是先编译,后执行。需要通过“编译器”(Compiler)完成编译过程,结果交由CPU执行。解释型语言的特点是边编译,边执行,通过 “解释器”(Interpreter)完成解释执行的过程。而呈现结果的过程并不需要依赖平台。...

2021-09-25 19:20:34 221

原创 谈谈过去学习编程语言的方法、经验和教训

要多看多学习一些算法,并着手实践。只有自己认认真真敲出来的代码才能够理解进而掌握它。

2021-09-25 19:18:20 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除