自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 常用设计模式的学习

1、设计模式1.1概述:软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。1.2学习设计模式的必要性设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。正确使用设计模式具有

2021-08-18 09:39:30 293

原创 对Redis数据库的学习!

Redis的学习1、Nosql概述为什么要用Nosql1、单击MySQL的年代90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候,更多的去使用静态网页Html ~服务器根本没有太大的压力!思考一下,这种情况下:整个网站的瓶颈是什么?1、数据量如果太大、一个机器放不下了!2、数据的索引( B+ Tree ) , 一个机器内存也放不下3、访问量(读写混合) ,一个服务器承受不了~只要你开始出现以上的三种情况之一, 那么你就必须要晋级!2、Memcached(缓存

2021-08-08 16:16:19 431

原创 对树结构的学习

树的常用术语节点,树中的一个连接点父节点,若一个节点含有子节点,则这个节点成为其子节点的父节点子节点,一个节点含有的子树的根节点成为该节点的子节点节点的权,节点的具体值*节点的度,子节点的个数路径,从根节点到某一个具体节点所走过的层,根结点在1层,其它任一结点的层数是其父结点的层数加子树,只要包含了一个结点,就得包含这个结点下的所有节点高度,从根节点向下到某个叶节点最长简单路径中边的条数树的高度,树内所有节点高度的最大值,也就是根节点的高度,也就是树的层数二叉树二叉树的概念1)树

2021-08-05 11:38:18 187

原创 Java操作Excel表格(POI和easyExcel)

Java操作Excel表格POI 和 easyExcel常用信息1、将用户信息导出为excel表格(导出数据… )2、将Excel表中的信息录入到网站数据库(习题上传… )开发中经常会设计到excel的处理,如导出Excel ,导入Excel到数据库中!操作ExceI目前比较流行的就是Apache POI和阿里巴巴的easyExcel !Apache POIApache POI 官网: https://poi.apache.org/HSSF一提供读写Microsoft Excel

2021-07-11 17:08:10 233

原创 JavaScript

JavaScript2、快速入门2.1、引入JavaScript内部引入 <!--script标签内,写JS代码--> <script> alert("hello,world!"); </script>外部引入<!-- 外部引入--><!-- 注意:script标签必须成对出现--> <script src="js/qj.js"></script>

2021-06-25 17:26:56 170

原创 多线程进阶=> JUC并发编程(超详细!)

多线程进阶=> JUC并发编程1、什么是JUCjava.util 工具包 (包、分类)业务:普通的线程代码 ThreadRunnable 没有返回值、效率相比于 Callable 相对较低!2、线程和进程线程、进程进程:一个程序,QQ.exe,Music.exe 程序的集合一个进程往往可以包含多个线程,至少包含一个!Java默认有几个线程? 2个mian. GC线程:开了一个进程Typora,写字,自动保存(线程负责的)对于Java而言: Thread、Runnable、 C

2021-06-25 17:18:39 607

原创 8大排序(内涵代码,图解,思路)

排序一、简单排序1.1Comparable接口需求:​ 1.定义一个学生类Student ,具有年龄age和姓名username两个属性,并通过Comparable接口提供比较规则;​ 2.定义测试类Test ,在测试类Test中定义测试方法Comparable getMax(Comparable C1,Comparable C2)完成测试package com.zhao.sort;//比较两个学生的年龄public class TestComparable { public sta

2021-06-16 20:06:31 160

原创 Servlet与Jsp的学习(内含验证码的操作)

1. ServletContext对象1.1 概述ServletContext 对象代表整个web应用,可以和程序的容器(服务器进行通信)。1.2 获取该对象通过Request对象获取request.getServletContext()通过HttpServlet获取(实际是他的父类实现了该方法)this.getServletContext()演示案例:@WebServlet("/scd")public class ServletContextDemo extends H

2021-05-26 20:20:17 235

原创 对Servlet的学习

