- 博客(67)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 一.hadoop 使用Docker安装配置
一.安装hadoop (这里需要有一定的docker知识) 1.安装镜像 我们抛弃了传统的vm方式,使用docker来安装部署hadoop.首先要准备一个镜像,可以使用Dockerfile构建一个合适自己的镜像,或者可以在共有仓库中找一个具有hadoop环境的镜像来使用也可以。由于我是配置的阿里云的加速器,所以在阿里云的仓库中找了一个具有hadoop环境的...
2018-04-22 22:25:48 555
原创 java知识点总结
线程类: 1.start是在主线程执行,run是新开启一个线程执行 2. synchronized是对类的当前实例进行加锁,static synchronized是对类进行加锁. pulbic class Something(){ public synchronized void isSyncA(){} public synchr...
2018-04-16 10:22:55 145
原创 mysql 之 schema与数据类型优化
一.选择优化的数据类型 1.更小的通常更好:如果只要保存1~200,tinyint unsigned更好.因为占用更小的内存和磁盘空间. 2.简单就好: 简单数据类型需要更小的CPU时间周期.例如:整型比字符操作代价更低(字符集的问题).使用mysql自带类型取代字符串(date,datetime),使用整型存储IP. 3.尽量避免Null:单列索引无法储n...
2018-04-11 09:43:15 212
原创 数据库mvcc机制
转载:http://blog.csdn.net/whoamiyang/article/details/519018881. MVCC简介1.1 什么是MVCCMVCC是一种多版本并发控制机制。1.2 MVCC是为了解决什么问题?大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制.事实上,他们都和MVCC–多版本并发控制...
2018-03-05 23:21:55 294
原创 redis的持久化
redis持久化 一. RDB持久化 1.1 RDB持久化的一些特性 用save(阻塞)和bgsave(非阻塞,派生一个子进程来处理)可以生成RDB文件. 因为AOF文件的更新频率比RDB高,所以如果开启了AOF会优先使用AOF来还原数据库状态. 服务器在载入RDB文件期间会一直阻塞,直到完成. 1.2 自动保存...
2018-02-22 18:50:44 129
原创 redis对象类型
redis对象类型 redis并没有用我们先前提到的的主要数据结构:SDS,链表,字典,压缩列表,跳跃列表作为redis对象的直接实现.而是基于这些数据 结构创建一个对象系统. 这个系统包括了字符串对象,哈希对象,列表对象,集合对象和有序集合对象.每种对象都至少用到了一个我们前面介绍的数据结构.一.对象类型以及编码 redis使用对象表示...
2018-02-22 14:28:52 113
原创 mysql 分页语句优化
测试数据表结构 现在有两张表 customer,以及order_test, customerId的主键是order_test的外键 CREATE TABLE `customer` ( `customerId` int(11) NOT NULL AUTO_INCREMENT, `phone` varchar(11) NOT NULL COMMENT '...
2018-01-30 11:25:17 148
原创 mysql explain 各个字段的含义
1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:primary:一个需要union操作或者含有子查询的s...
2018-01-30 11:16:27 670
原创 mysql常用引擎的基本特性
mysql常用的三种引擎 (1) MyISAM存储引擎 不支持事务、也不支持外键,支持全文索引优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表支持3种不同的存储格式,分别是:静态表;动态表;压缩表 静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的...
2018-01-25 16:48:47 197
原创 MySQL索引背后的数据结构及算法原理
索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大...
2018-01-25 16:15:30 101
原创 红黑树 与 B+树区别和应用场景
红黑树红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:1. 节点是红色或黑色2. 根节点是黑色。3 每个叶节点(NIL节点,空节点)是黑色的。4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)5. 从任一节点到其每个叶子的所有路径都...
2018-01-25 14:51:02 3891
原创 Zookeeper介绍
Zookeeper介绍 Zookeeper特性 zookeeper是一个开源的分布式协调服务.设计的目标是将那些复杂容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集. 一致性 从同一个客户端发起的事务请求,最终在zookeeper会按顺序执行. 原子性 所有事务请求的处理结果在所有节点上都是一致...
2018-01-24 11:07:31 107
原创 使用Zookeeper
一.部署与运行 1.系统环境 zk支持绝大多少操作系统.不过需要注意的是,FreeBsd系统的JVM对JAVA的NIO支持的不是很好,不建议在该系统上部署生产环境. 2.java环境 建议使用jdk1.6或者以上的版本. 3.集群或者单机 3.1集群模式需要至少三...
2018-01-23 15:00:15 210
原创 shell 截取变量
假设有变量 var=http://www.aaa.com/123.htm.1. # 号截取,删除左边字符,保留右边字符。1echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm...
2018-01-18 14:30:22 791
原创 vi常用命令
空格键 向右移动一格x 删除后面的字符 X 删除前一个字符 删除3个字符就是3x dd:删除一行 D 删除到行尾 caw:改写单词 c 相当于 d 变为编辑模式J:删除换行符,使下一行并上来。 nJ:连接后面的n行u:撤销上一次操作 U:撤销当前行的所有修改ctrl+r:对撤消的撤消i 在光标前插入I 在行首插入 a 在光标后插入A...
2018-01-18 14:22:14 103
原创 第八章 Class装载系统
Class装载系统一.class文件的装载过程 class文件通常以文件的形式存在,只有被虚拟机装载的class类型才能在程序中使用.系统装载CLass类型可以分为加载,连接和初始化. 1.1类装载的条件 Class只有在必须要使用的时候才会被加载,一个类或者接口在初次使用前必须要初始化. 被动使用不会引起类的初始化. 下面的例子,只会初始化Par...
2018-01-17 16:05:32 161
原创 第七章 java堆
java堆一.内存溢出的原因 1.堆溢出 当堆中强引用对象占用了大部分空间,导致内存无法回收,对象大小之和大于-Xmx就会导致堆溢出. 2.直接内存溢出 下面的代码申请直接内存,导致直接内存溢出 . 当JAVA进程的所有内存之和(堆空间,栈空间,直接内存,以及虚拟机自身所用的内存)大于-Xmx *2的时候,就会出...
2018-01-16 14:53:41 111
原创 第四篇 垃圾回收器以及内存分配
垃圾回收器以及内存分配 一.垃圾回收器 1.串行回收器 它分为新生代串行回收器和老年代串行回收器 1.1新生代串行回收器 它有两个特点:单线程,独占式。在实时性要求高的系统,这个是不可接收的. 新生代串行处理器默认使...
2018-01-16 10:54:44 130
原创 第三篇 JVM垃圾回收算法以及引用类型
JVM垃圾回收算法以及引用类型 一.垃圾回收算法 垃圾回收是java体系最重要的组成部分之一.垃圾回收顾名思义就是把不用的对象给丢弃,释放内存空间. 接下来来看看java垃圾回收机制的理论基础:引用技术法,标记压缩法,标记清楚法,复制算法和分代分区. 1.引用技术法 引用计算法的实现很简单,对于一个对象a,只要有任何一个根对象引用它,那...
2018-01-15 16:54:11 142
原创 第二篇 jvm常用参数
不同的jvm参数可以在gc信息中显示出不同的内容,我们先来学习以下简单的gc信息. 开启-XX:+PrintGCDetails参数,运行java程序查看gc信息 [GC (System.gc()) [PSYoungGen: 523K->368K(4608K)] 523K->376K(15872K(可用堆大小)), 0.0014747 secs] [Times: ...
2018-01-15 16:10:52 106
原创 第一篇 初识Java虚拟机
一. Java虚拟机的基本结构以及各个部分的作用 每个区域各司其职1. 类加载系统负责从文件系统或者网络中加载class信息 2. 方法区存放加载的class信息3. java堆存放几乎所有的对象实例。所有线程共享.4. 直接内存可以用java nio库来分配,直...
2018-01-15 15:44:36 141
原创 centos7编译安装nginx升级https
安装依赖: [html] view plain copy yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 下载nginx:[html] view plain copy wget -c https://nginx...
2018-01-11 14:21:07 219
原创 netty之AttributeKey的应用
1)AttributeMap这是是绑定在Channel或者ChannelHandlerContext上的一个附件,相当于依附在这两个对象上的寄生虫一样,相当于附件一样,如图所示:这个图还算比较形象地描述了AttributeMap的作用,我们知道每一个ChannelHandlerContext都是ChannelHandler和ChannelPipeline之间连接的桥梁,每一个Ch...
2018-01-08 16:21:38 10876 1
原创 tcp握手
TCP/IP协议三次握手与四次握手流程解析 一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字...
2018-01-07 21:20:17 66
原创 redis 数据结构分析
REDIS底层数据结构 一.redis的字符串 redis底层使用SDS(simple dynamic string) 作为默认字符串表示.SDS还被用作缓冲区,AOF模块的缓冲区以及客户端状态中的输入缓冲区. 1.1 SDS的定义 struct sdshdr{ int len;//字符串长度 int free;//数组中未使用的长...
2017-03-21 17:11:50 122
原创 第十二章 ActiveMQ性能调优
第十二章 ActiveMQ性能调优章节导读 学习调优技术 如何优化生产者和消费者 一个优化的实例 ActiveMQ的性能高度依赖于许多不同的因素,包括代理网络的拓扑结构,传输连接器,网络的速度和服务质量,硬件,操作系统以及Java虚拟机. 但是不管在什么应用环境下,你都可以使用一些性能调优技术以改善ActiveM...
2017-02-16 16:17:12 978
原创 jenkins 部署svn 项目到远程linux服务器
一、安装Jenkins地址https://jenkins.io/index.html选择适合你的操作系统文件下载我这里选的是windows的msi包下载直接一键安装,默认目录是C:\Program Files (x86)\Jenkins\然后控制面板->管理工具->服务->jenkins->启动如果端口8080已经被占用了,那么需要修改端口,在目录...
2017-02-15 18:36:25 573
原创 unbuntu下apache+svn的配置
安装apache,在命令行终端中输入一下命令:$ sudo apt-get install apache2如果安装失败,执行以下命令之后再安转sudo apt-get upgrade,sudo apt-get update 修改Apache端口sudo vi /etc/apache2/ports.conf 将配置文件中的端口改成你想要的端口 然后...
2017-02-15 16:46:57 72
原创 第十一章 高级客户端选项
第十一章 高级客户端选项章节导读 如何使用专属消费者 消息组 了解对流对象以及二进制大对象的支持 失败重连 调度消息传递 11.1 专属消费者 当消息从代理中分发时,遵循着先进先出原则.但是如果在一个队列中有超过一个消费者,你就不能保证这个原则...
2017-02-08 16:05:03 146
原创 第十章 ActiveMq代理的属性在实际中的应用
第十章 ActiveMq代理的属性在实际中的应用章节导读 使用通配符和复合的目的地 利用advistory消息 理解虚拟的topic 以及追溯消费者 使用activeMq插件 apache camel的介绍 10.1 通配符和复合的destination 下面会介绍使用通...
2017-02-05 14:34:32 188
原创 第九章 ActiveMq的高级特性
第九章 ActiveMq的高级特性 章节导读 配置ActiveMQ的高可用 理解网络代理(networks of brokers) 通过配置扩展ActiveMq 9.1 配置ActiveMq高可用 当应用被部署到生产环境中时,你需要考虑到容灾问题(网络,硬...
2017-02-03 11:25:25 231
原创 第八章 - ActiveMQ 和java应用的结合
ActiveMQ 和java应用的结合 章节导读 在java应用中嵌入ActiveMQ ActiveMq结合Spring 用Spring编写JMS客户端 1.1 将Active...
2017-01-20 18:00:02 130
原创 第十三章 RememberMe
Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:1、首先在登录页面选中RememberMe然后登录成功;如果是浏览器登录,一般会把RememberMe的Cookie写到客户端并保存下来;2、关闭浏览器再重新打开;会发现浏览器还是记住你的;3、访问一般的网页服务器端...
2017-01-13 16:53:45 382
原创 第十二章 与spring集成
Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成。 在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml。spring-beans.xml配置文件提供了基础组件如DataSource、DA...
2017-01-12 17:32:54 81
原创 第十一章 缓存机制
Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现。对于Cache的一些概念可以参考我的《Spring Cache抽象详解》:http://jinnianshilongnian.iteye.com/blog/2001040。 Shiro提供的Cache接口: Java代码 ...
2017-01-12 17:09:57 82
原创 第十章 shiro的会话管理
转帖地址:http://jinnianshilongnian.iteye.com/blog/2021439 Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web的透明支持、SSO单点登录的支持等特性。即直接使用...
2017-01-11 18:36:32 183
原创 第九章 shiro的jsp标签
Shiro提供了JSTL标签用于在JSP/GSP页面进行权限控制,如根据登录用户显示相应的页面按钮。 导入标签库Java代码 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 标签库定义在shiro-web.jar包下的META-INF/shiro.tld...
2017-01-11 15:26:45 72
原创 第八章 shiro拦截器
转帖地址:http://jinnianshilongnian.iteye.com/blog/2021439 8.1 拦截器介绍Shiro使用了与Servlet一样的Filter接口进行扩展;所以如果对Filter不熟悉可以参考《Servlet3.1规范》http://www.iteye.com/blogs/subjects/Servlet-3-1了解Filter的工作原理。首先下图...
2017-01-11 15:20:26 87
原创 第七章 与web集成
转帖:http://jinnianshilongnian.iteye.com/blog/2021439 Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,其是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是...
2017-01-10 18:31:13 70
原创 第六章 Realm及相关对象
转帖:http://jinnianshilongnian.iteye.com/blog/2021439 6.1 Realm【2.5 Realm】及【3.5 Authorizer】部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现。 1、定义实体及关系即用户-角色之间是多对多关系,角色-权限之间是多对多关系;且用户和权限之间通...
2017-01-09 18:22:48 76
关于内网和外网之间的大文件传输解决方案
2016-08-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人