1.&和&&区别?

都是逻辑运算符,都是判断两边同时为真,否则为假;但&&当第一个为假时,后面就不执行,而&则还是要继续执行,直至结束;

———————————————————————————————

2.java中栈和堆的区别?

栈用来存放基本数据类型和引用变量,当有函数要调用的时候,通过压栈的方式创建新的栈帧,当函数调用结束时,会释放栈帧;   堆用来存放运行时创建的对象,每一个实例对应一个堆,而存放在垃圾回收器中的值将会自动回收(GC)。

e.g:

class Rectangle{

 private int length;

 private int width;

 public Rectangle(int length, int width){

 this.length=length;

 this.width=width;

 }

 public static void main(String args[]){

 Rectangle r=new Rectangle(3,5);

 }

}

//当程序从main方法开始执行之后,数据的存储关系如下:

栈                                                 堆

—————                            ———————

i=1;                                      new Rectangle()

r                 _ _ _ _ _ _  >>     width:3   length:5

—————                           ————————

局部变量在栈中,对象的引用也在栈中,具体类和参数值在堆中,用完

就作为垃圾回收。

—————————————————————————————————

3.0 说说Spring的用途?

解决业务逻辑层和其他的各个层的松耦合问题,降低客户端和服务器之间的耦合度、依耐性。(解决企业开发的复杂性)

3.1 说说Spring核心?

Spring的核心是控制反转、依赖注入。AOP(面向切面)相当于每个

bean和bean之间的关系交给第三方容器进行管理。

说明:传统项目分为三层:控制层、反转层、持久层(从上至下)。

3.2 说SpringIOC、SpringAOP?

SpringIOC相当于每个bean和bean之间的关系交给第三方容器进行管理。

而这个容器就是面向切面的编程,或AOP是一种编程技术,允许程序模块化横向

切割关注点,或横切典型的责任划分,如日志和事务管理。SpringAOP就是动态

代理。

3.3 Spring的底层实现机制是什么?

用Dom4j(解析XML)+ java 反射机制。其中DOM4j其实就是解析XML,用反射机制实例化bean。

3.4 SpringAOP用到了什么代理?

JDK动态代理:对实现接口的类生成代理。(接口类代理)

CGLib代理机制:对类生成代理。

动态代理和静态代理?

静态代理:有程序员创建或特定工具自动生成源代码,再对其编译。再程序运行前

代理类的.class 文件就已经存在了。

动态代理:在程序运行时,用反射机制动态创建而成。

Spring用到了哪些注入方式?

1)通过set方式注入

public class Person{

 private Computer computer;//全局变量

 public void setComputer(Computer computer){

  this.computer=computer;

 }//set方法

 public void useComputer(){

  computer.start();

 }

 //用bean文件来注入

}

2)通过构造函数注入

public class CPU{

 private String name;

 public CPU(String name){

  this.name=name;

 }

 public String getName(){

  return name;

 }

}

3)注入对象引用(通过对象引用传进来)

public class Computer{

 private String name;

 public void start(){

  System.out.println(name+"computer run");

  System.out.println("CPU name is"+cpu.getName());

 }

}

4)通过工厂方式

public class Singleton{

 private Singleton(){

         static final Singleton instance=new Singleton();

 }

 public static final Singleton getInstance(){

 }

}

Spring有哪些注解?

@AutoWired(按类型注入)

@Service(标示为注入为服务层)

@Resourse(按名称注入)

@Controller(标识控制器bean id)

@RequestMapping(标示映射URL路径)

简述Spring的优缺点

1.

2.可以使用容易提供的众多服务,入事务管理,消息服务等等

3.容器提供单例模式支持

4.容器提供了AOP技术,用它很容易实现入权限拦截,运行期监控

等功能。

5.容器提供了众多的辅助类,能加快应用开发。

6.Spring对于主流的应用框架提供了集成支持,如JPA、hibernate等

7.Spring属于低浸入式设计,代码的污染极低。

8.独立于各种应用服务器

9.Spring的DI机制降低了业务对象替换的复杂性。

10.Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择

Spring的部分或全部。

缺点:用到了大量的反射(自动实例化内存),而反射很占内存,

使得运行速度变慢。

——————————————————————————————————

SpringMVC工作流程

//涉及到了一些XML和servlet方面的内容,先放放。

