自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android Handler 机制 - Looper,Message,MessageQueue

Handler 简介一个Handler允许发送和处理Message,通过关联线程的 MessageQueue 执行 Runnable 对象。每个Handler实例都和一个单独的线程及其消息队列绑定。可以将一个任务切换到Handler所在的线程中去执行。一个用法就是子线程通过Handler更新UI。主要有2种用法:做出计划,在未来某个时间点执行消息和Runna

2017-08-03 12:11:09 357

转载 Tomcat和Java Virtual Machine的性能调优总结

Tomcat性能调优:       找到Tomcat根目录下的conf目录,修改server.xml文件的内容。对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优的设置,下图是我根据我机子的性能设置的一些参数值,给各位详细解释一下吧:       1、URIEncoding="UTF

2017-08-03 12:08:29 353

转载 Xshell配色为ubuntu风格

正文[ubuntu]text(bold)=ffffffmagenta(bold)=ad7fa8text=ffffffwhite(bold)=eeeeecgreen=4e9a06red(bold)=ef2929green(bold)=8ae234black(bold)=555753red=cc0000blue=3465a4black=000000blue(bold

2017-08-03 11:36:39 533

转载 Eclipse中安装MemoryAnalyzer插件及使用

一、简介  Eclipse作为JAVA非常好用的一款IDE,其自带的可扩展插件非常有利于JAVA程序员的工作效率提升。  MemoryAnalyzerTool(也叫MAT)是一款JAVA虚拟机内存映像分析工具,可以在JAVA程序运行的时候有程序抛出的异常加上已经设置好的参数(-XX:+HeapDumpOnOutOfMemory)调试出内存泄漏或者异常的位置以及原因跟踪,Memeor

2017-08-03 11:33:20 793

转载 MySQL buffer pool中的三种链

一、innodb buffer pool中的三种页1、free page:从未用过的页2、clean page:干净的页,数据页的数据和磁盘一致3、dirty page:脏页SQL执行需求:  1、找free页  2、刷新脏页    1、这个页不是热的数据页(刷冷页)    2、这个页最早修改时间(刷修改时间比较早的页,有可能是热页)

2017-08-03 11:29:39 334

转载 MySQL优化 - 性能分析与查询优化

优化应贯穿整个产品开发周期中,比如编写复杂SQL时查看执行计划,安装MySQL服务器时尽量合理配置(见过太多完全使用默认配置安装的情况),根据应用负载选择合理的硬件配置等。 1、性能分析 性能分析包含多方面:CPU、Memory、磁盘/网络IO、MySQL服务器本身等。1.1 操作系统分析常规的操作系统分析,在Linux中通常包含一些性能监控命令,如top、

2017-08-03 11:26:58 313

转载 【oracle】一些的常用命令

命令行连接oracle:sqlplus  回车 分别输入用户名和密码 命令行重启oracle数据库:sqlplus /nologconn 账号/密码 as sysdbashutdow immediate;startup;命令行监听服务相关:lsnrctl stop  停止监听服务lsnrctl start  开始监听服务lsnrc

2017-08-03 11:26:09 189

转载 VS中的快捷键

常用的快捷键    这里仅列出一些个人觉得好用的快捷键; 调用智能提示:使用组合键“Ctrl+J”注释/取消注释:    注释用组合键“Ctrl+K+C”    取消注释用组合键“Ctrl+K+U”大小写转换:    转换为大写Ctrl+Shift+U    转换为小写Ctrl+U调试相关:   设置断点---

2017-08-03 11:24:57 155

转载 SQL 常用判断语句

判断视图是否存在IF object_id('viewname') IS not NULLbegin --操作 --drop view viewnameend判断表是否存在IF object_id('tablename') IS NULLBEGIN --操作END判断列是否存在IF NOT EXISTS (SELEC

2017-08-03 11:23:52 1161

转载 JS模板引擎

原有痛点如下摘自部分代码,这样拼接维护是不是很繁琐,后期维护成本高;123456$.each(SystemForm.systemFormfields, function (n, t) {                  htmlField += '<li class="bbit-t

2017-08-03 11:22:35 364

转载 使用Node.js搭建静态资源服务器

对于Node.js新手,搭建一个静态资源服务器是个不错的锻炼,从最简单的返回文件或错误开始,渐进增强,还可以逐步加深对http的理解。那就开始吧,让我们的双手沾满网络请求!Note:当然在项目中如果有使用express框架,用express.static一行代码就可以达到目的了:app.use(express.static('public'))这里我们要实现的正是express

2017-08-02 16:10:57 715

转载 用css3的cursor:zoom-in/zoom-out实现微博看图片放大镜效果

1.前言 CSS3的出现解决了很多让人头疼的问题,至少我想很多童鞋都这样认为。css3的cursor属性大家用的应该是非常的多的,我想用的比较多的像cursor:pointer;cursor:help;cursor:text;等等。很少人用到cursor:zoom-in/zoom-out;今天就来讲一下这两个属性值的用法。 2.简介        cursor的定义和用法 

2017-08-02 16:09:07 897

转载 Android与NativeC传递数据不正确问题

从Java传递数组到JNI层 JNI层接收Java层传递过来的 byte[] 数组,一般有两个函数来获取它的值,一个是通过 GetByteArrayRegin,另一个就是 GetByteArrayElements,前者是进行拷贝操作,将Java端虚拟机托管的内存数组拷贝到本地系统的数组中,后者是通过指针引用的方式,将本地系统的数组指针直接指向Java端虚拟机托管的数组对象的堆地址。由于

2017-08-02 16:08:08 448

转载 redis 集群

节点 redis集群通常由多个节点(node)组成,在开始每个node 都是相互独立的。要组建成真正可工作的集群,我们必须将各个独立的节点连接起来,构成一个包含多个节点的集群。 命令cluster meet   向一个node 发送命令 cluster meet,让节点与ip/port所指定的节点 进行握手(ha

2017-08-02 16:07:35 214

转载 java反射机制

什么是反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。初探对反射的最初接触是学习jdbc时,加载数据库驱动时会这样写:Class.forName("com.mysql.jdbc.Driver"),当时似懂非懂的也不知道是

2017-08-02 16:06:28 139

转载 java迭代器浅析

迭代器是遍历容器的一种常用方法,它屏蔽了容器的实现细节,无需暴露数据结构内部,就可以对容器进行遍历,迭代器本身也是一种设计模式,迭代是一种特殊的遍历方式Iterator在java中,迭代器接口Iterator定义了三种方法public interface IteratorE> { // 是否还有元素可以迭代,如果有 返回true 没有返回false boolean

2017-08-02 16:04:34 214

转载 FFmpeg任意文件读取漏洞分析

背景介绍 FFmpeg是一套目前非常流行的可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。目前有非常多的视音频软件或是视频网站、手机 APP 都采用了这个库,但是这个库历史上曝出的漏洞也非常之多。这次的漏洞是利用了ffmpeg可以处理 HLS 播放列表的功能,在 AVI 文件中的 GAB2字幕块中嵌入了一个 HLS 文件,

2017-08-02 16:02:27 1322

转载 ES6中的模块

JS用"共享一切"的方法加载代码,这是该语言中最容出错且容易令人感到困惑的地方。其他语言使用诸如包这样的概念来定义代码作用域,但在ES6以前,在应用程序的每一个JS中定义的一切都共享一个全局作用域。随着web应用程序变得更加复杂,JS代码的使用量也开始增长,这一做法会引起问题,如命名冲突和安全问题。ES6的一个目标是解决作用域问题,也为了使JS应用程序显得有序,于是引进了模块。本文将详细介绍ES6

2017-08-02 16:01:27 530

转载 识别SQL Server 性能杀手

性能优化的重点在于识别定位问题,预先了解主要的性能杀手,能够更快的定位到问题并将工作集中在可能的原因之上。 SQL SERVER性能杀手主要集中在如下几类:1.1   低质量的索引低质量的索引通常是SQL SERVER最大的性能杀手,对于一个缺乏索引的查询,SQL SERVER 需要处理大量的读取和计算;这样导致磁盘、内存、CUP上有很大的开销,并且会显著的增加了查

2017-08-02 16:00:55 244

转载 SQL SERVER Buffer Pool扩展

Buffer Pool扩展简介Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接。以SSD硬盘的特点来提高随机读性能。在Buffer Pool 扩展之前,SQL Server 从磁盘中读入数据,并且存放在buffer pool中以供读取和修改,修改完之后脏数据还是放在buffer pool中,当内存紧张时,lazy write把脏数据写入磁盘,并且释放内

2017-08-02 16:00:25 673

转载 Verilog HDL常用综合语法

前面已经记录了一些组成Verilog的基本组成,可以用这些基本组成来构成表达式。这一节,就来记录一下把这些表达式构成一个文件的各种行为描述语句。 ①这里用Verilog基本要素进行的行为描述主要是针对综合来的,也就是可以设计出实际电路来的(行为描述语句有两大子集,一个是面向综合,一个是面向仿真)。②行为描述语句一般指放在always语句中。内容提纲如下所示:  ·触发事件控制  ·

2017-07-31 09:29:20 386

转载 c#中Class和Struct使用与性能的区别

1.Class为引用类型,Struct为值类型值类型与引用类型的区别这两篇文章讲得很好h t t p : / / w w w .c   n b lo   g s . c o m /t o n n e y / a r c h   i v e/ 2 0 1 1 / 0 4  / 28   / 20   3 2  2 05  .  html   h tt p : /

2017-07-31 09:28:18 3597

转载 Docker存储

一、Docker的两种存储资源根据上述分析可以知道,Docker为容器起码提供了两种存放数据的资源,确实如此,分别是:由storage driver管理的镜像层和容器层,即镜像内文件系统。Data Volume,宿主机文件系统。1.1 storage driver对于某些容器,直接将数据放在由storage driver维护的层中是很好的选择,比如那些无状态的应用。无状态意味着

2017-07-31 09:26:30 233

转载 PHP将数据导出Excel表中(投机型)

1、简介  如何利用最简单粗糙暴力的方法将数据写入Excel文件中呢?  因为ms word和excel的文档都支持html文本格式,因此我们可以基于这个原理采用html文本格式进行数据的输出。  在html中,我们只需要将数据照着所想要的顺序放进相应的html表格中即可。  我们采用PHP进行数据获取整理以及构造相应的html文本,最后通过字节流输出下载到用户本地。回到顶部

2017-07-31 09:25:04 303

原创 CI的扩展机制

在熟悉了CI的源码之后,它的简单明了的代码风格很有趣,这篇文章看看在CI是如何实现扩展的.扩展包扩展是为了完成特定的功能,在CI中,扩展包的开发只能在application/libraries下.CI并没有对扩展进行任何限定,所以在CI开发扩展是不没有学习成本的.扩展是与Controller通讯的,所以调用方式是这样:$this->load->library('newLib

2017-07-31 09:24:05 347

转载 phpunit实践笔记

phpunit成为单元测试的代名词已成为共识, 但很多在实际编写测试过程中遇到的很多问题通过手册、网上搜索都很难找到相关资料, 大部分都得通过查看源代码和实践的代码经验解决。欢迎大家拍砖。(在此之前请先阅读手册)测试private/protected方法类的封装不可避免地会导致private/protected方法的产生,那么如何解决非public的方法?利用反射,使用php提供的

2017-07-31 09:23:31 2897

转载 ES6数组扩展

数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用。ES6标准继续改进数组,添加了很多新功能。本文将详细介绍ES6数组扩展 静态方法  在ES6以前,创建数组的方式主要有两种,一种是调用Array构造函数,另一种是用数组字面量语法,这两种方法均需列举数组中的元素,功能非常受限。如果想将一个类数组对象(

2017-07-31 09:22:55 350

转载 读Zepto源码之Event模块

Event 模块是 Zepto 必备的模块之一,由于对 Event Api 不太熟,Event 对象也比较复杂,所以乍一看 Event 模块的源码,有点懵,细看下去,其实也不太复杂。读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto源码版本本文阅读的源码为 zepto1.2.0准备知识focus/blur 的事件模拟

2017-07-31 09:21:55 141

转载 Zepto源码之Callbacks模块

Callbacks 模块并不是必备的模块,其作用是管理回调函数,为 Defferred 模块提供支持,Defferred 模块又为 Ajax 模块的 `promise` 风格提供支持,接下来很快就会分析到 Ajax模块,在此之前,先看 Callbacks 模块和 Defferred 模块的实现。 读 Zepto 源码系列文章已经放到了github上,欢迎star: [reading-zepto

2017-07-31 09:21:19 256

转载 Zepto源码之Deferred模块

Deferred 模块也不是必备的模块,但是 ajax 模块中,要用到 promise 风格,必需引入 Deferred模块。Deferred 也用到了上一篇文章《读Zepto源码之Callbacks模块》介绍的 Callbacks 模块。读 Zepto 源码系列文章已经放到了github上,欢迎star: reading-zepto源码版本本文阅读的源码为 zepto1.

2017-07-31 09:20:38 864

转载 webpack实用配置

版本号  以entry.js打包为bundle.js为例,出口的filename可以设置为[id]、[name]、[hash]、[chunkhash]等替换形式,如下所示var webpack = require('webpack');module.exports = { entry: './entry.js', //入口文件 output: { path

2017-07-27 09:58:03 1127

转载 grid栅格布局

引入  对于Web开发者来说,网页布局一直是个比较重要的问题。但实际上,在网页开发很长的一段时间当中,我们甚至没有一个比较完整的布局模块。总的来说 Web 布局经历了以下四个阶段:  1、table表格布局,通过 Dreamweaver 拖拽表格或者手写 table 标签布局  2、float浮动及position定位布局,借助元素元素盒模型本身的特性以及 float

2017-07-27 09:57:29 819

原创 ES6对象扩展

对象类别  在浏览器这样的执行环境中,对象没有统一的标准,在标准中又使用不同的术语描述对象,ES6规范清晰定义了每一个类别的对象,对象的类别如下  1、普通(Ordinary)对象  具有JS对象所有的默认内部行为  2、特异(Exotic)对象  具有某些与默认行为不符的内部行为  3、标准(Standard)对象  ES6规范中定义的

2017-07-27 09:56:37 219

原创 ES6模板字面量

JS 的字符串相对其他语言来说功能总是有限的,事实上,ES5中一直缺乏许多特性,如多行字符串、字符串格式化、HTML转义等。ES6通过模板字面量的方式进行了填补,模板字面量试着跳出JS已有的字符串体系,通过一些全新的方法来解决类似的问题。本文将详细介绍ES6模板字面量 基本用法  模板字面量是增强版的字符串,它用反引号(`)标识let message = `He

2017-07-27 09:55:51 225

转载 ES6字符串扩展

子串识别  自从 JS 引入了 indexOf() 方法,开发者们就使用它来识别字符串是否存在于其它字符串中。ES6 包含了以下三个方法来满足这类需求:includes()、startsWith()、endsWith()【includes()】  该方法在给定文本存在于字符串中的任意位置时会返回 true ,否则返回false【startsWith()】

2017-07-27 09:55:20 124

原创 ES6正则表达式扩展

构造函数  在 ES5 中,RegExp构造函数的参数有两种情况。  第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)var regex = new RegExp('xyz', 'i');// 等价于var regex = /xyz/i;  第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝var

2017-07-27 09:54:58 362

转载 ES6对象扩展

对象类别  在浏览器这样的执行环境中,对象没有统一的标准,在标准中又使用不同的术语描述对象,ES6规范清晰定义了每一个类别的对象,对象的类别如下  1、普通(Ordinary)对象  具有JS对象所有的默认内部行为  2、特异(Exotic)对象  具有某些与默认行为不符的内部行为  3、标准(Standard)对象  ES6规范中定义的

2017-07-27 09:54:07 190

转载 Docker镜像构建的两种方式

两种方式构建镜像的主要步骤:从容器构建镜像(以下简称容器镜像)创建一个容器,比如使用 tomcat:latest 镜像创建一个tomcat-test容器修改tomcat-test容器的文件系统,比如修改tomcat的server.xml文件中的默认端口使用commit命令提交镜像使用Dockerfile构建镜像(以下简称Dockerfile镜像)编写Dockerfile

2017-07-27 09:53:32 473

转载 搭建私有Docker Registry

Docker官方提供了用于搭建私有registry的镜像,并配有详细文档。官方Registry镜像:https://hub.docker.com/_/registry官方文档:https://docs.docker.com/registry根据文档快速搭建的私有registry,只支持http。但是目前docker客户端的pull、push等命令,默认使用https的方式和regi

2017-07-27 09:51:34 1614

转载 Python判断文件是否存在的三种方法

1.使用os模块os模块中的os.path.exists()方法用于检验文件是否存在。判断文件是否存在import osos.path.exists(test_file.txt)#Trueos.path.exists(no_exist_file.txt)#False判断文件夹是否存在import osos.path.exists(test_dir)#

2017-07-27 09:39:01 6411

空空如也

空空如也

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

TA关注的人

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