上一页 1 2 3 4 5 6 ··· 26 下一页
  2020年4月18日
摘要: 由于micropython网上资料挺少,整体用起来挺费力,而且很多软硬件厂商并不会把重心放到micropython上,所以决定使用arduino ide和C语言配合来进行,开始吧。 1. arduino环境配置 首先,需要下载arduino ide压缩包并进行安装,可以去arduino官网找到我们需 阅读全文
posted @ 2020-04-18 19:54 程序诗人 阅读(623) 评论(0) 推荐(0) 编辑
  2020年4月12日
摘要: 用esp8266做的物联网开发,涉及到固件烧写,固件擦除,代码编写等方面,做一一记录。 1. 固件烧写 首先,下载固件烧写工具:https://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.6.3.rar,具体 阅读全文
posted @ 2020-04-12 18:58 程序诗人 阅读(1688) 评论(3) 推荐(1) 编辑
  2019年12月4日
摘要: java.lang.AbstractMethodError, 是因为实现包没下在到本地,把本地的包删掉,然后重新import一下即可。 字节的 utf-8 序列的字节 3 无效 重新编译项目再运行即可 阅读全文
posted @ 2019-12-04 20:11 程序诗人 阅读(167) 评论(0) 推荐(0) 编辑
  2019年10月15日
摘要: 本文记录在jimdb压测过程中遇到的各种小坑,望能够抛砖引玉。 1.压测流量起来后,过了5分钟左右,发现ops突降,大概降了三分之一,然后稳定了下来 大概原因:此种情况,jimdb极有可能某个分片的连接数打满,从而导致分片的cpu达到100%。 调优方案:首先,默认分片连接数为1w,此时可以根据自己的需求,如果自己的docker数量很少,可以调整成2w,反之则3w。 ... 阅读全文
posted @ 2019-10-15 14:49 程序诗人 阅读(634) 评论(0) 推荐(0) 编辑
  2019年9月17日
摘要: 最近项目中的本地缓存,看是从Guava改成了Caffeine,据说是性能更好,既然性能更好的话,那么就用起来吧。不过在使用过程中,发现了单个load和批量loadall方面的一些小设置,记录一下。 一般说来,我们获取单条记录的时候,一般都是 cache.get(id),当数据过期,会从提前设定好的load方法中获取数据。 同样的,如果我们想批量获取记录的时候,一般都是用cache.getAll(i... 阅读全文
posted @ 2019-09-17 09:29 程序诗人 阅读(1166) 评论(0) 推荐(0) 编辑
  2019年8月21日
摘要: 说来赶巧,之前我有16个redis集群,然后我要将某个key根据路由规则存到16个集群中的某一个上面,正巧用到了这两种哈希算法,改造完毕上线后,整体带来的效果也十分理想。 说道ketamahash,它是一致性哈希算法,一般说来都是由若干固定的虚拟节点来计算出每个虚拟节点的slots,数据存储的时候,算出key的slot值,然后存入相邻最近的虚拟节点。而murmurhash则是散列算法,由于其计算产... 阅读全文
posted @ 2019-08-21 09:30 程序诗人 阅读(3524) 评论(0) 推荐(2) 编辑
  2019年8月20日
摘要: 处理json字段,可以用json_extract函数: select * from (select json_extract(ext_value,'$.high')+0 highx,batch_id from batch_ext_1 where ext_type=19 ) a where a.highx>15000000000 将json字段中的String值转为数字型,可以用+0操作,比如上面语... 阅读全文
posted @ 2019-08-20 14:40 程序诗人 阅读(5311) 评论(0) 推荐(0) 编辑
  2019年8月5日
摘要: 今天在进行序列号压测的时候,通过调用genSeqId方法来获取序列号,100并发,16台压测机器,发现无论怎么压测,调用量达到140w左右的时候,此方法的ops直接掉到了0,具体图示如下: 从上图可以明显看到,整个ops呈现断崖式下跌。 当时左思右想,不得其解,后来注释掉代码中的System.out.println后,然后再进行压测,发现恢复正常: 上图可以看到,压到了一亿的量后,由于没有... 阅读全文
posted @ 2019-08-05 17:58 程序诗人 阅读(515) 评论(0) 推荐(1) 编辑
  2019年7月26日
摘要: 书名:微言高并发架构 拟采用先总,然后细分,最后再以秒杀系统汇总的方式来进行。 先总,也就是先总的概述当前互联网架构的演进方式,从最简单的两层模式,逐渐过渡到三层模式,直到最后的分布式服务框架的加入,直至目前大行其道的微服务架构。 之后各章节,将此架构进行拆分,分为基础章节和提升章节 基础章节分为高性能列号生成器章节,分布式缓存章节(redis和本地缓存),分布式服务章节,微服务章节,分布式mq章... 阅读全文
posted @ 2019-07-26 19:50 程序诗人 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 在翻阅AQS(AbstractQueuedSynchronizer)类的过程中,发现其进行原子操作的时候采用的是CAS。涉及的代码如下: 1: private static final Unsafe unsafe = Unsafe.getUnsafe(); 2: private static final long stateOffset; 3: privat... 阅读全文
posted @ 2019-07-26 17:53 程序诗人 阅读(9299) 评论(0) 推荐(0) 编辑
  2019年7月17日
摘要: 今早收到一条短信,具体报警信息如下: 【UMP JVM监控内存报警】应用名:发券worker(jdos_couponwkr);KEY【coupon.send.worker.jvm】,主机名:【host-10-183-72-114】,实例【11909223645】的堆内存使用率连续3次超过设定阀值【90.0%】。报警级别:【Warning】,报警时间:【2019-07-17 07:36:12】。 说... 阅读全文
posted @ 2019-07-17 10:06 程序诗人 阅读(1585) 评论(0) 推荐(0) 编辑
  2019年6月28日
摘要: 本文译自Getting Started with Javassist,如果谬误之处,还请指出。 bytecode读写 ClassPool Class loader 自有和定制 Bytecode操控接口 Generics Varargs J2ME 装箱和拆箱 调试 1. bytecode读写 Java 阅读全文
posted @ 2019-06-28 09:35 程序诗人 阅读(3521) 评论(0) 推荐(2) 编辑
  2019年6月6日
摘要: 1. 前言 几年前,我就一直想着要设计一款自己的实时通讯框架,于是出来了TinySocket,她是基于微软的SocketAsyncEventArgs来实现的,由于此类提供的功能很简洁,所以当时自己实现了缓冲区处理,粘包拆包等,彼时的.net平台还没有一款成熟的即时通讯框架出来,所以当这款框架出来的时 阅读全文
posted @ 2019-06-06 11:07 程序诗人 阅读(5962) 评论(30) 推荐(26) 编辑
  2019年6月5日
摘要: 在最近设计服务治理模块中,涉及到如下的使用方式:abstract class mybase{ Map cache = Maps.newConcurrentMap(); abstract void add(); } class mya extends mybase{ public void add (){ ca... 阅读全文
posted @ 2019-06-05 21:05 程序诗人 阅读(152) 评论(0) 推荐(0) 编辑
  2019年4月17日
摘要: 客户端发送消息并同步获取结果,其实是违背Netty的设计原则的,但是有时候不得不这么做的话,那么建议进行如下的设计: 比如我们的具体用法如下: NettyRequest request = new NettyRequest(); request.setRequestId(UUID.randomUUID().toString()); ... 阅读全文
posted @ 2019-04-17 10:07 程序诗人 阅读(16207) 评论(1) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 26 下一页