自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冲吧,不要停!

怎么java又来了?

  • 博客(491)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 关于 Nginx 和 Tomcat 的 http 长连接设置

一、为什么要配置长连接一个普通的请求是从按照下图 1->2->3->4 的顺序。从浏览器到 Nginx,再从 Nginx 到 Tomcat。Tomcat 处理完后,再返回给 Nginx,最后再从 Nginx 返回给浏览器。+--------------+ +--------------+ +--------------+| ...

2018-07-17 12:44:49 7852 6

转载 关于 time wait

todo: 1,把文件整理一下 2,看一下那些问题的处理文章 3,仔细看一下这个文章:深入 tcp网上有很多关于 time wait 的问题和修改方案,究竟什么是 time wait?作用是什么?会造成什么问题?如何解决?我们接下来一点一点看一下。一,time wait 是什么?timewait 状态是 TCP 链接的主动关闭方会有的状态,在发出最后一个 ACK 包之后,主动关闭...

2018-07-17 12:43:31 3023

原创 kafka 为什么快

一般的 mq 每个消息都有一个状态,这样每个消息状态改变都要更新,增加了很多随机读写。Kafka 对每个 partition 只有一个指针,而不是保存每个消息的状态,所有在指针后面的消息都是被消费过的消息。这就去掉了很多“确认消息”动作的随机读写,通过一次移动指针,来确认多个消息。 很多消息中间件,不这么做是因为实现起来有些困难。它需要在 consumer 之间进行协调,为每个 partiti...

2018-03-25 16:21:42 2114

原创 Curator 使用方法

学习资料: - 跟着实例学习ZooKeeper的用法: 缓存:这个代码非常清晰,如果是小白的话,可以看代码试试。 - 08.Curator缓存:这个挺好理解的。这篇文章是 Curator 系列文章中的一个,还有其它文章可以看一看。 - ZooKeeper客户端Curator(监听篇):写了为什么在监听的时候,要使用“线程池”,挺重要的。 - 《从Paxos到Zookeeper分布式一致性原...

2018-03-13 08:16:15 766

原创 算法导论-第一部分-读书笔记

工具MarkDown数学公式 markdown 数学符号写法数学公式对应的markdown代码Cmd Markdown 公式指导手册函数图像绘制工具绘图工具:看着挺强大的,不光能绘制数学图像。(没用过)对数在线计算器小知识点1,Θ(1)Θ(1)\Theta(1) 假设 T(n) 是规模为 n 的一个问题的运行时间。如果规模足够小,例如某个常量 c,n <= ...

2018-02-26 19:03:23 3115

原创 算法导论-第二部分-读书笔记

第六章堆6.1什么是堆?(二叉)堆是一个“数组”,它可以被看成一个挖的完全二叉树,树上每一个结点对应数组中一个元素。除了最底层外,该树是完全充满的,而且是从左向右填充。有两个属性:length 和 heap-size。length是数组元素的个数;heap-size 表示有多少个堆元素在数组中。比如:一个 3 层的二叉堆的 length 应该是 15,表示最多能有 1...

2018-02-26 19:01:59 736

原创 算法导论-第三部分-读书笔记

第十一章 散列表(哈希表)11.1 直接寻址表什么是直接寻址表? 就是用一个数组,数组的每个位置都保存一个元素。每个数组的位置称作“槽(slot)”。下图描绘了一个直接寻址表,槽 k 指向集合中的一个“关键字”为 k 的元素。如果该集合中没有关键字为 k 的元素,则 T[k] = NIL。 特点: 最大复杂度:O(1)O(1)O(1) 最小复杂度 :O(1)O(1)O(1)...

2018-02-26 19:01:06 600

原创 算法导论-第四部分-读书笔记

第十五章 动态规划15.1 钢条切割这里要算的是切割的段数,和从切头切还是从尾切没有关系,只要计算切前1米后,后面的米数的各种可能性切前2米后,后面的米数的各种可能性切 N 米后,后面的米数的各种可能性后面各种可能性如何算呢?还是“切前1米后,后面的米数的各种可能性。切前2米后,后面的米数的各种可能性。。。”。切到 0 米时返回。自顶向下自底向上...

