- 博客(60)
- 资源 (6)
- 收藏
- 关注
原创 Java并发编程学习笔记 深入理解volatile关键字的作用
Java并发编程学习笔记 深入理解volatile关键字的作用引言:以前只是看过介绍volatile的文章,对其的理解也只是停留在理论的层面上,由于最近在项目当中用到了关于并发方面的技术,所以下定决心深入研究一下java并发方面的知识。网上关于volatile的文章非常多,但是并没有讲解非常详细的文章。(哪位要是有好的资料麻烦共享一份给我!)多数的都是一些理论讲解,没有实际的例子代码,就...
2019-08-13 21:29:51
182
转载 正则表达式的定义
前言:今天先分享正则表达式的基础元字符,后续会分享正则表达式的子表达式,回溯引用,前后查找,嵌入条件,,全部分享完成之后,会尝试着去分享一些例子与拆分介绍。如果文字描述有问题可以评论指出,如果概念很模糊,可以加我微信,我会尽量解答你的疑惑。一正则表达式的定义正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计...
2019-07-24 13:59:13
1547
转载 JVM监控命令详解
JVM监控命令基本就是jps、jstack、jmap、jhat、jstat几个命令的使用就可以了JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业...
2017-02-06 16:49:40
602
转载 顺序读写与随机读写测试
想要了解更多,加QQ群721323781 机械硬盘性能测试1.1 顺序读取性能测试正在上传…取消图1.1 机械硬盘顺序读取测试以上为机械硬盘顺序读情况下的性能测试,测试显示平均读取速度能达到84.0MB/s。1.2 顺序写入性能测试正在上传…取消图1.2机械硬盘顺序写入测试以上为机械硬盘顺序写情况下的性能测试,测试显示平均写入速度能...
2017-02-06 16:46:58
11502
转载 Netty系列之Netty百万级推送服务设计要点
想要了解更多,加QQ群721323781. 背景1.1. 话题来源最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:Netty是否可以做推送服务器?如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端?
2017-01-23 18:35:12
581
转载 Lucene中TokenStream,Tokenizer,TokenFilter,TokenStreamComponents与Analyzer
想要了解更多,加QQ群72132378TokenStream extends AttributeSource implements Closeable:incrementToken,end,reset,closeTokenizer直接继承至TokenStream,其输入input是一个readerTokenFilter也直接继承TokenStream,但input是一个TokenS
2017-01-21 17:32:09
445
转载 Lucene的分析过程
想要了解更多,加QQ群72132378回顾倒排索引的构建收集待建索引的原文档(Document)将原文档传给词条化工具(Tokenizer)进行文本词条化将第二步得到的词条(Token)传给语言分析工具(Linguistic modules)进行语言学预处理,得到词项(Term)将得到的词项(Term)传给索引组件(Indexer),建立倒排索引注:
2017-01-21 17:28:07
479
转载 深入浅出Lucene Analyzer
想要了解更多,加QQ群72132378Analyzer,或者说文本分析的过程,实质上是将输入文本转化为文本特征向量的过程。这里所说的文本特征,可以是词或者是短语。它主要包括以下四个步骤: 分词,将文本解析为单词或短语归一化,将文本转化为小写停用词处理,去除一些常用的、无意义的词提取词干,解决单复数、时态语态等问题Lucene Analyzer包含两个核心组件,T
2017-01-21 17:26:11
471
转载 mysql分表与分区表
想要了解更多,加QQ群72132378一,什么是mysql分表,分区什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果
2017-01-12 10:50:32
204
转载 《Spring技术内幕》学习笔记——Spring具体事务处理器的实现
想要了解更多,加QQ群721323781.spring的事务处理中,通用的事务处理流程框架是由抽象事务管理器AbstractPlatformTransactionManager来提供的,而具体的底层事务处理实现,由PlatformTransactionManager的具体实现类来实现,如 DataSourceTransactionManager 、JtaTransactionManager
2017-01-12 10:49:00
354
转载 jvm 生成 javacore 和 heapdump 文件
想要了解更多,加QQ群72132378一、标准的SUN/Oracle JVM当内存溢出时生成heapdump文件配置如下-Xloggc:${目录}/temp_gc.log (GC日志文件)-XX:+HeapDumpOnOutOfMemoryError (内存溢出时生成heapdump文件)-XX:HeapDumpPath=${
2017-01-03 13:10:36
802
转载 linux下生成core dump文件方法及设置
想要了解更多,加QQ群72132378core dump的概念:A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (cras
2017-01-03 13:09:44
550
转载 分析内存泄露的一般步骤
想要了解更多,加QQ群72132378 如果发现Java应用程序占用的内存出现了泄露的迹象,那么我们一般采用下面的步骤分析把Java应用程序使用的heap dump下来使用Java heap分析工具,找出内存占用超出预期(一般是因为数量太多)的嫌疑对象必要时,需要分析嫌疑对象和其他对象的引用关系。查看程序的源代码,找出嫌疑对象数量过多的原因。dump heap
2017-01-03 13:08:02
3558
转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
想要了解更多,加QQ群72132378摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:
2017-01-03 11:32:24
293
转载 从零开始配置Jenkins(三)——用户权限管理
想要了解更多,加QQ群72132378背景最近项目管理中需要对jenkins的权限进行区分和限定,就研究了一下下。顺道把用户和权限这块的内容分享给大家。用户要想创建用户,需要先设定允许用户注册。在系统设置,Configure Global Security下 设置完成后,进入“管理用户”,就可以创建用户了。 查
2016-12-27 08:40:58
566
转载 SVN分支/合并原理及最佳实践
想要了解更多,加QQ群72132378使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这
2016-12-15 08:14:53
253
原创 SVN中trunk,branches,tags用法详解
想要了解更多,加QQ群72132378Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目
2016-12-15 07:56:57
270
转载 高性能的关键:Spring MVC的异步模式
想要了解更多,加QQ群72132378什么是异步模式要知道什么是异步模式,就先要知道什么是同步模式,先看最典型的同步模式:浏览器发起请求,Web服务器开一个线程处理,处理完把处理结果返回浏览器。好像没什么好说的了,绝大多数Web服务器都如此般处理。现在想想如果处理的过程中需要调用后端的一个业务逻辑服务器,会是怎样呢?
2016-12-15 07:53:41
273
转载 海量Web日志分析 用Hadoop提取KPI统计指标
想要了解更多,加QQ群72132378前言Web日志包含着网站最重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值等。一般中型的网站(10W的PV以上),每天会产生1G以上Web日志文件。大型或超大型的网站,可能每小时就会产生10G的数据量。对于日志的这种规模的数据,用Hadoop进行日志分析,是最适合不过的了。目
2016-12-09 14:38:55
918
转载 看懂Hadoop集群原理与实现方式
想要了解更多,加QQ群72132378 这篇文章将会逐步介绍 Hadoop 集群的实现原理以及Hadoop集群的拓扑结构。并让大家通过拓扑图的形式直观的了解 Hadoop 集群是如何搭建、运行以及各个节点之间如何相互调用、每个节点是如何工作以及各个节点的作用是什么。明白这一点将会对学习 Hadoop 有很大的帮助。首先,我们开始了解 Hadoop 的基础知识,以及 Hadoop
2016-12-09 14:36:02
2046
转载 使用Dnsmasq搭建本地dns服务器上网
想要了解更多,加QQ群72132378导读搭建一个属于自己的本地DNS服务器很有必要,利用Dnsmasq来搭建一个属于自己的本地DNS服务器,享受更干净无污染、更智能快速和没有广告干扰的DNS解析服务。一、Dnsmasq安装安装并启动Dnsmasqyum install -y dnsmasqservice dnsma
2016-12-02 08:05:06
510
转载 Spring MVC4.1-Spring MVC的配置(含自定义HttpMessageConverter)
想要了解更多,加QQ群721323788.1 配置Spring MVC的配置是通过继承WebMvcConfigurerAdapter类并重载其方法实现的;前几个教程已做了得配置包括01点睛Spring MVC 4.1-搭建环境 配置viewResolver03点睛Spring MVC 4.1-REST 静态资源映射04点睛Spring MVC 4.1-拦截器 配
2016-12-02 08:02:49
2365
原创 spring mvc 事务不生效 不回滚
想要了解更多,加QQ群72132378基础真的太重要了,这个问题困扰了我大半天。开始的时候,不管我使用注解还是配置文件的形式,事务都不好使,也就是出异常了事务不回滚。因为首先怀疑的是我自己写的代码有问题,所以搜了好多资料,一一对比,没有发现任何问题,后来才发现,原来是spring扫描的先后顺序导致的问题。下面说说我的解决方式:首先配置扫描范围如下
2016-11-23 15:16:36
353
转载 Spring对注解(Annotation)处理源码分析2——解析和注入注解配置的资源
想要了解更多,加QQ群721323781.类内部的注解,如:@Autowire、@Value、@Required、@Resource以及EJB和WebSerivce相关的注解,是容器对Bean对象实例化和依赖注入时,通过容器中注册的Bean后置处理器处理这些注解的。2.spring中处理注解的Bean后置处理器:当使用Spring的注解功能时,在Spring配置文件中添
2016-11-21 11:16:51
760
转载 Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义
想要了解更多,加QQ群721323781.从Spring2.0以后的版本中,spring也引入了基于注解(Annotation)方式的配置,注解(Annotation)是JDK1.5中引入的一个新特性,用于简化Bean的配置,某些场合可以取代XML配置文件。开发人员对注解(Annotation)的态度也是萝卜青菜各有所爱,个人认为注解可以大大简化配置,提高开发速度,同时也不能完全取
2016-11-21 11:15:05
349
原创 基于Go实现的分布式MQ
想要了解更多,加QQ群72132378一、RPC与MQ之间对比我们通常接触到的RPC同步调用的种类非常多比如fb 的thrift/阿里的dobbo腾讯的taf、淘宝的hsf这类同步调用框架从图里面可以看到作为一个业务完成后端要发生非常多的RPC通信随着业务的复杂度提高,各服务间的依赖度也逐步加大,那么服务间的响应时间也就各有参差了
2016-11-12 18:58:49
965
原创 ZooKeeper典型应用场景一览
想要了解更多,加QQ群72132378数据发布与订阅(配置中心)发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。应用中用到的一些配置信息放到ZK上进行集中管理。这类场景通常是这样:
2016-11-12 18:57:30
179
转载 基于Tomcat7、Java、WebSocket的服务器推送聊天室
想要了解更多,加QQ群72132378前言 HTML5 WebSocket实现了服务器与浏览器的双向通讯,双向通讯使服务器消息推送开发更加简单,最常见的就是即时通讯和对信息实时性要求比较高的应用。以前的服务器消息推送大部分采用的都是“轮询”和“长连接”技术,这两中技术都会对服务器产生相当大的开销,而且实时性不是特别高。WebSocket技术对只
2016-11-12 18:55:51
215
原创 Redis 复制原理及分析
想要了解更多,加QQ群721323781.测试 见master-slave测试帖2 原理第一次、Slave向Master同步的实现是: Slave向Master发出同步请求(发送sync命令),Master先dum
2016-11-06 17:30:37
202
转载 redis 安装配置及持久化详解
想要了解更多,加QQ群72132378一、redis简介二、redis安装三、redis配置文件详解四、redis持久化详解1.redis 简介Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列
2016-11-02 11:37:28
850
原创 Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题
想要了解更多,加QQ群72132378Redis复制流程概述Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了 Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规划,原因可以参考我上一篇文章中提到的Redis磁盘IO问题。Redis复制流程在Slave和Mast
2016-11-02 11:36:37
346
转载 京东云实践:浅谈Redis主从复制
想要了解更多,加QQ群72132378Redis是一个开源的,遵守BSD许可协议的key/value缓存系统,并由其高效的响应速度以及丰富的数据结构而闻名。Redis在京东的使用也是非常普遍的,包括很多关键业务上的使用,由于Redis官方集群还未发布,在使用Redis的过程中需要面对Redis的单点问题,京东采用的是一种比较通用的解决方案即由主从备份再加相应的主从切换(在一些场景下可能进行
2016-11-01 20:13:16
180
转载 Redis运行流程源码解析
想要了解更多,加QQ群72132378概述Redis通过定义一个 struct redisServer 类型的全局变量server 来保存服务器的相关信息(比如:配置信息,统计信息,服务器状态等等)。启动时通过读取配置文件里边的信息对server进行初始化(如果没有指定配置文件,将使用默认值对sever进行初始化),初始化的内容有:起监听端口,绑定有新连接时的回调函数,绑定服务
2016-11-01 20:10:38
200
转载 基于redis分布式缓存实现
想要了解更多,加QQ群72132378 在网上找了些redis搭建集群的资料,分享给大家,可以仔细看看,了解redis主从复制的逻辑,以及如何构建redis集群。Redis复制流程概述Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生,那么首
2016-11-01 20:06:53
572
转载 Redis运行流程源码解析
想要了解更多,加QQ群72132378概述Redis通过定义一个 struct redisServer 类型的全局变量server 来保存服务器的相关信息(比如:配置信息,统计信息,服务器状态等等)。启动时通过读取配置文件里边的信息对server进行初始化(如果没有指定配置文件,将使用默认值对sever进行初始化),初始化的内容有:起监听端口,绑定有新连接时的回调函数,绑定服务
2016-10-31 20:24:08
237
原创 GDB详解
想要了解更多,加QQ群721323781 简介2 生成调试信息3 启动GDB 的方法4 程序运行上下文 4.1 程序运行参数 4.2 工作目录 4.3 程序的输入输出5 设置断点 5.1 简单断点 5.2 多文件设置断点 5.3 查询所有断点6 观察点
2016-10-31 18:29:45
691
原创 Linux GCC常用命令
想要了解更多,加QQ群721323781简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC
2016-10-31 18:27:24
201
转载 【Linux学习】epoll详解
想要了解更多,加QQ群72132378什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性
2016-10-31 18:01:41
207
转载 Linux IO多路复用之epoll网络编程(含源码)
想要了解更多,加QQ群72132378前言本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下:客户端从标准输入读入一行,发送到服务端服务端从网络读取一行,然后输出到客户端客户端收到服务端的响应,输出这一行到标准输出 服务端代码如下:
2016-10-31 17:48:53
173
转载 架构师需要了解的Paxos原理、历程及实战
想要了解更多,加QQ群72132378这里提一个名词:‘最大 Commit 原则’,它是 Paxos 协议的最重要隐含规则之一,一条超时未形成多数派应答的提案,我们即不能认为它已形成决议,也不能认为它未形成决议,跟‘薛定谔的猫’差不多,这条日志是‘又死又活’的,只有当你观察它(执行 Paxos 协议)的时候,你才能得到确定的结果。”数据库高可用性难题数据库的数据
2016-10-31 17:21:38
493
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人