自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript

基础概念:一门客户端脚本语言。运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎。脚本语言:不需要编译,直接就可以被浏览器解析执行了。

2021-06-08 21:10:08 260 1

原创 HTML&CSS

HTML:表单标签表单:用于采集用户输入的数据的。用于和服务器进行交互。表单使用标签:

2021-06-07 20:58:48 166

原创 JavaWeb学习-DAY5

JDBC连接池&JDBCTemplate数据库连接池概念:

2021-06-06 21:07:59 187

原创 大数据技术原理与应用(复习)

大数据第一章大数据的四个基本特性(p8)--4V数据量大(Volume)数据类型繁多(Variety)处理速度快(Velocity)价值密度低(Value)举例说明大数据的关键技术(p16)数据采集与预处理:利用ETL工具将分布在异构数据源中的数据抽取到临时中间层,最后加载到数据仓库或数据市集中成为联机分析处理、数据挖掘的基础。数据存储和管理:利用分布式文件系统、数据库等,实现对结构化、半结构化和非结构化海量数据的存储和管理。数据处理与分析:利用分布式...

2021-06-02 16:14:32 4116 1

原创 JavaWeb学习-DAY4

JDBC概念: Java DataBase Connectivity Java 数据库连接, Java语言操作数据库本质: 其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。DriverManager(驱动管理对象):注册驱动:告诉程序该使用哪一个数据库驱动jar获取数据库连接:方法:static Connection getConnecti

2021-05-30 21:55:03 136

原创 JavaWeb学习-DAY3

MySQL多表&数据多表查询笛卡尔积:有两个集合A,B .取这两个集合的所有组成情况。要完成多表查询,需要消除无用的数据多表查询的分类内连接查询:*隐式内连接:*使用where条件消除无用数据*为方便操作给表起别名SELECT需要显示的列FROM表1 别名1,表2 别名2WHERE条件;显示内连接:语法: select 字段列表 from 表名1 inner join 表名2 on 条件内连接查询的是交集部分。内连接查询:1. 从哪些表中查询数据2. 条件

2021-05-28 16:51:44 179

原创 JavaWeb学习-DAY2

DQL查询语句1.排序查询order by 子句;order by 排序字段1 排序方式1,排序字段2 排序方式2;ASC升序(默认) DESC降序**注意:**多个排序条件时,前一个排序值一样时才会判断后一个条件**2.聚合函数:**将一列数据作为一个整体,进行纵向计算count:计算个数 select count(列) from 表; max:最大值 select max(列) from 表; min:最小值 select min(列) from 表; sum:求和

2021-05-26 19:42:28 154

原创 JavaWeb学习-DAY1

Junit**黑盒测试:**不需要写代码,给输入值,看程序能否输出期望的值。**白盒测试:**需要写代码,关注程序具体的执行流程。@Test@Before@After反射框架(半成品软件)设计的灵魂

2021-05-26 15:20:00 141

原创 DNS查询服务器的基本流程

DNS查询服务器的基本流程假定域名为m.xyz.com的主机想知道另一台主机(域名为y.abc.com)的IP地址。例如,主机m.xyz.com打算发邮件给y.abc.com,此时,必须知道主机y.abc.com的IP地址:①主机m.xyz.com先向其本地域名服务器进行递归查询。②本地域名服务器采用迭代查询。它先向一个根域名服务器查询。③根域名服务器告诉本地域名服务器下一次该查询的顶级域名服务器的IP地址。④本地域名服务器向顶级域名服务器进行查询。⑤顶级域名服务器告诉本地域名服务器下一次应查询

2021-05-19 21:29:30 1364

原创 tcp的拥塞控制

拥塞控制的一般原理在计算机网络中的链路容量(带宽)、交换节点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做拥塞。网络出现拥塞的条件:对资源的需求和>可用资源拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提,网络能够承受现有的网络负荷。拥塞控制是一个全局的过程。tcp的拥塞控制方法tcp进行拥塞控制的算法有四种:慢开始、拥塞避免、快重传、快恢复。

2021-05-17 20:33:04 332

