美文网首页
JAVA初级开发面试题

JAVA初级开发面试题

作者: zhouzilin | 来源:发表于2018-12-02 16:08 被阅读0次

java基础

1、String、StringBuffer以及StringBuild的区别?

答:这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面

    运行速度:StringBuilder > StringBuffer > String

线程安全性:StringBuffer > StringBuilder

String最慢的原因:

String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

总结:

String:适用于少量的字符串操作的情况

  StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况

  StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况

2、知道哪些集合?List与Map的区别以及遍历方式有哪些?

https://www.cnblogs.com/LittleHann/p/3690187.html

答:1.Interface Iterable

1.1 Interface Collection

1.1.1 Interface List(ArrayList、Vector、LinkedList)

1.1.2 Interface Set(HashSet、SortedSet(TreeSet)、EnumSet)

1.1.3 Interface Queue(PriorityQueue、Deque)

1.2 Interface Map(HashMap、Hashtable、SortedMap、WeakHashMap、IdentityHashMap、EnumMap)

HashSet集合判断两个元素相等的标准是两个对象通过equals()方法比较相等,并且两个对象的hashCode()方法的返回值相等

LinkedHashSet元素输出顺序总是与添加顺序一致,由于LinkedHashSet是HashSet的子类,不允许添加重复元素

TreeSet是SortedSet接口的实现类,TreeSet可以确保集合元素处于排序状态

LinkedList同时表现出了双端队列、栈的用法

hashMap允许key为null,value为null,key允许重复

3、对象与引用的关系,分别存放在哪里?

一个引用可以指向多个对象

一个对象也可以被多个引用所指

对象存放在堆内存中

引用存放在栈内存中

4、对象在哪些情况下会被当做垃圾回收掉?

1.没有引用指向

2.只有弱引用指向并且不回收弱引用对象的话存储区无空间

3.虚引用指向的对象

满足以上任意条件则在gc时会回收

javaWeb

1、spring事务传播行为

1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。

    2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。‘

    3、PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。

    4、PROPAGATION_REQUIRES_NEW:创建新事务,无论当前存不存在事务,都创建新事务。

    5、PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

    6、PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。

7、PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

---------------------

作者:hsgao_water

来源:CSDN

原文:https://blog.csdn.net/hsgao_water/article/details/52860380

版权声明:本文为博主原创文章,转载请附上博文链接!

2、spring控制事务的方式

1、编程式事务管理(基于Java编程控制,很少使用)

2、声明式事务管理(基于Spring的AOP配置控制)

3、基于XML配置(经常使用)

4、基于注解(配置简单,经常使用)

https://blog.csdn.net/m0_37354861/article/details/70212548

事务的四个特性:

原子性:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。

一致性:指事务前后数据的完整性必须保持一致。

隔离性:指多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要相互隔离。

持久性:指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,即时数据库发生故障也不应该对其有任何影响。

事务隔离级别:(五种)

DEFAULT--使用后端数据库默认的隔离级别(Spring中的选择项)

READ_UNCOMMITED--允许你读取还未提交的改变了的数据。可能导致脏、幻、不可重复读

READ_COMMITTED--允许在并发事务已经提交后读取。可防止脏读,但幻读和不可重复读仍可发生

REPEATABLE_READ--对相同字段的多次读取是一致的,除非数据被事务本身改变。可防止脏、不可重复读,但幻读仍可能发生

SERIALIZABLE--完全服从ACID的隔离级别,确保不发生脏、幻、不可重复读。这在所有的隔离级别中是最慢的,它是典型的通过完全锁定在事务中涉及的数据表来完成的

其中,MySQL默认采用REPEATABLE_READ隔离级别;Oracle默认采用READ_COMMITTED隔离级别

3、springboot中用到了哪些注解

@SpringBootApplication

@Configuration

@EnableAutoConfiguration

@ComponentScan

@Repository

@Service

@Controller

@ResponseBody

@RestController

@Component

@ComponentScan

