
复习知识整理
文章平均质量分 64
福尔摩斯est
这个作者很懒,什么都没留下…
展开
-
复习整理的DAY34_java垃圾回收机制
首先要清楚一点,什么是垃圾?在java中,显然不可以再被任何途径使用的对象就是垃圾。为什么要垃圾回收?就像我们平常生产垃圾多了的时候,也不得不将垃圾拿出去扔了一样,我们的内存时有限的,如果不进行垃圾回收,内存迟早要耗空,所以我们一定要进行垃圾回收。那么我们可以采取怎样的方式进行垃圾回收呢?首先需要找到哪些是垃圾:垃圾判断算法——标记阶段引用计数法顾名思义,此方法设置了一个引用计数器来计算当前对象被引用次数,引用一次加一,引用失效减一,但这种方法无法解决循环引用的情况,因此,在原创 2021-09-22 19:43:15 · 102 阅读 · 0 评论 -
复习整理的DAY33_数据库存储引擎与索引
存储引擎的分类与说明:主要记住两个常见的:MyISAM:特点——批量插入速度快,不支持事务,使用表格锁定机制InnoDB:特点——批量插入速度比起MyISAM较慢,支持事务,支持行级锁定。可以查询数据库引擎:SHOW ENGINES;#############################################################################索引:什么是索引?在关系数据库中,索引是一种单独的、物理的对数据库表中一列...原创 2021-09-15 16:35:37 · 110 阅读 · 0 评论 -
复习整理的DAY32_Java常见算法一——冒泡排序
冒泡排序:顾名思义,就像是水里在冒泡,一个接着一个,从头到尾,一次下来,将最大的“泡泡”沉在最后,来上length-1次,就可以排出顺序。原创 2021-09-13 14:27:04 · 97 阅读 · 0 评论 -
复习整理的DAY31_代理模式与SpringAOP
什么是代理模式?代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式分类:静态代理与动态代理,动态代理两者实现方式——JDK动态代理,CGLIB动态代理。静态代理:在程序运行前,代理类的字节码文件就存在。动态代理:程序运行时动态创建代理类。什么是代理类?为对象提供一种代理以控制对这个对象的访问。静态代理:比如我们存取的时候需要验钞机,通过它,合格了,才能将前存进银行。这个验钞机就好比代理类,我们不能直接接触内部,需要经过中间的验钞机,才能把我们的原创 2021-09-10 20:27:52 · 115 阅读 · 0 评论 -
复习整理的DAY30_Spring IOC(xml配置与注解)
Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。IOC是什么?IOC是Inversion of Control的缩写,翻译为控制反转。什么叫控制反转?要知道,原本我们创建对象,都是主动去new对象,也就是,需要什么,才去创建什么。而现在,控制反转,指的就是我们将对象在外部容器中创建成功,用的时候,再取出来自己用。这个创建对象的过程不是我们主动的,我们只是被动的接受容器创建好的对象。在Spring中IOC是在Spring容器中将对象创建成功,再通过set赋值原创 2021-09-09 16:00:46 · 346 阅读 · 0 评论 -
复习整理的DAY29_三层架构
什么是三层架构?三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)这三层架构使用三层架构之后有什么好处呢?首先,显而易见,使用三层架构之后代码变得结构清晰。其次,耦合度低。三层架构的思想是高内聚低耦合,通过三层架构,我们可以在中间某层不使用时,更新替换这些不使用的代码,而不影响其它层,最后,在前两个的基础上,我们可以及时适应需求的变化。也就是:结构清晰;耦合度低,可维护性好,可扩展性高;容易适应需求变化。缺点:原创 2021-09-07 09:29:10 · 95 阅读 · 0 评论 -
复习整理的DAY28_MyBatis的动态sql与多表
通过MyBatis提供的各种标签方法实现动态拼接Sql(1)selectselect中where与if标签的引用<!--if和where标签--> <select id="selectByCondition" parameterType="Student" resultMap="studentMap"> select <include refid="studentColumn"></inc...原创 2021-09-04 22:33:26 · 235 阅读 · 1 评论 -
复习整理的DAY27_MyBatis
首先,什么是MyBatis?MyBatista属于ORM框架,是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射,对JDBC操作数据库的过程进行封装,使开发者只需要关注SQL本身。这么说,可能有人不太理解,什么是ORM框架,什么又是持久层框架?ORM即Object Relation Mapping的缩写,对象映射关系,基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口,用于面向对象的对象模型和关系型数据之间的相互转换。而持久层框架是在系统逻辑层面上,..原创 2021-09-04 16:48:44 · 143 阅读 · 0 评论 -
复习整理的DAY26_SpringMVC
首先,什么是SpringMVC?SpringMVC是一个MVC框架,也是Spring的一个模块,有Spring的特性。那么,什么是MVC?MVC的全名是Model View Controller,M是指业务模型,V是指用户界面,C则是控制器,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。SpringMVC依赖于Core(IOC),SpringMVC需要导入Core包和SpringMVC特有的包。...原创 2021-09-04 09:47:22 · 184 阅读 · 0 评论 -
复习整理的DAY24_方法区
首先,什么是方法区?JVM里的方法区是线程共享的内存区域,存储已被虚拟机加载的类信息、常量、静态变量,静态代码块、即时编译器(JIT Compiler)编译后的代码数据等。方法区包括静态变量 + 常量 + 类信息(构造方法/接口定义) + 运行时常量池。我们经常谈论方法区与堆,那么方法区属于堆吗?虚拟机规范中讲方法区看做是堆的逻辑部分,但是对于HotSpotJVM实现上,将堆和方法区分开,认为是两个不同的结构,方法区还有一个名字是非堆(Non-Heap)。那么方法区的具体实现是什么呢?原创 2021-09-01 20:27:05 · 113 阅读 · 0 评论 -
复习整理的DAY23_JVM堆
什么是堆?Java 虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 JVM启动时创建的。Java堆区在JVM启动时被创建,其空间大小也就确定了,一个JVM实例只存在一个堆内存,其大小是可以调节的。堆可以处于物理上的不连续内存空间中,但在逻辑上应该被视为连续的。所有线程共享Java堆,但堆空间不一定是所有线程共享的,线程私有的缓冲区(TLAB:Thread Local Allocation Buffer)在堆中是独有的。几乎所有对象实例都在这里原创 2021-08-31 23:03:30 · 126 阅读 · 0 评论 -
复习整理的DAY22_虚拟机栈
首先,Java虚拟机栈是什么?栈是运行时的单位,每个线程在创建时都会创建一个虚拟机栈,其内部保存着栈帧,对应着Java方法调用,栈是线程私有的。栈与堆的比较:(1)栈是运行时的单位,堆是存储时的单位(2)栈解决的是程序的运行问题,堆解决的是数据的存储问题。虚拟机栈的作用:解决程序的运行问题,保存方法的局部变量、部分结果,并参与方法的调用与返回。JVM栈的操作:每个方法的执行,伴随着进栈/入栈/压栈;每个方法的结束,伴随着出栈栈的特点:栈是一种快速有效的存储分配方式,对原创 2021-08-31 15:55:13 · 106 阅读 · 0 评论 -
复习整理的DAY21_JVM
JVM(Java Virtual Machine)即java虚拟机,是一台执行Java字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必由Java语言编译而成,其他的程序语言只要能符合JVM规范那么就可以在虚拟机上运行。JVM特点:①一次编译,到处运行。②自动内存管理。③自动垃圾回收功能。JVM作用:负责装载字节码到内部,解释编译为对应平台上的机器指令执行。每一条Java指令,Java虚拟机规范中都有详细定义。JVM位置:接下来,主要以HotSpot VM作为例子介绍原创 2021-08-30 22:28:36 · 141 阅读 · 0 评论 -
复习整理的DAY20_类加载器
什么是类加载器?Java类加载器是Java运行时环境的一部分,负责动态加载Java类到Java虚拟机的内存空间中。上图,原创 2021-08-30 15:14:16 · 105 阅读 · 0 评论 -
复习整理的DAY19_简单工厂模式
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。上示例:原创 2021-08-27 21:43:27 · 91 阅读 · 0 评论 -
复习整理的DAY18_线程池
首先,什么是线程池?线程池是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程的操作,节省了反复创建线程消耗的资源。为什么要创建线程池?在实际应用中,创建和销毁线程消耗的资源都非常大,有时候会比处理实际用户请求消耗的时间和资源还要多,而系统有可能就会因为消耗内存过度或者切换频繁而资源耗尽,为了减少这种情况的发生,我们使用线程池来限制线程的数量,更好的利用线程,减少频繁的创建和销毁。Java线程池的顶级接口是Executor,不过真正的接口是ExecutorService,其默原创 2021-08-27 13:58:30 · 100 阅读 · 0 评论 -
复习整理的DAY17_单例模式(懒汉式、饿汉式)
首先,什么是单例模式?单例模式属于创建型模式,提供了一种创建对象的最佳方法。该模式涉及到一个单一的类,该类负责创建自己的对象,同时保证只有单个对象被创建,提供一个访问它的全局访问点。这种模式就叫单例模式。那么如何实现单例模式呢?要保证只有单个对象被创建,那么构造函数就要私有化,所以在该类创建自己的对象时,要创建静态全局对象。在new对象时,分为两种情况,分别是懒汉式和饿汉式。(1)饿汉式public class Singleton { private static Single原创 2021-08-25 21:59:43 · 94 阅读 · 0 评论 -
复习整理的DAY16_线程
什么是线程?线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。是CPU调度和分派的基本单位,本身不拥有系统资源,但可以访问进程的系统资源。老生常谈的一个问题:线程和进程之间的关系?(1)一个线程只属于一个进程,一个进程可以有多个线程,至少有一个线程(一般称为主线程)。(2)资源分配给进程,同一个进程的所有线程共享该进程的资源。(3)线程在执行过程中,协作同步。(4)CPU分配给线程。真正在CPU上运行的是线程。(5)线程是进程的可执行单元,是进原创 2021-08-25 11:50:53 · 119 阅读 · 0 评论 -
复习整理的DAY15_EL与JSTL
EL是什么?EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。(百度百科)EL表达式作用:向浏览器输出域对象的变量或表达式计算的结果。语法格式:${变量或表达式}(代替jsp的<%=request.getAttribute(key)%>)EL从四个域对象获取某个值:page:${pageScope.key}r原创 2021-08-24 09:28:20 · 94 阅读 · 0 评论 -
复习整理的DAY14_json、ajax
json:什么是json?json是JavaScript Object Notation的缩写,是一种轻量级的数据交互格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。(来自百度百科)提到json时似乎总是离不开js,但要知道json是基于ECMAScript语法,与js语法相似,可以让开发者更快上手,但是json与js并没有什么更深的联系。说到这里,可以提一下json的特点:1)易于程序员阅读和编写2)易于计算机解原创 2021-08-19 22:33:38 · 117 阅读 · 0 评论 -
复习整理的DAY13_Filter过滤器,用过滤器处理post编码以及用户登录的实现代码
首先,什么是过滤器?过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。我们为什么要用到过滤器?在项目开发中,经常会用到重复代码的实现,如:请求的每个servlet都要设置编码,每次都要判断用户是否登录了,是否有权限操作。过滤器相关API:接口Filter——核心举例:// "/*"表示拦截所有的请求@WebFilter(filterName = "hello原创 2021-08-17 21:26:59 · 243 阅读 · 0 评论 -
复习整理的DAY12_Cookie技术、Session技术、登录页面代码
首先要清楚一个概念,什么是会话?在计算机术语中,会话是指一个终端用户与交互系统进行通讯的过程,比如从输入账户密码进入操作系统到退出操作系统就是一个会话过程。会话数据(Cookie、Session):管理浏览器客户端和服务器之间会话过程中产生的数据。ServletContext:可以理解为服务器端的一个共享空间,它可以被所有的客户端访问,被所有用户所共享,可以通过setAttribute、getAttribute来读写数据。Session技术:数据放在服务器的技术叫做Session技术,会为每个客户端原创 2021-08-16 20:39:53 · 97 阅读 · 0 评论 -
复习整理的DAY11_Servlet生命周期以及在web里分页操作
Servlet生命周期共分为五个阶段:1.加载阶段Servlet容器通过类加载器加载Servlet文件2.创建阶段通过构造方法创建Servlet对象,在Tomcat中,Servlet是单实例的。3.初始化阶段。用init()方法初始化,只调用一次。4.响应客户请求阶段。通过service方法响应客户请求,可以响应多次5.销毁阶段。停止服务器或者重新部署web应用时,用destroy方法销毁,释放占用的资源。尝试了一下:public class LifeServlet extends原创 2021-08-13 20:22:56 · 126 阅读 · 0 评论 -
复习整理的DAY10_对上次修改的改进以及get和post的对比
这次的修改不再带着很多参数一起穿,而是先传要修改信息的id到查询里,通过查询,将信息都显示出来,再进行修改,并且加了个提示框。student.jsp(之前的student_jsp.jsp名字改了)<%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/10 Time: 16:38 To change this template use File | Settings | File Templates.--%>&原创 2021-08-12 19:29:38 · 102 阅读 · 0 评论 -
复习整理的DAY9_用一个servlet类写增删改查
复习整理的DAY9_用一个servlet类写增删改查主要是用了一个switch,就可以不用写很多servlet类了。@WebServlet("/teacher")public class TeacherServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOExce原创 2021-08-11 21:47:10 · 132 阅读 · 0 评论 -
复习整理的DAY8_JavaScript简单整理
相对于Java的编译型语言,JS(JavaScript)是解释型语言。解释型语言:每次运行都需要将源代码解释成机器码并执行,效率较低;只要平台提供相应的解释器,就可以运行源代码,可以方便源程序移植。JS的数据类型:基本类型,特殊类型,组合类型基本类型:数字number,字符串string,布尔类型boolean。特殊类型:null,undefined(未定义)组合类型:Array,Object变量声明:举例:var x;// 没有初始化的变量自动取值为undefine原创 2021-08-10 14:05:53 · 68 阅读 · 0 评论 -
复习整理的DAY7_CSS的盒模型,浮动定位
什么是盒模型?如图:图中显示的就是一个宽和高都是123,内边距的上下都是20,左右都是40,边界为1,外边距无的盒模型。盒模型的属性:width、height、padding、border、margin。其中,padding指的是内边距,margin指的是外边距。padding可以分为padding-top,padding-right,padding-bottom,padding-left.margin也可以分为margin-top,margin-right,margin-bott.原创 2021-08-09 19:36:55 · 87 阅读 · 0 评论 -
复习整理的DAY6_css选择器的划分
.color-yellow{}这样的叫做类选择器p{}这样的叫做标签选择器.div p{}这样的叫做后代选择器h3,p{}这样的叫做并集选择器h3 .color-yellow{}这样的叫做交集选择器div>p{}这样的叫做儿子选择器ul li:first-child{}这样的叫做后代选择器h3+p{}这样的叫做下一兄弟选择器...原创 2021-08-09 11:55:09 · 85 阅读 · 0 评论 -
复习整理的DAY5_HTML常见元素标签
首先需要知道,我们经常挂在嘴边的HTML到底是什么?HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。(来自百度)HTML大体框架:<!DOCTYPE html>是H5标准网页说明,简写,原名挺长的。<html>与9</html>限制了文档的开始.原创 2021-08-06 21:15:58 · 182 阅读 · 0 评论 -
复习整理的DAY4_JDBC
我们经常说JDBC,那么JDBC到底是什么呢?JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。通过JDBC,我们可以搭建更高级的工具和接口,完成我们编写的程序。JDBC开发的一般步骤:1.加载驱动Class.foName();2.创建数据库连接3.写SQL语句4.创建Statement5.执行SQL语句(1)更新(2)查询原创 2021-08-05 22:12:17 · 112 阅读 · 0 评论 -
复习整理的DAY3_异常
首先上图如图,Throwable是父类,用来定义所有可以被称为异常抛出的类。Throwable包括Error和Exception两大类。Error定义:不希望被程序捕获或者是程序无法处理的错误。Exception定义:用户程序可能捕捉的异常情况或者说是程序可以处理的异常。两者从定义可以看出来显然不一样。这次主要说一说Exception。Exception包括运行时异常(RuntimeException)和非运行时异常,也称编译时异常。Java常见的异常类型:一..原创 2021-08-04 21:27:31 · 115 阅读 · 0 评论 -
复习整理的DAY2_关联查询,三范式
-- 关联查询:inner join(一个)SELECT * FROM java_table1 AS j1 INNER JOIN java_table2 AS j2 ON j1.id_1 = j2.id_2;# 查询来自java_table1和java_table2两表的id相等的所有数据。INNER JOIN将两个表所有数据连在一起,通过ON筛选数据。# 别名可以加上AS,也可以不加,如:java_table jt;-- 关联查询:inner join(多个)SELECT * FRO.原创 2021-08-03 20:42:37 · 93 阅读 · 0 评论 -
复习整理的DAY1_SQL语句
SQL语句有关知识:数据库是以表为组织单位存储数据的。字段属性:1. NOT NULL:不为空2. AUTO_INCREMENT:自动增长3. PRIMARY KEY:主键(不能重复且不能为空,唯一)4. UNIQUE KEY:唯一键5. DEFAULT '默认值':在没有插入数据时自动的默认值6. COMMENT '字段注释':解释说明注释:1.两个‘-’加一个空格,空格后面即为注释内容-- 注释内容2.‘#’后面为注释内容#注释3./*注释*/原创 2021-08-02 21:42:43 · 91 阅读 · 0 评论