1.Servlet1.概述运行在服务器端的java小程序 图解: Servlet是一个接口,定义了Java类被Tomcat识别的规则。Servlet的开发就是实现Servlet接口,重写里面的方法。2.快速入门步骤创建JavaEE项目定义一个类,实现Servlet接口实现接口中的抽象方法配置Servlet在刚才创建的web工程的src目录中创建包 org.wdzl.web.servlet,并创建一个类ServletDemo实现Servlet接口 注意:实现接口时会

2021-05-26 20:18:24 161

原创 JavaWeb之Tomcat

1. Web 相关概念1.1 软件架构C/S:客户端/服务器端B/S:浏览器/服务器端1.2 资源分类静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析如: html,css,JavaScript动态资源: v每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换为静态资源,在返回给浏览器如:servlet/jsp,php1.3 网络通信三要素IP:电子设备在网络中的唯一标识。端口:应用程

2021-05-26 20:14:31 109

原创 回溯算法(解决迷宫回溯与八皇后)

回溯算法迷宫回溯代码实现package recursion;public class MiGong { public static void main(String[] args) { //创建地图 int[][] map = new int[8][7]; //1表示墙 //上下全为一 for (int i=0;i<7;i++){ map[0][i]=1;

2021-05-26 18:39:41 74

原创 MySQL 高级

MySQL 高级1.索引1.1 概述:​ 索引(index)是帮助MySQL进行高效获取数据的数据结构(有序)。在数据之外,数据库系统还维 护着满足特定查找算法的数据结果,这些数据结构以某种方式指向数据,这样就可以在这些数据结构上 实现高级查找算法,这种数据结构就是索引 。1.2 索引的优势优势:类似于书籍的目录,提高数据检索的效率,降低数据库的IO成本。通过索引列队数据进行排序,降低数据的排序成本,降低CPU的消耗。劣势:1. 索引实际上 也是一张表,该表中保存了主键与索引字段,并

2021-05-25 20:23:23 59

原创 Mybatis Plus的简单使用与学习

MyBatis Plus国产的框架,基于MyBatis,在MyBatis框架的基础上做了一个二次封装,让代码开发变得更加简单。在MyBatis框架的基础上做了一个二次封装,使用MyBatis Plus,几乎不用写代码,就可以实现一个基于Web的CRUD操作。Controller、Service、 Repository、 Entity具体操作1、创建Spring Boot 工程2、引入依赖<dependencies> <dependency>

2021-05-23 20:21:36 198

原创 Spring Boot 原理的分析(超详细!!!)

1 Spring BootSpring Boot 没有特定的业务,将其他框架进行整合, 去掉配置开箱即用Spring Boot 跟 Spring MVC 的整合Spring Boot 跟 Thymeleaf 的整合Spring Boot 跟 MyBatis 的整合Spring Boot 跟 MyBatis Plus 的整合Spring Boot 跟 Swagger 的整合2 Spring Boot 自动装配 原理入口 启动类 Application核心注解 @SpringBootAppl

2021-05-23 20:18:37 545 1

原创 对SpringBoot的详细学习(整合持久层,整合视图层。。。)

Spring BootSpring Boot 是Java领域的第一框架。通过Spring Boot可以快速构建一个基于Spring框架的Java Application, 简化配置,自动装配。JavaConfiguration 用 Java类替代XML的配置方式。Spring Boot对常用的第三方库提供了配置方案,可以很好地和Spring进行整合,一键式搭建功能完备的Java企业级应用。开箱即用是 Spring Boot 的特点1.Spring Boot 的优势:不需要任何XML配置文件

2021-05-21 19:51:27 296

原创 对栈的学习(前缀、中缀、后缀表达式)超详细!由计算器的实现哦

栈栈的概念1)栈的英文为(stack)2)栈是一个先入后出(FILO-First In Last Out)的有序列表。3)栈(stack)是限制线 性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另中一端为固定的一 端,称为栈底(Bottom)。4)根据栈的走义可知,最先放入栈中元素在栈底,最后放入的元素在栈项,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除栈的应用场景1)子程序的调用:在跳往子程序前,

