自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (1)
  • 收藏
  • 关注

原创 java 产生红包多线程

import java.util.HashMap;import java.util.HashSet;import java.util.LinkedList;import java.util.List;import java.util.Map;import java.util.Optional;import java.util.Set;import java.util.concurr...

2018-09-06 16:20:56 308

原创 我的项目笔记

SELECT CODE,NAME,VALUE,description FROM collect_mgmt.mg_dictionary WHERE CODE!='SystemSwitch';SELECT resource_code,resource_name,TYPE,uri,parent_code,order_num FROM collect_auth.auth_resource;

2024-04-07 16:30:53 382

原创 mysql 命令导入数据

mysql 命令导入数据

2023-02-21 19:29:00 101

原创 java io

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-12-08 15:23:36 207

原创 spring MVC ajax 传递list 到后台

var data={}; for (var i = 0; i < 3; i++) { data['studentList[' + i +'].name']="A"+i; data['studentList[' + i +'].age']=i; } $.ajax({ url: "./save", cache: false, ...

2020-09-04 18:27:15 168

原创 单例的序列化与反射

这是一个简单的单例但是存在序列化和反射的问题 , 通过对其序列化或者反射会得到全新的对象。public class Single implements Serializable{ private static final SINGLE single = new Single(); private Single() { } priv...

2019-08-22 17:47:29 155

原创 rabbitMQ 惰性队列

Lazy Queue惰性队列会尽可能的将消息存入磁盘中,在消费者消费到相应的消息时才会被加载到内存中。优点它可以存储更多消息支持更长队列因为消息在硬盘中。 惰性队列可以避免消息堆积导致的内存崩溃。缺点需要i/o 增加磁盘i/o。Map<String, Object> args = new HashMap<String, Object>();a...

2019-07-24 20:02:17 330

原创 rabbitMQ Shovel与Federation

Shovel shovel 是rabbitMQ的一个插件可以把源节点消息发送到目标节点。优点松耦合:Shovel 可以在不同的Broker和集群上传递消息,源节点和目标节点可以使用不同的用户和vhosts,不同的RabbitMQ版本。 支持多个版本的AMQP协议 支持广域网可以容忍网络断断续续保证可靠性。原理使用首先开启插件rabbitmq-plu...

2019-07-18 11:13:16 724

原创 rabbitMQ集群

rabbitMQ有三种模式单机模式:单台模式。普通集群:普通集群模式只会在节点间同步元数据。rabbit元数据四种元数据:1)队列元数据:队列名称、属性、是否是持久化队列等。2)交换器元数据:交换器名称、属性、是否被持久化等。3)绑定元数据:队列与交换器的对应关系。4)vhost元数据:命名空间管理等。队列的完整信息(消息内容)只存在于一个节点中。如果某...

2019-07-16 16:25:04 108

原创 RabbitMQ 虚拟主机vhost 与权限用户

vhost 虚拟主机 是 rabbitMQ的虚拟机 相当于系统中的虚拟机RabbitMQ使用vhost隔离各个用户可以避免队列和交换器的命名冲突。RabbitMQ提供默认的虚拟主机“/”,如果不需要多个vhost可以直接使用这个默认的vhost。vhost之间是相互独立的(就像docker一样),这避免了各种命名的冲突。列举所有虚拟主机 rabbitmqctl list_vhos...

2019-07-14 17:28:14 1159

原创 rabbitMQ exchangeDeclare,queueDeclare,queueBind,exchangeBind