@Bean

@AutoWired

@RequestMapping

4、spring是什么?

    spring是一个轻量级开源的设计层面的框架。主要用于业务逻辑和其他层的解耦问题。

    一.Spring能帮我们根据配置文件创建及组装对象之间的依赖关系。

    二.Spring 面向切面编程能帮助我们无耦合的实现日志记录,性能统计,安全控制。

三、在传统应用程序当中,我们如何来完成数据库事务管理?需要一系列“获取连接,执行SQL,提交或回滚事务,关闭连接”,

而且还要保证在最后一定要关闭连接,多么可怕的事情,而且也很无聊;如果采用Spring,我们只需获取连接,执行SQL,

其他的都交给Spring来管理了,简单吧。所以,Spring能非常简单的帮我们管理数据库事务。

    四、Spring还提供了与第三方数据访问框架(如Hibernate、JPA)无缝集成,而且自己也提供了一套JDBC访问模板,来方便数据库访问。

    五、Spring还提供与第三方Web(如Struts、JSF)框架无缝集成,而且自己也提供了一套Spring MVC框架,来方便web层搭建。

六、Spring能方便的与Java EE(如Java Mail、任务调度)整合,与更多技术整合(比如缓存框架)

---------------------

作者:HDDLJJ

来源:CSDN

原文:https://blog.csdn.net/HDDLJJ/article/details/83004840

版权声明:本文为博主原创文章,转载请附上博文链接!

5、spring的工作原理

IOC

AOP

6、什么是IOC?

控制反转

7、什么是AOP?

面向切面编程

8、什么是DI?

依赖注入,IOC的具体实现

9、什么是GC?

垃圾回收

10、springBoot接口请求方式?

get

post

RESTful API

请求 header 获取

11、分布式是什么?

12、集群又是什么,如何实现,正向代理反向代理的优缺点?

13、SpringMvc用过没有?

14、springboot的热部署

springboot底层实现就是springmvc

15、xml的理解

数据库

1、索引有哪些种类?

Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。

https://www.cnblogs.com/yuan-shuai/p/3225417.html

2、内联接、外联接含义是什么?

内联求交集

左外链接

右外连接

交叉连接求笛卡尔积

3、delete与drop

相关文章

  • 轻松斩获offer,千道面试真题汇总,会被问到的都在这了!

    此套面试题适用于Java开发的各个阶段面试,不过更偏向初级和中级开发人员!由于文章篇幅过长,我这里就没列出答案了,...

  • JAVA初级开发面试题

    java基础 1、String、StringBuffer以及StringBuild的区别? 答:这三个类之间的区别...

  • 2018-08-21笔试题

    来电科技-初级Java工程师 forward 和redirect的区别JAVA常见面试题之Forward和Redi...

  • l 主要分为以下几部分: (1)java 面试题 (2)Android 面试题 (3)高级开发技术面试题 (...

  • Android 面试BAT大厂

    主要分为以下几部分: (1)java面试题 (2)Android面试题 (3)混合开发面试题 (4)高端技术面试题...

  • Android 面试BAT大厂

    主要分为以下几部分: (1)java面试题(2)Android面试题(3)混合开发面试题(4)高端技术面试题(5)...

  • android面试题和答案1

    主要分为以下几部分: (1)java面试题(2)Android面试题(3)混合开发面试题(4)高端技术面试题(5)...

  • Android面试题与解析

    主要分为以下几部分: (1)java面试题 (2)Android面试题 (3)高级开发技术面试题 (4)跨平台Hy...

  • 2019-10-17

    主要分为以下几部分:(1)java面试题 (2)Android面试题 (3)高级开发技术面试题 (4)跨平台Hyb...

  • java基础和面向对象核心知识点

    BASIC DAY01 1.Java开发环境: 1)java编译运行过程:------------常见面试题 ...

网友评论

      本文标题:JAVA初级开发面试题

      本文链接:https://www.haomeiwen.com/subject/biwjcqtx.html