自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 TCP的三次握手与四次挥手理解及面试题(很全面)

 本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问    序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个...

2019-08-12 15:25:57 258

转载 MyISAM与InnoDB区别,Memory

MyISAM 和InnoDB 讲解  InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。  以下是一些细节和具体...

2019-06-18 10:03:52 400

转载 数据库的锁

数据库锁关系图示:一、概要数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁。乐观锁一般是指用户自己实现的一种锁机制,假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。乐观锁的实现方式一般包括使用版本号和时间戳。InnoDB-MVCC与乐观锁。 悲观锁一般就是我们通常说...

2019-06-17 16:54:45 330

原创 吴恩达深度学习1-4(Build your neural network step by step) L_model_backword 函数

有些博客解析有误,原有的注释已经很清晰,修改如下:# GRADED FUNCTION: L_model_backwarddef L_model_backward(AL, Y, caches): """ Implement the backward propagation for the [LINEAR->RELU] * (L-1) -> LINEAR -&gt...

2019-06-02 11:58:39 424 3

原创 MySQL索引

好文要置顶索引类型的区别及各适用场景MySQL索引类型常见有:PRIMARY, INDEX,UNIQUE,FULLTEXT等。PRIMARY 主键。 就是 唯一 且 不能为空,每个表只能有一个。 INDEX 普通索引,没有唯一性限制。 UNIQUE 唯一索引。 与INDEX区别是不允许有重复。 FULLTEXT 是全文索引,用于模糊查询检索文本信息。举例:比如你在为某商场做一个...

2019-05-15 16:44:03 168

转载 聚集索引,非聚集索引和覆盖索引(多字段索引or复合索引)

「数据库」和「数据库索引」这两个东西是在服务器端开发领域应用最为广泛的两个概念,熟练使用数据库和数据库索引是开发人员在行业内生存的必备技能使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个...

2019-05-15 10:53:51 1206 2

转载 数据库三大范式通俗讲解

一范式就是属性不可分割。属性是什么?就是表中的字段。不可分割的意思就按字面理解就是最小单位,不能再分成更小单位了。这个字段只能是一个值,不能被拆分成多个字段,否则的话,它就是可分割的,就不符合一范式。不过能不能分割并没有绝对的答案,看需求,也就是看你的设计目标而定。举例:学生信息组成学生信息表,有姓名、年龄、性别、学号等信息组成。姓名不可拆分吧?所以可以作为该表的一个字段。但我要说这...

2019-05-12 20:57:58 319 1

转载 MySQL事务四大特性及事务隔离级别

  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency)  一致性是指事务必须使数据库从一个一致性状态变...

2019-05-12 20:54:30 156

原创 线程安全与锁优化

1线程安全线程安全定义:“当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的”。1.1Java语言中的线程安全 Java 语言中各个操作共享的数据分为以下 5 类:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。 ...

2019-05-07 22:36:42 129

原创 Java与线程

