自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java基础试题20

zookeeper 是什么?zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 google chubby 的开源实现,是 hadoop 和 hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。zookeeper 都有哪些功能?集群管理:监控节点存活状态、运行请求等。主节点选举:主节点挂掉了之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举的过程,使用 zookeeper 可以协助完成这.

2021-09-26 16:17:54 89

原创 java的collection

collection主要方法:boolean add(Object o)添加对象到集合boolean remove(Object o)删除指定的对象int size()返回当前集合中元素的数量boolean contains(Object o)查找集合中是否有指定的对象boolean isEmpty()判断集合是否为空Iterator iterator()返回一个迭代器boolean containsAll(Collection c)查找集合中是否有集合c中的元素boolean addAll

2021-09-26 16:15:51 108

原创 java基础试题19

一、Java 的基础数据类型有几种 ?都是啥 ?8 种byte、short、int、long、float、double、char、boolean二、String是最基本的数据类型吗 ? 是否可以继承String类 ?不是 是引用数据类型java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类三、①:short s1 = 1; s1 = s1 + 1;有错吗 ? ②:short s2 = 1; s2 += 1;有错吗 ?①:有错(s1+1运算结果是int型,需要

2021-09-24 16:51:04 84

原创 Java 获取当前日期和时间

有两种方法:方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码:import java.util.;import java.text.;//以下默认时间日期显示方式都是汉语语言方式//一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:20018-6-16 20:54:53//以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2.javapubl

2021-09-24 16:49:04 1071

原创 java基础试题18

1.java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?  Java中有两种实现方法,分别是继承Thread类与实现Runnable接口;synchronized2.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?可以。  /不可以,当某个对象用synchronized修饰时,表明该对象已启动“互斥锁”机制,在任一时刻只能由一个线程访问,即使该线程出现堵塞,该对象的被锁定状态也不会解除,其他线程任不能访问该对象。/3.事务的特性有哪

2021-09-23 16:09:48 48

原创 Java继承和多态实例

我们知道面向对象的三大特性是封装、继承和多态。然而我们有时候总是搞不清楚这些概念。下面对这些概念进行整理,为以后面向抽象的编程打下坚实的基础。封装的概念还是很容易理解的。如果你会定义类,那么相信你对封装的概念已经完全掌握了。下面定义的几个类,就是对数据的封装。继承的好处是代码复用。继承的子类自动拥有父类中的所有属性和方法。所以继承已存在的类就是复用这些类的方法和域。在此基础上,子类还可以添加一些新的方法和域,以满足新的需求。这是Java程序设计中的一项核心技术。那么如何判断是否需要继承呢?"is-

2021-09-23 16:06:54 447

原创 java基础试题17

1、如果A和B对象循环引用,是否可以被GC?回答:可以,现在的虚拟机基本都是通过可达性分析算法来判断对象是否存活的,而不是通过简单的引用计数法来判断对象是否存活。可达性分析算法使用一系列的“GCRoots”对象(虚拟机栈中引用的对象、静态属性引用对象)作为起始点,这些节点向下搜索的路径称为引用链,当一个对象到GCRoots没有任何引用链连接,则证明对象是不可用的。2、Java中的内存溢出是如何造成的?OutOfMemoryError:(1)PerGernSpace程序中使用了大量jar或class,

2021-09-22 16:29:57 53

原创 java异常分类和处理

一、概念如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。二、异常分类Throwable 是 Java 语言中所有错误或异常的超类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。实例分为 Error 和 Exception

2021-09-22 16:27:52 76

原创 包装类—Integer

Integer 类在对象中包装了一个基本类型int的值。Integer类型的对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,同时还提供了其他一些处理int类型时非常有用的常量和方法。1.构造方法Integer类有两种构造方法1.Integer(int number)该方法以一个int型变量作为参数来获取Integer对象。例:Intrger number = new Integer(7);2.Integer(String st

2021-09-18 15:20:48 103

原创 java基础试题16

1. 静态变量和实例变量的区别答:在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。例如,对于下面的程序,无论创建多少

2021-09-18 15:19:22 60

原创 java基础试题15

1.在.java文件内部可以有多少类(非内部类)?在一个java文件中只能有一个public公共类,但是可以有多个default修饰的类.2.如何正确的退出多层嵌套循环?使用标号和break;通过在外层循环中添加标识符3.内部类有什么作用?内部类可以有多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立.在单个外围类当中,可以让多个内部类以不同的方式实现同一接口,或者继承同一个类.创建内部类对象的时刻不依赖于外部类对象的创建.内部类并没有令人疑惑的”is-a”关系,它就像是一个

2021-09-17 16:08:34 60

原创 Java Object类

java.lang.Objectjava.lang包在使用的时候无需显示导入,编译时由编译器自动导入。Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。Object类是Java中唯一没有父类的类。其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。Object类中的方法构造方法:public Object()文档中的类概览:Java中的每个类都具有定义在Object类中的这些方法。protected Object clone()Creates

2021-09-17 16:05:54 63

原创 java基础试题14

1.为什么重写equals方法必须重写hashcode方法?答案:如果在 Java 运行期间对同一个对象调用 hashCode 方法后,无论调用多少次,都应该返回相同的 hashCode,但是在不同的Java 程序中,执行 hashCode 方法返回的值可能不一致。如果两个对象的 equals 相等,那么 hashCode 必须相同。如果两个对象equals 不相等,那么 hashCode 也有可能相同,所以需要重写 hashCode 方法,因为你不知道 hashCode 的底层构造(反正我是不知道,有大

2021-09-16 17:11:32 60

原创 Java 中的 Lambda 表达式

在 Java 8之前,一个实现了只有一个抽象方法的接口的匿名类看起来更像Lambda 表达式。下面的代码中,anonymousClass方法调用waitFor方法,参数是一个实现接口的Condition类,实现的功能为,当满足某些条件,Server 就会关闭。下面的代码是典型的匿名类的使用。void anonymousClass() { final Server server = new HttpServer(); waitFor(new Condition() { @O

2021-09-16 17:05:13 146

原创 java基础试题13

1. jsp 和 servlet 有什么区别?jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。Jsp是Servlet的一种简化,使用

2021-09-15 16:18:21 65

原创 java集合-ArrayList

一、ArrayList 概述ArrayList 是实现 List 接口的动态数组,所谓动态就是它的大小是可变的。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。每个 ArrayList 实例都有一个容量,该容量是指用来存储列表元素的数组的大小。默认初始容量为 10。随着 ArrayList 中元素的增加,它的容量也会不断的自动增长。在每次添加新的元素时,ArrayList 都会检查是否需要进行扩容操作,扩容操

2021-09-15 16:16:13 84

原创 java基础试题12

1. 什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法。2. 什么是 java 序列化?什么情况下需要序列化?简单说就是为了保存在内存中的各种对象的状态(也就是实

2021-09-14 16:49:12 56

原创 java基础试题11

1. 什么是死锁?死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。是操作系统层面的一个错误,是进程死锁的简称,最早在 1965 年由 Dijkstra 在研究银行家算法时提出的,它是计算机操作系统乃至整个并发程序设计领域最难处理的问题之一。2. 怎么防止死锁?死锁的四个必要条件:互斥条件:进程对所分配到的资源不允许其他进程进行访问,若其他进程

2021-09-13 15:51:05 61

原创 java循环和条件结构

Java循环结构while循环public class Test { public static void main(String args[]) { int x = 10; while( x < 20 ) { System.out.print("value of x : " + x ); x++; System.out.print("\n"); } }}do…while循环不管while

2021-09-13 15:48:57 54

原创 java基础试题10

1. 线程有哪些状态?线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。运行状态。线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代码。阻塞状态。线程正在运行的时候,被

2021-09-10 15:38:14 59

原创 java接口的定义和实现

1.接口的定义使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:[修饰符] interface 接口名 [extends 父接口名列表]{[public] [static] [final] 常量;[public] [abstract] 方法;}接口是常量和抽象方法的集合。接口中的数据成员,不管有没有用修饰符“public”、“static”或“final”修饰,都是public static

2021-09-10 15:35:00 383

原创 java基础试题9

1. 并行和并发有什么区别?并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。2. 线程和进程的区别?简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程

2021-09-09 16:31:13 42

原创 java强制类型转换

在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。方法1:采用 Object.toString()方法请看下面的例子: Object object = getObject(); System.out.println(object.toString()); 在这种使用方法中,因为

2021-09-09 15:36:26 597

原创 java基础试题8

1. ArrayList 和 LinkedList 的区别是什么?最明显的区别是 ArrrayList底层的数据结构是数组,支持随机访问,而 LinkedList 的底层数据结构是双向循环链表,不支持随机访问。使用下标访问一个元素,ArrayList 的时间复杂度是 O(1),而 LinkedList 是 O(n)。2. 如何实现数组和 List 之间的转换?List转换成为数组:调用ArrayList的toArray方法。数组转换成为List:调用Arrays的asList方法。3. Array

2021-09-08 16:38:54 50

原创 java数组翻转的方法

数组翻转的方法(java实现),所谓数组翻转,就是将数组倒置,例如原数组为:{“a”,“b”,“c”,“d”},那么翻转后的数组为{“d”,“c”,“b”,“a”}。下面实现方法,这里为了简便我借用了list的add方法。import java.util.ArrayList;public class array_examp1 { public static void main(String[] args) { //数组翻转。例如:{'a','b','c','d'}变成{'d','c','b','a

2021-09-08 16:05:14 1099

原创 java基础试题7

1. 接口和抽象类有什么区别?实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。构造函数:抽象类可以有构造函数;接口不能有。main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有 main 方法。实现数量:类可以实现很多个接口;但是只能继承一个抽象类。访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问修饰符。2. java 中 IO 流分为几种?按功能来分:输入流(input)、输出流(outpu

2021-09-07 17:04:25 87

原创 java常用数据类型转换

在Java开发过程中经常会涉及到数据类型的转换问题,比如数字型转字符型,字符型转日期型,字符串转数组等等,以及其他类型的强制转换等。经常出现,所以有必要总结一下。数据类型基本类型有以下8种:整数类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、浮点类型有:单精度(32bits float)、双精度(64bits double)布尔变量有:boolean 取值ture、false字符类型有:char unicode字符,16位基本类型

2021-09-07 16:03:45 161

原创 java基础试题6

1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 j

2021-09-06 16:50:15 39

原创 JRE和JDK的区别

1.JRE是Java运行时环境 。 它是运行已编译的Java程序所需的所有程序的包,包括Java虚拟机(JVM),Java类库, java命令和其他基础结构。 但是,它不能用于创建新程序。JDK是Java Development Kit ,这是Java的全功能SDK。 它具有JRE拥有的所有内容,还具有编译器( javac )和工具(如javadoc和jdb )。 它能够创建和编译程序。通常,如果只需要在计算机上运行Java程序,则只会安装JRE。 这就是您所需要的。 另一方面,如果您打算进行一些Jav

2021-09-06 16:45:19 358

原创 java基础题5

1.== 和 equals 的区别是什么它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型 == 比较的是值,引用数据类型 == 比较的是内存地址)equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:情况1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。情况2:类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来两个对象的内容相等;若它们的

2021-09-03 17:21:26 42

原创 java命名规范法则大全

在我们在刚开始学习java的时候,给包、类、方法等命名的时候总是取名不规范,大多都是随便取的,对于一个专业的程序员来说。命名规范化也是必不可少的。命名规范的话能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯。增加代码的易读性,可读性。一、包(全部小写)包名全部小写,但它不同的项目类型:1.个体项目(indi ): 如:indi.发起者名.项目名.模块名.……2.个人项目(pers): 如:pers.个人名.项目名.模块名.……3.私有项目(priv ): 如:priv.个人名.项目

2021-09-03 17:17:14 725

原创 java试题4

1.同步和异步有何异同,在什么情况下分别使用他们?举例说明。如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。2.多线程有几种实现方法?同步有几种实现方法?多线程有两种实现方法,分别是继承Thread类与实现Runnable接口同步的实现方面有两种

2021-09-02 17:17:54 38

原创 java数组基础

数组数组(Array):相同类型数据的集合。数组的定义格式:方式1(推荐,这种格式最常用,更能表明数组类型)数据类型[] 数组名;例如:int[] array;这段代码的意思是:定义了一个int类型的数组,数组名叫array。[]这个中括号就是数组的标识,将中括号去掉就变成定义一个变量了方式2数据类型 数组名[];例如:int array[];数组的初始化动态初始化:初始化是仅指定数组的长度,由系统来为数组分配初始值格式:数据类型[] 数组名 = new 数据类型[数组长度];

2021-09-02 16:24:08 53

原创 java基础试题3

1.描述一下JVM加载class文件的原理机制?JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。2.GC是什么? 为什么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释

2021-08-31 16:48:27 63

原创 java运算符和表达式

1.算术运算符java中的运算符除了我们在生活中经常使用的加减乘除之外,还有取余运算,和自增以及自减运算,加减乘除比较简单,这里就不举例了。取余运算只能用于整数和char类型。示例代码如图:java的自增运算符和自减运算符可以使变量值加一或者减一,写在变量的前面和后面有着不同的效果:**1.如果写在变量之前,可以使该变量将被使用之前进行加一或者减一。2.如果写在变量之后,可以使该变量在使用之后进行加一或者减一。**案例如图:从运行结果可以看出,a的值为11,c的值却为10。这个就是把 ++

2021-08-31 16:31:19 170

原创 java代码查错

abstract class Name {private String name;public abstract boolean isStupidName(String name) {}}答案: 错。abstract 方法必须以分号结尾,且不带大括号。public class Something {void doSomething () {private String s = “”;int l = s.length();}}答案: 错。局部变量前不能放置任何访问修饰符 (p...

2021-08-30 17:25:12 147

原创 java基本数据类型

Java语言有8种基本数据类型, 分别用于存储整数、浮点数、字符数据和布尔类型数据。基本数据类型主要分为4大类:整数类型、浮点类型、char、boolean, 整数类型中又分为4小类:byte、short、int、long, 浮点类型也分了2小类:float、double。上图中展示了各种基本数据占用的内存大小和取值范围,最常用的数据类型有5种,分别是:int、double、char、boolean,其余的数据类型使用的比较少。在使用数据类型时要注意其取值范围,如果赋值时超出了该数据类型的表达范围,将

2021-08-30 17:12:31 138

原创 java基础试题2

1.java中实现多态的机制是什么?靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。2.abstract class和interface有什么区别?含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的

2021-08-27 16:25:25 67

原创 JDK下载安装以及java环境变量配置

1.JDK的下载和安装官网下载链接:https://www.oracle.com/java/technologies/javase-downloads.html下载java8和java11都可以,其他版本没有这两个稳定就不推荐下载了点击JDK Download进入下载页面,然后根据自己的操作系统开始下载JDK下载完成之后可以自己更改安装位置,也可以默认它的安装路径,自行安装记得安装路径不要包含中文等一些特殊字符,以免后续使用时出现一些不必要的麻烦2.环境变量的配置右键点击此电脑,然后点击属

2021-08-27 15:04:13 57

原创 java基础试题

1.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须和文件名保持一致。2.&和&&的区别&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,

2021-08-26 16:33:13 64

空空如也

空空如也

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

TA关注的人

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