自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Pmithie的博客

记录日常学习

  • 博客(32)
  • 收藏
  • 关注

原创 http学习

1. Http(超文本传输协议)是什么HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式(协议)。HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范(传输)。超文本:就是“超越了普通文本的文本”,它是文字、图片、音频和视频等的混合体,最关键的是含有“超链接”,能够从一个“超文本”跳跃到另一...

2019-08-21 13:46:24 242

原创 mysql索引学习1

1. 索引概述什么是索引索引是帮助数据库快速检索数据的一种数据结构。mysql中,存储引擎首先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行。索引可以包含一个或多个列,如果索引包含多个列(联合索引),那么列的顺序十分重要。2. 索引类型索引有多种类型,mysql中索引是在存储引擎层实现而不是服务器器层,所以不同的存储引擎的索引的工作方式并不一样,不是所有的存储引擎都...

2019-07-31 23:53:03 149

原创 Nio入门学习

1. Nio入门学习Nio概述JDK 1.4中的java.nio.*包中引入新的Java I/O库,其目的是提高速度。实际上,“旧”的I/O包已经使用NIO重新实现过,即使我们不显式的使用NIO编程,也能从中受益。可以认为传统IO是面向字节流的,Nio是面向块的Nio四个核心组件[外链图片转存失败(img-nhe35745-1564585670321)(C:\Users\...

2019-07-31 23:08:35 191

原创 Zookeeper入门学习

1. Zookeeper windows环境安装1.安装jdk2.安装Zookeeper. 在官网http://zookeeper.apache.org/下载zookeeper.解压zookeeper-3.4.6至D:\machine\zookeeper-3.4.12.在D:\machine 新建data及log目录。3.ZooKeeper的安装模式分为三种,分别为:单机模式(stand...

2019-07-02 17:15:13 236

原创 初识Zookeeper

什么是Zookeeper官方说明:Zookeeper是一种维护配置信息,命名,提供分布式同步和分组服务的服务器。它帮助协调分布式系统间的合作,降低维护和管理难度。...

2019-06-30 16:33:12 183

原创 操作系统-文件系统

1. 文件系统概述操作系统中管理文件的部分称为文件系统,负责文件的构造,命名,访问,使用,保护,实现和管理方法。文件是对磁盘等存储设备进行的抽象,类似于进程是对CPU处理器的抽象,虚拟地址空间是对物理内存的抽象。2. 文件文件命名不同的OS支持不同的命名方式,一般为文件名分为两部分,通过’.'进行分割,后半部分称为扩展名,用于表示某种类型的文件。文件结构字节序列:文件在OS看...

2019-06-29 00:07:57 264

原创 探析Vector源码

一. Vector中的字段1. elementData2. elementCount3. capacityIncrement二. Vector构造器1. 创建指定容量和容量增量的Vector2. 创建指定容量的Vector3. 创建默认容量的Vector三. Vector主要方法1. add方法其中,ensureCapacityHelper与ArrayList中相...

2019-04-09 22:13:13 159

原创 探析ArrayList源码

一. ArrayList字段1. 默认初始容量DEFAULT_CAPACITY为102. Object数组,存放元素的地方3. 当前ArrayList的大小4. 空数组,容量为0二.ArrayList构造器1. 生成指定容量的ArrayList2. 生成默认容量的ArrayList(开始容量为0,在第一次添加元素容量变为10)三.ArrayList核心方法1. add...

2019-04-07 19:55:39 120

原创 SpringAOP源码初探

一.调试环境搭建pom.xml<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.6.RELEASE</version>&l...

2019-03-23 23:17:32 178 1

原创 初探Spring-IOC源码之普通单例bean的生命周期

1.测试环境搭建pom.xml&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-context&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp

2019-03-16 21:48:25 244

原创 linux(centos7)安装redis

详细步骤确定linux本机能上网安装redis所需的依赖包yum install cpp -yyum install binutils -yyum install glibc-kernheaders -yyum install glibc-common -yyum install glibc-devel -yyum install gcc -yyum install...

2019-03-09 23:59:51 147

原创 centos7中docker的安装与入门使用

1.安装docker卸载之前的docker查询机器是否安装过的docker命令:yum list installed | grep docker若安装过,则删除安装过的软件包yum -y remove xxxxx删除镜像/容器等rm -rf /var/lib/docker安装docker命令:yum install docker2.docker的入门使用...

2019-03-03 17:21:04 186

原创 linux环境tomcat启动慢的解决方案

解决linux环境下tomcat启动慢在Tomcat环境中解决在catalina.sh中加入这么一行:JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom" 即可。在JVM环境中解决打开${JAVA_HOME}/jre/lib/security/java.security找到这个文件,找到下面的内容:securerandom.so...

2019-03-03 16:14:15 206

原创 linux中安装tomcat8.5

1.所需软件首先需要配置好jdk环境,详情参考这篇博客:linux中安装jdk环境。tomcat压缩包:apache-tomcat-8.5.38.tar.gz(自行官网下载即可)ssh远程连接工具2.详细步骤利用ssh工具上传tomcat软件包到linux上解压tomcat压缩包,这里我解压到/usr/local目录下使用命令:tar -zxvf apache-tomcat-...

2019-03-03 15:29:33 526

原创 linux中安装jdk1.8环境

1.所需软件jdk-8u201-linux-x64.tar.gz(自行去官网下载即可)ssh远程连接工具2.详细步骤利用ssh工具上传jdk软件包到linux将jdk压缩包解压出,这里我解压到/usr/local目录下linux命令为:tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/local切换到对应的目录,使用ll命令进行查看...

2019-03-03 14:08:12 267

原创 VMware Workstation 14 Pro中安装linux(centos7)操作系统

1.所需资源VMware Workstation 14 Pro软件(自行百度下载,破解)centos7的镜像文件2.详细步骤如下点击创建新的虚拟机选择典型,然后点击下一步选择稍后选择操作系统,点击下一步选择linux操作系统,版本为centos7 64位,点击下一步填写新建虚拟机名称,选择存储路径,点击下一步选择磁盘大小,一般选择的默认的20GB就行点击完成...

2019-03-02 23:20:12 532

原创 leetcode 240.搜索二维矩阵 II (Java实现)

Write an efficient algorithm that searches for a value in anmxnmatrix. This matrix has the following properties:Integers in each row are sorted in ascending from left to right. Integers in each...

2019-03-02 10:54:19 288

原创 leetcode 415. 字符串相加(Java实现)

给定两个字符串形式的非负整数num1和num2,计算它们的和。注意:num1和num2的长度都小于 5100. num1和num2都只包含数字0-9. num1和num2都不包含任何前导零。 你不能使用任何內建 BigInteger 库,也不能直接将输入的字符串转换为整数形式。分析: 由于数长度小于5100,我们不能将其转化为整数,然后再利用整...

2019-02-28 23:08:07 452

原创 leetcode 43. 字符串相乘(Java实现)

给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例2:输入: num1 = "123", num2 = "456"输出: "56088"说明:1.num1和num2的长度小于110。 2.num1...

2019-02-28 23:05:01 270

原创 leetcode 20.有效的括号(Java实现)

给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示...

2019-02-28 22:56:56 289

原创 leetcode 3.无重复字符的最长子串(Java实现)

给定一个字符串,找出不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 无重复字符的最长子串是"wke",其长度为

2019-02-28 22:50:20 342

原创 J2EE学习笔记:HttpServletRequest与HttpServletResponse的乱码问题

一.HttpServletRequest的乱码问题1.HttpServletRequest的请求分为GET与POST请求,GET与POST请求的附带的参数的位置不相同,所以两者的处理的方法并不相同。①GET请求GET请求的参数会附带在请求的url地址之后,Tomcat服务器接收之后默认使用ISO-8859-1编码进行解析,所以我们得到的中文参数会乱码。举例: 当我们...

2018-12-25 17:26:19 220

原创 基础算法系列之排序算法-7.希尔排序 并解决hdu 1425问题(java实现)

我们从最初的冒泡排序算法,到上篇文章的折半插入排序算法,我们一共学习了5种排序算法,相信以大家的聪明才智肯定都消化了^_^。在本篇文章中,我们又将学习第6种排序算法——希尔排序算法。那就让我们直奔主题吧。希尔排序让我们回想一下直接插入排序算法,是不是每次都是讲一个待排序的元素按顺序插入到一个有序序列中。那我们想,如果整个待排序的序列都是"基本有序"的,而且元素数量较少,是不...

2018-10-05 11:53:22 307

原创 基础算法系列之排序算法-6.折半插入排序 并用之解决hdu 1412问题

我们之前已经了解了5种基础算法,是否自己找了一些题练练手呢~话不多说,让我们进入第6中基础算法的学习吧。本篇我们将学习又一种排序算法——折半插入排序算法,跟上篇我们所学习的快速排序有点像,都是建立在我们之前学习的算法的基础上改进而来的。从这个算法的名字中大概就能知道它是建立在哪个算法的基础之上的,没错,就是折半(二分)查找和直接插入排序。折半插入排序 我们知道,...

2018-10-04 11:26:02 302

原创 基础算法系列之排序算法-5. 快速排序

我们之前学习了冒泡排序算法,我们知道,在冒泡排序过程中,只对相邻的两个元素进行比较,因此每次交换两个相邻的元素时只能消除一个逆序。如果能通过两个(不相邻)元素的一次交换,消除多个逆序,则会大大加快排序的速度。而这就是本篇文章讲述的另一种基本排序算法——快速排序算法。快速排序快速排序是通过冒泡排序改进得来的,冒泡排序每次元素的交换只能消除一个逆序,而快速排序的一次元素交换可以消除多个逆序,...

2018-10-03 10:22:46 463

原创 leetcode 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包

2018-10-02 10:20:27 229

原创 基础算法系列之排序算法-4. 简单选择排序 并解决hdu 1040 As easy as A+B (java实现)

我们之前已经了解了三种基础算法,分别为二分查找算法,冒泡排序算法,以及直接插入排序算法。俗话说得好,温故而知新,所以现在就让我们简单回顾一下之前的三种算法吧。 二分查找算法——通过不断地二分搜索的区间,逐渐减小搜索范围,最终完成查找的目标。它是一种效率较高的查找算法,但是别忘了哟,使用它得有一个前提条件,那就是我们所要搜寻的数列是有序的。 冒泡排序算法——不断通过将小的...

2018-10-02 09:43:32 276

原创 leetcode 860 —柠檬水找零 java实现

在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回true,否则返回false。示例 1:输入...

2018-10-01 11:13:49 544

原创 基础算法系列之排序算法-3. 直接插入排序 并用其解决HDU 1106 排序

我们之前已经学习了冒泡排序和二分查找两种基本算法,本篇文章我们将一起学习下一个基础算法——直接插入排序算法。直接插入排序 直接插入排序,从这个名字来看,是不是让你想到了什么场景?!对了,就是打扑克牌的场景,我们每摸一张牌,是不是按照一定的次序插入到现有的牌当中,最后当摸完时,手上的牌就是按一定次序排列了。直接插入排序就是类似我们打扑克牌抓牌的过程。直接插入排序的...

2018-09-29 19:50:22 227

原创 基础算法系列之排序算法-2.冒泡排序 并用其解答HDU 2689 Sort it

上篇文章给大家讲述了二分查找算法,现在让我们来一起学习另一个基础算法——冒泡排序算法。它是一个排序算法,可以将一个无序的序列排成有序。它将会是我们以后常用到的算法,所以学会它,用好它对我们以后学习高级算法是很有益处的,那让我们开始冒泡排序算法的学习吧。冒泡排序 冒泡排序,顾名思义,就像冒泡泡一样,不断将小的数往上"冒"(左移),大的数不断往下"坠落"(右移),...

2018-09-29 19:47:48 229

原创 hdu 3763 CD(二分查找) Java实现

   题意:求集合A和B中有几个相同的元素,其中集合中元素已经按升序排好,集合的元素个数n&lt;=1000000        分析:集合中的元素已经按升序排好,只要对B中每个元素在A中进行二分查找就解决了。     代码:public static void main(String[] args) { int n,m; //从键盘录入A,B两个集合中的元素个数 ...

2018-09-28 13:39:58 272

原创 基础算法系列之查找算法-1.二分(折半)查找

算法中查找算法和排序算法可谓是最重要的两种算法,是其他高级算法的基础。在此系列文章中,我们将逐一学习这两种基础算法中常见的算法。那现在我们先来学习第一种算法——二分(折半)查找。 二分查找 二分查找,顾名思义,就是逐次将查找范围折半,缩小搜寻的范围,直到找到那个需要的结果。它是一种效率较高的算法,但是要使用它来完成查找任务,有一个前提,那就是所要搜寻的范围的数据...

2018-09-27 20:30:58 224

空空如也

空空如也

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

TA关注的人

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