Java基础面试题(部分)总结

一、Java中的四类八种基本数据类型及其封装类:

类别数据类型包装类字节长度默认值
整数型byteByte10
整数型shortShort20
整数型intInteger40
整数型longLong80l或0L
浮点型floatFloat40.0f或0.0F
浮点型doubleBouble80.0
字符型charCharacter2u0000
布尔型boolanBoolean1fales

二、Java三大(或四大)特性:

1、封装:
简单地说,封装就是把同一类事物的共性(包括属性和方法)归到同一类中,实现代码重用,方便使用。
——封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生联系。也就是说用户不需要知道内部的数据和方法的具体实现细节,只需根据留在外部的接口进行操作就行。

2、继承:
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。——比如:类C继承类B,类B继承类A(多继承),则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。

3、多态:
相同的事物,调用相同的方法,使用相同的参数,但是表现的行为不同。
——方法的重写、重载与动态连接构成多态性;

4、抽象:
抽象就是把一类事物的共同特性整理出来,把这些特性封装一个抽象类。

三、静态变量与实例变量的区别:
1、语法定义上的区别:静态变量需要用static修饰,实例变量不用。
2、程序运行时的区别:实例变量必须创建对象后才可以通过这个对象来使用,静态变量属于类变量,则可以直接使用类名来引用。

四、静态方法与非静态方法的区别:
1、静态方法的使用效率比非静态方法的效率高。
2、静态方法跟静态变量一样,属于类本身,在类加载的时候被加载到内存,不自动销毁,在内存中直到jvm关闭。
非静态方法也叫实例方法,属于实例对象,实例化后才会分配内存,必须通过类的实例来调用。
3、主要区别:静态方法在创建对象前就可以使用了,非静态方法必须通过new出来的对象调用。

五、方法重载与方法重写的区别:
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。
1、重载:发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;
2、重写:发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常。

六、接口与抽象的区别:
在这里插入图片描述

七、冒泡排序:

int array = {3,72,4,26,8,15,9,23,52,1,34,45};  //定义数组
for(int i=0; i<array.length-1; i++){
	for(int j=0; j<array.length-1-i; j++){
		if( array[j] < array[j+1] ){
			int temp = array[j];
			array[j] = array[j+1];
			array[j+1] = temp;
		};
	};
};
for(int arr : array){  //冒泡后的数组排序
	System.out.println(arr+" ");
};

八、事务:

特性见解
原子性(Atomicity)表示事务执行过程中的任何失败都将导致事务所做的任何修改失效,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。
一致性(Consistency)表示一个事务执行之前和执行之后都必须处于一致性状态,当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。
隔离性(Isolation)表示当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
持久性(Durability)表示一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。

总的说就是:要么全部执行成功,要么撤销不执行。

通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值