exchangeDeclare : 交换器的设置 /** * * @param exchange 交换器名称 * @param type 交换器类型:topic direct等 * @param durable 是否持久化交换器 * @param autoDelete 是否自动删除交交换器 当所有与此交换器绑...

2019-07-12 19:56:04 1579

原创 rabbitMQ 消费者ack机制与拉取模式

1:拉取模式 public static void main(String[] args) throws Exception { Connection connection = ConnectionUtil.getConnection(); Channel channel = connection.createChannel(); //...

2019-07-11 20:33:12 2625

原创 rabbitMQ 死信队列

死信队列用于存储过期的消息和消费失败的消息。当消费者从正常队列移除后进入到死信队列。1:消息变成死信 一 般是由于以下3种情况: 1 :消息被拒绝 (Basic.Reject/Basic .Nack),井且设置 requeue 参数为 false;// 创建队列消费者final Consumer consumer = new DefaultConsumer(...

2019-07-10 20:48:44 212

原创 rabbitMQ confirm模式

rabbitMQ confirm 模式比事务模式效率高且支持单次批量和异步三种方式。单次模式批 // 单次模式channel.confirmSelect();channel.basicPublish(EXCHANGE_NAME, "debug", MessageProperties.PERSISTENT_TEXT_PLAIN,message.getBytes());if (...

2019-07-07 14:38:57 535

原创 rabbitMQ防止消息丢失

1:消息持化化:防止消息丢失要首先要保证消息的持久化 。2:生产者开启事务或者confirm模式事务: try { channel.txSelect(); //开启事务 channel.basicPublish(EXCHANGE_NAME, DIRECT, MessageProperties.PERSISTENT_T...

2019-07-07 14:31:30 301

原创 rabbitMQ 消息持久化

Exchange 和 Message 和 Queue 都要持久化 以保证服务器重启消息不丢失。Exchange :生产者消费者 channel.exchangeDeclare(EXCHANGE_NAME, "direct",true); Message :MessageProperties.PERSISTENT_TEXT_PLAIN 生产者 channel.basi...

2019-07-07 14:21:01 141

原创 rabbitMQ 四种 Exchange 模式简单使用(direct fanout topic header 实例)

关键字 Exchange :交换机 routing key:路由键 四种Exchange 模式 direct :需要生产者和消费者绑定相同的Exchange和routing key。 fanout:广播模式需要生产者消费者绑定相同的Exchange。 topic:支持模糊匹配的广播模式以点分隔,*表示一个单词,#表示任意数量(零个或多个)单词。 ...

2019-07-07 13:43:16 792

原创 centos7 安装 rabbitMQ

1:配置java 环境(必须配置java 环境)2:安装erlangyum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-develmkdir -p /usr/local/erlangwget http://erlang.org/do...

2019-07-01 18:27:49 103

原创 redis 笔记

redis分布式锁命令:set lockKey true ex 5 nxlockKey 自定义的key名称true 自定义的key的valueex 5 表示过期时间为5秒nx 是setnx(set if not exists) 不存在就添加redis2.8之后set 指令的扩展参数,使得 setnx 和 expire 指令可以一起执行(原子性)....

2019-06-15 17:34:33 510

原创 VMware 中 centos7 配置静态IP

1.设置vmware为net模式记录下你的网关地址2.修改 vim /etc/sysconfig/network-scripts/ifcof-ens33TYPE=EthernetDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AU...

2019-06-01 13:17:00 100

原创 Mybatis mysql json 返回map类型乱码

Mybatis mysql json 返回map类型乱码代码如下: <select id="select" resultType="java.util.HashMap" > SELECT JSON_UNQUOTE( JSON_EXTRACT( t.ext, '$.name' ) ) AS NAME, JSON_UNQUOTE( JSON...

2019-05-30 16:13:15 1625 3

原创 java 设计模式

六大设计原则开闭原则: 对类的扩展开放,对类的修改关闭。里是替换原则:任何父类出现的地方子类可以替换。依赖倒转原则:要面向接口编程,不要面向具体。迪米特原则:要降低耦合一个类尽量少于其他类相互作用。接口隔离:设计接口要精简单一,降低耦合,接口只做分内的事。合成复用:尽量使用聚合能用聚合就不继承。创建型模式(5种):工厂方法模式。抽象工厂模式。单例模式。建造者模式。原型...

2019-05-30 12:09:47 134

原创 Netty(1) hello World

服务端import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption;import io.netty.channel.Channel...

2019-03-29 15:57:51 134

原创 MyBatis 源码 MapperProxy

MapperProxy 用于生成mapper接口的代理对象(使用的是jdk 代理)一般我们用jdk去代理一个类的时候会在invoke方法中调用 method.invoke(target, args) 但是MyBatis在MapperProxy中是没有调用的因为我们代理的是Mapper,Mapper是接口 接口中的方法都是抽象的所以这里不需要调用。package org.apache.ib...

2019-02-20 20:48:18 117

原创 MyBatis Interceptor

type可以是四中对象:Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)ParameterHandler (getParameterObject, setParameters)ResultSetHandler (handleResultSets, handl...

2019-02-18 20:14:44 344

原创 MyBatis 自定义类型转换器

// import org.apache.ibatis.type.BaseTypeHandler;import org.apache.ibatis.type.JdbcType;import org.apache.ibatis.type.MappedJdbcTypes;import java.sql.CallableStatement;import java.sql.PreparedSt...

2019-02-18 19:37:12 556

转载 java 琐 事

https://cloud.tencent.com/developer/article/1363428

2019-02-15 11:46:27 131 1

原创 jdk 性能监测工具,jvm性能监测工具。

jps:查看java进程。jstat :虚拟机运行时信息堆监控工具。jstack:线程堆栈监控工具。jinfo:虚拟机参数查看设置工具。jmap:导出堆文件工具。jhat:堆文件分析工具。jcmd:多功能命令工具推荐替代jmap。hprof:性能统计工具在vm中设置参数。jconsole:图形化监控工具。visual VM:图形化监控工具。jmc:图形化诊断工具。jsta...

2018-12-19 17:04:37 1114

原创 java常量池:字符串常量池,静态常量池,运行时常量池,

字符串常量池(String Poll)java6:存在于永久代中。字符串常量池保存的是字符串常量。java7:转移到了堆中。字符串常量池存的是字符串常量和堆内的字符串对象的引用。静态常量池(class文件常量池)用于存放编译器生成的各种字面量(Literal)和符号引用(Symbolic References)。字面量:文本字符串int long 等基本类型...

2018-12-18 10:50:00 1824 2

原创 java 内存机制 jvm

java 内存划分​​java 内存分为:pc寄存器:用于记录线程当前执行的内存地址 (java 是多线程的 当线程a 失去执行权后 再次获得执行权时 java 需要知道 a线程执行到了哪一步代码 也就是 内存地址)。本地方法栈:本地方法栈 又叫做 c栈 用于 跟踪native 方法(调用非java 方法)的执行状态和 pc寄存器类似。栈:线程独有,存储 对象的引用以及类中的局部变量...

2018-12-06 16:45:44 200

原创 mysql 查询优化 高性能mysql笔记

衡量查询性能的三个指标返回的行数。扫描的行数:查询所需要扫描的行数。响应的时间:服务时间(执行sql的时间)+排队时间(查询在等待i/o或者在等待锁)。优化慢查询采用索引覆盖以及延时索引。重构查询方式:复杂查询拆分为多个简单查询。切分查询:  删除一个表中的大量数据,sql 一次执行会锁住大量数据占用资源导致性能下降。可以切分为多次执行一次删除一万比较高效,也可以增加间隔时...

2018-11-30 16:26:23 164

原创 mysql优化服务器设置 高性能mysql笔记

&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;MySQL有大量可以修改的参数--但不应该随便去修改。通常只需要把基本的项配置正确(大部分情况下只需配置很少一部分参数),应该将更多的时间花在schema的优化、索引,以及查询设计上。在正确地配置了M

2018-11-29 19:33:25 255

原创 docker 的使用 docker常用命令

docker 镜像命令  列出本地主机上的镜像docker imagesREPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小docker 容器命令  1. 查看Docker版本$ docker version2. 从Docker文件构建Docker映像$ doc...

2018-11-29 18:26:31 276

原创 mysql 备份 高性能mysql笔记

注意:复制不等于备份 复制是备份的一个环节。为什么要要备份mysql用于数据容灾。防止误删数据。审计:数据快照,过去某个时间点的数据状态。用作线下测试。定义恢复需求&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;规划恢复策略时,有两个重要的需求可以帮助思考:恢复点目标(PRO)和恢复时间目标(RTO)。他们定义了可以容忍丢失多少数据,以及需要等待多久将数据...

2018-11-22 19:50:48 273

原创 mysql 高可用性 高性能mysql笔记

什么是高可用性高可用性是相对的没有100%的高可用只有尽可能接近100%。可用性每提高一点,所花费的成本都会远超之前,可用性的效果和开销的比例并不是线性的。宕(dang)机的原因运行环境问题,最普遍的是磁盘空间耗尽。性能问题,最普遍的是运行糟糕的SQL,或服务器BUG或错误的行为。表和索引设计有问题。复制问题通常由于主备数据不一致导致。数据丢失通常由于DRO...

2018-11-21 19:08:58 606

原创 可扩展的mysql 高性能mysql笔记

扩展性是什么可扩展性:增加同等设备获得同等能力。扩展 mysql向上扩展:也称为垂直扩展,通过提升硬件内存cpu固态等获得性能提升。优点:单台服务器比多台服务器更容易维护和开发,能显著节约开销。在单台服务器上恢复和备份应用同样很简单。缺点:后期成本昂贵,会遇到瓶颈。向外扩展复制:把主库数据复制到备库用作读。拆分:按功能查分不同数据放到不同节点。数据分片:把数据按用户...

2018-11-21 11:22:55 380

原创 idea 全局搜索快捷键

全局搜索快捷键:ctrl+shift+r 文件搜索快捷键:双击shift

2018-11-20 19:32:32 7094 2

原创 mysql操作系统和硬件优化 高性能mysql笔记

什么限制了mysql的性能内存,磁盘,cpu,网络等都有可能,最常见的两个是:cpu:当有大量数据可以足够快的读取时cpu可能会磁盘i/o:当数据比内存的时磁盘可能出现瓶颈。选择合适cpu高吞吐:多核cpu低延时:高速cpu平衡内存和io资源数据集: 单位时间内所需数据和总数据占比;配置大内存: 配置大量内存使得数据集保存在内存中可以避免随机I/O;缓存读写:读:一旦缓...

2018-11-20 16:41:02 584

原创 idea自动生成get set 方法

在idea的plugins 中搜索 lombok 插件然后安装就可以了 。 lombok 插件可以生成get set toString 等方法只需要在类上添加data注解:@Datapublic class Student { private String name;} ...

2018-11-19 16:47:52 2222 1

原创 idea格式化代码快捷键

Ctrl+Alt+I

2018-11-19 16:39:07 215

springloaded-1.2.5.RELEASE.jar

springloaded-1.2.5.RELEASE.jar

2016-10-26

空空如也

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

TA关注的人

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