自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SingleLinkedList(单链表)

SingleLinkedList(单链表)SingleLinkedList单链表结构中,将数据存放在各个节点中。如下图所示,在每个节点内部,有两部组成。(data+next)即数据和指针。所谓单链表无疑是链式存储方式,节点中的next指针指向下一个节点,存储空间不是连续的。单链表结构中有两种形式(下文以带头结点的单链表为例)带头结点的单链表头节点起标记作用,节点中不存放具体数据。next指向第一个有具体数据的节点不带头结点的单链表Operation

2021-01-22 12:07:26 670 1

原创 环形队列(数组模拟)

CircleArrayQueue(环形队列)为了解决数组模拟实现队列遗留的缺陷,尝试用CircleArrayQueue来优化。环形队列思路:front变量的含义,做以下调整:front就指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素,front初始值为0rear变量的含义,做以下调整:rear指向队列的最后一个元素的后一个位置,空出一个空间作为约定(一种算法实现思路,不唯一)判断队列为满:(rear + 1) % maxSize == front判断队列为

2021-01-19 18:54:01 245

原创 ArrayQueue(数组模拟队列)

ArrayQueue(数组模拟队列)队列介绍:队列是一个有序列表,可用数组或链表进行实现.遵循先入先出原则。即,先存入队列的数据先取出,后存入的数据要后取出。示意图(使用数组模拟队列):数组模拟队列的思路:队列本身是一个有序列表,如使用数组结构来存储队列的数据,则需要声明如下//用数组模拟实现队列 -- 创建一个ArrayQueue类class ArrayQueue { private int maxSize; //表示数组的最大容量 pri

2021-01-19 11:16:14 2879

原创 SparseArray稀疏数组

