- 博客(16)
- 收藏
- 关注
原创 SpringMVC
一、Spring MVC简介Spring MVC是什么Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。Spring MVC 是结构最清晰的 Servlet+JSP+JavaBean 的实现,是一个典型的教科书式的 MVC 构架,不像 Struts 等其它框架都是变种或者不是完全基于 MVC 系统的框架。Spring MVC 角色划分清晰,分工明细,并且和 Spring 框架无缝结合。Spring MVC 是当今业界
2021-09-26 08:44:38 216
原创 Spring
一、Spring概述1.什么是SpringSpring 包括许多框架,例如 Spring framework、SpringMVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等,称之为:Spring 全家桶。Spring framework 就是平时说的 Spring 框架,是全家桶内其它框架的基础和核心。Spring 是目前主流的 Java Web 开发框架。2.Spring核心以IoC(Inverse of Contr.
2021-09-14 08:46:04 318
转载 哈希冲突
一、哈希表哈希表,也称散列表,从根本上来说,一个哈希表包含一个数组,通过特殊的关键码(也就是key)来访问数组中的元素。哈希表的主要思想是通过一个哈希函数, 把关键码映射的位置去寻找存放值的地方 ,读取的时候也是直接通过关键码来找到位置并存进去。最直接的例子就是字典,如果我们要找 “啊” 这个字,只要根据拼音 “a” 去查找拼音索引,查找 “啊”在字典中的位置 ,这个过程就是哈希函数的作用,用公式来表达就是:f(key),而这样的函数所建立的表就是哈希表。比起数组和链表查找元素时需要遍历整个集合的.
2021-08-18 22:01:26 389 2
原创 值传递和引用传递
一、JVM内存的划分1. 虚拟机栈虚拟机栈是Java方法执行的内存模型,栈中存放着栈帧,每个栈帧分别对应一个被调用的方法,方法的调用过程对应栈帧在虚拟机中入栈到出栈的过程。栈是线程私有的,也就是线程之间的栈是隔离的;当程序中某个线程开始执行一个方法时就会相应的创建一个栈帧并且入栈(位于栈顶),在方法结束后,栈帧出栈。栈帧:是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。每个栈帧中包括:(1)局部变量表:用来存储方法中的局部变量(非静态
2021-08-18 08:24:48 108
原创 深拷贝和浅拷贝
数据在内存中的存储一、在方法中声明的变量(局部变量)每当程序调用方法时,系统都会为该方法建立一个方法栈,在方法中声明的变量,即局部变量就放在方法栈中,方法结束后,系统会释放方法栈,在方法中声明的变量随着栈的销毁而结束,这就是局部变量只能在方法中有效的原因。在方法中声明的变量可以是基本类型变量,也可以是引用类型变量。(1)当声明基本类型变量时,其变量名和值是放在栈中。(2)当声明引用类型变量时,该变量会存储一个内存地址,该内存地址指向所引用的对象。引用 变量名是放在栈中...
2021-08-17 17:28:04 109
原创 LinkedHashMap 的实现原理
一、概述从源码里的第一段注释中,我们可以先了解到 LinkedHashMap 是通过哈希表和链表实现的,它通过 维护一个链表来保证对哈希表迭代时的有序性,而这个有序是指键值对插入的顺序。 另外,当向哈希表中重复插入某个键的时候,不会影响到原来的有序性。也就是说,假设你插入的键的顺序为 1、2、3、4,后来再次插入 2,迭代时的顺序还是 1、2、3、4,而不会因为后来插入的 2 变成 1、3、4、2。(但其实我们可以改变它的规则,使它变成 1、3、4、2)LinkedHashMap 的实现主要分
2021-07-12 19:52:45 1098 4
原创 HashMap 的实现原理
一、概述HashMap 的大致结构如下图所示,其中哈希表是一个数组,我们经常把数组中的每 一个节点称为一个桶,哈希表中的每个节点都用来存储一个键值对。在插入元素时, 如果发生冲突(即多个键值对映射到同一个桶上)的话,就会通过链表的形式来解 决冲突。因为一个桶上可能存在多个键值对,所以在查找的时候,会先通过 key 的哈希值先定位到桶,再遍历桶上的所有键值对,找出 key 相等的键值对,从而来获取 value。 二、属性HashMap 类中包含了一些重要的属性影响.
2021-07-12 13:31:56 361
原创 双端队列的实现
Deque是一个双端队列接口,继承自Queue接口,Deque的实现类是LinkedList、ArrayDeque、LinkedBlockingDeque,其中LinkedList是最常用的。Deque是一个线性collection,支持在两端插入和移除元素。名称 deque 是“double ended queue(双端队列)”的缩写,通常读为“deck”。大多数 Deque 实现对于它们能够包含的元素数没有固定限制,但此接口既支持有容量限制的双端队列,也支持没有固定大小限制的双端队列。此接口定义
2021-07-12 07:53:08 221
原创 二叉树的遍历
1. 二叉树概念一棵二叉树是结点的一个有限集合。该集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树组成。满二叉树:在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子节点都在同一层上。完全二叉树:如果一棵具有N个结点的二叉树的结构与满二叉树的前N个结点的结构相同,称为完全二叉树。2. 二叉树的特点每个结点最多有两棵子树,即二叉树不存在度大于2的结点。 二叉树的子树有左右之分,其子树的次序不能颠倒。3. 二叉树的遍历遵循某种次序,遍历二叉树中的所
2021-07-12 07:21:10 67
原创 工厂模式 (简单工厂、工厂方法、抽象工厂)
工厂模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。
2021-05-31 02:23:02 806
原创 单例模式(懒汉,饿汉)
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。...
2021-05-29 20:23:13 159
原创 继承中各代码块的执行顺序
直接通过代码来测试package com.cqucc.extendss;public class Person { private int age; private String sex; private double height; //构造代码块:每创建一次对象就会执行一次,优先于构造方法执行 { System.out.println("父类 构造代码块1"); } //静态代码块在类被加载的时候就执行,只执行一次,优先于主方法执行 static{ Syst
2021-05-28 11:31:05 426 2
原创 关于旅行社网站项目网页布局的设计思路
本章主要开始使用学习HTML5和CSS3来构建Web页面第一个项目采用PC端固定布局来实现创建项目1.创建index.html文件 添加html5基本格式2.创建img和css两个目录3.创建css文件存放在css目录中,并在html5文件中加入css网站结构参考一些同类型的网站,了解一下大致结构,这次要做的网站是一个旅行社的网站,经过参考,首页上选择了4个模块分别是:nav 导航header 头部section 主体footer 尾部<nav> 标签定义..
2021-05-12 13:52:36 5804 3
原创 Flexbox 弹性布局
在 Flexbox 布局模块(问世)之前,可用的布局模式有以下四种:块(Block),用于网页中的部分(节)行内(Inline),用于文本表,用于二维表数据定位,用于元素的明确位置通过将display属性设置为flex,flex 容器将可伸缩弹性布局中必须有一个display属性设置为flex的父元素。弹性容器的直接子元素会自动成为弹性项目。flex-direction 属性定义容器要在哪个方向上堆叠 flex 项目flex-directio...
2021-05-10 18:01:36 162
原创 HTML CSS
HTMLHTML:Hyper Text Markup Language 超文本标记语言html结构:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> </body></html>DOCTYPE html:文档.
2021-04-26 20:58:15 135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人