- 博客(327)
- 资源 (19)
- 收藏
- 关注
原创 CentOS7安装RabbitMQ 步骤流程
##在Linux中安装RabbitMQ演示,以VirtualBox中的虚拟机为操作系统载体##操作系统版本为CentOS7,纯净未安装RabbitMQ#以root用户安装su - root##安装wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpmyum install epel-...
2018-12-05 20:50:24
210
转载 JAVA中的BIO,NIO,AIO
在了解BIO,NIO,AIO之前先了解一下IO的几个概念: 1.同步 用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪, 例如自己亲自出马持银行卡到银行取钱 2.异步 用户触发IO操作以后,可以干别的事,IO操作完成以后再通知当前线程,例如让小弟去银行帮你取钱,你可以干别的事 3.阻塞 当试图进读写文件的时候,发现不可读取或没东...
2018-12-05 11:08:27
107
转载 Linux环境快速部署Zookeeper集群
一、部署前准备: 1、下载ZooKeeper的安装包: http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper-3.4.9。 2、将下载的zookeeper-3.4.9包放到/opt目录下,目录结构如下图所示: 3、在/tmp目录下新建一个zookeeper目录,并在zookeeper目录下新建一个data...
2018-11-10 22:17:43
164
转载 zookeeper学习心得一:基础讲解---zk节点类型以及对节点的相应操作
zookeeper节点类型 持久节点(PERSISTENT) 所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。 持久顺序节点(PERSISTENT_SEQUENTIAL) 这类节点的基本特性和上面的节点类型是一致的。额外的特性是,在ZK中,每个父节点会为他的第一级子节点维护一份时序,会记录每...
2018-11-06 17:49:28
457
转载 ZooKeeper学习之zookeeper的ACL(AUTH)
zookeeper的ACL(AUTH)ACL(Access Control List),Zookeeper作为一个分布式协调框架,其内部存储的都是一些关于分布式系统运行时状态的元数据,尤其是设计到一些分布式锁,Master选举和协调等应用场景。我们需要有效地保障Zookeeper中的数据安全,Zookeeper提供了三种模式。权限模式,授权对象,权限。权限模式:Scheme,开发人员最多使...
2018-11-06 17:48:47
737
转载 远程不能访问CentOS的tomcat 8080端口
一般认为是CentOS的iptabls防火墙的问题,方法如下:ps -ef | grep tomcatker 4399 1 6 21:46 pts/1 00:00:01 /usr/java/jdk1.7.0_25/jre/bin/java可以看到 tomcat 的进程号是4399netstat -tupln | grep 4399tcp 0 0 :::8009 :::* LIST...
2018-11-06 16:42:55
321
转载 从分布式一致性谈到CAP理论、BASE理论
问题的提出在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。1、火车站售票假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车 票,然后拿着车票去检票口,再坐上火车,开始一段美好的旅行----一切似乎都是那么和谐。想象一下,如果他选择的目的地是杭州,而某一趟开往杭州的火车 只剩下最后一张车票,可能在同一时刻,不同售票窗口的另...
2018-10-30 14:10:17
123
转载 JVM系列文章(三):Class文件内容解析
作为一个程序猿,只知道怎么用是远远不够的。起码,你须要知道为什么能够这么用。即我们所谓底层的东西。那究竟什么是底层呢?我认为这不能一概而论。以我如今的知识水平而言:对于Web开发人员,TCP/IP、HTTP等等协议可能就是底层;对于C、C++程序猿。内存、指针等等可能就是底层的东西。那对于Java开发人员。你的Java代码执行所在的JVM可能就是你所须要去了解、理解的东西。 我会在接下...
2018-10-25 16:43:30
145
转载 javap——查看class文件的方法
有时候为了研究Javac的原理,要去看看class文件的内容是如何组织的,这时候很有必要查看class文件。方法有很多种,这里推荐使用JDK自带的javap工具。首先建立如下源码:public class HelloWorld{ public static void main(String[] args){ System.out.println("hello worl...
2018-10-25 16:42:31
1143
转载 jdk源码解析(六)——类(class)文件结构
前面的内容我们了解到jvm的内存结构。所有java文件必须经过“编译”转成class文件之后才会被jvm所识别和运用。那么我们开始了解一下类文件也就是class文件的结构。也就是我们写的java文件最终会被编译成什么样?那种格式?本文讲解内容借鉴了《Java 虚拟机规范(Java SE 7 版)》第四章。如果有兴趣可以自行观赏本书,对您以后的开发大有裨益。1、类文件介绍每一个 Clas...
2018-10-25 16:39:49
174
转载 【数据库原理】如何计算mysql索引key_len
测试开始:一、我们首先继续按上篇博客的数据来进行测试 有上面的效果对比我们可以看得出来,当索引字段没有设置notnull为true时,需要增加一个字节来判断字段是否为空,而且,int类型字段索引占4个字节长。二、当我把strvalue字段更改为varchar(255)类型,不可为null时:更改为varchar(100):总结:varchar(n)类...
2018-10-21 16:05:48
921
原创 SQL优化
SQL优化 优化实战 策略1.尽量全值匹配 CREATE TABLE `staffs`( id int primary key auto_increment, name varchar(24) not null default "" comment'姓名', age int not null default 0 ...
2018-10-21 15:49:36
207
转载 MySQL中有关TIMESTAMP和DATETIME的总结
转载自iVictor,原文链接:http://www.cnblogs.com/ivictor/p/5028368.html一、MySQL中如何表示当前时间?其实,表达方式还是蛮多的,汇总如下:CURRENT_TIMESTAMPCURRENT_TIMESTAMP()NOW()LOCALTIMELOCALTIME()LOCALTIMESTAMPLOCALTIMEST...
2018-10-19 18:45:38
214
原创 mysql 锁
mysql 存储引擎 myisam 共享读锁 语法 lock table 表名 read 只要添加了读锁 当前会话可以查询 插入报错另外一个会话中 插入要等待 查询没问题 lock table testmysam write 添加写锁 可以多个线程读取 只能一个线程写入当前会话中SELECT ...
2018-10-19 15:23:15
128
转载 热修改mysql数据库pt-online-schema-change 的使用详解
首先不得不在该篇里面梳理一个数据库热增加删除字段表的工具pt-online-schema-change这个工具在前面我的博文 《关于utf8mb4的学习了解笔记》里面有提到过,他是一个online的ddl(data definition language)工具。由于mysql 的ddl语句在执行的时候会锁表,在数据量大的情况下锁表就会严重影响正常的数据写入。既然都说到这里了,也总结一下我在网上...
2018-10-19 14:52:25
295
转载 MySQL中char与varchar区别,varchar最大长度是多少?
一、首先来说下字符与字节的区别:字符与字节它们完全不是一个位面的概念,所以两者之间没有“区别”这一说法。在不同编码里,字符和字节的对应关系是不同的。一般来说,半角英文状态下一个字母或数字(称之为字符)占用一个字节,一个汉字用两个字节表示。在不同的编码方式下一个字符占的字节数是不同的,所以两者是不能划等号的。 1个字节(Byte)等于8个bit位,每个bit位是0/1两种状态,也就是说一个...
2018-10-19 10:38:50
976
转载 详解mysql int类型的长度值问题
提问:MySQL的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?回答:不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。如果你的答案和上面的一致,恭喜你和我犯了一样的错误。真实情况:我们建立下面这张表:CREATE TABLE `test` ( `id` int(1...
2018-10-19 10:29:48
308
原创 mysql 存储引擎
show VARIABLES like 'innodb_log_buffer_size' 字节show VARIABLES like 'innodb_log_files_in_group'C:\ProgramData\MySQL\MySQL Server 5.6\data
2018-10-18 17:34:08
114
转载 MySQL Troubleshoting:Waiting on query cache mutex
今天被MySQL Query Cache 炕了、线上大量 Waiting on query cache mutex 那么什么是 Query Cache? QC 缓存的是整个SELECT的结果集、而非执行计划、QC的为人原则是:执行查询最快的方式就是不去执行 但是、QC 简单粗暴的失效策...
2018-10-18 10:56:11
156
原创 日志配置和及切割
1、编写自动分割Nginx日志脚本#!/bin/bashLOGS_PATH=/usr/local/nginx/logsYESTERDAY=$(date -d "yesterday" +%Y%m%d%H%M)mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.logmv ${LOGS_PATH}/error.log ${...
2018-10-17 19:22:16
213
原创 nginx 缓存和压缩
五、缓存expires命令:过期时间 六、压缩带宽资源很贵--- /html/js/css压缩,/images不压缩过程:nginx压缩 ----》网络传输 ---》chrome解压(压缩和解压消耗cpu)1、浏览器携带支持的解压方式2、浏览器与nginx的交互nginx配置...
2018-10-17 10:42:51
836
1
原创 nginx 跨域处理
问题由来:浏览器拒绝执行其它域名下的ajax运作如上图:chrome首次使用域名static.enjoy.com加载html页面------->然后在页面内由ajax方式向域名www.enjoy.com发起请求。此时问题出现:chrome拒绝执行ajax请求得到的返回值。 此问题常见解决方案:1、最常用的是,jsonp。此方案需要前后端共同协作来解决。...
2018-10-17 10:42:15
470
原创 nginx 防盗链
四、防盗链目的:1、让资源只能在我的页面内显示2、不能单独来取或者下载 流程:1、chrome以url1首次请求web服务器,得到html页面。2、chrome再次发起url2资源请求,携带referers = url1。(注意,是url1,不是本次的url2)3、nginx校验referers值,决定是否允许访问。 4、下面是nginx校验referers...
2018-10-17 10:41:30
633
原创 nginx 跨域
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style> body { width: 35em; margin: 0 auto; font-family: Tahoma,...
2018-10-16 18:26:06
244
原创 nginx location配置详细解释
语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 开头表示区分大小写的正则匹配 ~* 开头表示...
2018-10-16 18:23:33
379
原创 Nginx中if语句中的判断条件
一、if语句中的判断条件(nginx)1、正则表达式匹配:==:等值比较;~:与指定正则表达式模式匹配时返回“真”,判断匹配与否时区分字符大小写;~*:与指定正则表达式模式匹配时返回“真”,判断匹配与否时不区分字符大小写;!~:与指定正则表达式模式不匹配时返回“真”,判断匹配与否时区分字符大小写;!~*:与指定正则表达式模式不匹配时返回“真”,判断匹配与否时不区分字符大小写...
2018-10-16 11:46:56
41590
转载 最新版 nginx内置变量 大全
在配置基于nginx服务器的网站时,必然会用到 nginx内置变量 ,下面笔者将它整理成列表,把最新版本的变量列出来,以方便做配置时查询nginx内置变量内置变量存放在 ngx_http_core_module 模块中,变量的命名方式和apache 服务器变量是一致的。总而言之,这些变量代表着客户端请求头的内容,例如$http_user_agent, $http_cookie, 等等。...
2018-10-16 11:42:48
145
转载 Nginx URL重写(rewrite)配置及信息详解
Nginx URL重写(rewrite)配置及信息详解 URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则...
2018-10-15 11:07:47
244
转载 http状态码301和302详解及区别——辛酸的探索之路
一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了解后,算是有了一定的理解。这里记录下,希望能有新的认识。大家也共勉。 官方的比较简洁的说明: 301 redirect: 301 代表永久性转移(Permanently Moved) 302 redirect: 302 代表暂时性转移(Temporarily Moved )...
2018-10-15 11:05:45
397
转载 如何进入、退出docker的container
1 启动docker服务首先需要知道启动docker服务是:service docker start1或者:systemctl start docker12 关闭docker服务关闭docker服务是:service docker stop1或者:systemctl stop docker1Docker的镜像称为image,容器称为conta...
2018-09-17 20:45:27
174
原创 正向代理 和反向代理
代理,字面意义上来说,他就是相当于一个中间人这么个概念。带到项目中也一样,那么来这样一个比喻。用户(客户端) 代理(正,反) 提供者(服务端)。正向代理。把整个流程比如成去饭店吃饭,我们也就是用户(客户端)去饭店吃饭(发送一个请求),你知道你要吃的是鱼香肉丝(请求),可是你不能自己做,那么就需要让大厨(服务端)给你做 ,可是去了饭店,大厨是在后台的,你也不能直接去告诉大厨,因为你...
2018-09-15 21:46:25
132
转载 tomcat的开发模式和生产模式
tomcat这两种模式对大家的影响主要是在jsp的开发当中。大家都知道jsp需要先编译成servlet源文件并编译为字节码,即生成.class文件才可以执行,所以在jsp文件首次运行时先要进行编译导致运行较慢,之后的访问都会直接进入执行阶段。 在开发模式下容器会经常检查jsp文件的时间戳来决定是否进行编译,如果jsp文件的时间戳比对应的.class文件的时间戳晚就证明jsp又进行...
2018-09-02 23:39:36
165
转载 JVM 新生代老年代
1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出...
2018-09-01 17:19:12
127
原创 怎么查看jvm垃圾回收的算法看是那个
在控制台输入命令java -XX:+PrintCommandLineFlags -version显示结果 -XX:+UseParallelGC 新生代使用ParallerGC,老年代使用Serial Old 垃圾回收器列表并行:垃圾收集的多线程的同时进行。并发:垃圾收集的多线程和应用的多线程同时进行。垃圾回收器工作示意图Serial/Serial ...
2018-09-01 17:17:53
11842
2
转载 Tomcat 调优方案
Tomcat的默认配置,性能并不是最优的,我们可以通过优化tomcat以此来提高网站的并发能力。提高Tomcat的性能可以分为两个方向。服务器资源服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响,所以说服务器性能牛B,Tomcat也不会太差。当然提高服务器的硬件配置,是需要大量RMB的支持的。所以不到万不得已不会采用这种方式,一般公司会采取下面这种通过优化配置,来提升Tomc...
2018-08-28 11:31:16
131
转载 JAVA模板方法模式
板方法模式的结构 模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。 模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(primitive method);而将这些基本方法汇总起来的方法叫做模板方法(template meth...
2018-08-25 23:17:32
1889
转载 tomcat运行三种模式:http-bio|http-nio|http-apr介绍
Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一。不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式,那么这三种运行模式有什么区别呢,我们又如何修改Tomcat Connector的运行模式来提高Tomcat的运行性能呢?下面,我们先大致了解Tomcat Connector的三种运行模式。...
2018-08-25 22:47:17
1194
转载 对象的访问定位:句柄与直接指针
对象的访问定位:句柄与直接指针Java程序通过栈中的reference数据来操作堆上的具体对象,而对象的访问方式取决于虚拟机的实现。主流访问方式有句柄和直接指针两种句柄方式Java堆中将会划出一块内存来作为句柄池,reference对象存储的就是对象的句柄地址。句柄中包含了对象实例数据和类型数据的具体地址:直接指针方式reference对象直接存储对象地址:两者对比...
2018-08-12 22:46:27
586
mysql 慢查询
2018-10-21
mysql 索引与执行计划
2018-10-21
mysql数据库sql优化
2018-10-21
ibatis 单表查询 一对多查询
2013-05-02
Hadoop实战手册
2013-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