SparseArray稀疏数组二维数组转稀疏数组的思路:遍历原始的二维数组,得到有效数据的个数sum根据sum就可以创建稀疏数组SparseArray int [sum+1] [3]将二维数组的有效数据存放在稀疏数组中稀疏数组转原始的二位数组的思路:先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组。在读取稀疏数组的后几行,并赋值给原始的二维数组即可。/** * Created with IntelliJ IDEA. * User: Joeo8 * Tim

2021-01-17 19:50:58 117

原创 form表单的用法

Form表单form​ 用于向服务器传输数据。form元素是块儿级元素,有自动换行功能表单提交时,必须设置表单元素的name属性值,否则无法获取数据表单需要结合表单元素一起使用。所有标签都有的属性id 用来标识元素的唯一性name 提交数据时的参数名style 设置元素的行内样式(具体的样式)class 设置元素的样式名常用属性action 提交表单的地址method 提交方式 (GET、POST)targer 打开窗口的方式(_se

2021-01-12 16:14:05 878

原创 GET与POST请求的区别(面试)

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。 当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会...

2021-01-12 15:59:34 993 1

原创 Github无法显示和上传头像(已解决)

文章目录Github无法显示和上传头像(已解决)问题描述原因解决方法注意:small_red_triangle:Github无法显示和上传头像(已解决)问题描述打开Github,头像位置错乱,上传头像无限等待,F12查看网页请求发现报错原因DNS有问题解决方法window系统中,在C:\Windows\System32\drivers\etc文件夹修改hosts文件,添加以下内容:#头像上传199.232.96.133 media.githubusercontent.com#

2021-01-12 10:01:12 2070 1

原创 Sublime 插件安装(效率提升必备)

Sublime 插件的安装使用 1. 下载: 下载地址: https://www.sublimetext.com/ 2.安装Package Control 下载地址:https://github.com/wbond/sublime_package_control 解压之后,把文件夹名称修...

2021-01-08 14:54:30 621 3

原创 数据结构

Data Structure​ 数据结构是为实现对计算机数据有效使用的各种数据组织形式,服务于各类计算机操作。不同的数据结构具有各自对应的适用场景,旨在降低各种算法计算的时间与空间复杂度,达到最佳的任务执行效率。如下图所示,常见的数据结构可分为「线性数据结构」与「非线性数据结构」,具体为:「数组」、「链表」、「栈」、「队列」、「树」、「图」、「散列表」、「堆」。...

2021-01-08 10:07:16 90 2

原创 283_移动零

文章目录283 . 移动零一 . 双指针二 . 覆盖三 . 冒泡283 . 移动零一 . 双指针class Solution { public void moveZeroes(int[] nums) { int Left = 0, Right = 0; while (Right < nums.length) { if (nums[Right] != 0) { exchange(nums,Left

2021-01-06 17:08:59 80 1

原创 JSP

文章目录JSP一. 介绍二. 响应对象使用中的问题三. JSP的优势四. JSP文件中JAVA命令书写规范五. Jsp文件中的内置对象 (共九个,常用三个)六. Servlet与Jsp文件之间关系七. Jsp运行原理 :red_circle:JSP一. 介绍JSP是sun公司提供的一种规范JSP规范用于封装响应对象简化将Servlet处理结果写入到响应体开发难度二. 响应对象使用中的问题手动设置响应头content-type手动索要一个输出流对象手动将结果写入到响应体三. JSP

2021-01-06 08:58:07 83 2

转载 事务 ACID

谈到事务一般都是以下四点 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性(Consistency) 事务前后数据的完整性必须保持一致。 隔离性(Isolation) 事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。 持久性(Durability) 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影

2021-01-05 10:31:18 63

原创 过滤器 Java

文章目录过滤器接口介绍Filter作用Filter接口实现类开发步骤(三步)过滤器拦截地址过滤器应用场景过滤器接口介绍Filter接口来自于Servlet规范Filter接口实现类由项目开发人员负责实现Filter接口可以在tomcat调用资源文件之前进行拦截Filter作用拦截Tomcat之后,帮助Tomcat检测本次请求合法性拦截Tomcat之后,对本次请求做增强服务Filter接口实现类开发步骤(三步)创建Filter接口实现类重写doFilter方法web.xml注

2021-01-03 18:58:44 190 2

原创 监听器 JAVA

文章目录监听器接口监听器接口简介介绍作用域对象Servlet规范中定义的作用域对象(三个)监听器作用监听器接口实现类开发步骤ServletContextListener接口介绍全局作用域对象生命周期 :small_red_triangle:ServletContextAttributeListener接口介绍全局作用域对象共享数据变化监听器应用场景数据库连接池需求引入:分析数据库连接池(Connection)实施障碍监听器的具体实现监听器接口监听器接口简介介绍一组(8个)来自于servlet规范中

2021-01-03 18:57:51 333 2

原创 Servlet数据共享

文章目录Servlet之间数据共享方案一 ServletContext接口二 Cookie类三 HttpSessionServlet之间数据共享方案一 ServletContext接口介绍:ServletContext接口来自于Servlet规范ServletContext接口实现类由HTTP服务器厂商提供ServletContext接口修饰对象被称为全局作用域对象来自于用一个网站下的Servlet都可以使用全局作用域对象进行数据共享使用:myWeb网站中OneServlet

2020-12-28 19:20:22 236

原创 Servlet调用(重定向与请求转发)

文章目录一 默认欢迎资源默认欢迎资源文件:默认请求:Tomcat遵守的默认欢迎资源文件定位规则:自定义网站中的默认欢迎资源文件定位规则:Http状态码二 Servlet之间调用方式前提条件:红线:(无论本次请求中涉及了多个Servlet,用户只需要手动发起一次请求)解决方案:重定向解决方案 / 请求转发解决方案三 重定向解决方案工作原理:依赖命令地址格式特征 ????四 请求转发解决方案工作原理:依赖命令:地址: "/资源文件名"特征:????一 默认欢迎资源默认欢迎资源文件:Tomcat

2020-12-28 14:47:04 505

原创 Servlet

文章目录Servlet规范一 Servlet规范二 Servlet规范细节三 Servlet接口实现类开发步骤四 Servlet生命周期五 HttpServletResponse接口 :triangular_flag_on_post:六 HttpServletRequest接口 :triangular_flag_on_post:七 Servlet运用八 请求对象和响应对象的生命周期Servlet规范一 Servlet规范Servlet规范由Sun公司提供Servlet规范指定动态资源文件调用管

2020-12-28 14:08:06 77 1

原创 网络协议包

文章目录一 网络协议/网络协议包:二 Http网络协议包:三 网络协议包分类:四 Http请求协议包内部结构(自上而下分为四层结构)五 Http响应协议包内部结构 (自上而下分为四层结构)六 Http服务器介绍七 Http服务器分类一 网络协议/网络协议包:​ 在互联网通信过程中,网络传递信息都是二进制形式。此时接收方接收到信息之后必须进行一次解析。但是由于传递信息量相对较大,增加接收方解析难度。浏览器:http://localhost:8080/myWeb/index.html​

2020-12-22 17:00:23 165 2

原创 Tomcat工作原理

Tomcat调用动态资源文件原理:对于一个网站来说,tomcat只能调用网站中的Servlet接口实现类Tomcat接收到请求之后,根据url中文名称定位被访问Servlet接口实现类Tomcat通过Class.forName()方法将硬盘中类文件加载到内存Tomcat通过反射机制通知JVM创建当前类的实例对象Tomcat通过实例对象调用init方法来实现对实例对象初始化操作Tomcat通过实例对象调用service方法处理当前用户请求Tomcat通过输出流将service方法处理结果写入

2020-12-22 16:56:30 134

原创 BS通信(全)

B/S通信模型:​ 客户端计算机通过【浏览器】的帮助向服务端计算机发起请求、并索要资源。服务端中【HttpServelt】负责将被请求资源文件内容解析为二进制形式,推送回发送请求的浏览器。浏览器接收到内容后自动进行解析(文字、数字、图片、视频)与编译。Html编程语言学习:HTML编程语言介绍:HTML编程语言专业名称【超文本标签式编辑语言】HTML编程语言只能在浏览器编译、执行HTML编程语言用于控制浏览器HTML编程语言作用:通知浏览器将接收到的数据以指定形式展示

2020-12-22 16:53:11 1029 2

原创 JDBC封装

封装封装的作用:提高代码的复用性,降低应用程序开发难度。封装的分类:基于流程封装如果一个服务实现步骤超过三步以上,那么这个服务实现代码就应该封装到一个方法中DAO类:Dao :DateBase Access Object : 数据访问对象/数据库操作对象Dao对象在应用程序开发过程中提供了对数据库操作细节实现一个Dao类应该提供一张表操作细节 dept、emp基于特征封装实体类(entity_class)一个实体类用于描述一张表实体类类名应该与表名相同实

2020-12-22 16:49:46 143 4

原创 JDBC操作

JDBC操作1. JDBC开发步骤建立通道 --》 DriverManager交通工具 --》 PreparedStatement将SQL命令推送到数据库 --》 psmt.executeQuery / executeUpdate销毁信道所有的连接2. executeQurey vs executeUpdate推送SQl命令类型不同 :executeQuery --> DQL命令 (select)executeUpdate --> DML命令(i

2020-12-22 16:47:11 63

原创 Mysql远程访问数据库授权问题

关于授权访问远程数据库:在mysql8.0之后(用如下命令授权)老方法(不合适):grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option8.0+的方法:CREATE USER 'root'@'%' IDENTIRFIED BY '111111' ; GRANT ALL ON *.* TO 'root'@'%';ALTER USER 'root'@'%' IDENTIFIED W

2020-12-22 16:43:30 96 2

转载 C/S和B/S模型

客户/服务器模型(C/S) 特点:非对等相互作用,即客户与服务器处于不平等的地位。 表现在:服务器用有客户所不具备的硬件和软件资源以及运算能力,服务器提供服务,客户请求服务。 客户端与服务器的数量关系 多个客户进程同时访问一个服务器进程(n:1)一个客户进程同时访问多个服务器提供的服务(1:n ). 客户端与服务器的位置关系 客户和服务器运行在同一台机器上———应用于网络应用程序开发测试。客户和服务器运行在同一个局域网内的不同机器上——局域网文件共享、局域网打印机客户和服务器运行于广域.

2020-12-12 12:15:54 383

原创 换行和回车(/n & /r)

关于换行和回车问题由来:​ 在复习转义字符的时候,碰到这样的描述,之前也没怎么在意换行和回车的区别,甚至第一感觉这不是一回事儿吗?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-daiL6buw-1607259133667)(C:\Users\Joeo8\Pictures\MDResoure\换行和回车.png)]Basic:换行符就是另起一行,光标位置不一定在开头位置回车符本意是重新回到本行开头 (这里困惑比较多)\n是换行,英文是linefeed,AS

2020-12-06 20:53:48 3522 2

原创 Java Date 时区设置(GMT和CST)

CST和GMT时间的区别问题由来:​ 学习java.util.Date&java.sql.Date时,发现输出结果中:Sun Nov 22 13:27:45 CST 2020,于是查阅资料研学。Main:​ 关于时间格式:GMT 、 UTC 、 CST 、ISO 。下文主要就CST和GMT进行整理总结。时间格式:GMT:(GreenwichMeanTime,GMT),格林尼治所在地的标准时间​ 格林尼治是英国伦敦南郊原格林威治天文台的所在地,它又是世界上地理经度的起始点。对

2020-11-24 14:51:37 18211 2

原创 成员变量和局部变量(一看就会)

成员变量和局部变量的区别1. 在类中的位置不同+ 成员变量:在类中方法外+ 局部变量:在方法或代码块中,或者方法的生命上(即参数列表中)2. 在内存中的位置不同成员变量:在堆中(方法区中的静态区)局部变量:在栈中3. 生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用或代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失4. 初始值不同成员变量:有默认初始值局部变量:没有默认初始值,使用之前需要赋值,否则会报错Th

2020-11-24 14:47:49 185 2

原创 Java 访问权限(一篇就够)

Java中四大访问权限的区别Java中有四种访问权限 : public 、 protected 、 private 、 defaultpublic :​ 具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。protected:​ 主要作用就是用来保护子类的。它的含义在于子类可以调用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。default:​ 有时候也称friendly,它是

2020-11-24 14:43:47 397 2

原创 Java 教程_专家解答(Oracle出版的Java零基础入门)

专家解答专栏:第一章:什么是C#,Java与C#的关系如何 ?​ 在Java问世以后没几年,Microsoft开发了C#语言。C#与Java密切相关。事实上,C#许多功能都是直接从Java改编而来的。Java和C#共享相同的C++语法风格,都支持分布式程序设计,使用相同的对象模型。它们之间当然也有不同之处,但就整体感觉而言,两者极为相似。这就意味着秒如果已经了解了C#,那么学习Java就很简单;同理,如果将来学习C#,那么现在学到的有关Java的知识也会对你将来有所帮助。我听说过有一种特

2020-11-24 10:00:58 81

原创 自测题: Java 基础

1.19 自测题:什么是字节码?它对Java的Internet程序设计为何十分重要?字节码是一种高度优化的指令集,由Java虚拟机执行,可帮助Java获得可移植性和安全性面向对象程序设计的三个主要原则是什么?封装、多态性和继承Java程序从何处开始执行Java程序从main()方法开始执行什么是变量变量是一种命名的内存地址,可以在程序运行的时候修改遍变量的内容下列哪几个变量是无效的? count $count count27 67count

2020-11-24 09:54:42 243 3

原创 Java Math工具类

数学工具类 Mathjava.lang.Math类是数学相关的工具类,里面提供了大量的方法,完成与数学运算有关的操作。(4+1个常用API)public static double abs(double num):获取绝对值。有多种重载public static double ceil(double num):向上取整public static double floor(double num):向下取整public static long round (double num):四舍五入M

2020-11-24 09:45:19 259

原创 Java 关键字Static、Arrays

Static关键字如果一个成员变量用了ststic关键字,那么这个变量不再属于对象自己,而是属于类。多个对象共享同一个数据倘若成员方法用Static修饰,那么就成为静态方法。 静态方法不属对象,属于类如果没有Static关键字,那么必须先创建对象,然后通过对象使用他如果有了Static关键字,则不需要创建对象,直接通过类名称使用即可无论是成员变量还是成员方法,如果使用了Static修饰,都推荐使用类名称进行调用静态变量: 类名称.静态变量静态方法: 类名称.静态方法()注意事项

2020-11-23 21:25:54 155 2

原创 Java ArrayList(拆箱&装箱)、字符串的练习、字符串常量池

ArrayList集合–拆箱与装箱ArrayList集合只能存储一般数据类型,传入基本数据类型会报错,为了解决此类问题,引入了“包装类”。ArrayList<String> listA = new ArrayList<>(); //创建一个字符串集合ArrayList<int> listB = new ArrayList<>();// 创建一个整数集合 --》 Err//错误写法!泛型只能是引用类型不能是基本数据类型。/* 如果希望向集合Arra

2020-11-23 21:23:24 502

原创 Java 成员变量和局部变量 、面向对象的特征(封装、继承、多态)、标准类、API

成员变量和局部变量的区别定义的位置不一样【重点】局部变量 : 在方法内部成员变量 : 在方法外部,直接写在类中作用范围不一样【重点】局部变量 : 只有方法中才能使用,出了方法就不能再用成员变量 : 整个类都可以通用默认值不一样【重点】局部变量 :没有默认值,如遇使用,必须手动赋值成员变量 :如果没有赋值,会有默认值,类似数组规则内存位置不一样(了解)局部变量 :位于栈内成员变量 : 位于堆内生命周期不一样(了解)局部变量 :随着方法进栈而诞生,随着方法

2020-11-23 21:19:44 142

原创 Java 面向对象 & 遍历数组

遍历数组遍历数组:就是对数组中的每一个元素逐一,挨个的处理。默认的处理方式就是打印输出任何数据类型都可以作为方法的参数。So,数组也可以作为方法的参数。当调用方法时,向方法的小括号进行传参,传递进去的就是数组的地址值。数组既然可以作为参数,那么反过来数组能不能作为返回值return呢?事实是可以的一个方法可以有0、1、多个参数;但是返回值只能有一个,不能有多个返回值。如果希望一个方法中产生了多个结果数据进行返回,怎么返回?解决方案:使用一个数组作为返回值类型即可。任何数据类型都可以作为

2020-11-23 21:17:45 441 2

原创 Java 内存划分(栈、堆、方法区)、数组

数组数组的概念:数组是一种容器,可以同时存放多个数据值数组的特点:数组是一种因引用类型数组中的多个数据,类型必须统一数组的长度才程序运行期间不可改变数组的初始化:在内存中创建一个数组,并向其赋值常见的两种初始化:动态初始化(指定长度):在创建数组的时候,直接指定数组中的数据元素个数静态初始化(指定内容):在创建数组的时候,不直接指定数组中元素的个数,而是直接将具体的数据内容进行指定动态初始化数组的各式:数据类型 [] 数组名称 = new 数组类型 [数组长度]解析含义

2020-11-23 21:16:31 85

原创 Java IDE(集成开发环境)

集成开发环境 IDEIntegrated Development Environment,集成开发环境回顾开发Java程序的步骤:编写代码启动cmd调用javac编译调用java运行集成开发环境,是一种专门用来提高Java开发效率的软件。免费的IDE中:Eclipse收费的IDE中:IntelliJ IDEA所有的IDEA中,用的最多的就是IntelliJ IDEA方法方法其实就是若干语句的功能集合。方法就好比是一个工厂:牛奶工厂: 原料 :奶牛,饲料,水

2020-11-23 21:12:41 819

原创 Java 方法、流程控制

方法方法入门概述:​ 方法就是将一个功能抽取出来,把代码单独定义在一个大括号里,形成一个单独的功能;当我们需要这个功能的时候,就可以去调用。这样既实现了代码的复用性,也解决了代码冗余的现象。方法的定义:public static void 方法名称(){​ 方法体} 方法名称的命名规则和变量一样,使用小驼峰。方法体也就是大括号当中可以包含任意条语句注意事项:方法定义的先后顺序无所谓方法的定义不能产生嵌套包含关系方法定义好了之后,不会执行。如果想要执行,

2020-11-23 21:03:47 61

原创 Java基础语法(数据类型、类型转换、位运算&逻辑运算)

第二章 Java基础语法常量 :在程序运行期间,固定不变的量常量的分类:字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:“abc”、“hello”、“123”整数常量:直接写上的数字,没有小数点。例如:100、200、0、-250浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0字符常量:凡是用单引号引起来的单个字符,就叫做字符常量。例如:’A‘,’b‘、’9‘、’中‘(单引号中必须尤其仅有一个字符,没有不行)布尔常量:只有两种取值 。true 、 fals

2020-11-23 20:59:53 171 2

原创 Java前言(计算机存储单元、DOS命令、环境搭建)

第一章 Java简介计算机存储单元字节​ 字节是我们常见的计算机中最下的存储单元。计算机存储任何数据,都是以字节的形式存储。位(bit):一个数字0或者一个数字1,代表一位字节(Byte):每逢8位是一个字节,这是数据存储的最小单位。8 bit = 1 Byte1024 B = 1 KB1024 KB = 1 MB1024MB = 1 GB1024 GB = 1 TBDOS命令MS-DOS(Microsoft Disk Operating System)命令行提示符(cmd

2020-11-23 20:56:39 111 2

空空如也

空空如也

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

TA关注的人

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