自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一念永恒

一念山河成 ,一念百草生,一念万古亘,一念月东升。

  • 博客(345)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 MySQL数据库为什么大多使用B+树,而不是用Hash存储索引

通常B+数据的查询时间为log(n),而利用Hash时间为o(1),那为什么还要用B+树呢。对于B+树,相比于Hash好处:1.利用Hash需要把数据全部加载到内存中,如果数据量大,是一件很消耗内存的事,而采用B+树,是基于按照节点分段加载,由此减少内存消耗。2.和业务场景有段,对于唯一查找(查找一个值),Hash确实更快,但数据库中经常查询多条数据,这时候由于B+数据的有序性,与叶子...

2018-12-20 10:25:03 5313

转载 吞吐量(TPS)、QPS、并发数、响应时间(RT)概念

开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下:1. 响应时间(RT)   响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同...

2018-12-19 14:45:15 271

转载 MySQL表锁行锁详解MyISAM与Innodb比较

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL...

2018-12-18 15:36:08 680

转载 SpringMVC 流程

pring MVC工作流程图 图一 图二 图三Spring工作流程描述用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;  DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(...

2018-12-04 11:58:32 506

原创 scrapy工作流程

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy 使...

2018-12-02 21:58:17 561 2

转载 GC算法 垃圾收集器

概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运行期间,这部分内存的分配和使用都是...

2018-11-30 09:18:30 227

转载 Redis主从复制原理,步骤

和Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。 全量同步Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份。具体...

2018-11-26 12:18:02 235

原创 JVM堆内存管理与自定义分配参数详解

堆内存模型: 在Java中,堆被划分成两个不同的区域:新生代(Young),老年代(Old)。而Permanent属于永久代(方法区),不属于堆内存。新生代又被分为了三个区域:Eden,from  survivor,to survivor。这样划分的目的是为了使JVM能够更好的管理堆内存中的对象,包括内存分配以及回收。从图中可以看出: 堆大小=新生代+老年代,默认的,新生代与老年代...

2018-11-26 11:05:44 1159 1

原创 Redis的事务功能详解

MULTI、EXEC、DISCARD和WATCH命令是Redis事务功能的基础。Redis事务允许在一次单独的步骤中执行一组命令,并且可以保证如下两个重要事项:Redis会将一个事务中的所有命令序列化,然后按顺序执行。Redis不可能在一个Redis事务的执行过程中插入执行另一个客户端发出的请求。这样便能保证Redis将这些命令作为一个单独的隔离操作执行。 > 在一个Redis事务中,R...

2018-11-25 19:42:31 18835 11

转载 vim常用命令

在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。   vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v    从光标当前...

2018-11-24 10:28:08 228

转载 浏览器和服务器实现跨域(CORS)判定的原理

同源策略同源指的是域名(或IP),协议,端口都相同,不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。同源的判定:以http://www.example.com/dir/page.html为例,以下表格指出了不同形式的链接是否与其同源:(原因里未申明不同的属性即说明其与例子里的原链接对应的属性相同)链接 结果 ...

2018-11-23 12:20:35 3722 1

原创 java wait与notify

前言我们知道,java的wait/notify的通知机制可以用来实现线程间通信。wait表示线程的等待,调用该方法会导致线程阻塞,直至另一线程调用notify或notifyAll方法才可另其继续执行。经典的生产者、消费者模式即是使用wait/notify机制得以完成。在这篇文章中,我们将深入解析这一机制,了解其背后的原理。线程的状态在了解wait/notify机制前,先熟悉一下java...

2018-11-22 14:36:25 1170

原创 java捕获线程中的异常

Java中在处理异常的时候,通常的做法是使用try-catch-finally来包含代码块,但是Java自身还有一种方式可以处理——使用UncaughtExceptionHandler。它能检测出某个线程由于未捕获的异常而终结的情况。当一个线程由于未捕获异常而退出时,JVM会把这个事件报告给应用程序提供的UncaughtExceptionHandler异常处理器(这是Thread类中的接口):...

2018-11-22 08:31:47 1333

转载 MySQL索引原理及BTree(B-/+Tree)结构详解

目录摘要数据结构及算法基础索引的本质B-Tree和B+TreeB-TreeB+Tree带有顺序访问指针的B+Tree为什么使用B-Tree(B+Tree)主存存取原理磁盘存取原理局部性原理与磁盘预读B-/+Tree索引的性能分析MySQL索引实现MyISAM索引实现InnoDB索引实现索引使用策略及优化示例数据库最左前缀原理与...

2018-11-20 16:52:25 82163 20

转载 Netty异步非阻塞事件驱动及组件原理详解

本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。JDK 原生 NIO 程序的问题JDK 原生也有一套网络应用程序 API,但是存在一系列问题,主要如下:NIO 的类库和 API 繁杂...

2018-11-20 12:16:12 3584 1

原创 netty 常规option配置总结

ServerBootstrap b = new ServerBootstrap();b.option(ChannelOption.SO_BACKLOG, Integer.valueOf(1024));服务器端TCP内核模块维护有2个队列,我们称之为A,B吧,客户端向服务端connect的时候,发送带有SYN标志的包(第一次握手),服务端收到客户端发来的SYN时,向客户端发送SYN AC...

2018-11-20 10:11:54 4456 1

原创 java NIO同步非阻塞

NIO服务器端如何实现非阻塞?服务器上所有Channel需要向Selector注册,而Selector则负责监视这些Socket的IO状态(观察者),当其中任意一个或者多个Channel具有可用的IO操作时,该Selector的select()方法将会返回大于0的整数,该整数值就表示该Selector上有多少个Channel具有可用的IO操作,并提供了selectedKeys()方法来返回这些C...

2018-11-19 16:55:40 272

转载 java nio及操作系统底层原理同步异步阻塞与非阻塞

目录IO基本概念同步,异步,阻塞,非阻塞同步与异步阻塞与非阻塞IO模型(Reference Link)​阻塞I/O模型非阻塞I/O模型进程把一个套接口设置成非阻塞是在通知内核:当所请求的I/O操作不能满足要求时候,不把本进程投入睡眠,而是返回一个错误。也就是说当数据没有到达时并不等待,而是以一个错误返回。​I/O复用模型异步I/O模型 AIO,BIO...

2018-11-19 15:56:18 2295

原创 学习总结大纲

一、网络篇1.http协议 1.版本演变(https://blog.csdn.net/u013967628/article/details/78521908) 2.http与https区别        HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理。 3.http协议特点            1....

2018-11-17 21:08:23 2145

原创 msyql 使用join联合查询与直接用where查询的区别,比较

比如现在数据库中有两张表,student表和 student_subject表,如下所示:  我们执行以下的sql语句,只是纯粹的进行表连接。SELECT * from student JOIN student_subject;SELECT * from student_subject JOIN student;看一下执行结果:    表1.0             ...

2018-11-15 17:28:43 1818

原创 mysql.exe 不是有效的32位程序

环境:win 2003 根据https://www.mysql.com/support/supportedplatforms/database.html页面的说明,win2003下面支持的MySQL的最高版本是5.5.57,在https://downloads.mysql.com/archives/community/页面,选择5.5.57版本后,下载x86 32bit的zip版本...

2018-11-12 13:36:22 4686

转载 Linux CentOS7 通过YUM安装MySQL5.7

1.进入到要存放安装包的位置cd /home/lnmp2.查看系统中是否已安装 MySQL 服务,以下提供两种方式:rpm -qa | grep mysqlyum list installed | grep mysql3.如果已安装则删除 MySQL 及其依赖的包:yum -y remove mysql-libs.x86_644.下载 mysql57-communi...

2018-11-03 22:31:11 210

转载 java转大数据方向学习路线

申明:本文旨在为普通程序员(Java程序员最佳)提供一个入门级别的大数据技术学习路径,不适用于大数据工程师的进阶学习,也不适用于零编程基础的同学。目录前言一、背景介绍二、大数据介绍正文一、大数据相关工作介绍二、大数据工程师的技能要求必须掌握的技能11条高阶技能6条三、大数据学习规划第一阶段(基础阶段)第二阶段(攻坚阶段)第三阶段(辅助工具工学...

2018-11-02 16:07:41 23709 4

原创 django 发送邮件配置

拿qq邮箱当做发件箱举例子,首先配置邮箱在qq邮箱的账户设置里面设置如下 得到第三方登陆授权码setting.py中设置如下:# 发送邮件设置EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #固定写法EMAIL_HOST = 'smtp.qq.com' #SMTP地址EMAIL_PORT = 2...

2018-11-02 15:22:18 2214

原创 django自定义admin表头显示

默认情况下,Django 显示每个对象的 str() 返回的值。如果想显示多个值,并且按照一定顺序则需要from django.contrib import adminfrom .models import BlogType, Blog@admin.register(Blog)class BlogAdmin(admin.ModelAdmin): list_display ...

2018-11-01 20:54:55 2653

原创 django 扩展user用户字段inlines

model:class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, verbose_name='昵称') nickname = models.CharField(max_length=20) def __str__(self): ...

2018-11-01 20:38:43 2094 3

转载 Django权限系统auth模块详解

auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理。auth可以和admin模块配合使用, 快速建立网站的管理系统。在INSTALLED_APPS中添加'django.contrib.auth'使用该APP, auth模块默认启用。UserUser是auth模块中维护用户信息的关系模式(继承了models.Model), 数据库中该表被命名为...

2018-10-31 22:20:59 384

转载 crontab 详细用法、定时任务 、时间规则

简介Linux crontab和Windows task schedules非常的相似。Crontab可以用来在系统中定期的执行任务。比如:写了一个爬虫需要每天早上八点执行,就可以用到Crontab;安装的Tomcat服务器需要每天凌晨重启一次,也可以使用到Crontab。总之,几乎所有的定时任务,我们都可以通过Crontab这个工具来完成。安装yum install cronie...

2018-10-29 14:01:39 88082 10

原创 Linux下SCP命令免密传输、备份文件至其他服务器

scp 命令:例如:把本地/backup/a.txt文件传输至192.168.80.128服务器,账号root 目录为/backup/scp /backup/a.txt root@192.168.80.128:/backup/反之把192.168.80.128服务器下backup/a.txt文件传输至本地下的/backup/下scp root@192.168.80.128:/backu...

2018-10-29 13:58:58 1247

原创 linux下自动备份mysql数据库至远程服务器终端

整体流程:利用crontab启动定时任务,执行shell脚本,逻辑备份(导出sql),然后利用SCP传输到其他服务器。其中shell脚本主要做两件事儿:1.导出sql2.利用SCP传输到其他服务器。详解:1.创建备份目录mkdir backupcd backup2.创建sheel脚本vi bkDatabaseName.sh其中bkDatabalseNa...

2018-10-29 13:54:49 2177

原创 Django跨域请求CSRF

web跨域请求1.为什么要有跨域限制举个例子:1.用户登录了自己的银行页面 http://mybank.com,http://mybank.com向用户的cookie中添加用户标识。2.用户浏览了恶意页面 http://evil.com。执行了页面中的恶意AJAX请求代码。3.http://evil.com向http://mybank.com发起AJAX HTTP请求,请求会默认把ht...

2018-10-28 22:57:17 1286

原创 Django表单页面渲染

fom 类class RegForm(forms.Form): username = forms.CharField( label='用户名', max_length=30, min_length=3, widget=forms.TextInput(attrs={'class':'form-control', 'pla...

2018-10-28 16:13:56 491

原创 Django from表单字段验证

表单的验证分为几个步骤,可以自定义或覆盖:表单验证发生在数据验证之后。如果你需要自定义这个过程,有几个不同的地方可以修改,每个地方的目的不一样。表单处理过程中要运行三种类别的验证方法。它们通常在你调用表单的is_valid() 方法时执行。还有其它方法可以触发验证过程(访问errors 属性或直接调用full_clean() ),但是通用情况下不需要。一般情况下,如果处理的数据有问题,每个...

2018-10-28 16:03:07 1000

原创 django中自定义标签和过滤器

准备(必需)工作:1  在某个app下创建一个名为templatetags(必需,且包名不可变)的包。假设我们在名为polls的app下创建了一个templatetags的包,并在该包下创建了一个名为mytags的文件。那么目录结构看起来应该就像这样:polls/ __init__.py models.py templatetags/ __init__.py ...

2018-10-27 16:10:36 328

原创 在django项目中使用django-ckeditor

安装django-ckeditorpip install django-ckeditor安装PillowPillow是python的一个图像处理库,django-ckeditor需要依赖该库。最简单的安装方法,当然是使用pip,假设你装过pip,可以直接运行以下命令安装:pip install pillow配置你的django1、在你的settings.py文件中,将cke...

2018-10-24 21:17:38 1063 2

原创 Django中STATIC_URL、STATIC_ROOT、STATICFILES_DIRS区别关系

首先,我们配置静态文件,要在setting.py里面加入如下几行代码: settings.py# the settings above# STATIC SETTINGSSTATIC_URL = '/static/'# BASE_DIR 是项目的绝对地址STATIC_ROOT = os.path.join(BASE_DIR, 'collect_static')#以下不是必须的ST...

2018-10-24 21:04:43 4589 4

原创 MySQL中union和order by排序问题

MySQL中union和order by是可以一起使用的,但是在使用中需要注意一些小问题,下面通过例子来说明。首先看下面的t1表。如果直接用如下sql语句是会报错:Incorrect usage of UNION and ORDER BY。SELECT * FROM t1 WHERE username LIKE 'l%' ORDER BY score ASCUNIONSELEC...

2018-10-23 11:14:10 9025 2

原创 Django表单from详解

django中定义form表单的优势HTML中提交后,若数据出现错误,返回的页面中仍然可以保留之前输入的数据。 通过校验规则可以方便的限制字段条件并校验。在Django中建个form表单先要确定给什么表单构建。使用form类from django import forms class NameForm(forms.Form): your_name = forms....

2018-10-22 23:06:35 1345

原创 sql 按照字段分组,取每组最大值或最小值

sql:select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name 

2018-10-22 18:52:46 4576

原创 java 验证字符串是否满足某种格式

/** * 判断字符串满足指定格式 true 合法 */ public static boolean checkValidity (String str, String regex) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); if (m.matches()) { return tr...

2018-10-17 17:21:58 9399 1

TCP-IP详解卷1:协议

TCP/IP协议,资源非扫描版本,高清,有目录,欢迎下载

2019-04-18

深入分析Java Web技术内幕

深入分析Java Web技术内幕深入分析Java Web技术内幕

2018-04-13

基于dwz 、log4j、springmvc、mybatis、mysql后台管理通用完整代码

基于dwz 、log4j、springmvc、mybatis、mysql后台管理通用完整代码 配有数据库、maven项目、可直接运行、

2018-02-16

myeclipse10.7导出war包时出错解决jar

myeclipse10.7导出war包时出错解决办法 所需jar包 亲测有效

2017-10-20

maven-resources-plugin-2.5

maven-resources-plugin-2.5

2017-08-08

mvp+retrofit+rxjava

mvp+retrofit+rxjava 简单的图片加载

2016-09-07

listview优化比较

比较了 无缓存 一级缓存 glide缓存之间的效果比较

2016-07-17

android list下拉刷新

android list下拉刷新

2016-04-05

Fatjar for eclipse最新版

Eclipse打Jar包插件FatJar在2009年发布了0.0.31版本之后,至今未有更新,好在4.4之前的Eclipse中都能正常使用。但是在新发布的Eclipse4.4中却失灵了,从来没接触过插件开发的三哥在经过半天的研究之后,改了一个在Eclipse4.4中可用的版本,为区别,版本号也相应的加了1。 适合最新版本的eclipse 本人亲测。 如果你尝试了其他的fat但是不好使的,可以试试。

2015-12-24

java简单分页技术mysql 内涵.sql文件,直接实现

java简单分页技术mysql 内涵.sql文件,直接实现(适合刚结束的 )大神请绕行

2014-11-04

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

TA关注的人

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