自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL事务详解

前言针对不同的存储引擎,数据库锁的实现是有差异的,而现代绝大部分都采用的是InnoDB作为存储引擎,因此这里只讨论InnoDB数据库锁机制。InnoDB数据库锁依靠于InnoDB完整的事物特性的支持,但是,事物也加大了处理成本,带来了并发问题。事务(Transaction)事务是指作为单个逻辑工作单元执行的一系列操作,要么都执行成功,要么都执行失败。事务处理可以确保除只有本事务单元内的所有...

2019-06-29 18:19:26 1648

原创 jQuery的 $.fn.extend和 $.extend的区别和使用

jQuery为开发插件提拱了两个方法,分别是:jQuery.fn.extend(object)和jQuery.extend(object)jQuery.extend(object):用于扩展jQuery类本身,为jQuery类添加新的方法,即可以通过 $.functionName()调用的方法。还可以将两个或更多对象的内容合并到第一个对象。jQuery.fn.extend(object):用于...

2019-06-28 21:57:43 583

原创 动态选择datagrid可编辑的列

需求:当点击新增的时候,testOne和testTwo列均为可编辑的,修改的时候,只能修改testTwovar operates = { getRowIndex: function (target) { var tr = $(target).closest('tr.datagrid-row'); return parseInt(tr.attr('datagrid-row-index')...

2019-06-28 21:18:50 679

原创 设置当datagrid无数据时显示空白行

//参数为填充总数function showBlankRow(number) { $.extend($.fn.datagrid.methods,{ fillRows: function (jq) { var datacounts = number; var grid = $(jq); var pag...

2019-06-28 20:39:18 2153

原创 设置datagrid列为下拉框

var operates = { getRowIndex: function (target) { var tr = $(target).closest('tr.datagrid-row'); return parseInt(tr.attr('datagrid-row-index')); }, addRow:function (index) { $(tableId).datagr...

2019-06-28 20:30:04 2808 2

原创 五种I/O模型详解

IO有三种:内存IO、网络IO和磁盘IO,通常说的是后两者网络IO的本质是socket的读取,对于一次IO访问,过程描述为:网络传输过来的数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。同步阻塞I/O进程发起IO操作后会阻塞等待,直到有数据返回。默认情况下socket就是这种模型,服务端socket调用accept函数后便会阻塞进程,直到有客户...

2019-06-27 22:45:08 307

原创 用户态和内核态

现代操作系统都是采用虚拟存储器,对32位操作系统而言,它的虚拟地址空间为4G(2的32次方)。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操作系统将虚拟空间划分为两部分:内核空间和用户空间。Linux操作系统的体系架构分为用户态和内核态(用户空间和内核空间),这种分层的架构极大地提高了资源管理的可扩展性和灵活性,而且方便用户对资源的调用和集中式的管理,带来一定的安全性。L...

2019-06-27 20:58:39 694

原创 Spring源码——BeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessor

同步和异步同步:一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成。即如果B任务依赖于A任务,则只有当A任务完成后,B任务才算完成,A、B任务要么都成功,要么都失败。异步:不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也是立即执行的,只要自己完成了整个任务就算完成了。即如果B任务依赖于A任务,但是B任务可以在A任务未完成之前完成,...

2019-06-27 19:52:35 270

原创 I/O多路复用(select、poll、epoll)详解

多线程或者多进程服务器端程序工作具体流程是:服务器端应用程序监听到一个客户端连接,就fork一个子进程,由子进程处理事件,原服务器端应用程序继续监听来自其他客户端的连接后做相同的操作,当有客户端退出时,和该客户端通信的子进程就成了僵尸进程,由父进程利用信号注册等机制将其回收。由于多线程或者多进程服务器是由服务器端应用程序监听客户端请求,这样会降低应用程序执行效率并且极大消耗CPU资源。因此可以采...

2019-06-27 15:38:56 414

原创 JavaScript执行机制和内存管理机制

JavaScript执行机制编译器和解释器编译器/解释器可以用它处理的语言或者其他语言来编写。**解释器:**一行一行的快速读取和翻译文件,这就是JavaScript最初的工作原理。**编译器:**编译器提前运行并创建一个文件,其中包含了输入文件的机器码转换。有两种途径可以将JavaScript代码转换为机器码:(1)编译代码时,机器对代码开始运行前将要发生的事情有更好的理解,这将加快...

2019-06-18 20:51:13 272

原创 如何理解React组件中的this

在读这篇文字之前建议先理解JavaScript中作用域链的概念,戳这里:JavaScript中的执行环境、作用域链和闭包详解,以及理解JavaScript中的this关键字,戳这里:JavaScript中的this关键字如何理解原生的JavaScript中只有对象,没有类的概念。其对象是基于原型链实现的。如果要生成一个对象实例,需要先定义一个构造函数,然后通过new操作符来完成。构造函数示例:...

2019-06-12 12:00:06 2859

原创 Spring源码——ApplicationListener

注:摘抄自《阿里巴巴Java开发手册》命名规范代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。说明:定义JQuery变量时,可以用$开头表示该变量为JQuery对象,和JavaScript对象区分。代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。类名使用 UpperCamelCase 风格,必须遵从驼峰形式。 除特殊情形外。方法名、参数名...

2019-06-08 16:39:06 1527

原创 JavaScript事件循环机制讲解

**同步:**发送一个请求之后阻塞等待返回结果,得到结果后再发送下一个请求。**异步:**发送一个请求,等待返回,但是也可以再发送下一个请求,而不用阻塞等待结果。有关JS的两点:1.JS是单线程的。2.JS的Event Loop是JS的执行机制。**JS是单线程的原因:**假如现在有两个进程process1,process2操作同一个dom,JS是多线程的,process1正在删除这个d...

2019-06-04 14:39:02 533

原创 解决问题方法汇总:ROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysq

/var/lib/mysql/mysql.sock 这个目录是my.cnf中配置的,连接localhost通常通过一个Unix域套接字文件进行,即这个mysql.sock文件。如果套接字文件被删除了,本地客户就不能连接。systemctl status mysql查看mysql状态如下可以判定除了Failed to start LSB: start and stop MySQL 没有其他错...

2019-06-03 22:28:17 9168

原创 thread-based architecture(基于线程)和event-driven architecture(事件驱动)详解

在处理web请求时,通常有两种体系结构,分别为:thread-based architecture(基于线程)、event-driven architecture(事件驱动)。thread-based architecture基于线程的体系结构通常会使用多线程来处理客户端的请求,每当接服务端主程序收到一个请求,便开启一个独立的线程来处理客户端的事件。这种方式仅适用于并发访问量不大的场景,因为线...

2019-06-02 23:56:35 1100

Xdebug_Helper.zip

亲测有效的Chrome_Xdebug_Helper_extension 安装步骤: 1 下载后解压 2 将extension_1_4_2.crx拖至谷歌的插件扩展页(如果报错,请进行下一步) 3 将extension_1_4_2.crx改名为extension_1_4_2.rar后解压 4 在chrome的扩展页面打开开发者模式后点击“加载已解压的扩展程序” 5 选择extension_1_4_2文件夹即可

2019-07-06

空空如也

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

TA关注的人

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