自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员

先死后活,死去活来

  • 博客(143)
  • 资源 (22)
  • 收藏
  • 关注

原创 synchronized、wait、notify底层实现

1.如何使用jstack分析线程状态 http://www.jianshu.com/p/6690f7e92f27 2.JVM源码分析之synchronized实现 http://www.jianshu.com/p/c5058b6fe8e5 3.JVM源码分析之Object.wait/notify实现 http://www.jianshu.com/p/f4454164c017

2017-07-30 18:58:48 5126

原创 shell脚本中常用的技能

#/bin/bashthreadCount=`cat count`;topic=`cat topic`#echo $topic#访问文件中每行的数据for redis in $(cat redis.list); do echo $redis host=`echo $redis | awk -F ":" '{print $1}'` port=`echo $redis

2017-06-04 17:13:26 975 1

原创 new

CMS promotion failed concurrent mode failureCAP

2017-04-18 15:30:47 611

原创 NIO Buffer To String

byteBufferToStringpublic static String byteBufferToString(ByteBuffer byteBuffer) { String result = ""; try { int length = byteBuffer.remaining(); byte[] bytes =

2017-04-15 16:45:14 671

原创 MyCodePool

NIO Buffershell

2017-04-15 16:42:18 646

原创 tcpdump+wireshark的使用

tcpdump在开发过程中经常需要抓包,下面介绍tcpdump和wireshark配合使用的方法。 tcpdump -i lo port 9000 -w fcgi.dump 上面的-i lo表示抓的本机的数据包。tcpdump默认抓取的是经过网卡的往来包。由于与PHP-FPM通信是本机的9000端口,因此需要使用-i lo参数来抓取。 port 9000表示抓取发送或来自9000端口的数据包。

2017-04-15 16:04:52 1123

原创 FCGI协议的header解析

FCGI协议的heade比较简单只有8个字节,其C语言定义格式如下:typedef struct { unsigned char version; //版本 unsigned char type; //操作类型 unsigned char requestIdB1; //请求id unsign

2017-04-15 12:41:03 2442

原创 lsof

查看进程所占用的文件描述符。 lsof -p processId 详见: http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/lsof.html

2017-04-10 14:58:08 558

原创 关于CAP的理解

参考链接: https://www.zybuluo.com/jewes/note/68185

2017-03-29 20:03:02 1101

原创 fcgi4j与PHP-FPM通信遇到的问题

一.前言前一篇文章介绍了一些CGI、FCGI相关的概念,详见 理解CGI、FCGI、php-cgi、php-fpm的概念 。从这篇文章知道PHP-FPM是PHP实现FCGI协议的一个组件,负责FCGI协议编码的请求的解析和转发。 fcgi4j是一个Java解析fcgi协议的组件,其git地址为:fcgi4j github。二.问题在工作中遇到的问题: 在线上,当PHP-FPM对数据包进行分包,f

2017-03-25 16:03:09 776

原创 Jedis详解

http://www.jianshu.com/p/7913f9984765pipiline的实现方式 http://www.jianshu.com/p/5e12556a0aa9

2017-03-22 16:16:55 1013

原创 PropertiesManager java

PropertiesManager pm = new PropertiesManager(confFile);

2017-03-22 16:15:46 819

原创 北京工作居住证与北京居住证的区别

老是忘,写在这里,方便查看。

2017-02-16 14:45:52 1616

原创 分布式缓存简介

最近在看分布式缓存方面的东西,记录一下。 缓存这个概念,我第一次接触应该是在学《计算机组成原理》时,里面的CPU Cache就是缓存的意思。 这里就不得不说一下,影响计算机性能的主要方面或者说计算机的瓶颈。现在CPU应该是跑的足够快了,关键是CPU需要数据才能进行计算,计算出来的结果要存储起来。所以,数据的读写永远是计算机的瓶颈。从哪里读写数据,也就是说,数据存放在哪里,成为了主要问题。 “近

2017-01-04 21:10:36 2849

原创 服务的幂等性

2017年的第一天去了趟天津,收获最大的就是去了梁启超故居,虽然门票只有10元,但是感觉是最有意义的。梁启超之家就是个院士之家,各行各业的专家:建筑专家、火箭专家、经济专家、历史专家、考古专家、国学专家。牛!梁启超在学习、教育方面提出了自己的方法论,值得后人学习! 看了很多遍服务的幂等性,没有自己设计过、做过,总是记不牢。现在也没用过,写个博客加深下印象吧。 博客写了之后还是要多回顾。 在复杂

2017-01-03 20:39:45 1405

原创 Linux time命令输出的user、sys、real

real time 表示後面所接的指令或程式從開始執行到結束終止所需要的時間。簡單講,當一個程式開始執行瞬間看一下手錶記下時間,當程式結束終止瞬間再看一次手錶,兩次的時間差就是 real time。 user CPU time 表示程式在 user mode 所佔用的 CPU 時間總和。多核心的 CPU 或多顆 CPU 計算時,則必須將每一個核心或每一顆 CPU 的時間加總起來。 这个是所有CP

2016-12-15 11:10:20 4598

原创 google allocation instrument

连接: https://github.com/google/allocation-instrumenter quick start: https://github.com/google/allocation-instrumenter/wikipom依赖<dependency> <groupId>com.google.code.java-allocation-instru

2016-12-12 19:01:59 725

原创 MAC iterm2-zsh

MAC终端神器iterm2登录跳板机不退出发送心跳的配置zsh1.无需tab自动补全 2.登录服务器后tab变颜色用于区分服务器还是本机

2016-12-11 18:32:31 926

原创 Mongo Java Driver示例

创建连接find时间条件的判断(字符串时间、long时间),返回结果包含某些字段、排除某些字段,按照某字段排序、升序降序显示、将结果转换成Java Beangroup符合条件的文档执行group操作,查询条件null、非null的判断,按照某些字段进行group,sum count的计算、group结果转换成Java Bean

2016-12-11 18:27:01 528

原创 Mongo入门介绍

MAC安装启动与关闭CRUD

2016-12-11 17:46:46 369

原创 关于单例、关于DCL:Double Check Lock、关于volatile

Java程序员面试都会被问到单例模式,有的公司(如1.)还会问单例模式的各种实现。结论(1)单例的实现请直接看第4和第5。 (2)volatile总共实现了两个功能: a.多线程间的可见性问题 b.对象实例化时的完整性问题 下面阐述下具体写法。1.public class Singleton { private Singleton() {

2016-12-04 17:54:15 3311 4

原创 使用JSP显示表格

最近在工作中需要做些前端的工作,当然还是比较low,使用的JSP。之前没做过,遇到了一些问题,这里记录下。 将后端传过来的List使用表格显示时,免不了要使用<c:forEach></c:forEach>要使用这个功能,需要在JSP文件头声明taglib。如果不声明taglib,使用开发者工具(alt+command+i)看返回的数据,发现没有将List展开。<%@ taglib prefix=

2016-12-04 14:29:33 23521

原创 抽象类与抽象方法的使用

学了这么长时间的抽象类与抽象方法,只是看别人这么设计,这么写。现在终于在项目中实际使用了。下面抽象出来,阐述下。 在现有的系统下,已经有了下面的实现:package org.fan.animal;/** * Created by fan on 2016/11/28. */public interface Animal { void doEat();}假设这个食草动物,每次eat之前

2016-11-28 20:45:48 816

原创 关于int和Integer互转的问题

Integer转成int这个在转换的过程中会调用Integer的静态方法valueOf()方法。 源码如下:public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-In

2016-11-19 13:24:24 7137

原创 MAC 查看java home目录

在mac下使用echo ${JAVA_HOME}是看不到JAVA_HOME的设置的。使用env 命令也看不到JAVA_HOME的值。解决方法:/usr/libexec/java_home -V

2016-11-13 17:28:20 11163

原创 Java8的Function接口以及Lambda表达式Demo

只是简单给出一个小Demo。具体的理论知识可以看后面的参考链接。package org.fan.func;import java.util.function.Function;/** * Created by fan on 2016/11/4. */public class FunctionDemo { //API which accepts an implementation of

2016-11-06 11:57:53 8328

原创 理解CGI、FCGI、php-cgi、php-fpm的概念

CGI:common gateway interface 通用网关接口FCGI:fast common gateway interface 快速通用网关接口PHP-FPM:PHP-Fast CGI Process Managerphp-cgi是CGI协议的实现,PHP-FPM是FCGI协议的实现。CGI 就是web服务器如nginx跟后端动态脚本语言如PHP通信的协议接口。1.场景:浏览器请求web

2016-11-03 11:46:19 11902

原创 程序11-先升序后降序返回最大值

一个数列,先升序后降序,返回最大值的下标。package org.fan.learn;/** * Created by fan on 2016/10/10. */public class BinarySearchMeituan { public static int search(int[] arr) { //特殊处理 if (a

2016-10-11 00:07:32 1868 1

原创 由常量池 运行时常量池 String intern方法想到的(四)之 常量池

这篇文章 由常量池 运行时常量池 String intern方法想到的(三)之String内存模型 有网友评论,主要有以下两个问题: (1)是不是每个类都有一个运行时常量池? (2)在运行时常量池中存在的字符串是否是对象? 下面主要以示例的形式解释第一个问题,而第二个问题,我之前也有过疑惑,也问过其他网友,请看这个博文及评论: String放入运行时常量池的时机与String.inte

2016-10-08 18:45:57 1151 2

原创 LeetCode215. Kth Largest Element in an Array

Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element. For example, Given [3,2,1,5,6,4] and k = 2, return 5.

2016-09-16 12:22:17 410

原创 LeetCode34. Search for a Range

Given a sorted array of integers, find the starting and ending position of a given target value. Your algorithm’s runtime complexity must be in the order of O(log n). If the target is not found in th

2016-09-15 21:00:16 286

原创 LeetCode278. First Bad Version

You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based on the

2016-09-15 18:39:49 268

原创 LeetCode374. Guess Number Higher or Lower

We are playing the Guess Game. The game is as follows:I pick a number from 1 to n. You have to guess which number I picked. Every time you guess wrong, I’ll tell you whether the number is higher or lo

2016-09-15 18:24:58 276

原创 leetcode 72. Edit Distance

Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.) You have the following 3 operations permitted on a word:

2016-09-15 14:53:17 545

原创 最长公共子序列

一个给定序列的子序列是在该序列中删去若干元素后得到的序列 给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列 最长公共子序列 X = (A, B, C, B, D, A, B) Y = (B, D, C, A, B, A) (B, C, B, A) (B, D, A, B)完全代码package org.fan.learn.dp;/**

2016-09-14 17:36:49 401

原创 LeetCode322. Coin Change

You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money c

2016-09-13 22:34:34 622

原创 01背包问题

小偷有一个容量为W的背包,有n件物品,第i个物品价值vi,且重wi 目标: 找到xi使得对于所有的xi = {0, 1} sum(wi*xi) <= W, 并且 sum(xi*vi)最大递归代码package org.fan.learn.dp;/** * Created by fan on 2016/9/13. */public class Bag { public static f

2016-09-13 18:48:18 351

原创 小兵向前冲

小兵向前冲N*M的棋盘上,小兵要从左下角走到右上角,只能向上或者向右走,问有多少种走法? 注意:这里说的N*M是指线段,而不是指几根竖线,几根横线。线段总是比线少1个的。下面的讨论都是基于线段的。 见下图(这个图是4*4的): 上图标注解释如下: 左下角黄色方框:起始位置 右上角黄色方框:目标位置 下边框和右边框黑色的数字0 1 2 3 4表示的是坐标 红色的方框:表示递归时的重复

2016-09-12 16:46:21 1525

原创 斐波那契数列与n!

实现斐波那契数列 0、1、1、2、3、5、8、13、21、34、…… F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) 递归实现:package org.fan.learn.dp;/** * Created by fan on 2016/9/12. */public class Fibo { public static long[] result

2016-09-12 14:37:47 706

原创 leetcode198 House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses

2016-09-12 10:55:49 363

java反编译工具jd-gui

jd-gui java 反编译工具 将class文件反编译成java文件

2016-04-25

HexEditor插件

HexEditor插件 notePad++

2016-03-15

HexEditor.dll

notepad++查看二进制文件的插件

2016-03-15

junit-4.12.jar

用于写java测试单元的必须的jar包,从官网下的,肯定可用。

2015-07-13

junit-4.12

用于写java测试单元必要的jar包,这个是从官网下的,保证可用哦

2015-07-13

单链表 环 入口点 环长

求单链表是否有环,如果有环求出环的入口点及环长

2014-04-24

C51实现LCD1602

keil C51 实现LCD1602 保证能用 可以写字符串 可以写小数 main函数中有实例

2013-04-03

c51实现lcd1602四线驱动

51单片机 c51实现lcd1602四线驱动

2013-04-01

PL-2303 win7 驱动 usb RS232

PL-2303 win7 驱动 usb RS232 保证可以使用

2013-03-22

VC6.0 工具

VC6.0 工具 显示行号 智能提示 有使用说明及visual active 安装文件和破解文件

2013-01-27

keil uvision 3 注册机 带CID的

keil uvision 3 注册机 带CID的 CID=CSXRK-XZD85 LIC0=RC9U8-3AX1C-ZNSAE-CU1JS-SW7YD-VJD6F

2013-01-23

hex转coe工具

hex coe 51hex_bin corGenerator 在研究MC8051对ROM进行配置时需要coe文件,这里给出了使用keil写的流水灯的hex文件,并将其转换成了coe文件,此coe可以正常使用,并且给出了51hex_bin.exe和CoeGenerator.exe

2013-01-17

数据结构 严蔚敏 C语言版 链队列表示与实现

数据结构 严蔚敏 C语言版 链队列表示与实现 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 行编辑程序

数据结构 严蔚敏 C语言版 行编辑程序 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 汉诺塔

数据结构 严蔚敏 C语言版 汉诺塔 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 数制转换

数据结构 严蔚敏 C语言版 数制转换 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 循环队列

数据结构 严蔚敏 C语言版 循环队列 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 顺序栈

数据结构 严蔚敏 C语言版 顺序栈 顺序栈的实现 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 括号匹配

数据结构 严蔚敏 C语言版 括号匹配 while((c = getchar()) != EOF) { switch(c) { case '[': push(&sqSta;, c); break; case '(': push(&sqSta;, c); break; case ']': if(getTop(&sqSta;, &e)) { if(e == '[') { pop(&sqSta;, &temp;); } if(e == '(') { printf("\nnot match\n"); return ERROR; } } break; case ')': if(getTop(&sqSta;, &e)) { if(e == '(') { pop(&sqSta;, &temp;); } if(e == '[') { printf("\nnot match\n"); return ERROR; } } break; default : printf("\nerror\n"); return ERROR; break; } } if(stackEmpty(sqSta)) { printf("\nmatched\n"); } else { printf("\nnot matched\n"); }

2013-01-16

数据结构严蔚敏C语言版 迷宫

数据结构 严蔚敏 C语言版 迷宫 status mazePath(seqStack *S, posType start, posType end) { posType curPos; //current positon int curStep; //the ordinary number sElemType e; curPos = start; curStep = 1; do { if(pass(curPos)) //the current position is "accessed" { footPrint(curPos); e.ord = curStep; e.seat = curPos; e.di = 1; push(S, e); if(curPos.xPos == end.xPos && curPos.yPos == end.yPos) { return OK; //arrive at the final } curPos = nextPos(curPos, 1); curStep++; }//end of if(pass(curPos)) else //the current position is not "accessed" { if(!stackEmpty(*S)) //the stack is not empty { pop(S,&e); while(e.di == 4 && !stackEmpty(*S)) { markPrint(e.seat); //the current position must be marked by '#' pop(S,&e); }//end while if(e.di < 4) { e.di++; push(S,e); curPos = nextPos(e.seat, e.di); } }//end of if(!stackEmpty(*S)) }//end of else }while(!stackEmpty(*S)); }

2013-01-16

液晶显示12864驱动

液晶显示12864驱动适用于EasyArm1138

2012-12-04

空空如也

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

TA关注的人

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