• java常见面试题及部分答案


    1.Redis常见的存储数据类型

    list(列表类型) set(集合类型) zset(有序集合类型) string(字符串类型) hash(散装类型)

    2.log4j的级别

    debug:日志的最低级别,一般一些操作,代码,异常,错误等都会输出,

    info:info输出的日志是可以最终给用户看到的,用户可以看懂的日志。

    error:输出错误,错误的问题比异常要大,但是错误和异常并不一样。

    warn:记录系统做出的警告,输出日志。

    fatal:fatal输出的是一些比较严重的错误。

    3.事务的传播行为和隔离级别

    传播行为:一般我们在做项目的时候,都会把事务设置在service层,当我们调用service的一个方法的时候对数据库进行更新操作,事务的传播行为可以保证事务的一致性和原子性,要么都成功要么都失败。

    可以在spring的配置文件中设置事务如:propagation_required。

    propagation_required:如果当前存在事务就加入到当前事务中,如果不存在就创建一个事务。(最常用)

    propagation_supports:如果当前存在事务,则加入该事务,如果不存在就以非事务的方式执行。

    propagation_requires_new:不管当前是否存在事务,都会新建一个事务。

    propagation_not_supports:以非事务的方式执行,如果当前存在事务则挂起该事务。

    等等,总共有七个选项。

    隔离级别:

    读未提交

    读已提交

    可重复读

    可串行化

    4.$和#的区别

    #比较安全  可以防止sql注入  在预编译阶段#{}中的内容将会用一个占位符'?'代替,在进入DBMS(数据库管理)的时候才会解析。

    $安全性低  不可以方式sql注入    在预编译阶段${}中的内容就是动态添加的内容。

    5.分布式 框架的锁

    6.手写单例(多线程模式下的单例)

    7.count(1)和count(*)的区别

    分情况讨论:

    如果你的表没有主键count(1)比count(*)速度快,

    如果有主键列count(1)也是比count(*)快的,

    如果表只有一列那count(*)是比较快的,

    count(1)是列扫描,count(*)是全局扫描。

    8.spring boot和spring的区别

    9.sorl在项目中哪里使用了

    10.Redis的使用场景

    分布式锁与单线程机制

    排行榜

    最新列表

    位操作

    队列

    计数器

    缓存——热数据

    11.Linux的常用命令 杀死进程

  • 相关阅读:
    sql对日期操作
    computeroperationcommand
    Convert函数对日期的应用
    编写快速、高效的JavaScript代码
    vim常用操作技巧与配置
    PureFTPd安装配置
    关于PHP代码加密和文本加密
    父页面调用iframe里的js函数相关例程,Iframe之间通讯研究
    常用JavaScript语法100讲
    计算机端口
  • 原文地址:https://www.cnblogs.com/java-263/p/10284828.html
Copyright © 2020-2023  润新知