2018-02-26 18:58:20 670

原创 防止误触 cmd+q

有时候误触 cmd+q 会关掉所有的正在使用的应用窗口。之前使用 karabiner 的映射解决这个问题,但最新的 karabiner-element 好像还没有提供这个功能,需要自己去写脚本。因为没时间去弄,所以找了一个脚本需要配合 maestro 使用。在 Warn Before Quitting Macro 去下载脚本,然后使用 maestro 来导入这个脚本就可以了。这个脚本是按住 c...

2018-02-26 10:34:14 985

原创 算法导论-第五部分-读书笔记

第十八章 B树B树是为磁盘或其他直接存取的辅助存储设备而设计的一种平衡搜索树,它在降低磁盘 IO 操作回数方面要更好一些,许多数据库系统使用 B树 或者 B树的变种来存储信息。B树与红黑树不同点在于:B树的结点可以有很多孩子,从数个到数千个。也就是说一个B树的“分支因子”可以相当大,尽管它通常依赖于所使用的磁盘单元特性。因为分子因子大,所以树的高度比红黑树小很多,B树的高度为 O(...

2018-02-26 10:11:39 495

原创 算法导论-第六部分-读书笔记

第二十一章 用于不相交集合的数据结构 第二十一章本来是第五部分里的,但它的内容和第六部分关系更为密切,所以放到了这里。21.1 不相交集合的操作不相交集合数据结构(disjoint-set data structure):维护了一个不相交可变集的集合 S={S1, S2, …, Sk},S1…Sk 都是不相交的。在不相交可变集合中,我们选出一个元素代表这个集合,用来在判断集合...

2018-02-26 10:10:35 1448

原创 关于 logback 和 log4j 同时引用的问题

问题在写组件时,发现一引入组件就会报错。发现是组件引入的 slf4j-log4j12 依赖的问题。错误如下:Caused by: java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext at com...

2018-02-09 15:13:31 7631

转载 spring boot应用启动原理分析

from:http://blog.csdn.net/hengyunabc/article/details/50120001讲了如下内容: 1,Spring Boot 生成的 Jar 是如何启动的,和启动的过程。 2,生成的 Jar 的目录结构 3,Spring Boot 是如何读取 Jar 中 Jar 的 4,其它一些小技巧非常棒

2018-01-30 18:48:45 261

转载 maven 多模块管理

一、项目结构如下maven-multi-module`------ core `--- pom.xml`------ webapp `--- pom.xml`------ pom.xml说明:最外层是一个叫“maven-multi-module”的工程,里面有一个 pom.xml 和 两个子工程“core”和“webapp”。“c

2018-01-29 20:01:13 1027

原创 程序员的数学 - 读书笔记

第一章一、10进制记数法1,这里的10 ^ n 中的10,叫作基数或底。2进制计算如下: 2,与其把 10 ^ 0 值记作 0,还不如把它记作每个数的10分之一,所以 10 ^ 0 就是 10 ^ 1 的 10分之1,也就是1。 注意:在这里想强调的是,不要将 2 ^ 0 的值作为一种知识去记忆,我们更需要考虑的的,如何对 2 ^ 0 进行适当的定义,让规则变

2018-01-23 08:44:04 578

原创 Java 泛型在类继承方面的使用

对泛型的了解不多,最近了一个类继承方面的包装,更进一步了解泛型能如何使用。需求如下:有一个工厂类,通过工厂类去生产一个 Consumer。Consumer 需要调用 setMessageListener 方法去设置一个 IMessageListener。这个 IMessageListener 有一个方法onMessage(Object message)现在需要,使用者在使用on

2018-01-12 15:17:06 908

转载 apache-common pool 的使用

Apache Commons-pool2(整理) apache-common pool的使用

2017-11-24 08:26:10 409

原创 go - 测试学习文章总结

资料的顺序是:由上至下,由浅入深1,三分钟了解 go testGo怎么写测试用例:非常适合立刻上手。这个文章是build-web-application-with-golang书中的一部分。这个本也非常不错,非常适合简单入门。【译】GO 中如何进行单元测试:也是一个由浅入深的文章。文章里有一些测试类的写法,可以学习一下。而且还讲到了TestMain方法。所有被测试方法执行前,都要一下这个方法,所

2017-11-21 12:34:28 444

转载 go - time包的定时器/断续器

from: https://www.kancloud.cn/digest/batu-go/153534定时器在time包中有两个函数可以帮助我们初始化time.Timertime.Newtimer函数初始化一个到期时间据此时的间隔为3小时30分的定时器 t := time.Newtimer(3*time.Hour + 30*time.Minute) 注意,这里的变量t是*time.NewT

2017-11-18 11:46:59 455

原创 在 github 上快速查看 commit 内容

格式:https://github.com/<owner>/<project>/commit/<hash>例子:https://github.com/jerith666/git-graph/commit/35e32b6a00dec02ae7d7c45c6b7106779a124685其它:REST API v3 Searching commits参考:Find a commit on GitHub

2017-11-15 15:27:28 4083

原创 etcd cluster 搭建

启动cluster启动集群有3个方式:1,static方式这种方式可以参考 Set up a local cluster 的设置方法。这种设置方式的特点时,需要提前知道参与 cluster 机器的 IP。2,etcd discovery方式这种方式避免了 static 方式中存在的问题:需要提前知道参与 cluster 机器的 IP。这种方式的做法就是:需要一个“已经存在”的 etcd clust

2017-11-14 20:03:45 1436

转载 go - context 用法

1,context作用1,通过context,我们可以方便地对同一个请求所产生地goroutine进行约束管理,可以设定超时、deadline,甚至是取消这个请求相关的所有goroutine。形象地说,假如一个请求过来,需要A去做事情,而A让B去做一些事情,B让C去做一些事情,A、B、C是三个有关联的goroutine,那么问题来了:假如在A、B、C还在处理事情的时候请求被取消了,那么该如何优雅地同

2017-11-13 13:41:46 4258

原创 go - 关于 vendor 和 包管理glide

关于 vendor: golang使用vendor目录来管理依赖包 理解Go 1.5 vendor关于 glide glide使用 Golang Vendor 包管理工具 glide 使用教程 glide(官方)

2017-11-06 19:28:08 2008

原创 go - 关于使用 channel 时遇到的死锁问题

1,发生死锁的代码func deadlockTest() { ch := make(chan int) results := make(chan int) for i := 0; i < 2; i++ { go func() { // 把从channel里取得的数据,再传回去 x := <-ch

2017-10-19 11:47:00 6268

翻译 GVM 使用方法

上网找了找,没有关于GVM太好的使用说明,昨天弄这个也折腾了半天。有一个外国的帖子不错,把内容简单转过来,翻译一下。关于安装不细说了,可以看Mac 安装 GVM 和 GO。1,建立一个 pkgset。每个Go project 对应一个pkgset,当切换pkgset的话,相对应的 GOPATH 等环境变量也跟切换了。 $ gvm pkgset create ottemo2,切换到新建立的pkg

2017-10-15 13:25:36 12366 1

原创 Mac 安装 GVM 和 GO

0,什么是GVMGVM是用来控制多版本的一个工具,有点像python中的virtualenv。 使用方法请参考: 用gvm管理Go项目的workspace Go 语言多版本安装及管理利器 - GVM1,安装GVM bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gv

2017-10-14 20:29:22 8655 1

原创 mysql 基础操作文章

Linux下MySQL默认安装目录和常用命令 mysql 初始操作

2017-10-11 16:46:20 285

原创 mysql 安装方法

解压安装Linux下安装MySQL通过yum安装Linux学习之CentOS(十三)–CentOS6.4下Mysql数据库的安装与配置两种方式都有的Linux系统安装mysql-5.5.47的两种方式以及mysql的管理

2017-10-11 16:40:14 330

原创 mysql 服务启动和停止方法

mysql启动方式有很多种,根据系统和安装方式不一样,启动方法也不一样。解压版启动和停止方法: /usr/local/mysql/bin/mysqld_safe –user=mysql /usr/local/mysql/bin/mysqladmin -uroot -p shutdown (然后输入密码) (或者直接 kill 掉进程)-user=mysql 是为了设置告诉mysql

2017-10-11 16:31:51 42177

原创 关于Django + Nginx + uWSGI 配置总结

目录:下载Django项目配置uWSGI配置NginxSSH 端口转发环境:Red Hat 4.4.7-18(Linux version 2.6.32) Django (1.11.5) uWSGI (2.0.15) python (2.7.13)一. 下载Django项目这个步骤非常简单,就是把你写好的Django项目放到服务器上。二. 配置uWSGI1,使用pip install

2017-09-30 09:17:41 723

原创 正则表达式基础语法例子

正则表达式

2017-09-20 09:35:30 10757 6

原创 关于 context manager

在看《Intermediate Python》中的context manager时候,对它的使用场景不是太明白,看了一些文章后才了解:context manager 和 yield一起使用的。下面的这篇文章写的很好,建议看看 Python——with语句、context manager类型和contextlib库

2017-09-19 07:47:35 792

原创 关于yield

Python yield 使用浅析:这一篇讲的非常好,讲了为什么我们需要yield python yield 研究:多了一些例子

2017-09-19 07:44:24 514

原创 python 通过代理抓取数据

前言 有一些网站和数据,是不通过代理访问不到的(不管是不是正经的 :) )。如何用Python抓取这些数据呢?正文1,设置代理因为我们的程序是在终端里执行,所以需要先设置一下: - 设置在终端下能够使用代理 - 启用ss代理,且本地代理为socks5://127.0.0.1:1080可以参考文章:Make the python requests work via socks proxy o

2017-09-17 22:11:06 1414

原创 pycharm Enable Django Support 设置

在配置Djange Tests时,需要设置Enable Django Support,设置相关内容如下:Django project root: 选择包含manage.py文件的目录Settings:选择settings.py文件参考: Django

2017-09-12 15:54:56 7246

转载 httplib, httplib2, urllib, requests 区别

还是看使用场景: 1,httplib和httplib2直接处理HTTP /HTTP请求和响应,并为您提供更多空间来完成自己的工作。2,urllib和urllib2构建在httplib上,它们更抽象而强大,但有时候不能满足您对某些HTTP相关操作的指定需求。对于一般的需求(不是很底层的),这个用的还是比较多的。3,关于 requests,它应该是比 urllib* 系列更好使用的库。有的文章说它好,

2017-09-11 00:38:34 7981

原创 python pip 国内源

国内源列表:清华:http://mirrors.tuna.tsinghua.edu.cn/pypi/simple豆瓣:https://pypi.doubanio.com/simple使用方法(例如:安装Django) pip install -i https://pypi.doubanio.com/simple django把内国源设置成默认提高pip的下载速度

2017-09-07 18:51:14 587

转载 python 虚拟环境

virtualenv 是一个可以在同一计算机中隔离多个python版本的工具。有时,两个不同的项目可能需要不同版本的python,如 python2.6.6 / python3.0 ,但是如果都装到一起,经常会导致问题。所以需要一个工具能够将这两种或几种不同版本的环境隔离开来,需要哪个版本就切换到哪个版本做为默认版本。virtualenv 既是满足这个需求的工具。它能够用于创建独立的Python环境

2017-09-05 16:19:20 339

原创 JRebel 和 XRebel

功能JRebel:修改完代码,不想重启服务,就使想代码生效。XRebel:请求中,各个部分代码性能监控。例如:方法执行时间,出现的异常,SQL执行时间,输出的Log,MQ执行时间等。说明JRebel大家可以看看网上的文章。今天刚才试用了一下XRebel,记录一下。参考文章: XRebel入门与实践 XRebel使用教程注意点: 1,这个XRebel好像必须加到 Web 项目上,才能开始监

2017-09-03 14:23:11 12964

转载 使用命令排查网络问题图

图表如下:

2017-09-02 12:26:07 672

[kindle]编程珠玑(第2版•修订版).mobi

编程珠玑(第2版•修订版)的 kinle 版本,非常清晰,非常适合在 kindle 上阅读。

2018-02-27

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

TA关注的人

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