1线程的实现 线程是比进程更轻量级的调度执行单位,线程的引入可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件I/O等),又可以独立调度(线程是CPU调度的基本单位)。 实现线程主要由3种方式:使用内核线程实现 使用用户线程实现 使用用户线程加轻量级进程混合实现1.1使用内核线程实现 内核线程(Kernel-Level Thr...

2019-05-07 10:42:05 157

原创 垃圾收集器与内存分配策略

1概述 在内存动态分配与内存回收技术已经很“自动化”很成熟的情况下,为什么还需要去了解GC(Garbage Collector)和内存分配? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。 内存回收与分配重点关注的是堆内存和方法区内存(程序计数器占用小,虚拟机栈和本地方法栈随线程...

2019-05-06 21:24:56 175

原创 虚拟机类加载机制

1概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。2类加载时机 类从被加载到虚拟机内存开始到卸载出内存,整个生命周期包括以下七个阶段,其中加载,验证,准备,初始化,卸载这5个阶段的顺序是确定的。 Java虚拟机并没有对类加载的时机进行强制约束。但是对...

2019-05-05 22:10:49 156

原创 对象的创建 & OutOfMemoryError

1.对象1.1对象的创建过程:虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析、和初始化过。如果没有,那必须先执行相应的类加载过程。 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定。 内存分配完成后,虚拟机需要将分配到的内存空间都初始化为零...

2019-04-30 22:44:41 174

原创 Java内存模型

1主内存与工作内存Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量与Java编程时所说的变量不一样,指包括了实例字段、静态字段和构成数组对象的元素,但是不包括局部变...

2019-04-30 20:47:10 153

原创 Java运行时数据区域

注:图中线程隔离意味着线程私有。程序计数器(Program Counter Register)是一块较小的内存空间。 可以看做是当前线程所执行字节码的行号指示器。(字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理,线程恢复都需要依赖这个计数器)。 每个线程都需要有一个独立的程序计数器,各条线程之间互不影响,独立存储,是线程私有...

2019-04-30 10:32:52 167

原创 SpringMVC MySQL中post请求中文显示正常,get请求中文显示乱码

问题: 数据库MySQL,Tomcat都是utf8编码,通过get请求往数据库插入数据时中文显示乱码,但是post请求正常解决: 打开Tomcat,conf目录下的server.xml配置文件,如果Connector配置如下: <Connector port="8080" protocol="HTTP/1.1" ...

2019-03-27 20:34:19 159

转载 TCP协议如何保证可靠传输

一、综述1、确认和重传:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传。2、数据校验3、数据合理分片和排序:  UDP:IP数据报大于1500字节,大于MTU.这个时候发送方IP层就需要分片(fragmentation).把数据报分成若干片,使每 一片都小于MTU.而接收方IP层则需要进行数据报的重组.这样就会多做许多事情,而更严重的是,由于UDP的特性,当某一片数据传送中...

2019-03-25 11:26:57 248

转载 Http1.* 与 Http2.0

一、HTTP的历史早在 HTTP 建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。也是说对于前端来说,我们所写的HTML页面将要放在我们的 web 服务器上,用户端通过浏览器访问url地址来获取网页的显示内容,但是到了 WEB2.0 以来,我们的页面变得复杂,不仅仅单纯的是一些简单的文字和图片,同时我们的 HTML 页面有了 CSS,Javascript...

2019-03-25 10:10:36 342

原创 图解访问一个网址上资源的过程(HTTP、TCP、IP、DNS)

现在假设要访问YouTube网站上dogs资源,大致流程如下:(假设是http协议,YouTube服务器IP为19x.168.0.1)

2019-03-12 10:05:01 1999

原创 OSI&TCP/IP

OSI:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。TCP/IP:应用层,传输层,互联网层,链路层。OSI与TCP/IP模型对比 OSI七层网络模型 TCP/IP四层概念模型 应用层(Application) 应用层 表示层(Presentation) 会话...

2019-03-04 15:42:11 197

原创 MySQL学习笔记8(使用游标,控制事务管理)

24使用游标1游标游标(cursor)是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。(有点难懂,先跳过去往下看)游标只能用于存储过程(和函数)。2使用游标使用游标前必须声明。 一旦声明必须打开游标以供使用。 对于填有数据的游标,根据需要取出(检索)各行。 ...

2019-03-01 16:08:35 848

原创 MySQL学习笔记7(创建和操纵表,使用视图,使用存储过程)

21创建表和操纵表1创建表示例(创建之前用到的表customers过程):CREATE TABLE customers(cust_id int NOT NULL AUTO_INCREAMENT,cust_name char (50) NOT NULL,cust_address char(50)...

2019-02-28 16:10:46 241

原创 MySQL学习笔记6(插入,更新,删除数据)

19插入数据1插入完整的行INSERT INTO customersVALUES (NULL,                'Pep E. LaPew',                '100 Main Street',                'Los Angeles',                'CA',                '9004...

2019-02-27 10:14:49 221

原创 MySQL学习笔记5(组合查询,全文本搜索)

17组合查询1UNION实现组合查询有两种基本情况,其中需要使用组合查询在单个查询中从不同的的表返回类似结构的数据。 对单个表执行多个查询,按单个查询返回数据。多数情况下,组合相同表的两个查询完成的工作与具有多个WHERE子句条件的单条查询完成的工作相同。UNION的使用较为简单,所需做的只是给出每条SELECT语句,在各条语句之间放上关键字UNION。先看两个SELECT语句...

2019-02-25 22:24:24 228

原创 MySQL学习笔记4(联结表,创建高级联结表)

15联结表1外键&amp;联结外键(forergn key):外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。是实现联结表的前提。联结: 是检索的一种机制,用来在一条select语句中关联表,因此称之为联结。可以联结多个表返回一组输出,联结在运行时关联表中正确的行。2创建联结上述SQL实现了内部联结(等值联结)。作用是从vendors,products...

2019-02-25 11:10:26 272

原创 MySQL学习笔记3(汇总数据,分组数据,子查询)

12汇总数据1聚集函数 运行在行组上,计算和返回单个值的函数。 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列值之和1.1AVG...

2019-02-22 22:58:56 2164 2

原创 MySQL学习笔记2(正则表达式,创建字段,数据处理函数)

9用正则表达式进行搜索1使用MySQL正则表达式1.1基本字符匹配                .表示匹配任意一个字符,因此1000,2000都返回。      LIKE和REGEXP区别:LIKE匹配整个列值,REGEXP匹配列值中的文本。      MySQL中的正则表达式匹配不区分大小写,为区分大小写可以使用BINARY关键字。1.2进行OR匹配    ...

2019-02-21 22:30:33 1069

原创 排序

1选择排序算法描述:首先,找到数组中最小的元素,将它和数组的第一个元素交换位置(如果第一个元素就是最小的元素那么它就和自己交换)。其次,在剩下的元素中找到最小的元素,将它与第二个元素交换位置。如此重复,不断地筛选出剩余元素中最小的进行排序,直到将整个数组排序。特点:运行时间和输入无关。为了筛选出最小的元素而扫描一遍数组并不能为下一遍扫描提供信息。一个有序的数组或是主键全部相等的数组...

2019-02-21 15:01:40 186

原创 MySQL学习笔记1(检索,排序,过滤)

1表(table):某种特定类型数据的结构化清单。列(column):表中的一个字段。所有表都是有一个或多个列组成。数据类型(datatype):所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。行(row):表中的一个记录。主键(primary key):一列(或一组列),其值能够唯一区分表中的每个行。主键应该满足如下条件:任意两行都不...

2019-02-20 22:58:04 248

转载 jsp、servelet、MVC

转自gsyabcjsp与servlet的区别与联系jsp和servlet的区别和联系:1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.3.Servlet中没有内置对象,Jsp中的内置对象都...

2019-01-23 10:51:08 308

原创 JVM 学习小记1

Java技术体系主要由支撑Java程序运行的虚拟机、JavaAPI、Java编程语言及许多第三方Java框架构成。一般情况下,了解必要Java API、Java语法,以及适当的第三方框架就可以满足日常开发需要,虚拟机会自动完成对硬件平台的兼容及对内存资源的管理工作。但是随着技术发展,对程序的性能、稳定性和可扩展性都有极高的要求,提升硬件效能无法等比例地提升程序的运作性能和并发能力。如果开发人员...

2019-01-16 20:57:21 168

原创 链表环的入口点

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。方法一:将节点用HashMap中的键记录下来,遍历直到键已经存在,则对应节点为环入口。/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val;...

2018-12-26 21:16:45 290

原创 扑克牌顺子

题目源自剑指offer:输入一个数组,检查是否是顺子,返回值类型boolean。(大小王各两张,可以代表任意数字,方便起见记为0)答案解析来自:Xy。需要满足条件:1. 除0外没有重复的数2. max - min &lt; 5public class Solution { public boolean isContinuous(int [] numbers) { ...

2018-12-26 20:38:31 154

原创 丑数

求按从小到大的顺序的第N个丑数,习惯上我们把1当做是第一个丑数。解析来自:事无巨细,悉究本末,对应代码改为java。解析:首先从丑数的定义我们知道,一个丑数的因子只有2,3,5,那么丑数p = 2 ^ x * 3 ^ y * 5 ^ z,换句话说一个丑数一定由另一个丑数乘以2或者乘以3或者乘以5得到,那么我们从1开始乘以2,3,5,就得到2,3,5三个丑数,在从这三个丑数出发乘以2,3...

2018-12-12 17:50:35 181

原创 爬虫入门简例

根据机械工业出版社出版的《从零开始学Python网络爬虫》指导,实现其提供的简例。修改了一些小问题,代码见GitHub。1、KuGou.py:爬取酷狗top500,beautifulsoup库解析2、DouPo.py:使用正则表达式爬取小说,并做一定数据清洗3、DouBanTOP250booksExcel.py:爬取豆瓣top250图书存储excel表4、QiDia...

2018-12-10 14:50:44 348

原创 Java 逻辑运算符的“短路特性”

做题时,遇到了逻辑预算符的“短路特性”,之前忽视了,在这记录一下。&amp;&amp;,||的短路特性:如果Java虚拟机发现&amp;&amp;左方的表达式为false,则它不需要也不会去计算&amp;&amp;右方表达式才知道要返回false。同理,如果Java虚拟机发现||左方的表达式为true,则它不需要也不会去计算||右方表达式才知道要返回true。 题目要求:求1+...

2018-12-07 11:21:38 806

原创 Java实现数组的冒泡排序

注意:    1 循环圈数越来越少    2 每次循环比较次数越来越少    3 每次比较都从索引0和索引1开始public class BubbleSort{ public static void main(String[] args){ int[] arr1={5,2,1,3,6}; Sort(arr1); printArray(arr1); } public ...

2018-09-22 10:43:51 2674

转载 MySQL的commit 和 rollback

从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类。1. DDL(Data Definition Language)数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 ;CREATE—创建表ALTER—修改表DROP—删除表2. DML(Data Manipulation Language)数据操纵语言,SQL中处理数据等操作统称为数据操纵语言 ;INS...

2018-08-18 10:39:39 255

转载 check the manual that corresponds to your MySQL server version for the right syntax to use near ###

报错如下:pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like,sponsor) values...

2018-08-01 16:54:11 1338

原创 python爬虫并将数据存储到MySQL或Excel中

爬虫爬取的是豆瓣top250图书,以存储到MySQL为例,流程如下:1.先建表,可以用命令行,也可以用数据库可视化软件,建立好需要用的到的字段2.写好爬虫,并在爬虫中连接数据库,把爬下来的数据按对应的字段填入数据库中# -*- coding: utf-8 -*-# Captain_Nfrom lxml import etreeimport randomimport req...

2018-07-29 11:39:03 1735

空空如也

空空如也

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

TA关注的人

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