Java实习生常规技术面试题每日十题Java基础(七)

Java实习生常规技术面试题每日十题Java基础(八) wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)时才能唤醒等待池中的线程进入等锁池(lock pool),如果线程重新获得对象的锁就可以进入就绪状态。序列化就是将类的对象进行流化,被流化后的对象可以在网络中传输或者以文件的形式进行保存,然后在需要的时候可以进行反序列化,将流化的对象还原为原始对象,并且数据都保持原来的状态。 阅读详情

目录

1. Java设计模式有哪些?

2.GC是什么?为什么要有GC?

3. Java中是如何支持正则表达式。

4.比较一下Java和JavaSciprt。

5.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

6.JDBC连接数据库的步骤?

7.Class.forName()方法有什么作用?

8.JDBC中如何进行事务处理

9.JDBC能否处理Blob和Clob

10.JDBC中的PreparedStatement相比Statement的好处


1. Java设计模式有哪些?

Java中有23种设计模式,我觉得理解设计模式对我们程序中的类和类的设计、依赖关系,扩展性,灵活性起着非常重要的作用,比如spring框架中都大量使用了设计模式,我比较熟悉的设计模式有:

1.单例设计模式

2.工厂设计模式(简单工厂、抽象工厂、工厂方法)

3.代理设计模式

4.观察者设计模式

5.适配器模式

6.原型模式

2.GC是什么?为什么要有GC?

GC是垃圾回收的意思(gabage collection),内存处理器是编程人员容易出现问题的地方,忘记或者错误的内存回收导致程序或者系统的不稳定甚至崩溃,java的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,java语言没有提供释放已分配内存的显式操作方法。

3. Java中是如何支持正则表达式。

Java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。此外,Java中可以用Pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作。

4.比较一下Java和JavaSciprt。

JavaScript与Java是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展NetscapeNavigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言,它的前身是LiveScript;而Java的前身是Oak语言。

5.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

11.5+0.5后是12再向下取整是12;-11.5+0.5后是-11再向下取整-11

6.JDBC连接数据库的步骤?

JDBC是java连接及操作数据库的一种技术,使用步骤如下:

1、加载JDBC驱动程序;、

Class.forName(“com.mysql.jdbc.Driver”)

2、创建数据库的连接对象;

Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/数据库名”,”root”,”123456”);

3、创建一个执行sql命令的Statement或PreparedStatement或者CallableStatement对象

4、执行SQL语句;

增删改操作executeUpdate()返回int

查询操作executeQuery()返回结果集ResultSet

5、返回并处理结果;

如果是查询需要对结果集逐行处理:while(rst.next())

6、关闭连接;

conn.close()

7.Class.forName()方法有什么作用?

通过一个字符串加载一个类到java虚拟机中,返回与给定的字符串名称相关联类或接口的Class对象,该方法使用时会抛出ClassNotFoundException,即类无法找到异常。

8.JDBC中如何进行事务处理

事务是为了保证一个业务下的多条更新语句处于同一个不可分割的单元,要么都成功执行要么都取消回滚,目的是保证数据的准确合理性。

JDBC同样对事务进行了很好的支持,因为JDBC默认是开启事务的,所以需要通过数据库连接对象的setAutoCommit(false)来禁止自动提交,然后在执行完相关操作之后,调用连接对象的commit()方法提交事务,如果出现异常则调用rollback()方法进行回滚。

一般在实际应用中,建议使用存储过程来进行事务的控制,因为存储过程更安全,高效。

9.JDBC能否处理Blob和Clob

Blob是指二进制大对象(Binary Large Object),而Clob是指大字符对象(Character Large Objec),因此其中Blob是为存储大的二进制数据而设计的,而Clob是为存储大的文本数据而设计的。JDBC的PreparedStatement和ResultSet都提供了相应的方法来支持Blob和Clob操作。

10.JDBC中的PreparedStatement相比Statement的好处

1、PreparedStatement是Statement的子接口;

2、PreparedStatement支持SQL语句中使用占位符,能够避免SQL注入,安全性更好;

3、PreparedStatement对SQL语句有预编译的功能,所以性能更好;

其他面试题:

Java实习生常规技术面试题每日十题Java基础(八)

Java实习生常规技术面试题每日十题Java基础(七)

Java实习生常规技术面试题每日十题Java基础(六)

Java实习生常规技术面试题每日十题Java基础(五)

Java实习生常规技术面试题每日十题Java基础(四)

Java实习生常规技术面试题每日十题Java基础(三)

Java实习生常规技术面试题每日十题Java基础(二)

Java实习生常规技术面试题每日十题Java基础(一)

