[Java复习] 复习知识点
将线程转换为守护线程可以通过调用Thread对象的setDaemon(true)方法来实现.
String 被设计成不可变(immutable)类, 所以它的所有对象都是不可变对象.
要被序列化的实例所对应的类必须实现 Serializable 接口.
然后你可以把实例传递给 ObjectOutputStream, 同时 ObjectOutputStream 也必须连接至 fileoutputstream. 这样就会把一个对象储存到一个文件里.
序列化忽略的静态字段
Java Virtual Machine Stacks - Java 虚拟机栈
线程私有,虚拟机栈描述的是 Java 方法执行的内存模型,每个方法在执行时会创建一个栈帧,栈帧中保存有局部变量表、操作数栈、动态链接和方法出口等。粗略来讲 Java 内存区分为堆和栈,实际上『栈』指的往往是虚拟机栈中的局部变量表部分。
局部变量表中存放了编译期可知的各种基本数据类型、对象引用类型和 returnAddress 类型。方法运行期间局部变量表大小不变。
Native Method Stacks - 本地方法栈
和虚拟机栈类似,不过区别在于虚拟机栈为 Java 方法(字节码)服务,而本地方法栈为 Native 方法服务(类似 C 语言中的栈)。具体实现可将这两者合二为一。
Heap - 堆
堆是被所有线程共享的一块内存区域。一般来说所有的对象实例和数组都要在堆上分配,但一些优化技术导致不一定所有对象实例都在堆上分配。
Method Area - 方法区
各线程共享的一块内存区域,和操作系统中进程中的『文本段』有些类似,用于存储虚拟机加载的类信息、常量、静态常量和即时编译器编译后的代码数据等。
Run-Time Constant Pool - 运行时常量池
这一部分是方法区的一部分,用于保存 Class 文件中编译期生成的字面值和符号引用。
直接内存
这一部分并不是虚拟机运行时的数据区域,用于 Native 函数分配堆外内存,提高性能用(不必在操作系统堆和 Java 堆复制数据)。
Java虚拟机区域:https://segmentfault.com/a/1190000002931555
servlet 生命周期?
读取 Servlet 类
创建 Servlet 实例
Web 容器调用 Servlet 的 init() 方法
响应客户端请求通过Servlet中service()方法中相应的doXXX()方法
调用 Servlet 的 destroy()
JSP 的生命周期?
编译
初始化
执行
清理
详细解释
编译:当浏览器请求JSP时,JSP引擎首先检查它是否需要编译页面。如果页面从未被编译过,或者JSP自从上次编译后被修改过,JSP引擎就编译这个页面。
编译的三个步骤:
解析JSP。
将JSP转换为servlet。
编译servlet。
初始化:当集装箱JSP调用jspinit()方法维修前的任何要求
执行:当浏览器请求一个JSP页面被加载和初始化,JSP引擎调用_jspservice()方法在JSP,JSP的_jspservice()方法被调用一次,每一个请求负责生成响应请求,这个方法也负责产生反应的七HTTP方法即得到,帖子,删除等。
清理:JSP的生命周期的破坏阶段代表当JSP是由使用的容器中取出,jspdestroy()方法是方法的破坏servlet JSP对等。
URI和URL区别
统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来。标识出唯一
URL是以描述人的位置来唯一确定一个人的。
URI相当于人的身份证,独一无二的
spring框架有哪7个模块组成,分别列出各模块的名字和功能
Spring有七大功能模块,分别是Spring Core,AOP,ORM,DAO,MVC,WEB,Context。
1,Spring Core
Core模块是Spring的核心类库,Spring的所有功能都依赖于该类库,Core主要实现IOC功能,Sprign的所有功能都是借助IOC实现的。
2,AOP
AOP模块是Spring的AOP库,提供了AOP(拦截器)机制,并提供常用的拦截器,供用户自定义和配置。
3,ORM
Spring 的ORM模块提供对常用的ORM框架的管理和辅助支持,Spring支持常用的Hibernate,ibtas,jdao等框架的支持,Spring本身并不对ORM进行实现,仅对常见的ORM框架进行封装,并对其进行管理
4,DAO模块
Spring 提供对JDBC的支持,对JDBC进行封装,允许JDBC使用Spring资源,并能统一管理JDBC事物,并不对JDBC进行实现。
5,WEB模块
WEB模块提供对常见框架如Struts1,WEBWORK(Struts 2),JSF的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器。
6,Context模块
Context模块提供框架式的Bean访问方式,其他程序可以通过Context访问Spring的Bean资源,相当于资源注入。
7,MVC模块
WEB MVC模块为Spring提供了一套轻量级的MVC实现,在Spring的开发中,我们既可以用Struts也可以用Spring自己的MVC框架,相对于Struts,Spring自己的MVC框架更加简洁和方便。
你更倾向于哪种 DI
采用以设置注入为主,构造注入为辅. 对于依赖关系无须变化的注入, 尽量采用构造注入;而其他的依赖关系的注入, 则采用设置注入.
对于依赖关系无须变化的Bean,构造注入更有用处;因为没有setter方法,所有的依赖关系全部在构造器内设定,因此,不用担心后续代码对依赖关系的破坏.安全性高.
setter : 创建完对象之后再同过set()方法进行设定. 对于复杂的依赖关系, 如果采用构造注入, 会导致构造器过于臃肿, 难以阅读.
ApplicationContext 的实现都有哪些
FileSystemXmlApplicationContext
ClassPathXmlApplicationContext
WebXmlApplicationContext
Bean Factory 与 ApplicationContext 的区别?
http://blog.csdn.net/hi_kevin/article/details/7325554
什么是 Spring beans?
一个 bean 是被实例化,组装,以及由Spring IoC容器管理的对象.
都有哪些 bean scope?
singleton:单例:每一个Spring IOC容器返回一个bean实例
prototype:原型:每次请求时返回一个新bean实例
request:请求:每个HTTP请求返回一个bean实例
session:会话:每个HTTP会话返回一个bean实例
global-session:全局会话:每个全局HTTP会话返回一个bean实例
@Autowired @Inject @Resource
https://www.cnblogs.com/pjfmeng/p/7551340.html
[Java复习] 复习知识点的更多相关文章
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java基础复习笔记系列 四 数组
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...
- Java基础复习笔记基本排序算法
Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...
- java异常复习
如果有时学东西概念太多了,可以反着学,从结果到过程,从代码到概念,也许就不会那么枯燥了,比如学反射的时候. java异常复习 异常和错误的区别? 异常:程序或环境本身出现错误.(程序员可以捕获并处理) ...
- 《Java基础复习》-控制执行流程
最近任务太多了,肝哭我了,boom 参考书目:Thinking in Java <Java基础复习>-控制执行流程 Java使用了C的所有流程控制语句 涉及关键字:if-else.whil ...
- 《Java基础复习》—常识与入门
突然发现自己Java基础的底子不到位,复习! 所记知识会发布在CSDN与博客网站jirath.cn <Java基础复习>-常识与入门 一.Java语言的知识体系图 分为三部分 编程语言核心 ...
- Java基础复习之数组
Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...
随机推荐
- MongoExport后的负载均衡问题查询及解决:can't accept new chunks because there are still 2 deletes from previous migration
问题 前一阵有一个数据导出需求,按照各种数据库的使用方法,使用MongoExport方法导出数据,将数据导出到本地文件系统,在导出之后遇到此问题. 此问题和mongoexport的原理有关,我们知道数 ...
- vue路由1:基本使用
路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页面中就要显示about 的内容.Home按钮 => home 内容, ...
- 正则表达式 re.findall 用法
正则 re.findall 的简单用法(返回string中所有与pattern相匹配的全部字串,返回形式为数组)语法: findall(pattern, string, flags=0) import ...
- 看懂MSSQL执行计划,分析SQL语句执行情况
打开SQL执行计划窗口 执行计划的图表是从右向左看的 SQL Server有几种方式查找数据记录 [Table Scan] 表扫描(最慢),对表记录逐行进行检查 [Clustered Index Sc ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- hashmap相关面试题
- 2018年12月25日 圣诞节快乐 生成器plus
import time#导入时间模块 time.sleep(5)#输入间隔时间5秒 def p_bz():#使用函数 生产包子 for i in range(100): yield "包子% ...
- flask --- 01 .初始
一. 四种web框架比较 Django : 优点 - 大而全所有组件都是有组织内部开发高度定制化 教科书级别的框架 缺点 - 大到浪费资源,请求的时候需要的资源较高 Flask : 优势 - 小而精, ...
- Java 基础 类加载器和双亲委派机制 学习笔记
转自博客:https://blog.csdn.net/weixin_38118016/article/details/79579657 文章不是我写的,但是感觉写的挺通俗易懂的,然后防止以后丢失,就转 ...
- 【Visual Studio 扩展工具】如何在ComponentOne的DataTree中实现RightToLeft布局
概述 C1FlexGrid提供了创建轮廓树的功能,其中可以显示缩进结构,每个节点行旁边都有折叠/展开图标. 然后,用户可以展开和折叠轮廓以查看所需的细节级别. 为此,C1FlexGrid允许您使用其T ...