spring的底层哪位大神 给说说

当在面试的时候 面试官问到 spring的底层 我应该怎么回答

0

2个回答

一般面试多线程,socket,stl,设计模式,系统内核内存分配以及调度方面的知识,还有你做过的项目。

0

主要就是IOC和aop,,IOC基本就是通过反射进行实例化,,AOP就是通过动态代理进行事务操作

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
哪位给说说IIS?
多谢!!!
哪位给说说!
各位大哥.比如说我用VC建了一个基于对话框的应用程序,名字是A. 继承自CDialog.rnrn那么在工程文件夹下便有这么几个文件 A.h A.cpp A.dsw ADlg.cpp ADlg.h .rnrnrn我又建了一个基于对话框的应用程序,名字是B. 也继承自CDialog.rnrn那么在工程文件夹下便有这么几个文件 B.h B.cpp B.dsw BDlg.cpp BDlg.h .rnrnrn现在,我想把A中的类加入B中,并且再令B中的对话框资源全都继承自类A,这有可能实现吗?rn我试了半天怎么不行啊.应该怎么操作啊?哪位大哥给说说.rn详细点,rn谢谢了!
哪位大神,说说tomcat的问题!
我想在本地开两个项目,也就是有两个端口,这样就不冲突了,都需要改camcat的哪些配置文件,谢谢啦
怎么使用新浪微博API接口?哪位大神给详细说说啊。
可对当前的微博内容进行编辑,其中会涉及到新浪微博API接口;点击编辑,跳转到编辑页面,修内容,判定添加成功,跳转回案例列表页面,否则提示不能为空,点击取消,回到列表页面。能给个具体的实例做好不过了。
tomcat异常,哪位大神给说说红色字体的异常的解决方法
2014-5-8 11:02:46 org.apache.catalina.core.AprLifecycleListener initrn信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: F:\program files (x86)\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\bin;F:\program files (x86)\tomcat64_32\binrn2014-5-8 11:02:47 org.apache.coyote.AbstractProtocol initrn信息: Initializing ProtocolHandler ["http-bio-8080"]rn2014-5-8 11:02:47 org.apache.coyote.AbstractProtocol initrn信息: Initializing ProtocolHandler ["ajp-bio-8009"]rn2014-5-8 11:02:47 org.apache.catalina.startup.Catalina loadrn信息: Initialization processed in 1660 msrn2014-5-8 11:02:47 org.apache.catalina.core.StandardService startInternalrn信息: Starting service Catalinarn2014-5-8 11:02:47 org.apache.catalina.core.StandardEngine startInternalrn信息: Starting Servlet Engine: Apache Tomcat/7.0.53rn2014-5-8 11:02:47 org.apache.catalina.startup.HostConfig deployDirectoryrn信息: Deploying web application directory F:\program files (x86)\tomcat64_32\webapps\docsrn2014-5-8 11:02:49 org.apache.tomcat.websocket.server.WsSci onStartuprn[color=#FF0000]信息: JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress this message, run Tomcat on Java 7, remove the WebSocket JARs from $CATALINA_HOME/lib or add the WebSocketJARs to the tomcat.util.scan.DefaultJarScanner.jarsToSkip property in $CATALINA_BASE/conf/catalina.properties. Note that the deprecated Tomcat 7 WebSocket API will be available.[/color] rn2014-5-8 11:02:49 org.apache.catalina.startup.HostConfig deployDirectoryrn信息: Deploying web application directory F:\program files (x86)\tomcat64_32\webapps\managerrn2014-5-8 11:02:50 org.apache.catalina.startup.HostConfig deployDirectoryrn信息: Deploying web application directory F:\program files (x86)\tomcat64_32\webapps\ROOTrn2014-5-8 11:02:50 org.apache.catalina.startup.HostConfig deployDirectoryrn信息: Deploying web application directory F:\program files (x86)\tomcat64_32\webapps\test5rn2014-5-8 11:02:55 com.sun.faces.config.ConfigureListener contextInitializedrn信息: 初始化上下文 '/test5' 的 Mojarra 2.0.3 (FCS b03)rn2014-5-8 11:02:56 com.sun.faces.spi.InjectionProviderFactory createInstancern信息: JSF1048:有 PostConstruct/PreDestroy 注释。标有这些注释的 ManagedBeans 方法将表示注释已处理。rn2014-5-8 11:02:57 org.apache.catalina.startup.HostConfig deployDirectoryrn信息: Deploying web application directory F:\program files (x86)\tomcat64_32\webapps\test9rn2014-5-8 11:03:00 com.sun.faces.config.ConfigureListener contextInitializedrn信息: 初始化上下文 '/test9' 的 Mojarra 2.0.3 (FCS b03)rn2014-5-8 11:03:02 com.sun.faces.spi.InjectionProviderFactory createInstancern信息: JSF1048:有 PostConstruct/PreDestroy 注释。标有这些注释的 ManagedBeans 方法将表示注释已处理。rn2014-5-8 11:03:03 org.apache.coyote.AbstractProtocol startrn信息: Starting ProtocolHandler ["http-bio-8080"]rn2014-5-8 11:03:03 org.apache.coyote.AbstractProtocol startrn信息: Starting ProtocolHandler ["ajp-bio-8009"]rn2014-5-8 11:03:03 org.apache.catalina.startup.Catalina startrn信息: Server startup in 16510 msrn
哪位大神说说MMU和MTD是什么东西
在网上的资料也不难找,但就是看不明白,谁能给通俗地说说
哪位大神给解释解释。。。。
select length(sys_guid()) from dual;rn结果明明是32位,可是为啥要用raw(16)来存储呢,rnrn[color=#FF0000]新手,勿喷。。。。。[/color]
哪位大神给解决一下
各位大神eclipse工具栏变宽了怎么修改回来,求告知!!
哪位大神给指导指导
select phone from userInfo where phone='13372401690' and to_char(lastTime,'yyyy-MM-dd hh24:mi:ss') LIKE '%2015-02-03%' 这是输出的SQL语句,放到plsql里可以查出数据,JDBC执行时一直返回空值,这是怎么回事儿
Python出错问题,有没有大神给说说
from Crypto.Cipher import AESrnfrom binascii import b2a_hex, a2b_hexrnrnrnclass prpcrypt():rn def __init__(self, key):rn self.key = keyrn self.mode = AES.MODE_CBCrnrn # 加密函数,如果text不是16的倍数【加密文本text必须为16的倍数!】,那就补足为16的倍数rnrn def encrypt(self, text):rn cryptor = AES.new(self.key, self.mode, self.key)rn text = text.encode("utf-8")rn # 这里密钥key 长度必须为16(AES-128)、24(AES-192)、或32(AES-256)Bytes 长度.目前AES-128足够用rn length = 16rn count = len(text)rn add = length - (count % length)rn text = text + (b'\0' * add)rn self.ciphertext = cryptor.encrypt(text)rn # 因为AES加密时候得到的字符串不一定是ascii字符集的,输出到终端或者保存时候可能存在问题rn # 所以这里统一把加密后的字符串转化为16进制字符串rn return b2a_hex(self.ciphertext).decode("ASCII")rnrn # 解密后,去掉补足的空格用strip() 去掉rnrn def decrypt(self, text):rn cryptor = AES.new(self.key, self.mode, self.key)rn plain_text = cryptor.decrypt(a2b_hex(text))rn return plain_text.rstrip(b'\0').decode("utf-8")rnrnrnif __name__ == '__main__':rn pc = prpcrypt('keyskeyskeyskeys') # 初始化密钥rn e = pc.encrypt("my book is free")rn d = pc.decrypt(e)rn print(e, d)rn e = pc.encrypt("我是一个粉刷匠")rn d = pc.decrypt(e)rn print(e, d)rnrn这是源代码,rnTraceback (most recent call last):rn File "C:/Users/Administrator/PycharmProjects/untitled9/test2.py", line 37, in rn e = pc.encrypt("my book is free")rn File "C:/Users/Administrator/PycharmProjects/untitled9/test2.py", line 15, in encryptrn cryptor = AES.new(self.key, self.mode, self.key)rn File "C:\Python34\lib\site-packages\Crypto\Cipher\AES.py", line 200, in newrn return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)rn File "C:\Python34\lib\site-packages\Crypto\Cipher\__init__.py", line 55, in _create_cipherrn return modes[mode](factory, **kwargs)rn File "C:\Python34\lib\site-packages\Crypto\Cipher\_mode_cbc.py", line 234, in _create_cbc_cipherrn cipher_state = factory._create_base_cipher(kwargs)rn File "C:\Python34\lib\site-packages\Crypto\Cipher\AES.py", line 100, in _create_base_cipherrn result = start_operation(c_uint8_ptr(key),rn File "C:\Python34\lib\site-packages\Crypto\Util\_raw_api.py", line 151, in c_uint8_ptrrn raise TypeError("Object type %s cannot be passed to C code" % type(data))rnTypeError: Object type cannot be passed to C codern这是输出的错误信息,我用的Python34,请大神看看是什么错误 ,谢谢
怎么写日志文件?哪位给说说??
-
哪位大虾给小弟说说ResultSet的奥秘?
比如我想显示select * from employee这张表里所有的数据。rnCREATE TABLE dbo.employeern (rn Name char(10) NULL,rn Age int NULLrn ) ON [PRIMARY]rn结果我用下面的程序测试,只能显示所有的Name,请问我如何才能显示Name,Age字段下的所有数据。rnrn附:rnpackage untitled1;rnrn/**rn * Title: rn * Description: rn * Copyright: Copyright (c) 2003rn * Company: rn * @author not attributablern * @version 1.0rn */rnrnimport java.sql.*;rnrnpublic class sqljdbc rn public static void main(String[] ares) rn try rn Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");rn String sourceURL =rn "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=csdn0710";rn Connection databaseConnection = DriverManager.getConnection(sourceURL,rn "sa", "sa");rn System.out.println("Connection established successfully!");rn Statement stmt = databaseConnection.createStatement();rn ResultSet rs = stmt.executeQuery("select * from employee");rn ResultSetMetaData rsm = rs.getMetaData();rn int columnCount = rsm.getColumnCount();rnrn for (int i = 1; i < columnCount; i++) rnrn while (rs.next()) rn System.out.println(rs.getString(i));rn rn rnrn databaseConnection.close();rn rn catch (ClassNotFoundException cnfe) rn System.err.println(cnfe);rn rn catch (SQLException sqle) rn System.err.println(sqle);rn rn rnrn
谁能说说监听器的底层原理?
我自己的猜想是,程序启动一条线程不停地扫描某个特定地址的内容,如果内容发生变化,则调用另一段程序.是这么吗?
哪位大神给个字符串处理的解决方案
[code=sql]rnwith tb1(id,name)as(rnselect 1,'张三1' union allrnselect 2,'张三2' union allrnselect 3,'张三3' union allrnselect 4,'张三4' union allrnselect 5,'张三5' union allrnselect 6,'张三6' ),rncte(id,code) as(rnselect '1,2,3','aa,cc,dd' union allrnselect '4,5,6','ee,hh,ss'rn)rn[/code]rn 已知字符串"hh"(通过"hh" 查到5, 通过"dd"查到3)rn查询出id为5的那条数据,即 rn5,'张三5'
哪位大神给画一下波形发生器的电路图
用555定时器和四运放LM324设计并制作一个频率可变的、能够同时输出脉冲波、锯齿波、正弦波I和正弦波II的波形产生电路。具体要求如下:n (1)四通道同时输出。每通道输出脉冲波、锯齿波、正弦波I和正弦波II中的一种波形,通道负载电阻均为600欧姆。n (2)四通道输出波形的频率关系为1:1:1:3(三次谐波)。脉冲波、锯齿波、正弦波I输出频率范围为8kHz~10kHz,正弦波II的输出频率范围为24kHz~30kHz。输出波形无明显失真。n (3)频率误差不大于10%,通带内输出电压幅度峰峰值误差不大于5%。n提示:用仿真软件验证设计是否正确,无误后再制作。n参考元器件:NE555/LM555,LM324。
tomcat无故宕机 哪位大神给看看
@tomcat无故宕机 A fatal error has been detected by the Java Runtime Environment: SIGSEGV (0xb) at pc=0x00007fd6089a4e9e, pid=17855, tid=0x00007fd5167e9700 JRE version: OpenJDK Runtime Environment (8.0_...
大神们,通不过编译,哪位大神给看看,着急呀
用了gcc -lm还是通不过,现在在学函数,编译通不了,很痛苦,希望哪位大神可以来帮助一下![图片说明](https://img-ask.csdn.net/upload/201712/07/1512652065_6324.png)
有哪位大神能说说吗?java,eclipse
System.out.println(args[0]);这代码是什么意思?
jsp图片上传问题?有哪位大神说说吗?
就是那个上传路径我琢磨了很久,可以具体说一下那个上传路径怎么写吗?SmartUpload su=new SmartUpload(); 然后su.save("/images");里面路径怎么写呢?目的是把图片上传到项目指定images文件夹里面。
jsp上传图片问题出现乱码问题?有哪位大神说说吗?
我在做一个商品添加信息,需要上传商品图片,但是在处理页通过表单传递过来的参数插入数据库出现乱码? 可我这样SmartUpload su=new SmartUpload(); su.upload();String cstagename=new String(su.getRequest().getParameter("lb").getBytes("iso-8859-1"),"UTF-8");做获取的参数同样数据库也是出现乱码,有哪位大神可以说说嘛?
spring底层的学习之路
里面详细的讲述了spring底层知识到springmvc项目搭建,非常适合初学者。
Spring AOP底层实现原理
Spring AOP的底层实现为动态代理。其中动态代理有两种代理机制: JDK动态代理 cglib动态代理 一. JDK动态代理1.概念介绍 在JDK 1.3以后提供了动态代理的技术,允许开发者在运行期创建接口的代理实例,JDK的动态代理主要涉及到java.lang.reflect包中的两个类:Proxy和InvocationHandler。其中InvocationHandler是一个接口,可以
Spring AOP的底层实现原理
Spring的两大核心之一就是AOP,AOP:面向切面编程。在说原理之前,得先知道一些AOP的专业术语。 AOP的专业术语 连接点(JoinPoint):增强执行的位置(增加代码的位置),Spring只支持方法; 切点(PointCut):具体的连接点;一般可能通过一个表达式来描述; 增强(Advice):也称为消息,指的是增加的额外的代码,Spring中,增强除了包含代码外,还包
spring创建对象的底层原理
context-param的初始化原理 首先,当一个web项目启动的时候,Tomcat会去web.xml中读取和这两个节点 然后,tomcat会去创建servletContext对象,并将以键值对的形式传递进去 创建监听器,在监听器的初始化方法里面会有获取contextparam值的方法的调用, ServletContext = ServletContextEvent.getSer
Spring Cloud微服务架构简介
一篇写的不错的spring cloud 介绍的纹章 转载自: https://mp.weixin.qq.com/s/mOk0KuEWQUiugyRA3-FXwg 目录 一、业务场景介绍 二、Spring Cloud核心组件:Eureka 三、Spring Cloud核心组件:Feign 四、Spring Cloud核心组件:Ribbon 五、Spring Cloud核心组件:Hyst...
Spring底层原理
① Spring IOC / DI Spring IOC / DI概念 将对象创建和属性赋值的权利,转移到spring工厂中完成,解耦和,提高了开发效率,极大提高了代码可维护性。 Spring IOC / DI底层实现原理 问题说明:Spring是如何通过配置文件,就完成了对象的创建和属性的赋值? 答案: 使用工厂设计模式 + 配置文件 + 反射 描述: 使用工厂设计模式,在工厂中,根据配置...
spring之ioc底层原理
-
Spring的AOP的底层原理
Spring的AOP   AOP  Aspect Oriented Programming  面向切面编程 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP(面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可...
spring之IOC的底层原理
spring容器里面开辟了四个空间 repository,service,controller,component,即这四个子容器 如下图: 我们知道,加上这四个注解的类会交给spring管理,帮我们创建对象然后放入相应的容器中. 假如在扫描controller时,如果发现里面有 @Autowired IUserService userService 就会在service容器中找有没有相应的对象...
Spring底层源码分析
<div>n 整个课程将由浅入深,介绍spring5源码的构建、spring5IOC容器的初始化过程、bean的声明周期过程、spring BeanFactoryPostporcessor并且结合原理给出当前流行的应用框架如何利用spring的源码知识写出优雅的代码,比如mybaits的源码当中到底如何利用了spring的扩展点写出优雅的代码。<img src="https://img-bss.csdn.net/201906170604002035.jpg" alt="" /><img src="https://img-bss.csdn.net/201906170604188240.jpg" alt="" /></div>
Spring ioc 底层原理
描述:比如有一个类,在类里面有方法(不是静态方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象,把对象的创建不是通过new的方法实现,而是交给spring的配置文件创建类对象。 1、ioc底层原理的使用技术 (1)xml配置文件 (2) dom4j解决 xml (3)工厂设计模式 (4)反射 2、原始方法public class User(){
spring Ioc底层原理
spring框架是一个轻量级的一站式框架,替代了ejb,面试中遇到问题最多的就是aop和ioc原理(楼主栽了不少次),所以看了一些资料,特此记录一下,作为温习之用
Spring AOP底层原理
------------------siwuxie095                         Spring AOP 底层原理       AOP 即 Aspect Oriented Programming,面向切面编程, 即 不通过修改源代码的方式扩展功能    「在不修改源代码的情况下,对程序进行增强」          2、
Spring IOC底层原理
Spring 的ioc操作1.把对象创建交给spring进行管理2.ioc操作的两种方式 (1)xml配置文件 (2)ioc注解方式 IOC底层原理(画图) 1.ioc底层原理使用技术 (1)xml配置文件 (2)dom4j解析xml (3)工厂设计模式 (4)反射 附图 IOC原理视频
Spring IoC底层原理
-------------------siwuxie095                         Spring IoC 底层原理       1、IoC 即 Inversion of Control,控制反转,把对象的创建 交给 Spring 进行管理          2、IoC 容器管理 Bean 的方式:    (1)基于配置文件的方式
Spring IOC底层实现原理
   IOC:称之为控制反转    通俗的来说,之前是我们自己写代码new出来,而现在则是Spring帮我们new出来,我们无需再new,       但是其Spring如何帮我们new呢? 其底层原理是Spring有一个容器为IOC,这个容器中开辟了很多个很重要的注解,其主要的为四大注解         分别为       四大注解: ...
Spring之IOC底层实现原理
Spring框架中主要技术之一IOC,也就是控制反转,对象的创建不是再像原来通过new来创建,而是交给spring配置来创建对象。 我们应该在学习的同时应该了解IOC内部是如何实现创建对象的,有什么优势。下面我来说一下我的学习笔记。 IOC底层实现原理主要技术 ①使用XML文件配置 ②dom4j解析xml ③工厂设计模式 ④反射机制创建对象 图例解释原理 图中我们可...
spring cloud 原理简介
https://blog.csdn.net/forezp/article/details/83999882
spring依赖注入底层详解
spring依赖注入底层详解,很不错的资源,欢迎大家来下载学习。
说说 Spring DAO 的设计思想
DAO (Data Access Object )是访问数据的对象,它不但屏蔽了不同的数据存储介质(数据库、文件或 LDAP 等),也屏蔽了具体的实现技术 。 我们只要为数据访问定义好 DAO 接口,然后使用具体技术来实现 DAO 接口,就可以平滑地切换这些不同的实现技术啦O(∩_∩)O~ 业务层通过 DAO 接口来访问数据,这样就实现了业务层与 DAO 层具体持久化技术之间的解耦,比如下图中的 ...