Ubuntu 22.04下Realtek R8125网卡驱动安装避坑指南(附DKMS自动编译配置) 本文详细介绍了在Ubuntu 22.04系统上为Realtek R8125 2.5GbE网卡安装驱动的完整流程与避坑指南。针对内核通用驱动r8169的冲突问题,重点讲解了如何通过DKMS(Dynamic Kernel Module Support)实现驱动的持久化自动编译与安装,确保系统内核升级后网卡驱动依然有效。内容包括环境准备、驱动源码获取、DKMS标准配置、驱动冲突解决(设置黑名单)以及日常维护与故障排查方法,旨在为用户提供一个一劳永逸的稳定解决方案。 阅读详情

相关推荐

ai获客系统功能代码

AI 获客系统是一个复杂的体系,以下为你提供一个简化的 Python 示例,聚焦于客户行为分析与销售线索筛选功能,模拟实现从多渠道收集数据后的初步处理流程。假设已有从官网、线上商城等渠道收集到的客户数据,以字典列表形式存储,每个字典包含客户基本信息及购买行为数据。通过分析客户购买频率与金额,筛选出高价值销售线索。python上述代码仅为基础示例,实际 AI 获客系统还涉及更复杂的数据采集、清洗、存储,以及运用机器学习算法进行深度客户洞察等功能。

weixin_ggwwsscc的博客 894

Java常规技术题(下篇)

