自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hystrix超时逻辑源码分析

问题:Hystrix的超时时间,是否包含任务在队列里的等待时间回答:包含解析如下:在把任务加入线程池中,先开启计时器,延迟超时时间检查任务状态。在哪开启的,截图中的HystrixObservableTimeoutOperator的添加timer开启定时器,到达超时时间执行listener.tick() , 也就是上层中的tick()实现中。最后通过fallback()将超时异常返...

2019-04-19 10:04:12 750

原创 Mac Docker入门安装使用

brew安装docker最新mac系统千万不要用brew安装,推荐使用官方文档:https://docs.docker.com/docker-for-mac/#proxies安装镜像:docker pull centos:latestlatest代表拉取最新的镜像,当然可以先搜索下docker search centos查看本地镜像库:tongkun@localhost java...

2018-12-16 00:39:47 2267 3

原创 以16进制的形式查看java class二进制文件

首先创建java文件 HelloWorld.javapublic class HelloWorld { public static void main(String[] args) { String s = "Hollo World"; }}编译javac HelloWorld.java生成class文件 HelloWorld.class查看cl...

2018-11-02 17:11:39 7134

原创 java中的spi原理

摘要 系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块的方案,xml解析模块、jdbc模块的方案等。面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需要替换一种实现,就需要修改代码。 为了实现在模块装配的时候能不在程序里动态指明,这就需要一种服务发现机制。java spi就是提供...

2018-08-30 18:41:02 1510

原创 Spring中的ApplicationContextAware接口的使用

Spring中的ApplicationContextAware接口的使用这个接口的作用当一个类实现ApplicationContextAware接口后,当这个类被spring加载后,就能够在这个类中获取到spring的上下文操作符ApplicationContext,通过ApplicationContext 就能够轻松的获取所有的spring管理的bean。使用详解通过实现...

2018-08-29 10:13:58 4099

原创 使用Guava RateLimiter限流以及源码解析

前言在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流缓存 缓存的目的是提升系统访问速度和增大系统处理容量降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理常用的限流算法漏...

2018-08-28 17:43:46 1868

原创 func_get_args()在php71与php56的区别

func_get_args() 获取函数的所有参数,返回一个数组官方:http://www.php.net/manual/en/function.func-get-args.php但是此函数在php7与php56中,有些使用时是有区别的,就是调用此函数前,如果参数被修改了,返回值是有区别的。测试函数:<?phpfunction foo($x) { $x+...

2018-08-14 15:11:20 1094

原创 PHP格式化金额,小数位截取而非四舍五入,末尾控制是否0补齐