2021-05-21 19:11:10 493

原创 数组,队列与链表(详细,单链表的面试题)

稀疏数组基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记录数组一共有几行几列,有多少个不同的值2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模案例:1)使用稀疏数组,来保留类似前面的二维数组(棋盘、地图等等)2)把稀疏数组存盘,并且可以从新恢复原来的二维数组数3)整体思路分析4)代码实现package com.zhao.sparsearray;public class SparseA

2021-05-20 20:34:25 264

原创 约瑟夫环问题

单向环形链表 Josephu(约瑟夫、ysf) 问题​ 问题为:设编号为1, 2, … n的n个人围坐一圈,约定编号为k (1<=k<=n)的人从1开始报数,数到m的那个人出列, 它的下一位又从1开始报数,数到m的那个人又出列, 依次类推, 直到所有人出列为止, 由此产生一个出队编号的序列。​ 提示: 用一个不带头结 点的循环链表来处理Josephu问题:​ 先构成一个有n个结点的单循环链表,然后由k结点起从1开始计数,计到m时,对应结点从链表中删除,然后再从被删除结点的下一个

2021-05-20 20:28:07 132

原创 对于MySQL数据库的加深学习

MySQl数据库1.多表之间的关系多表之间的关系其实也是我们数据库设计所要研究的重点。8.1 一对一:​ 例子:人 和 身份证,一个人对应一个身份证,一个身份证对应一个人,无论从那个角度都成立。这种关系就是一对一的关系​ 实现:一对一关系实现,可以在任意一方添加唯一外键8.2 一对多(多对一):​ 例子:班级和学生,一个班级对应多个学生,一个学生只能对应一个班级。这种关系就是一对多(多对 一)的关系。处理:设置外键,多的一方关联到少的一方8.3 多对多例子:学生和课程,一个学生可以选择

2021-05-07 19:10:19 109

原创 对于MySQL数据库的基础学习

MySQL1.数据库基本概念1.数据库DateBase 简写DB2.概述数据库是用于存储和管理数据的仓库3.特点:​ 1.用于持久化存储数据的,数据库其实就是一个文件系统1.只要是持久化存储,肯定都是以文件的形式存储在硬盘上2.数据库的文件系统和windows文件系统的虽然都可以存储数据,但是数据库不光要求 能存数据,还要求对于数据的操作更简单,管理更方便。​ 2.方便存储和管理数据​ 3.使用统一的操作数据语言——SOL(普通话)4.常见的数据库​ 1.MySQL: 最初是

2021-05-06 20:30:05 268

原创 SSM整合

SSM整合-实现CRUD操作一、技术点1.框架:SSM-Spring,SpringMVC,MyBatis2.数据库:Mysql3.前端展示: BootStrap ,JSP,Ajax4.版本管理: maven5.其他:分页插件-pageHelper ,逆向工程-MyBatis Generator二、环境搭建2.1新建项目,添加依赖 <!-- 分页插件--> <dependency> <groupId>com.github.page

2021-04-27 14:59:28 94

原创 Maven

Maven1 .1Maven是什么​ Maven 是 Apache 开源组织奉献的一个开源项目。Maven 这个词可以翻译为“知识的积累”,也可 以翻译为“专家”或“内行”。​ Maven 的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)。 开发人员只需做一些简单的配置,就可以批量完成项目的构建、报告和文档的生成工作。​ Maven 是跨平台的,这意味着无论是在 Windows 上,还是在 Linux 或者 Mac 上,都可以使用同 样的命令。1.2 构建​ 构建

2021-04-26 16:04:48 76

原创 Spring MVC详细的学习

Spring MVC一、概述1.1什么是SpringMVC复习MVCMVC提倡:每层编写自己的东西, 不写任何与该层无关的代码分层的目的:为了解耦,分工明确,方便后期代码维护。Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架1.2Spring MVC的特点:轻量级,简单易学高效,基于请求响应的MVC框架与Spring兼容性好, 无缝结合约定优于配置功能强大: RESTful、 数据验证、格式化、本地化、主题等简洁灵活