原创 设计模式的工厂模式

设计模式的工厂模式**简单工厂:**一个工厂类根据传入的参量决定创建出那一种产品类的实例。**工厂方法:**定义一个创建对象的接口,让子类决定实例化那个类。**抽象工厂:**创建相关或依赖对象的家族,而无需明确指定具体类。简单工厂先将产品类抽象出来,比如,苹果和梨都属于水果,抽象出来一个水果类Fruit,苹果和梨就是具体的产品类,然后创建一个水果工厂,分别用来创建苹果和梨;水果接口public interface Fruit { public void create();}具体类

2021-05-16 21:34:25 57

原创 归并排序(java)

归并排序归并排序就是将两个有序序列合并成为一个有序序列。因此,将两个有序子序列合并成一个有序序列是归并排序的基础算法。两个有序子序列合并void Merge(int a[],int b[],int l,int m,int h){ int i,j,k; int i=1;j=m+1;k=1; while(i<=m&&j<=h){ if(a[i]<a[j]){b[k]=a[i];i++;k++;} else{b[k]=a[j];j++;k++;} } w

2021-05-14 20:23:24 134

原创 快速排序(java)

快速排序快速排序又叫做分区交换排序,是目前已知的平均速度最快的一种排序方法,它是对冒泡排序的一种改进。快速排序的基本思想是:通过一趟排序将排序序列分割成3个部分,即左部、基准值、右部。其中,左部所有数据都比基准值小,右部所有数据都比基准值大。接着,再对左部和右部进行快速排序。方法:在数组中任选一个数作为基准数据,一般情况下我们选取第一个数。接着将所有比基准值小的数放在基准值左边,所有比基准值大的数放在基准值右边。例:代码:import java.util.Arrays;public cla

2021-05-13 21:40:23 89

原创 MySQL事务的隔离性

脏读一个事务读到另一个事务没有提交的数据。事务A修改了一个数据,但未提交,事务B读到了事务A未提交的更新结果,事务B读到的就是脏数据。幻读在一个事务的两次查询中数据不一致,例如有一个事务查询了几列数据,而另一个事务却在此时插入了新的数据,先前的事务在接下来的查询中,就会发现有几列数据是他先前所没有的。不可重复读就是一个事务读到另一个事务修改后并提交的数据。在同一个事务中,对于同一组数据读取到的结果不一致。比如,事务B 在事务A 提交前读到的结果,和在事务A 提交后读到的结果可能不同。不可重复读出现

2021-05-12 21:39:22 103

原创 MySQL事务

MySQL事务简介ACID事务控制语句

2021-05-11 20:45:29 62

原创 socket编程(java实现)

socket编程socket,又称套接字,是在不同的进程间进行网络通讯的一种协议、约定或者说是规范。对于socket编程,它更多的时候像是基于TCP/UDP等协议做的一层封装或者说抽象,是一套系统所提供的用于进行网络通信相关编程的接口。socket编程基本流程socket编程(java实现)服务端使用ServerSocket绑定IP和端口,使用Accept监听端口是否有客户端发送连接请求,一旦有客户端发送连接请求,服务端就回送连接信息,正式建立连接。Server端和Client端都可以通过Se

2021-05-10 22:29:17 9876

原创 求单向链表的倒数第k个节点(只遍历一次)

求单项链表的倒数第k个节点(只遍历一次)单向链表求倒数第k个节点我们可以先遍历一遍找出链表的长度,再设置一个指针走(n-k)步可以找到倒数第k个节点。但是,这需要遍历两次,如果只允许遍历一次我们就可以使用双指针。设置一个先指针和一个后指针,两个指针都指向头节点,先指针先向前走k步,之后两个指针一起向前移动,直到先指针遍历出最后一个节点值为null时,后指针指向的就是倒数第k个节点。class Solution { public ListNode getKthFromEnd(ListNode

2021-05-08 21:33:06 2051 1

原创 jigestra算法

digestra算法digestra算法是从一个顶点到其余顶点的最短路径算法。采用贪心算法思想,第一次查找,找到离原点最近的一个点,标记为已遍历,下一次查找时,从未被遍历的点中找到一个离起点最近的点标记为已遍历,以此类推,直到所有点都遍历到。解决办法代码public class Dijkstra { public int[] ShortestPaths(int[][] quanzhong) { int[] result = new int[quanzhong.length]

2021-04-28 20:47:39 204

原创 树的广度优先遍历

树的广度优先遍历原理树的广度优先遍历就是对每一层的节点依次访问,一层访问结束后进入下一层,直到遍历完所有节点,每个节点只访问一次。树的广度优先遍历我们可以利用队列先进先出的特点来实现。代码实现 ArrayList<Integer> list = new ArrayList<>(); if(root == null) return list; Queue<TreeNode> queue = ne

2021-04-27 21:29:59 1065

原创 死锁

死锁 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象。若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或者系统产生了死锁,这些永远在互相等待的进程称为死锁进程。死锁的产生条件1.**互斥条件:**指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。2.**请求和保持条件:**指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它

2021-04-26 20:17:07 76

原创 树的深度优先遍历

树的深度优先遍历原理 对每一个可能的分支路径深入到不能再深入为止,每个节点只能访问一次。 利用栈先进后出的特性。首先将根节点压入栈中,接着弹出根节点,依次压入右节点和左节点,此时,左节点位于栈的顶端,接着,将左节点弹出,将左节点的右、左子节点依次压入,若没有子节点,则弹出右节点,再依次压入右节点的右、左子节点,以此类推。代码实现 Stack<TreeNode> myStack=new Stack<>(); myStack.ad

2021-04-25 19:49:47 858

原创 单例模式

单例模式 单例模式,也叫单子模式,是一种常用的设计模式。是为确保一个类只有一个实例,并为整个系统提供一个全局访问点的一种方法。 单例模式有以下特点: 1.单例类只能有一个实例; 2.单例类必须自己创建自己的唯一实类; 3.单例类必须给所有其他对象提供这一实例。饿汉单例 1.私有化构造函数。 2.声明本类的引用类型变量,并使该变量指向本类对象。 3.提供一个公共的静态方法获取本类对象。public class Hungry {

2021-04-24 21:25:25 53

原创 二分查找的原理及代码实现

二分查找的原理 二分查找又称二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。 搜索过程从中间元素开始,若搜索元素恰好等于中间元素,则搜索过程结束。否则,将搜索元素和中间元素进行比较,若搜索元素小于中间元素,则在小于中间元素的一半数组中重复上述步骤。若搜索元素大于中间元素,则在大于中间元素的一半数组中重复上述步骤。如果在某一步骤中,数组为空,则说明数组中不存在搜索元素。代码实现public class BinarySearch { public static void m

2021-04-23 16:31:54 424

原创 冒泡排序算法的实现原理

冒泡排序算法的实现原理冒泡排序是一种交换类排序算法。算法的特点是将关键字较大的记录向序列尾部移动,关键字较小的记录向序列前部移动。把数组a[n]中的n个元素看作一个有序表和一个无序表,冒泡排序的有序表部分位于表的右端。开始时有序表中没有元素,无序表中有n个元素a[0]~a[n-1]。算法开始时从最左边开始,a[0]和a[1]比较,若a[0]<a[1]则不交换;若a[0]>a[1],则交换。接着a[1]和a[2]对比,若a[1]<a[2],则不交换,若a[1]>a[2],则交换。

2021-04-22 22:08:49 467

原创 TCP如何保障可靠传输

TCP保障可靠传输TCP最主要的特点:1.TCP是面向连接的传输层协议;2.每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。3.TCP提供可靠交付的服务。4.TCP提供全双工通信。5.面向字节流。可靠传输的工作原理:1.停止等待协议。“停止等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。超时重传若过了一段时间仍没有收到确认,就认为刚刚发送的分组丢失了,因而重传前面发送过的分组。2.连续ARQ协议。发送方每收到一个确认,就把发送窗口向前滑

2021-04-21 17:34:49 231

原创 进程和线程

进程是具有一定独立功能的程序,它是系统进行资源分配和调度的一个单位,重点在系统调度和单独的单位。也就是说,进程是可以独立运行的一段程序。线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。线程基本上不拥有系统资源,在运行时只是暂用一些计数器、寄存器和栈。进程间的通信方式1.无名管道(pipe):管道是一种半双工通信方式,数据只能单向流动,而且只能在具有亲缘关系(通常指父子进程关系)的进程间使用。2.高级管道(popen):将另一个程序当作一个新的进程在当前程序

2021-04-20 20:57:09 53

原创 jdk动态代理和cglib动态代理(略读)

jdk动态代理和cglib动态代理jdk代理:基于接口的动态代理cglib代理:基于父类动态代理jdk需要接口。现在的spring已经集成了cglib,可以直接使用。cglib不需要接口。1.创建增强器;2.设置父类;3.设置回调;4.创建代理对象。...

2021-04-19 21:43:16 62

原创 小型信息管理系统的设计与实现(实验准备)

一、实验目的1.设计一个简单的学生信息管理的程序 StudentInfo ,教学管理人员能够使用 StudentInfo 程序对学生基本信息、课程信息进行管理,包括数据的添加、修改删除和浏览;能够对学生选课进行管理,包括添加学生选课信息、录入成绩;能使用查询功能,快速查看到指定学生的选课信息;能够对学生选课情况进行简单的统计,包括所选的总的课程数、总学分数及平均成绩。2.在添加学生基本信息、课程基本信息相关数据时,学号和课程号不能重复;还有在添加学生选课信息时,要求该学生和课程必须是存在的,而且不能

2020-12-26 20:14:48 3191

原创 迷宫游戏实验设计(实验准备)

一、实验目的1、求随机生成一个迷宫,并求解迷宫。2、要求查找并理解迷宫生成的算法,并尝试用两种不同的算法来生成随机的迷宫。3、要求游戏支持玩家走迷宫,和系统走迷宫路径两种模式。玩家走迷宫,通过键盘方向键控制,并在行走路径上留下痕迹;系统走迷宫路径要求基于 A*算法实现,输出走迷宫的最优路径并显示。设计交互友好的游戏图形界面。二、实验工具IntelliJ IDEAJDK 1.9.1三、相关算法深度优先遍历主要思路是从图中一个未访问的顶点 V 开始,沿着一条路一直走到底,然后从这条路尽头的

2020-12-26 13:45:04 861

原创 贪吃蛇游戏设计准备(实验准备)

一、实验目的1)实现贪吃蛇游戏基本功能,屏幕上随机出现一个“食物”,称为豆子,上下左右控制“蛇”的移动,吃到“豆子”以后“蛇”的身体加长一点,得分增加,“蛇”碰到边界或,蛇头与蛇身相撞,蛇死亡,游戏结束。为游戏设计初始欢迎界面,游戏界面,游戏结束界面。2)进行交互界面的设计,要有开始键、暂停键和停止退出的选项。对蛇吃到豆子进行分值计算,可以设置游戏速度,游戏音乐等拓展元素。二、实验工具IntelliJ IDEAJDK 1.9.1三、开发过程3. 1素材准备事先准备一张背景图片和一段背

2020-12-20 21:41:15 479

原创 计算器的设计与实现(实验准备)

实验项目1 计算器的设计与实现实验目的(1)能通过设计的按钮控件实现简单的算术运算,要求表达式能在编辑框中显示,能将运算结果,输出在编辑框内显示;(2)能够实现混合运算的求解,算数表达式中包括加减乘除括号等运算符;并且能够识别括号,优先级正确。(3)能保存历史的表达式运算记录。实验工具idea,使用java控制台来完成编写。算法思路中缀表达式;后缀表达式。双栈算符优先级法。(1)当扫描到的是运算数,则将其压入栈OPND,(2)当扫描到的是运算符时:如果这个运算符比OP栈顶的优先级高,

2020-12-02 11:00:14 645

空空如也

空空如也

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

TA关注的人

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