格式化金额,小数位截取而非四舍五入<?php/** * @name 小数位截取格式化金额 例如 100000.00 -> 100,000.00 * @param float $num [格式化前的金额] * @param integer $dist [保留的小数位数] * @param BOOL $zeroComplete [小数位不够di

2016-09-22 11:39:00 4070 2

转载 Linux中如何替换文件名中的空格

链接:http://www.eygle.com/digest/2006/11/linux_replace_blank.html用 tr :find . -type f -name "* *" -print |while read name; dona=$(echo $name | tr ' ' '_') if [[ $name != $na ]]; then

2016-09-16 11:49:03 4164

转载 php函数引用返回的详解

函数引用与php中变量引用一样使用的是&符号了,今天我们就一起来看看函数的引用返回的一些例子,希望这些例子能够对各位有帮助.引用返回手册里是这么写的:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。不要用返回引用来增加性能,引擎足够聪明来自己进行优化。仅在有合理的技术原因时才返回引用!要返回引用当你想将函数的返回引用绑定到某个变量时,PHP允许你这么做:

2016-09-14 16:21:12 2688

转载 php数组

数组在php中应用非常的多了在我们找工作时可能数组试题也多在学习中也就到比较多,这里给各位整理了大量的关于php数组的例子,有兴趣的和小编来看这篇php入门数组的使用到面试题文章.1.数组的概念数组就是一个用来存储一系列变量值的命名区域,每个数组元素有一个相关的索引,也成为关键字,它可以用来访问元素.PHP允许间隔性地使用数字或字符串作为数组的索引。2.数字索引数组

2016-09-13 13:20:51 458

原创 创建链表并插入数据(有序)

//// main.m// node//// Created by tk on 16/8/28.// Copyright © 2016年 Company. All rights reserved.//#import <Foundation/Foundation.h>#include <stdio.h>#include <stdlib.h>//定义结构体struct node

2016-08-28 15:20:54 3317

转载 svn: E200033: database is locked解决办法。(转)

svn执行update,却被告知database is locked!执行 svn update,却抛出个错误警报:svn: E200033: database is locked, executing statement 'RELEASE s0' 之后无论是cleanup,还是release locker都没反应! 别急,试试以下方案:$

2016-08-05 18:00:54 1789

转载 cp 拷贝,略过不想拷贝的目录

想使用CP拷贝一个大目录(/home/study/test),但又不想拷贝其中的一个子目录(/home/study/test/test1),应该如何写命令行方法:1. cd /home/study/test2. rsync -av --exclude  test1/ --exlclude test2/  ../test/  /home/copydir以上

2016-05-28 15:51:02 2736

原创 PHP的垃圾回收机制

PHP的垃圾回收机制在任何开发语言中都是非常重要的,PHP的垃圾回收机制能让开发者在开发过程中尽量不担心内存泄露,通过引用计数自动回收变量,但是在一些特定、长时间的脚本中还是会存在内存泄露的问题基本原理和常见问题在官方文档中都可以了解到,此处进行标记,避免遗漏:http://php.net/manual/zh/features.gc.refcounting-basics.php

2016-05-10 20:50:31 419

原创 php页面跳转的几种方式

@: PHP页面跳转的三种方式第一种方式:header()header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。 语法:void header ( string $string [, bool $replace = true [, int $http_response_code ]] )可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。

2016-05-09 20:35:57 6537

原创 Redis和Memcache的区别

数据都可以存放在内存中,都是内存数据库,但Memcache还可以缓存图片、视频等,而Redis数据可以持久化到磁盘中Redis在小数据上性能略高,Memcache在存储大数据(100k)以上时,性能会高与Redis如果要说内存使用效率,使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利

2016-05-09 20:01:13 395

原创 Linux系统时间同步

不同的Linux服务器在API交互时可能会有时间戳的验证,由于服务器时间不同可能到时超时,所以需要通过同步时间;date命令:date :查看当前时间,结果如下:Tue Mar 4 01:36:45 CST 2014date -s 09:38:40 :设置当前时间,结果如下:Tue Mar 4 09:38:40 CST 2014ntpdate命令:ntpdate

2016-05-06 17:32:50 514

原创 linux 如何禁止通过IP访问网站,只让用域名访问网站

在server的设置里面添加如下内容即可:  #禁止IP访问  server{  listen 80 default;  server_name _;  return 500;  }  或者  server {  listen 80 dufault;  server_name _;  rewrite ^(.*) http://域名 permanent;

2016-05-06 17:18:05 6244

转载 查看Linux系统信息命令

CentOS是Linux发行版之一方法:  1)[root@localhost ~]# cat /proc/version  Linux version 2.6.18-194.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Ap

2016-05-06 09:25:53 347

转载 Linux下端口被占用解决

有时候关闭软件后,后台进程死掉,导致端口被占用。下面以JBoss端口8083被占用为例,列出详细解决过程。解决方法:1.查找被占用的端口netstat -tln  netstat -tln | grep 8083   netstat -tln 查看端口使用情况,而netstat -tln | grep 8083 则是只查看端口8083的使用情况

2016-04-29 16:38:48 1061

原创 记录一次CI错误500

在CI中只要加载Model就报错误500HTTP 错误 500(Internal Server Error):服务器尝试执行请求时遇到了意外情况。排查了各种错误,包括Nginx配置文件,CI框架的 .htaccess 文件,最后定位到CI的配置文件database.php文件中,被同事修改导致文件冲突。所以在连接数据库时,发生错误!修改后解决问题。。。。

2016-04-11 15:09:58 2043

转载 MySQL执行计划解读

Explain语法EXPLAIN SELECT ……变体:1. EXPLAIN EXTENDED SELECT ……将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2. EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN执行计划包含的信息 id

2016-04-10 23:52:00 262

原创 修改Tomcat的端口号

安装Tomcat时发现默认端口号8080被jenkins占用了,所以决定修改Tomcat的端口号,修改方式进入Tomcat的目录 (/Library/Tomcat)进入配置文件目录config打开service.xml文件<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"

2016-03-21 07:46:10 413

原创 CI框架获取数据库错误码

开发中长会碰到用数据库唯一索引控制数据的重复插入处理,这时就会用到根据错误代码来判断并处理程序。在CI中通过以下方法获取信息$this->db->_error_number();   //获取错误码$this->db->_error_message(); //获取错误信息描述前提:配置文件database.php中db_debug项必须设置成FALSE,这时程序才会捕获错误状态

2016-03-18 18:30:09 5648 1

原创 PHPUnit单元测试

PHPUnit单元测试一、概述1. 什么是单元测试?【百度百科】单元测试是对软件中的最小可测单元进行检查和验证。是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。2. 作用是什么?【废话】检查软件、程序的可行性,稳定性。通过单元测试能够避免在迭代、升级等过程中,引起重复的、多余的问题。避免在别人修改代码的时候,影响到你的逻辑3. 哪些程序

2016-03-15 18:48:09 4922

原创 报错svn: E200014: Checksum mismatch for

今天svn update 时报错:svn: E200014: Checksum mismatch for 'bala/bala/bala目录+文件': expected: ede36171fde5dfa11504b90690fb5ce6actual: 9e9a1fa06031710331951a1078f1aaf0意思就是本地文件的标识与远程不一致,解决方法入下:先在错误文

2016-03-15 18:05:32 28735

转载 PHP 中的命名空间

PHP命名空间namespace什么是namespace?官方解释命名空间是 一种封装事物的方法。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /home/greg

2016-03-14 23:06:53 588

原创 命令行向Php传递参数的两种方式

第一种:getopt()php中的getopt是用来接收参数时用的,用法举例:paramtest.php<?php$options = getopt('a:b:c:');var_dump($options)命令行测试:bash-3.2# php paramtest.php -a 1 -b 2 -c 3array(3) { 'a' => string(1) "1"

2016-01-24 23:37:28 812

转载 Php中heredoc与nowdoc的使用方法

一、heredoc的结构和用法Heredoc 结构就像是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义。其结构中的变量将被替换,但在 heredoc 结构中含有复杂的变量时要格外小心。其对格式化输出内容时,比较有用 。具体其有以下特点:1、开始标记和结束标记使用相同的字符串,通常以大写字母来写。2、开始标记后不能出现空格或多余的字符。

2016-01-24 23:11:17 525

原创 php中require 和 include的区别和用法说明

require 和 include二种方式提供不同的使用弹性。require 的使用方法如 require(“MyRequireFile.php”); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份,亦可以这个方法将它引入网页中。include 使用方法如 include(“M

2016-01-24 22:46:19 481

原创 HTTP状态吗详解

100-199 用于指定客户端应相应的某些工作200-299 用户表示请求成功300-399 用户已经移动的文件并且常被包含在定位头信息中指定的新的地址信息400-499 用户指定客户端的错误500-599 用户指定服务器的错误100(Continue/继续):如果服务器收到头信息中带有100-continue的请求,这是指客户端询问是否可以在后续的请求中发送附件。在这

2016-01-24 22:38:43 463

转载 nohup /dev/null 2>&1 含义详解

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。该命令的一般形式为:nohup command &ls xxx 1>out.txt 2>&1nohup /mnt/Nand3/H2000G >/dev/nul

2016-01-24 20:52:07 113996 1

原创 压力测试之ab测试

一、介绍ab是apache自带的压力测试工具,非常实用,他不仅能对apache服务器进行压力测试,还可以对 nginx、tomcat、IIS等服务器进行测试二、原理ab命令会创建多个并发访问县城,模拟多个访问者同时对某一URL地址进行访问,他的测试目标是基于URL的。他既可以测试负载压力,也可以测试web服务器的压力ab命令对发出的负责计算机要求很低,他不会占用很高CPU也

2016-01-22 13:24:27 2268

原创 IP/TCP 端口

端口号:具有网络功能的应用软件的标示号一、简介在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,

2016-01-12 22:22:20 788

原创 Svn: E155010: Pristine Text A31e85c8da93f9838bde24db70544f9089ed4359 Not Present

今天svn在反复commit、cleanup时,产生了错误如下(我用的是mac电脑,终端)svn ci aaa -m ''svn: E155010: Commit failed (details follow):svn: E155010: Pristine text 'a31e85c8da93f9838bde24db70544f9089ed4359' not present

2016-01-12 19:34:49 14530 2

原创 php.ini中开启和关闭 session auto_start 的区别

日常开发中,php.ini配置session.auto_start=0默认关闭会话时如果想开启会话需要调用session_start:session.auto_start 开启就自动完成了session_start()区别就在于在用SESSION前是否需要session_start();当session.auto_start = on时,执行 session_start() 将产生

2015-12-29 15:28:01 20179 1

原创 Linux 用户&文件权限

在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。可以通过以下三种方式限制方位权限:只用户自己访问:允许一个预先指定的用户组中的用户访问允许系统中的任何用户访

2015-12-27 18:50:57 1352

原创 Mysql 几种日志分析

Mysql 有4种类型的日志:Error Log、Genaral Query Log、 Binary Log 和 Slow Query Log一、Error Log记录Mysql运行过程中的Error、Warning、Note等信息,系统出错或者某条记录出问题可以查看Error日志。Mysql的错误日志默认以hostname.err存放在Mysql的日志目录,可以通过以

2015-12-25 17:31:00 6983 1

原创 CGI、FastCGI、PHP-CGI和PHP-FPM 概念区分

CGI简介CGI全称是通用网关接口(Common Gateway Interface),是外部应用程序与与服务器之间的接口标准,是在CGI程序和web服务器之间传递信息的规程。在物力层面上、CGI是一段程序,运行在服务器上。CGI可以用任意语言编写,主要这种语言具有标准输入、输出和环境变量FastCGI简介FastCGI像是一个常驻型的CGI

2015-12-20 22:36:53 488

iOS Runtime Demo

对于iOS runtime 简单的学习Demo

2014-01-15

空空如也

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

TA关注的人

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