2021-04-26 15:27:00 407

原创 Spring框架的详细学习

Spring1.本章学习内容1.Spring框架概要2.IOC容器3.AOP4.jdbcTemplate5.事务管理6.Spring5新特性7.Spring整合MyBatis2.Spring概要**概述:**它是轻量级的开源的JavaEE框架轻量级:他的体积小,依赖的jar包比较少,并且不需要额外依赖其他的组件开源:免费提供源代码框架:可以简化我们构建软件的过程**目的:**为了解决企业级应用的复杂性核心:IOC:控制反转- 把创建对象的过程交给Spring

2021-03-31 22:13:08 593 1

原创 对于MyBatis框架的学习

1.MyBatis​ MyBatis 它是Apache的一个开源项目-iBatis , 2010年这个项目由apache software foundation 迁 移到了google code,并且改名为MyBatis 2013年11月迁移到Github。1.概述​ MyBatis是一款优秀的持久化框架,支持自定义SQL,存储过程以及高级映射,MyBatis免去了几乎所有的JDBC代码 以及设置参数,获取结果集对象的工作。MyBatis可以通过简单的XML配置或注解来配置映射关系。Hibern

2021-03-25 17:54:51 347 2

原创 多线程

多线程学习多线程之前,我们要先了解什么是线程,但是了解线程之前,我们首先要了解什么是进程,线程依赖于进程存在1.进程概述:正在运行的程序叫做进程。进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源多进程的意义:单进程的计算机只能做一件事情,而现代的计算机都是多进程,也就是可以同时做很多事情。举例:一边记笔记,一边执行代码,一边屏幕广播意义:同一个时间可以同时进行多个任务,提高工作效率,并且提高CPU的使用率思考:​ 我电脑是单核处理器,我一边做笔记,一边

2021-02-03 18:38:45 244

原创 IO流

IO流1.概述​ IO流,又叫做输入输出流,当我们将内存中的数据写到硬盘上时,这个过程叫做输出流(Output),当我们将硬盘上的数据读取到内存中时,叫做输入流(Input)。流本身是一个抽象概念,是对数据传输的总称,也就是说,数据在设备间的传输,叫做流。​ 本章重点:1.明确操作是读还是写 2.使用何种类型的流2.铺垫技术学习IO流之前,我们需要学习两个铺垫技术:一个是异常,一个是File类异常:因为在介质间传输数据会有很多问题,比如:找不到文件,文件格式错误,读写错误,我们需要知道当遇

2021-02-02 21:07:00 125 1

原创 集合

集合概念:​ 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java就提供了集合类。数组和集合类同是容器,有何不同?​ 数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。集合类的特点​ 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。1.Collection接口概述​ Collection 层次结构中的根节点。Collection 表示一组对象,这些对象也称为 collection 的元

2021-02-01 20:05:53 565

原创 常用类

1.Object类概述:1.类层次的根类2.所有类都直接或间接的继承该类构造方法:1.public Objetc();2.所有子类都默认访问父类的无参构造方法Object类的成员方法public int hashCode() :获得该对象的哈希值public final Class getClass() : 返回当前类调用该方法时所对应的对象public String toString():返回该对象的字符串表达形式public boolean equals(Object obj):比

2021-01-31 12:01:21 211

原创 抽象类

