黑猫小长的博客

记录自己java学习过程

高性能的那些事儿-缓存设计

高性能的那些事儿-缓存设计 概述 在设计与开发高性能的系统时,基本都离不开缓存的设计,无论是在cpu的L1,L2,L2缓存,数据库的sql语句执行缓存,系统应用的本地缓存,乃至于现在用的最多的memcache,redis集中式缓存等,缓存总是解决性能的一把利器,对于缓存,本文主要从六个方面总结...

2019-02-01 10:22:37

阅读数 36

评论数 0

高性能Reactor模式概述与实践

高性能的那些事儿-缓存设计 概述 在设计与开发高性能的系统时,基本都离不开缓存的设计,无论是在cpu的L1,L2,L2缓存,数据库的sql语句执行缓存,系统应用的本地缓存,乃至于现在用的最多的memcache,redis集中式缓存等,缓存总是解决性能的一把利器,对于缓存,本文主要从六个方面总结一下...

2019-01-30 10:25:13

阅读数 31

评论数 0

MQTT Broker选型

MQTT Broker选型 一、简述 MQTT协议是IBM开发的一个即时通讯协议,目前已经是物联网的一个重要组成部分,该协议支持所有平台,是一个主要作为物联网设备消息传输的通信协议。 目前很多公有云平台都已经对MQTT协议有了很好的支持,例如阿里的LMQ,腾讯的IoT-MQ等,这里主要讨论一...

2018-12-09 22:54:33

阅读数 601

评论数 0

MySQL Daemon failed to start

MySQL Daemon failed to start 在linux-centos6.5安装mysql时,最后启动的时候出现: MySQL Daemon failed to start 这个问题有点坑,stackoverflow 执行下面这个命令再启动就OK install -m ...

2018-12-07 16:26:56

阅读数 10

评论数 0

RocketMQ是如何实现事务消息的

RocketMQ是如何实现事务消息的 前言 在RocketMQ4.3.0版本后,开放了事务消息这一特性,对于分布式事务而言,最常说的还是二阶段提交协议,那么RocketMQ的事务消息又是怎么一回事呢,这里主要带着以下几个问题来探究一下RocketMQ的事务消息: 事务消息是如何实现的 ...

2018-11-06 17:15:04

阅读数 944

评论数 0

Redis使用实践

Redis使用实践场景一:数据缓存在使用Redis时,利用Redis作为系统的分布式缓存组件是非常多的,主要解决两个问题:数据量太大时,与关系型数据库的大量交互会产生一定的性能瓶颈问题。本地缓存可能导致数据不一致的问题。在之前使用Redis做数据缓存时,主要是两个应用方面:大量的查询数据,利用Re...

2018-06-12 14:25:59

阅读数 81

评论数 0

系统优化实践记录—JVM

系统优化实践记录—JVMjvm方面的优化往往是系统优化的最后一步,万不得已时才会基于JVM去优化系统,在对mqtt系统进行优化时,也是仅仅对jvm层面进行了少量的修改。下面总结记录一下一、设置合适的JVM大小设置合适的堆的大小:主要涉及三个参数:-Xms:设置JVM的初始化内存的大小,JVM启动时...

2018-05-23 01:45:47

阅读数 100

评论数 0

系统优化实践记录—多线程方面的处理

系统优化实践记录—多线程方面的处理因为mqtt也是一种适合于物联网的mq,简单来说是比较轻量级的mq,对于消息的tps等没有像传统mq那么高,但是要求的是多终端,其中也涉及了很多多线程地方的处理。这里总结和记录一下。一、netty的多线程处理与设置在netty中,有两个EventLoopGroup...

2018-05-23 01:45:21

阅读数 59

评论数 0

系统优化实践记录—日志

系统优化实践记录—日志在决定使用该开源项目后,首先熟悉了项目的架构,然后在阅读源码的过程中,发现日志打印十分不规范,同时对日志的使用也很差,于是,我利用jmeter和jvisualvm在windows机器上进行了简单的测试。发现写日志的时间占据了整个系统执行时间(CPU)时间的40%多,于是,首先...

2018-05-10 21:40:20

阅读数 171

评论数 0

系统优化实践记录

系统优化实践记录—引言从2017年11月初截至2018年5月,一直在从事一个mqtt消息中间件项目的开发,整个项目从最初的开发到如今稳定的运营也经历主要四个阶段,这里总结下在对系统进行优化时的一些处理。四个阶段主要有开源项目选型,最终综合选择了一款开源但是不成熟的mqtt代理作为开发的原型。存储实...

2018-05-10 20:28:37

阅读数 44

评论数 0

抽象类与接口的异同及实践

抽象类与接口的异同及实践一、相同点 都不能被实例化二、不同点抽象类可以定义具体的方法,(jdk8以后,接口也是可以定义具体的方法的,必须有default关键字)接口是implements,抽象类是extends设计理念不同,接口是“has-a”,抽象类是"is-a&qu...

2018-04-24 22:09:28

阅读数 85

评论数 0

java中==和equals和hashcode的区别

一、相同点都是用来进行值或对象的比较。二、不同点对于“==”而言,对于基本类型(char,byte,short,int,long,float,double,boolean),对比的是值,所以是相等的,对于引用对象,对比的是引用的对象的堆地址,例如:public class Main {   p...

2018-04-24 21:31:58

阅读数 24

评论数 0

事物—事物的传播性与Spring事物传播特性

事物的传播性我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置在Service层 那么当我们调用Service层的一个方法的时候它能够保证我们的...

2017-08-03 20:25:24

阅读数 338

评论数 0

事物—事物的隔离级别

四个隔离级别脏读,重复读,幻读的含义一个客户端session会对应产生一个数据库端的server process。同时产生一个事物来处理session的操作。当系统并发量十分大时,就可能会发生上面的读数据的错误。

2017-08-02 22:07:43

阅读数 139

评论数 0

事物—事物四大特性

事物(一)——事物四大特性原子性(Atomicity)原子性是事物最小的单元,是不可再分的,对一个数据库小的操作。这些必须同时完成,如果有一个失败了。则一切的操作都全部失败。比如A给B转账,A是一个操作,B也是一个操作。A转账失败,则B接帐也失败一致性(Consistency)指在数据库操作前后是...

2017-08-01 22:56:33

阅读数 438

评论数 0

linux安装pcre

1.获取pcre: 最新版本为8.40wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz2.解压:tar -zxvf pcre-8.40.tar.gz3.编译: 进入pcr...

2017-03-08 10:15:55

阅读数 7298

评论数 0

bootstrap-paginator分页插件运用-一个网上的资料里的

需要引入jquery,bootstrap.css和bootstrap-paginator.js文件 html: <div style="text-align: center;"> <ul id="pageHelper&quo...

2017-02-27 14:10:11

阅读数 238

评论数 0

springboot与mybatis整合dao层不能注入的问题

需要重写VFS,并将其在mybatis整合类中指定为VFS的实现类public class SpringBootVFS extends VFS { private final ResourcePatternResolver resourceResolver; public Spring...

2017-02-27 14:03:18

阅读数 4747

评论数 2

AES加密在linux上的问题

AES加密在Linux上加密和解密都必须加上 KeyGenerator kgen = KeyGenerator.getInstance("AES"); SecureRandom random = SecureRandom.getInstance("S...

2017-02-27 13:59:28

阅读数 408

评论数 0

java基础之操作符

java运算符

2016-12-22 23:15:11

阅读数 187

评论数 0

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