面试题之一(Spring和堆栈和逻辑运算符)的更多相关文章

  1. J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP

    J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP 前言   搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解.特将相关内容进行整理.    ...

  2. 【笔试题】Spring笔试题

    spring笔试题 1.Spring支持的事务管理类型 Spring支持两种类型的事务管理: 编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护. 声明式事务管理:这意味 ...

  3. 互联网大厂Java面试题集—Spring boot面试题(一)

    Spring Boot 需要独立的容器运行吗? 可以不需要,内置了 Tomcat/ Jetty 等容器.通过pom.xml中导入依赖: <!--spring-boot-starter-web:代 ...

  4. Java精选面试题之Spring Boot 三十三问

    Spring Boot Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一: Spring Boot.Spring MVC 和 ...

  5. java面试题:Spring

    Spring 面试时,最好能结合底层代码说出IOC,AOP或Spring MVC的流程,能说出拦截器的底层. 如果看过Spring的源码,并能结合设计模式表达,是很大的加分项. IOC Q:讲一下IO ...

  6. 面试题之spring

    一.Spring的理解 Spring是一个轻量级的容器,非侵入性的框架.最重要的核心概念是IOC,并提供AOP概念的实现方式,提供对持久层,事务的支持,对当前流行的一些框架(Struts,Hibern ...

  7. JAVA面试题:Spring中bean的生命周期

    Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一 ...

  8. java面试题之----spring MVC的原理和MVC

    1.什么是mvc? 1.1原始比较初级的设计模式: 1.2 MVC设计模式 2MVC设计模式的优势与核心在于其能解耦和: 传统的设计模式相当于是一个串联的设计,只要其中一个环节出了问题便会使下一环节中 ...

  9. java面试题之----spring与struts2的比较

    我们从以下几个维度来区分两者的概念: 1.  机制:spring mvc的入口是servlet,而struts2是filter.     补充几点知识:     < Filter 实现javax ...

随机推荐

  1. php小记

    php获取日期: date_default_timezone_set('PRC'); //默认时区 "今天:",date("Y-m-d",time()),&qu ...

  2. Java实现验证码的产生和验证

    大家都知道为了防止我们的网站被有些人和黑客恶意攻击,比如我们网站的注册页面,如果我们在用户注册的时候不加上一个验证码框的话,别人就可以写一个脚本对你的网站进行恶意的注册,比如每分钟对你的网站进行n次的 ...

  3. PHP之文件上传

    1.$_FILES['myFile']['name'] 上传文件的原始名称 2.$_FILES['myFIle']['type'] 上传文件的mime-type 3.$_FILES['myFile'] ...

  4. eclipse maven build、maven clean、maven install和maven test的区别 精析

          1.情景展示 选中maven项目,右键-->Run As或Debug As-->maven buid,maven install,maven test有什么区别? 2.区别说明 ...

  5. 网站优化(SEO)的10大误区

    前段时间大前端也有关于SEO的文章贡献给广大读者,今日,再发一文,网站优化(SEO)的10大误区.很多新手站长初次接触SEO,感受到SEO 的无穷魅力,想要做一位优秀的SEOer,然而新手朋友在进行S ...

  6. eclipse copy web project后修改context root

    1.项目-->右键-->properties

  7. dedecms文章页调用地址(当前文章URL)如何操作?

    我们在建站时经常会在文末加一个本文地址,那么dedecms文章页如何调用当前文章URL呢?这样做的好处是增加文章的唯一标识,更进一步的做法是在head中加个cannacial标签,告诉搜索引擎url的 ...

  8. 显示界面的流畅性FHHFPSIndicator

    github地址https://github.com/jvjishou/FHHFPSIndicator 1.使用cocoapods  pod 'FHHFPSIndicator' 使用方法: 然后在Ap ...

  9. 在centos7下安装svn

    SVN的安装 yum install subversion 服务端命令 1. svnserver - 控制svn系统服务的启动等 2. svnadmin - 版本库的创建/导出/导入/删除等 3. s ...

  10. HTML5-CSS3-JavaScript(2)

    我们就从HTML5的基础总结起.希望可以提高自身的基础. HTML5 新增的通用属性 1. contentEditable 属性 HTML5 为大部分HTML元素都增加了contentEditable ...