Java 技术面试题
文章平均质量分 73
Java 技术面试题
赖伟春
带着微笑,面对人生所有的不期而遇
展开
-
Redis 的键过期删除策略你知道吗 ?
文章目录Redis 的键过期删除策略你知道吗 ?一、常见的删除策略1.1 定时删除策略1.2 惰性删除策略1.3 定期删除策略二、redis 使用的删除策略2.1 惰性删除策略的实现方式2.2 定期删除策略的实现Redis 的键过期删除策略你知道吗 ?对于 redis 服务器来说,内存肯定很重要的,但如果有一些 key 不常用又一直不被删除,就会造成资源的浪费。一、常见的删除策略常见的三种删除策略如下:其中定时删除和定期删除属于主动删除策略,而惰性删除就被动性删除策略。1.1 定时删除策略在设原创 2022-02-02 16:56:35 · 1321 阅读 · 0 评论 -
单例模式有几种写法?需要注意什么?
单例模式有几种写法?需要注意什么?饱汉模式基础的饱汉模式写法饱汉模式基础的饱汉模式写法原创 2022-01-28 15:50:33 · 901 阅读 · 0 评论 -
@Transactional 事务失效的场景还不清楚 ?
一、事务的类型1、声明式事务2、编程式事务二、@Transactional 声明式事务的用法三、@Transactional 会造成失效的场景原创 2022-01-18 15:11:03 · 367 阅读 · 0 评论 -
Java面试题 (4) Mybatis中一级缓存 和 二级缓存的区别?
Java面试题 Mybatis中一级缓存 和 二级缓存的区别?两者区别:一级缓存的作用域是在SqlSession中,二级缓存的作用域是针对mapper做缓存。一级缓存(本地缓存):一级缓存是框架默认为我们开启的,我们不需要做任何配置。例如我们首次查询id为1的用户,mybatis会将该用户的对象存储在一级缓存中;如果在此中间 sqlSession 执行了commit操作(增删改) ,则...原创 2020-04-27 12:38:57 · 4500 阅读 · 1 评论 -
Java 面试题(3) Mybatis中的 ${ } 和 #{ } 的区别 ?
Java 面试题: Mybatis中的 ${ } 和 #{ } 的区别 ?一,显示不同#{ } 这种方式会将传入的数据自动加上双引号,如 name = #{uname} ,实际上传入的值是 zhangsan ,那么sql 经过 编译就会变成 name=“zhangsan” 。${ } 这种方式将传入的数据直接显示在sql (类型拼接在对应的位置上),如 name = ${uname} ,实际...原创 2020-04-23 22:15:14 · 304 阅读 · 0 评论 -
Java面试题 (2) Java中 throw 和 throws 的区别?
Java面试题 :throw 和 throws 的区别 ?Java 中抛出异常有3种方式,分别是 throw , throws ,系统自动抛出。throw :throw是语句中抛出异常,一般都是在代码块中,当程序中某种逻辑错误时由开发人员主动抛出自己指定类型异常。创建的是一个异常对象,确定某种异常才能使用,定义在方法体内,必须搭配 thy / catch 或者 throws 一起使用。...原创 2020-04-23 20:28:03 · 2142 阅读 · 0 评论 -
Java面试题 (1) Redis中有哪些数据类型?
Java面试题 Redis中有哪些数据类型?redis 支持 五种 数据类型:string (字符串) ,hash(哈希),list(列表),set(集合),zset (有序集合)string (字符串) (最常用)string 是redis中最常用的数据类型,是二进制安全的。意思是redis的string可以存取任何数据。比如jpg图片或者序列化的对象。string 类型是redis中...原创 2020-04-20 14:32:13 · 298 阅读 · 0 评论 -
【Java面试题】Spring 和 SpringBoot 的区别 ?
Java面试题:Spring 和 SpringBoot 的区别 ?Spring :Spring 这个框架相信大家都不陌生,Spring框架为开发Java应用程序提供了全面的架构支持。它包以下这些功能,如 依赖注入,开箱即用的模块 。栗如:1),Spring JDBC === 对JDBC的简单封装2),Spring MVC === Spring MVC框架的实现3),S...转载 2020-04-19 23:15:38 · 4441 阅读 · 2 评论 -
【Java面试题】描述一下JVM加载class文件的原理机制?
Java面试题:描述一下JVM加载class文件得原理机制?1. 装载: 查找和导入class文件;2. 连接:① 检查:检查载入的class文件数据的正确性;② 准备:为类的静态变量分配存储空间;③ 解析:将符号引用转换成直接引用(这一步是可选的)3. 初始化: 静态变量,静态代码块。这样的过程在程序调用类的静态成员的时候开始执行,所以静态方法main()才会成为一般程序的入口 ...转载 2020-04-10 14:42:54 · 370 阅读 · 0 评论 -
【Java面试题】简述逻辑操作(&,|,^)与条件操作(&&,||)的区别
Java面试题:简述逻辑操作(&,|,^)与条件操作(&&,||)的区别 ??条件操作符只能操作布尔值,而逻辑符操作不仅能够操作布尔值,而且还可以操作数值型。逻辑操作符 | 不会产生短路,而条件操作 | | 会产生短路。举个栗子:int a = 0; int b = 0; if( (a = 3) > 0 || (b = 3) > 0 ) //操后...转载 2020-04-09 14:53:06 · 512 阅读 · 0 评论 -
【Java面试题】进程间通信的方式有哪些?线程间通讯方式有哪些?
Java面试题:进程间通信的方式有哪些?线程间通讯方式有哪些?一,进程中的通信方式管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道 (namedpipe) :有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semophore ) :信号量是一个计数器,可以用来...转载 2020-04-09 09:54:30 · 870 阅读 · 0 评论 -
【Java面试题】String 和 StringBuilder、StringBuffer的区别?
Java面试题:String 和 StringBuilder、StringBuffer的区别?这个三个类的区别主要在两个方面,运算速度(执行效率或运算性能)和线程安全性。1,运算速度比较(通常情况下):StringBulider > StringBuffer > StringStirng 是 fina 类不能被继承且为字符串常量,而StringBulider 和 StringBu...转载 2020-04-09 09:22:30 · 166 阅读 · 0 评论 -
【Java面试题】当一个对象被当做参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
当一个对象被当做参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递??答:是值传递,Java编程语言中只有值传递参数。当一个对象作为参数传递到方法中时,参数的值就是该对象的引用。对象的内容可以在方法中被改变,但对象的引用是永远不会改变的。Java中没有指针,所以也就没有引用传递,仅仅有值传递不过可以通过对象的方式来实现引用传递 类似jav...转载 2020-04-07 21:21:04 · 1675 阅读 · 0 评论 -
【Java面试题】switch 是否能作用在byte上,是否能作用在long上,是否能作用在String上?
Java面试题:switch 是否能作用在byte上,是否能作用在long上,是否能作用在String上?switch 可作用于char byte short intswitch 可作用于 char byte short int 对应的包装类switch 不可作用于 long double float boolean 包括他们的包装类switch 可作用于 String (jdk1.7 ...转载 2020-04-05 23:03:43 · 2391 阅读 · 1 评论 -
【Java面试题】解释内存中的栈(stack)、堆(heap)和静态存储区的用法
Java面试题:解释内存中的栈(stack)、堆(heap)和静态存储区的用法堆区(Heap):专门用来保存对象的实例(new创建的对象和数组),实例上也只是保存对象的属性值,属性的类型和对象的类型标记等,并不保存对象的方法。(方法是指令,保存在stack中)1.储存的全都是对象,每个对象都包含一个与之对应的class信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)...转载 2020-04-03 12:36:31 · 361 阅读 · 0 评论 -
【Java面试题】两个对象值相同(x.equals(y) == true),但却可有不同的hashCode,这句话对不对?
Java面试题:两个对象值相同(x.equals(y) == true),但却可有不同的hashCode,这句话对不对呢?答案是:不对的如果两个对象 x.equals(y) == true ,那么它们的hashCode应该相同。java对 equals 方法 是这样规定的:(1)如果两个对象相同(equals 方法返回 true),那么它们的hashCode 值一定要相同;(2)如果两个...转载 2020-04-01 09:04:37 · 1021 阅读 · 1 评论 -
【Java面试题】是否可以继承String类?
String是否可以被继承呢? 答案是:不能String 类的方法头是:public final class String implements java.io.Serializable, Comparable, CharSequence之所以不能被继承是因为" final "修饰符。Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量...转载 2020-03-31 21:38:08 · 415 阅读 · 0 评论 -
【Java面试题】访问修饰符public、private、protected、default(默认不写) 区别
Java中访问修饰符public、private、protected、以及default(默认不写) 时的区别??Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符: 1、private,私有的,被private修饰的类、方法、属性、只能被本类的对象所访问。 我什么都不跟别人分享。...转载 2020-03-31 21:08:37 · 439 阅读 · 1 评论