自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 缓存架构和Storm的关系

Storm简介有些热点数据相关的实施处理的方案,比如快速预热,热点数据的实时感知和快速降级,全部要用到Storm,因为我们要实时的计算出热点缓存数据,实时计算,高并发的情况。这时要做一些实时的计算,必须涉及到分布式,分布式的技术才能处理高并发和大量的请求。目前在实时计算领域,大数据的技术在做复杂的热数据的统计和分析,超大流量,高并发的,流式处理的分布式场景下,最成熟的就是StormStorm的特点...

2018-05-24 21:45:56 979

原创 线程总结

线程安全概念:1.1 当多线程访问某一个类后者方法时,都能表现出正确的行为,那么这个类就是线程安全的。synchronized:可以在任意对象或者方法上加锁,而加锁的这段代码称之为互斥区或者临界区。当多个线程访问run方法时,以排队的方式(按照cpu分配的先后顺序而定)进行处理,一个线程想要执行synchronized修饰的方法里的代码,首先是尝试获得锁,如果拿到锁,执行synchronized中...

2018-05-21 22:17:53 239

转载 Spring Cloud与Spring Boot版本匹配关系

Spring Cloud是什么?“Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems.” Spring Cloud为开发者提供了一套可以用来快速搭建分布式系统中常见模式的工具。提取主干即是Spring Cloud提供了一套工具。这...

2018-05-05 09:52:33 254

原创 详解关于springboot-actuator监控的401无权限访问

访问/beans 等敏感的信息时候报错?123Tue Mar 07 21:18:57 GMT+08:00 2017 There was an unexpected error (type=Unauthorized, status=401). Full authentication is required to access this resource.application.properties添...

2018-05-04 19:44:52 1840 1

转载 Mysql Error:1018:can't read dir of ‘./dbname’ errno:13

mysql问题: mysql> use dbname; Database changed mysql> show tables; ERROR 1018 (HY000): Can't read dir of './dbname/' (errno: 13) 原因: 这个库目录的属主不对,使用chown修改之,表信息都正常了。 此时可以#ls -l 或 #ll  查看该目录的详细信息,就可发...

2018-05-03 19:47:55 1041

原创 SpringBoot 编写自定义起步依赖和自定义错误页面

自定义boot-starter* 以httpclient为例  * 有三种方式都可以让HttpClientAutoConfiguration这个自动配置生效1 在pom.xml中添加httpclient依赖                <dependency> <groupId>org.apache.httpcomponents</groupId> &...

2018-04-28 10:40:18 453 2

转载 Redis安装报错error:jemalloc/jemalloc.h:No such file or directory解决方法

安装Redis下载Redis:wget https://github.com/antirez/redis/archive/3.2.0.tar.gz在安装Redis之前,需要安装Redis的依赖程序tcl,如果不安装tcl在Redis执行make test的时候就会报错的哦。1$ yum install -y tcl123456789$ tar xvf 3.2.0.tar.gz -C /usr/lo...

2018-04-22 20:02:09 1889

原创 Solr总结

数据库中的数据,经过分词器的加工,然后创建本地solr的索引库。客户端请求到达时,请求先进入分词器拆分,然后将拆分后的数据对照索引库查询,最后返回数据。安装:首先解压solr到/usr/local目录下,解压一个tomcat将solr-4.10.3/example/lib/ext/下的所有jar包,拷贝到tomcat下的lib包中将solr-4.10.3/example/webapps/solr....

2018-04-20 19:38:45 235

原创 Dubbo详解+SpringBoot配置Dubbo

SpringBoot配置Dubbo环境:spring-boot 2.0.1 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.REL...

2018-04-19 01:17:05 7055 1

转载 SQL优化详解

数据库的优化问题一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优 化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对...

2018-04-18 15:21:22 215

原创 Zookeeper系统详解

什么是Zookeeper?        zookeeper是一个高效的分布式系统协调服务。他暴露了一些公共服务,比如命名/配置管理/同步控制/群组服务等。我们可以使用ZK来实现比如打成共识/集群管理/leader选举的。        Zookeeper是一个高可用的分布式管理和协调框架,通过Paxos算法(实现主从选举的算法)以及基于ZAB协议(原子消息广播协议)的实现。该框架能够很好地保证分...

2018-04-14 07:31:54 382

原创 ZooKeeper+ActiveMQ集群搭建

1 简介:使用ZooKeeper实现的Master-Slave实现方式,是对ActiveMQ进行高可用的一种有效的解决方案,高可用的原理:使用ZooKeeper(集群)注册所有的ActiveMQ  Broker。只有其中的一个Broker可以对外提供服务(也就是master节点),其他的Broker处于待机状态,被视为Slave。如果Master因为故障而不能提供服务,则利用ZooKeeper内部...

