- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 记录一次MessagePack使用不当导致的内存泄漏
最终定位到是MessagePack的一个方法创建大量动态类,大量的类信息存入Metaspace并且不回收导致的。内网测试环境项目碰到OOM java.lang.OutOfMemoryError: Metaspace。用arthas的dashboard观察metaspace内存变化。MessagePack改为全局属性,就不会频繁生成那么多动态类了。发现高频代用某个接口会导致metaspace快速上涨且不会回收。每次创建临时对象MessagePack导致动态类无法复用.
2025-03-20 18:31:43
168
原创 奇葩问题记录
问题背景:国内多个渠道正常跑的项目,2020.5.12在泰国上线。bi日志查询数据日期显示错误。bi项目不是我开发的,没人排查,让我来查。。。远程断点显示mybatis查询出来数据的时候就是错的。。。解决不了问题,难受,崩溃半天。。。第二天接着查,外网数据导到本机,启动项目,数据正常。。。怀疑是时区问题,java启动参数加上-Duser.timezone=GMT+8解决问题。开心呀!mybatis jdbc连接上固定是东8区,系统时区不固定,导
2022-05-13 12:02:55
123
原创 消息队列 RabbitMQ 与 Spring 整合使用
一、什么是 RabbitMQRabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。RabbitMQ 是由 Erlang 语言开发,安装 RabbitMQ 服务需要先安装 Erlang 语言包
2022-05-13 11:52:10
713
原创 NIO pipe管道
public static void main(String[] args) throws Exception { // 管道 Pipe pipe = Pipe.open(); Pipe.SinkChannel sinkChannel = pipe.sink(); // 缓冲区 ByteBuffer byteBuffer = ByteBuffer.allocate(1024); byteBuffer.put("hello pipe".getBytes());.
2021-10-25 16:25:43
112
原创 原生NIO cs demo
public static void startServer()throws Exception { // 1 获取服务端通道 ServerSocketChannel serverSocketChannel = ServerSocketChannel.open(); // 2 切换非阻塞模式 serverSocketChannel.configureBlocking(false); // 3 创建buffer ByteBuffer byteBuffer = .
2021-10-25 16:03:17
100
原创 原生JAVA-nio udp demo
package com.iphanta.service;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.nio.ByteBuffer;import java.nio.channels.DatagramChannel;import java.nio.charset.StandardCharsets;/** * upd 通道 * @Author: Jim * @Date: 2021/.
2021-10-15 18:56:35
438
原创 原生JAVA-nio ServerSocketChannelDemo
package com.iphanta.service;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.ServerSocketChannel;import java.nio.channels.SocketChannel;/** * @Author: Jim * @Date: 2021/10/15 17:36 */public class ServerSock.
2021-10-15 17:56:13
179
原创 原生JAVA-nio FileChannel Demo 改变子缓冲区内容
public class TestNio { public static void main(String[] args) throws IOException { writeFileChannel(); } //fileChannel读文件 public static void testFileChannel() throws IOException { // fileChannel RandomAccessFile a.
2021-10-15 16:57:22
164
转载 mysql explain执行计划详解
1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:primary:一个需要union操作或者含有子查询的select,位
2018-01-23 15:34:37
188
原创 jquery 自带表单验证 validate 自定义验证
jQuery.validator.addMethod("testCellPhone", function (value, element, param) { var mobile = /^1(3|4|5|7|8)\d{9}$/; return mobile.test(value);}, $.validator.format("请输入正确的手机号!"));//验证手机号 13/4/
2017-09-26 19:42:19
464
原创 bootstrap datetimepicker 日期插件超详细使用方法
本文实例为大家分享了bootstrap datetimepicker日期插件的简单使用,供大家参考,具体内容如下首先在文件头部引入必要的文件:link rel="stylesheet" href="Css/bootstrap-datetimepicker.min.css">script src="Js/bootstrap-datetimepicker.js">script>想
2017-08-01 15:44:44
659
原创 springboot与mybatis整合 实例详解(完美融合)
首先:创建一个名为springboot-mybatis的maven项目,记住:一定要maven哦,不懂maven的可以自己恶补一下maven知识,这里就不介绍maven了。 下面给出pom.xml的完整配置:"1.0"encoding="UTF-8"?>"http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://ww
2017-07-14 17:10:43
678
原创 rabbitMQ 生产者、消费者、交换机 整合spring监听 DEMO
导包 rabbitmq-client.jar//消费者public class Consumer { public static final String queue_name = "fang"; public static final boolean autoAck = false;//是否自动确认消息 public static final boolea
2017-07-07 18:20:17
1075
转载 消息队列 RabbitMQ 与 Spring 整合使用
一、什么是 RabbitMQRabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 RabbitMQ 是由 Erlang 语言开发,安装 RabbitMQ 服务需要先安装 Erlang 语言包
2017-07-07 15:59:52
352
转载 线程同步–生产者与消费者模式
线程同步–生产者与消费者模式 多线程GooglethreadJVMSecurity 生产者与消费者模式简单介绍:生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的
2017-07-06 11:38:59
341
原创 rabbitmq channel参数详解
1、Channel 1.1 channel.exchangeDeclare():type:有direct、fanout、topic三种durable:true、false true:服务器重启会保留下来Exchange。警告:仅设置此选项,不代表消息持久化。即不保证重启后消息还在。原文:true if we are declaring a durable exchange (the ex
2017-06-16 16:19:23
769
转载 char码值对应列表大全
Char("0") 为0的字符Char("1") Char("2") Char("3") Char("4") Char("5") Char("6") Char("7") 响铃Char("8") 回格Char("9") tab(水平制表符)Char("10") 换行Char("11") tab(垂直制表符)Char("12") 换页Char("13
2017-06-16 10:56:56
4243
转载 RabbitMQ 入门指南(Java)
RabbitMQ是一个受欢迎的消息代理,通常用于应用程序之间或者程序的不同组件之间通过消息来进行集成。本文简单介绍了如何使用 RabbitMQ,假定你已经配置好了rabbitmq服务器。RabbitMQ是用Erlang,对于主要的编程语言都有驱动或者客户端。我们这里要用的是Java,所以先要获得Java客户端。。下面是Java客户端的maven依赖的配置。dependency>
2017-06-09 12:04:09
236
转载 mysql 游标的使用
MySQL游标的使用 A simple cursor of mysql step1: 新建表tb_test; create table tb_test( id int ); insert into tb_test values ('1'); insert into tb_test values ('2'); insert into tb_test valu
2017-05-27 10:54:09
237
转载 mysql event使用详解
一、基本概念mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。二、适用范围对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。例如:使用eve
2017-05-26 20:43:22
277
转载 ehcahe记录
一、ehcahe的介绍EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开 源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。优
2017-05-18 10:55:36
854
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人