1. 启动一个线程是用run()还是start()? 启动一个线程是调用start()方法,使线程就绪状态,以后可以被调度为运行状态,一个线程必须关联一些具体的执行代码,run()方法是该线程所关联的执行代码。 2. 线程的基本状态以及状态之间的关系。 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):也叫可运行状态。线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 3、运行状态(Running

闯心的博客 461

习题6-3 使用函数输出指定范围内的完数

其中函数factorsum须返回int number的因子和;函数PrintPN要逐行输出给定范围[mn]内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。如果给定区间内没有完数,则输出一行“No perfect number”。

cutto的博客 864

数据库面试题

JDBC中的PreparedStatement相比Statement的好处 1、PreparedStatement是预编译的,比Statement速度快 2、代码的可读性和可维护性 虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次: 3、安全性 PreparedS...

超级圈的博客 213

【iceberg数据一致性】iceberg如何保证高并发数据一致性

那么在高并发的时候,同时操作某张表时是如何运作的呢?其实这里iceberg引用了乐观锁的方法。其实在写入数据的时候是有一个验证的操作的,即在准备写入时会检查原文件和带写入文件的差异,如果存在本次写入数据以外的数据,则代表有其他操作已经更新了原文件,那么本次写入会取消,并重试写入的步骤,知道验证完成,写入完成,如此就保证了数据的一致性,并且也解决了HMS锁的问题。在使用iceberg写数据时,一直弄不清楚为什么iceberg写入快,并且能够保证数据的一致性。今天决定搞清楚这个问题,经过查询和理解,写下来。

你的博客 1045

Arduino Uno 实验15——MQ-135 气体传感器模块

MQ-135 气体传感器模块简介(空气质量检测 有害气体检测)   MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。MQ135气体传感器对氨气、硫化物、苯系蒸汽的灵敏度高,对烟雾和其它有害气体的监测也很理想。这种传感器可检测多种有害气体,是一款适合多种应用的低成本传感器。   主要用途:家庭和环境的有害气体检测装置   主要芯片:LM393、MQ-135气体传感器 不同气体的型号选择

weixin_42645653的博客 2万+

选择题-数据库

JDBC 1、关于JDBC以下说法错误的是 A、DriverManager可以获取数据库连接 B、DataSource获取的数据库连接是可以重用的 C、DataSource获取的数据库连接也需要关闭物理连接 D、DataSource获取数据库连接也需要加载数据库驱动 2、下列说法错误的是 A、使用JDBC拥有更好的可移植性 B、JDBC制定了统一的数据库编程规范,需要由数据库厂商提供驱动包 ...

question_mark的博客 2281

数学建模学习(78):多输入多输出回归预测模型(结合XGBoost实现)

多输入多输出回归预测问题求解

全栈川川 8131

Java中的executeQuery_java execute,executeQuery和executeUpdate之间的区别

java execute,executeQuery和executeUpdate之间的区别关注:269答案:4信息版本:手机版 电脑版解决时间 2021-01-25 18:31提问者怪咖2021-01-24 22:03java execute,executeQuery和executeUpdate之间的区别最佳答案二级知识专家用命换你心2021-01-24 23:33java中execute,...

weixin_33324007的博客 2566

Android 系统状态栏中实现高斯模糊背景

至此,我们已经完成了在 Android 系统的 SystemUI 中实现高斯模糊背景的过程。通过以上的布局和代码修改,我们可以在状态栏中看到具有高斯模糊效果的背景。同时,为了在不同版本的 Android 系统上适配高斯模糊效果,可能需要进行一些额外的代码调整和兼容性处理。希望本文能够帮助你理解如何在 Android 系统的 SystemUI 中实现高斯模糊背景,并通过提供的源代码进行相应的开发和调试。首先,我们需要在 SystemUI 的布局文件中添加一个用于展示高斯模糊背景的视图。属性来开启模糊效果。

CyberSparkZ的博客 871

RK3568平台开发系列讲解(安卓篇)LED呼吸灯系统流程

1.app层封装后使用NotificationManager发出:NotificationManager.notify() 2.Android 系统架构中:一个manager类对应一个aidl接口,一个manager对应一个底层的服务,notification也是这个架构

内核笔记 3646

jdbc中的preparedStatement相比statement的好处

PreparedStatement是预编译的,比Statement速度快 PreparedStatement代码的可读性和可维护性更高(PreparedStatement单独设置sql) PreparedStatement可以防止sql注入,所以安全性更高。 ...

weixin_45381461的博客 691

大模型_WIN10使用hyper-v安装Ubuntu24.04虚拟机_配置独立静态IP地址_连接外网_并与内网其他机器互通_通过容器安装Dify_超详细安装过程002--人工智能工作笔记0247

本文详细描述了在Hyper-V环境中配置网络、安装Ubuntu虚拟机、设置IP地址、安装Docker以及部署Dify应用的过程。首先,通过Hyper-V管理器创建外部虚拟交换机(ExternalSwitch),并配置本机、虚拟交换机和Ubuntu虚拟机的IP地址,确保网络互通。接着,在Ubuntu虚拟机中安装Open-VM-Tools和Docker,并配置Docker的国内镜像源。最后,通过Git克隆Dify源码,使用Docker Compose启动Dify应用,完成部署。整个过程涵盖了网络配置、虚拟机管理

添柴程序猿的专栏 1752

Java实习生常规技术面试题每日十题Java基础(七),2024年最新面试二叉树题目怎么写

虽然面试套路众多,但对于技术面试来说,主要还是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料。

2401_84425147的博客 928

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java实习生常规技术面试题每日十题Java基础(二)

JAVA 的反射机制的原理。 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 如何将String类型转化成Number类型。 什么是值传递和引用传递? Java的访问修饰符是什么? Java 基础数据类型有哪些? hashCode()和equals()方法的重要性体现在什么地方? switch 中用于判断的表达式,可以用哪些数据类型? char型变量中能不能存贮一个中文汉字?为什么? 静态变量和实例变量的区别?

杨明金的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java实习生常规技术面试题每日十题Java基础(四),一份优秀的java面试简历

②其他非RuntimeException(IOException等等):这类异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。运行时异常,表示无法让程序恢复的异常,导致的原因通常是因为执行了错误的操作,建议终止程序,因此,编译器不检查这些异常。受检查异常,是表示程序可以处理的异常,也即表示程序可以修复(由程序自己接受异常并且做出处理), 所以称之为受检查异常。IO异常,比如说找不到文件;try是将会发生异常的语句括起来,从而进行异常的处理,

2401_84425147的博客 697

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java实习生常规技术面试题每日十题Java基础(五)

启动一个线程是用run()还是start()? 线程的基本状态以及状态之间的关系。Set和List的区别,List和Map的区别?同步方法、同步代码块区别?描述Java 锁机制。Comparable和Comparator接口是干什么的?列出它们的区别Java集合类框架的最佳实践有哪些?HashMap和Hashtable的区别。HashSet和TreeSet有什么区别?说出ArrayList,Vector, LinkedList的存储性能和特性。

杨明金的博客 8万+

Java实习生常规技术面试题每日十题Java基础(六)

1.在Java语言,怎么理解goto。 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些。 4.Java 7 新特性有哪些。 5.Java 8 新特性有哪些。 6.描述Java 动态代理。 7.为什么要使用单例模式? 8.Java中有哪些常用排序方式,使用Java实现冒泡排序。 9.Java中垃圾回收有什么目的?什么时候进行垃圾回收? 10.如何实现对象克隆。

杨明金的博客 7万+

Java实习生常规技术面试题每日十题Java基础(三)

Overload和Override的区别。参数列表相同,返回值不同的方法,是否是重载方法?接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)?面向对象有哪三大特性?abstract class和interface有什么区别?如何理解Java中的Serialization和Deserialization。String是最基本的数据类型吗?如何实现字符串的反转及替换。String("xyz");创建了几个字符串对象。

杨明金的博客 1万+

Java实习生常规技术面试题每日十题Java基础(一)

1.Java 的 “一次编写,处处运行”如何实现? 2.描述JVM运行原理。 3.为什么Java没有全局变量? 4.说明一下public static void main(String args[])这段声明里每个关键字的作用。 5.Java 是否存在内存泄漏? 6.==与equals的区别。 7.Java中有几种类型的流? 8.如何用Java代码列出一个目录下所有的文件。 9.&和&&的区别。 10. 构造器(constructor)是否可被重写(override),其规范是什么?

杨明金的博客 1万+
上一篇: java复习快速导航
下一篇: Java实习生常规技术面试题每日十题Java基础(五)
普通网友
博客等级 码龄4年 3126粉丝 192原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值