2018-04-13 21:50:50 685

转载 MySQL慢查询日志总结

慢查询日志概念     MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议...

2018-04-11 17:26:32 190

转载 分布式环境下的数据一致性问题的讨论

        由于互联网目前越来越强调分布式架构,如果是交易类系统,面临的将会是分布式事务上的挑战。当然目前有很多开源的分布式事务产品,例如java JTA,但是这种解决方案的成本是非常高的,而且实现起来非常复杂,效率也比较低下。对于极端的情况:例如发布,故障的时候都是没有办法保证强一致性的。首先,在目前的互联网应用中,我们通过一个比较常见的例子,让大家更深入的了解一下分布式系统设计中关于数据一...

2018-04-11 12:21:28 250

转载 spring中的default-lazy-init参数和lazy-init

在spring的配置中的根节点上有个  default-lazy-init="true"配置: 1、spring的default-lazy-init参数 此参数表示延时加载,即在项目启动时不会实例化注解的bean,除非启动项目时需要用到,未实例化的注解对象在程序实际访问调用时才注入调用spring在启动的时候,default-lazy-init参数默认为false,会默认加载整个对象实例图,从初始...

2018-04-11 12:18:41 997

转载 XML之四种解析dom,sax,jdom,dom4j原理及性能比较

XML:四种解析器(dom,sax,jdom,dom4j)原理及性能比较  dom是解析xml的底层接口之一(另一种是sax).而jdom和dom4j则是基于底层api的更高级封装。dom是通用的,具有跨语言、跨平台性,而jdom和dom4j则是面向Java语言的。1.DOM  DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合...

2018-04-11 12:09:24 457

转载 Linux中如何让命令在后台运行

1.在下达的命令后面加上&,就可以使该命令在后台进行工作,这样做最大的好处就是不怕被ctrl+c这个中断指令所中断。 2. 那大家可能又要问了,在后台执行的程序怎么使它恢复到前台来运行呢?很简单,只用执行fg这个命令,就可以了。 3.可能有些同学又要问了,我现在已经在前台运行的命令,我能把它放到后台去运行么?当然可以了,只要执行ctrl+z就可以做到了。是不是很赞啊! 4.说到这里可能有些...

2018-04-11 12:00:29 7161 1

转载 Java中CAS详解

在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。volatile是不错的机制,但是volatile不能保证原子性。因...

2018-04-11 11:34:00 193

原创 阿里云服务器上Mysql5.7安装

运行环境:1  安装时遇到如下错误:warning: mysql-community-libs-5.7.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYerror: Failed dependencies:        mysql-community-common(x86-64) >= 5.7...

2018-04-10 17:04:27 1070 1

原创 Oracle开发总结