1.抽象类概述:​ 用来描述抽象概念的类,叫做抽象类。抽象类中的方法不一定有具体的实现。package org.wdit;/** * 抽象类 */public class unit08 { public static void main(String[] args) { Pets pets = new Dod(); pets.voice(); pets.eat(); Pets pets1 = new Cat();

2020-12-15 22:19:14 3380

原创 运用集合来做一个注册与登录系统

package unit.wdit.test;import java.io.BufferedReader;import java.sql.SQLOutput;import java.util.*;/**练习:做一个注册与登录系统*/public class Test {static Scanner sc = new Scanner(System.in);//创建一个集合用来存放用户名与密码static HashMap<String,String> tree = new H

2020-12-08 20:44:46 254

原创 面向对象版图书管理系统

package org.wdit.unit01.MyTest;//图书类public class Book { //成员变量 //成员变量 private String name;//书名 private int days;//借书的天数 private int counts;//借书的次数 private boolean state;//借书的状态,true借出,false没借出 public Book() { } publi

2020-11-27 21:04:09 563

原创 面向对象的三大特点

封装继承多态1.封装概念:隐藏对象的属性和实现细节,对外提供公共的访问方式。原则:不需要用户访问的内容隐藏起来优点:1.安全性高2.独立性高3.复用性高package org.wdit.unit07;/** * 标准类第一版 * 1.私有化成员变量 * 2.提供公共的访问方法:setXxx()/getXxx() */public class Student2 { //1.私有化成员变量 private String name;//姓名

2020-11-24 19:51:46 501 2

原创 面向对象

面向对象1.思想2.面向过程和面向对象的区别​ 面向过程:今天早上要去上课的完整过程:起床–刷牙–洗脸–出门–打车–走进教室–上课​ 特点:具体的每一步我们都是参与者,关注的是解决问题的过程​ 面向对象:洗衣服:将衣服扔进洗衣机里,然后晾衣服,中间没有关注洗衣服的过程​ 特点:只关注最终的结果3.面向对象的特点:A:更符合人们思考问题的方式B:将我们从执行者变为调用者C: 将问题简化了4.举例:

2020-11-18 21:43:17 137

原创 对前面数组与方法的一次练习

package zhaotong.It;/* 图书管理系统 */import java.util.Scanner;public class BookManager { public static void main(String[] args) { //准备工作 //创建Scanner对象 Scanner sc = new Scanner(System.in); //准备储存书籍信息的一维数组 St

2020-11-16 19:45:50 46

原创 方法与数组

1.方法(面向对象)1.概念:​ 执行特定业务逻辑操作的结构体,在java中称为方法,在c语言中称为函数。2.语法:​ 访问修饰符 返回值类型 方法名([参数1……参数n(参数列表)]){​ 方法体(执行特定操作的内容)​ }方法四要素:​ 访问修饰符: public static | private(私有) | protected(受保护) | 默认​ 返回值:方法的返回结果类型,类型可以是:引用

2020-11-09 21:39:36 188

原创 Scanner类和选择结构和循环结构

1.Scanner类为了让测试更加灵活,我们引入Scanner类步骤:1.导包(编译工具替我们完成)2.创建Scanner对象 Scanner sc=new Scanner(System.in)3.提示用户输入4.接收用户输入数据package org.wdit.unit02;/*Scanner类 步骤 1.导包(编译工具替我们完成) 2.创建Scanner对象 Scanner sc=new Scanner(Sys

2020-11-04 21:29:00 185

原创 对Java语言中运算符的学习

逻辑运算符逻辑运算符只能⽤于 boolean 类型的数据运算,判断 boolean 数据之间的逻辑关系,与、或、⾮。&(与)、|(或)、!(⾮)、&&(短路与)、||(短路或)与&变量1 & 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。或|变量1 | 变量2:变量 1 和变量 2 只要有⼀个为 true,结果为 true,否则为 false。非!!变量1:若变量 1 为 true,结果为 false,若变量

2020-11-04 09:25:58 82

原创 学习java的第一步

1-走进Java1.Java的三个平台版本1.JavaSE-----J2SEJavaSE是其他两个平台版本的基础2.JavaME—J2ME针对于移动端开发的版本3.JavaEE----J2EE针对于web应用的开发版本跨平台性因为Java程序实在Jvm上运行的,而JVM针对不同的操作系统。JVM:Java虚拟机JRE Java运行环境JDK Java开发工具包语法结构1.首先定义一个类:​ class

2020-11-02 20:51:22 192 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除