05 2020 档案
摘要:Socket的定义 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。 Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面, 一个Socket由一个IP地址和一个端口号唯一确定。 Socket通讯的过程 S
阅读全文
posted @ 2020-05-30 14:08
To_Yang
摘要:在之前了解并复习了下B+树之后还是需要实战一下 之前的B+树文章https://www.cnblogs.com/yangj-Blog/p/12944301.html 演示如下 代码如下 BPulsTree.h /* BPlusTree.h B+树定义文件,本程序实行一个简单的B+树 Definiti
阅读全文
摘要:数据库环境 创建一个存放书籍数据的数据库表 CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` (`bookID` INT(10) NOT NULL AUTO_INCR
阅读全文
摘要:MyBatis的一大亮点就是可以不用DAO层的实现类,而我们知道service层调dao层 如果没有实现类,Spring如何为Service注入DAO的实例呢? 比如 现在有一个dao层的bookmapper和配置mybatis的xml类 mybatis-config.xml也配置好了mapper
阅读全文
摘要:MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 官方文档https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-w
阅读全文
摘要:中文文档 https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference/core.html#beans spring官网 https://spring.io/ spirng开发依赖 快速入门 https://doc
阅读全文
摘要:什么是mybatis MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary
阅读全文
摘要:什么是ajax: 直白地说,就是没用AJAX的网页,你点一个按钮就要刷新一下页面,尽管新页面上只有一行字和当前页面不一样,但你还是要无聊地等待页面刷新。 ajax的全称是AsynchronousJavascript+XML。' 只要是JS调用异步通讯组件并使用格式化的数据来更新web页面上的内容或操
阅读全文
摘要:JSP 跳转 1、转发:request.getRequestDispatcher(".jsp").forward(request,response); 2、重定向:response.sendRedirect("success.jsp"); 转发,前后页面共享一个request,重定向是重新定向 前后
阅读全文
摘要:javaweb基础开发Servlet+jsp+mysql+html+css+js (找一个前端模板,一大堆html,自己写的没有模板的美观) 数据库设计 来一个最基础的用户表 drop table if exists `myshop_user`; create table `myshop_user`
阅读全文
摘要:首先什么是jsp HTML不能够查询数据库,Java 代码却访问数据库。因此,在 HTML 代码中间混合 Java 代码,就能够让网页拥有动态的功能。而嵌入了 Java代码的网页,就是 JSP。 页面效果,用 JavaScript 也能够实现,有何区别?最大的区别是:JavaScript 源代码是被
阅读全文
摘要:一般情况下,我们在定义实体类时会继承Serializable接口,类似这样: 我们在实体类中引用了Serializable这个接口 然而里面什么也没有 那也许你就好奇了,那定义它来干嘛 什么是Serializable接口 一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才
阅读全文
摘要:下面用一张图分析一下oracle Oracle数据库其实就是一个文件系统,在Oracle数据库中通常有多个实例,但我们一般只用一个实例,一个实例下有多个表空间,表空间是逻辑概念而已,而一个表空间对应着多个物理存蓄文件 并且 第一,对个用户用一个表空间也不会错乱, 第二,像我们的表啊什么的都在表空间下
阅读全文
摘要:一张常用的图说明一下mysql,并且里面的顺序不能变或者错 mysql命令行登录 mysql -uroot -p root 当然学习阶段我一般使用phpStudy方便快捷,后面又发现了DBeaver更加方便高效 关闭 mysqladmin -uroot shutdown 创建数据库 CREATE D
阅读全文
摘要:数据库简介 关系型数据库:Oracle,Mysql,SQL server/一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织 关系型数据库的最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有要求的系统中,
阅读全文
摘要:servlet 首先Servlet是继承HttpServlet实现方法,一般是init,doget,dopost,service,destroy等 由JVM的垃圾回收器对servlet进行垃圾回收 配置Servlet 1.Servlet的声明 2.Servlet访问方式声明 <servlet> <s
阅读全文
摘要:首先我们知道javaWeb需要服务器。如学习时的tomcat。那么从tomcat开始 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与
阅读全文
摘要:平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。 为什么需要平衡二叉树,下图很好解析了为什么 图中我们可以看出二叉树如果
阅读全文
摘要:什么是哈希表 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 给定表M,存在函数f(key),对任意给定的关键字值
阅读全文
摘要:Java中的线程 在Java中,“线程”指两件不同的事情:1、java.lang.Thread类的一个实例; 2、线程的执行。 在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口.(但是其实本质上都是通过Thread实现的 使用java.lang.Th
阅读全文
摘要:下面我们从File类开始 文件流一般都是File开头的,操作基于文件 缓冲流都是Buffer开头,操作基于内存 File只能操作文件本身,但不能操作文件内容,就像是类似于可以拿日记本不能写日记。 这里面记住windows下为\\ 因为\是转义符,所以\\才代表一个\ 下面看看File类的常用方法图
阅读全文
摘要:首先了解hash原理 https://www.cnblogs.com/yangj-Blog/p/12952744.html 然后什么是hashset 因为接口关系,所以可以如下 那再运用一下Iterator迭代器 Iterator迭代器原理在获取迭代器的时候,会创建一个集合的副本。同时会创建一个指针
阅读全文
摘要:什么是工厂模式:在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生
阅读全文
摘要:模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。该模式的主要优点如下。 它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,
阅读全文
摘要:什么是单例模式,为什么需要单例模式,设计模式可以说是一种套路一个规范 一. 什么是单例模式 因程序需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计。 二. 单例模式的特点 1. 单例模式只能有一个实例。 2. 单例类必须创建自己的唯一实例。 3. 单例类
阅读全文
摘要:或许你也曾经疑问,java的类是怎样new出来的 那么就与本文的构造器有关,构造器也就是构造方法 new的原理就是通过类的构造方法,而我们写类的时候如果没有写构造器,java会自动生成构造器,并且与类名是一致的 比如很简单的一个demo public class demo { private int
阅读全文
摘要:我们知道类内部定义的属性(对象的成员变量)直接操作会导致数据的错误,混乱,安全性问题等 那么如果你还不太明白上面的话,让我们来看下面代码演示 package yichang; public class demo { public int age; public void printAge(){ Sy
阅读全文
摘要:public class Test {private String name;//成员变量,也是全局变量public void changeName() {String n = "tomoya";//n就是局部变量name = n;}}总的来说,定义在类里的,也就是name那个位置知,就是成员变量,
阅读全文
摘要:首先内层循环属于外层循环循环体的一部分,当循环体执行完以后外层循环才进入第二次循环,此过程中内层循环需要执行符合条件的完整循环。(外循环控制行数,内循环控制每一行的个数) 第一个(外层)for循环作用:控制排序的轮数 第二个(内层)for循环作用:控制每一轮里的每一个比较步骤 下面来看一个简单案例九
阅读全文
摘要:首先我们了解一下树: 树状图是一种数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外
阅读全文
摘要:要搞清楚递归那么我们需要知道栈 那么我们来看一个经典的递归,来解析递归与栈的关系 代码如下 public class digui { public static void main(String[] args) { test(4); } public static void test(int n){
阅读全文
摘要:首先搞懂什么是链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,链表通过一个指向下一个元素地址的引用将链表中的元素串起来。 那么再对比一下数组 数组的内存是连续分配的,并且是静态分配的,即在使用数组之前需要分配固定大小的空间。可以通过索引直接
阅读全文
摘要:首先还是看看什么是队列 队列是只允许在表的前面进行删除操作,表的后面进行插入数据,也就是所谓的先进先出 那么看一下实例 import java.util.Scanner; public class Queue { public static void main(String[] args) { Ar
阅读全文
摘要:那么首先明白什么是稀疏数组 稀疏数组只有在数据稀疏的时候才会有优势,而它的特点就是永远是三列,数据行的话是数据个数+1,因为用第一行记录原本的几行几列和多少个数 那么我们用接下来这个案例演示一下 public class SparseArray { public static void main(S
阅读全文
摘要:我们知道C C++是依靠操作系统运行,而我们的Java不一样,是依靠jvm 而这里看到JVM又想引出什么jre(Java运行环境),jdk(Java开发工具包) 这两个经常用到的,也很简单就是使用JDK的开发工具完成JAVA的程序,交给JRE去运行。具体知道jdk>jre,我记得当初看jdk包的时候
阅读全文
摘要:"欢迎来到Django笔记页面" Django 点击这里还可以去 "我的博客主页" o 总结 学习django一段时间, 1.可以virtualenv[name]创建一个名字叫django_env 如果要选择自己想要的解释器可以virtualen p C:\Users\E\AppData\Local
阅读全文
摘要:"欢迎来到爬虫笔记页面" 爬虫 点击这里还可以去 "我的博客主页" o 点击这里还可以去 "大神的学习笔记" o 前言 本页只是为了方便本人以后复习爬虫用的笔记markdown 纯属娱乐,如有雷同,打死不认 —— 1. "什么是网络爬虫与爬虫实现原理" 1. "Urllib简单的爬取网页" 1. "
阅读全文
摘要:首先看看kmp的出现原因:暴力匹配算法 假设现在我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? 如果用暴力匹配的思路,并假设现在文本串S匹配到 i 位置,模式串P匹配到 j 位置,则有: 如果当前字符匹配成功(即S[i] == P[j]),则i++,j+
阅读全文
摘要:思考一下如何取得这几个数 显然,用0,1判断是最快的 没有值都是0,只有有值得才是1,要【判断是否这个数在这个数组里面就直接用if(50)=1即可知道了,够简单吧】,在这100个New 出来的数组空间中,显然这种方式不需要什么二分也不需要快速查找了, 但是有一个很重要缺点就是如果是一亿大小的话,这根
阅读全文
摘要:首先搞懂Docker是什么 ,那我们接下来看一张图了解一下 这就是我们部署项目的一般流程,多个就是横向扩展读个linux上,确保用户量上去也不会崩。但是经常遇到的额问题就是 1服务器与项目环境不一致比如jdk版本tomcat版本或者什么其他问题之类 2升级迭代麻烦 3如果这一台linux还有其他项目
阅读全文
摘要:#排序与查找 查找算法:顺序查找、二分查找、哈希表查找、二叉排序树查找。 排序算法:插入排序、冒泡排序、归并排序、快速排序等。 排序 1.1冒泡排序: 冒泡排序是最简单的排序之一了,其大体思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。 举个栗子,
阅读全文
摘要:在复习到c++的时候,发现习惯了java,python直接对数据的调用或者new之后对于c++的数组运用的不太习惯,在此整理下 1.1基础概念 C++从右往左赋值 C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合 在 C++ 中要声明一个数组,需要指定元素的类型和元素的数量,
阅读全文
摘要:磁盘是以磁头和旋转分块来存蓄内存的数据结构或者数据, 假设我们有一个员工表,放入磁盘,磁盘一个块能存蓄4个员工信息,那么,100个员工就是25块磁盘 那现在需要查找50号员工张三, 那是非常废时间的,为此我们建立了索引,并且将索引页放入磁盘的块中 这也就是树的前身,但是树的设定我们知道是左右子节点和
阅读全文

浙公网安备 33010602011771号