对于oracle来说是要有DML操作,就会记录在undo中,就会产生lockSQL基础非关联子查询:子查询中并没有上一级表字段的介入select * from emp where deptno = (select deptno from dept where loc = 'NEW YORK')关联子查询:子查询和上一级表字段进行关联查询select e.*,(select d.loc from d...

2018-04-08 20:46:20 2774

原创 Redis心得

redis三种集群模式:1.主从(相当于读写分离,主机存在单点故障的问题)2.哨兵(相当于在主从的基础上增加了一台哨兵服务器,当主节点宕机后,哨兵会从剩余从服务器中选出一台成为主节点,当原先的主节点恢复后,该主节点会成为从节点,但是无法做数据分片)3.集群(redis3.0版本以后出的,相当于多套主从形成集群,可以做数据分片,通过redis的hash槽,数据可移植,可以水平增减节点)redis与m...

2018-04-07 07:24:36 427

原创 JVM小记

java虚拟机概述和基本概念        大体上虚拟机可以分为系统虚拟机和程序虚拟机,Visual Box、VMware就属于系统虚拟机,它们完全是对物理虚拟机的仿真,提供了一个可以运行完整操作系统的软件平台。程序虚拟机典型代表就是java虚拟机,它专门为执行单个程序而设计,在java虚拟机中执行的指令我们都称为java字节码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都限制于虚拟机提...

2018-04-04 17:35:39 233

原创 Netty实践场景

数据通信如果需要考虑的是两台机器(甚至多台)怎么使用Netty进行通信。大体上分为三种:1 第一种:使用长连接通道不断开的形式进行通信。也就是服务端和客户端的通道一直处于开启状态。如果服务器性能足够好,并且我们的客户端数量也比较少的情况下,推荐这种方式。2 第二种:一次性批量提交数据,采用短连接方式。也就是我们会把数据保存在本地临时缓冲区或者临时表里,当达到临界值时一次性批量提交。又或者根据定时任...

2018-04-03 20:41:19 9816

原创 Tomcat热部署

Tomcat热部署可以使用maven实现tomcat热部署。Tomcat启动时 部署工程。Tomcat有个后台管理功能,可以实现工程热部署。配置方法:第一步:需要修改tomcat的conf/tomcat-users.xml配置文件。添加用户名、密码、权限。<role rolename="manager-gui" /><rolerolename="manager-script" /...

2018-04-01 20:10:48 200

原创 Netty解决TCP粘包,拆包

TCP粘包,拆包问题熟悉tcp编程的可能都知道,无论是服务器端还是客户端,当我们读取或者发送数据的时候,都需要考虑TCP粘包 / 拆包机制。        TCP是一个“流”协议,所谓流就是没有界限的遗传数据。大家可以想象,如果河里得水就好比数据,他们是连成一片的,没有分界线,TCP底层并不了解上层的业务数据的具体含义。他会根据TCP缓冲区的实际情况进行包的划分,也就是说在业务上,我们一个完整的包...

2018-03-31 16:56:48 220

原创 Netty发布

1 项目结构    2 引入插件,将依赖包打包在lib下,指定主函数入口3 配置引入的依赖包4 jar包生成位置    5 启动服务  输入命令:java -jar deploy-0.0.1-SNAPSHOT.jar 6 客户端收到服务端响应: 服务端收到客户端请求信息: ...

2018-03-31 15:33:29 405

原创 Netty实现通信步骤

Netty实现通信步骤:    1 创建两个NIO线程组,一个专门用于网络事件处理(接受客户端的连接),另一个进行网络通信读写        2 创建一个ServerBootStrap对象,配置Netty一系列参数,例如接受传入数据的缓存大小等等。        3 创建一个处理实际数据的类ChannelInitializer,进行初始化的准备工作,比如设置接受传出数据的字符集,格式以及实际处理数...

2018-03-31 15:22:17 1674

原创 线程锁

线程锁    在java多线程中,我可以使用synchronized关键字实现线程间的同步互斥工作。其实还有一个更优秀的机制去完成这个同步互斥工作,就是lock锁。lock锁主要分两种:重入锁和读写锁。它们具有比synchronized更优秀的功能,比如嗅探锁定,多路分支等功能。lock锁在jdk1.8之前性能要比synchronized好,但后来synchronized也做了优化,性能上现在并无...

2018-03-29 10:54:46 174

原创 concurrent.util包下的常用类

CyclicBarrier使用:    假设一个场景:每:线程代表一个运动员,当运动员都准备好后才一起出发,只要有一个人没有准备好就一起等待。    CyclicBarrier cb = new CyclicBarrier(3);    ExecutorService pool = Executors.newFixedThreadPool(3);    pool.submit(new Thread...

2018-03-27 11:42:24 370

原创 关于线程池Executor的一些记录

为了更好的控制多线程,JDK提供了一套线程框架Executor,帮助开发人员有效的进行线程控制。他们都在,java.util.concurrent包中,是JDK并发包的核心。其中有一个比较重要的类Executor:他扮演着线程工厂的角色,我们通过Executors可以创建具有特定功能的线程池。Executors创建线程池的方法:    newCachedThreadPool()方法:返回一个可根据...

2018-03-27 00:03:10 200

原创 MogileFS的Java客户端开发

通过Maven添加MogileFS的Java客户端驱动包 这里选用的是lastfm的moji,依赖包如下:    <dependency>         <groupId>fm.last</groupId>         <artifactId>moji</artifactId>         <version>1.4....

2018-03-24 19:42:44 1051

原创 MogileFS的基本概念和原理

MogileFS存储的基本概念存储节点 也就是mogstored节点,通常就是一台用来存储文件的服务器。 设备(device)             也就是用来存放文件的目录,一个存储节点可以有多个设备。     每个设备都要指定一个不重复的ID,需要在mogstored 的配置文件中的 docroot 配 置的目录下面创建相应的设备的目录,名为 $docroot/dev$id。     设备是...

2018-03-23 20:59:54 333

原创 MogileFS安装遇到的问题

安装MogileFS安装步骤如下 1:需要先安装MySql, 2:安装MySql的开发包devel,下载了MySQL-devel-5.5.25-1.rhel5.i386.rpm,安装: rpm -ivh MySQL-devel-5.5.25-1.rhel5.i386.rpm 3:安装MySql的share包,下载了MySQL-shared-5.6.19-1.rhel5.i386.rpm,安装: r...

2018-03-23 14:32:59 695

空空如也

空空如也

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

TA关注的人

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