自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (3)
  • 收藏
  • 关注

原创 一个多线程并发执行且顺序进出的执行器设计

通过上图我们可以看到,其实这个执行器还是比较简单的,重点就是结果槽是顺序的,执行线程执行完将结果放到对应顺序的结果槽中,而取结果的线程按结果槽的顺序依次从结果槽中取数据,这样就保证了结果是顺序的。需要注意的是结果槽的数量和执行线程的数量是一致的或者大于执行线程数量的,取数据的过程是循环顺序从结果槽中取数据的。考虑这样一种场景,有一批数据需要处理,且每个数据是有顺序的,这时最简单的方式就是按顺序同步执行每个数据的处理。从图中可以看到该执行器分三个部分:数据输入器、并发执行器、结果输出器。

2023-07-14 00:45:03 195

原创 三门问题的思考

这个问题起源于很早的一档国外电视节目,这个节目大概是这样一个游戏:有三扇门,其中一扇门后面有一个大奖,参与者选中一扇门打开,如果后面有大奖,参与者就获得大奖,没有的话,参与者将什么也不获得。不得已,自己思考了一番,终于想通了其中的道理。为什么呢,我们换个思路来看这个问题,一扇门的中奖概率为1/3,两扇门的中奖概率是2/3,所以换门的行为相当于用一扇门换两扇门,自然换门的中奖概率是不换的两倍。从我们的直觉来看,现在剩下两扇门,选择哪扇门,中奖的概率都是50%,所以换不换结果都一样,这也是大多数人持有的观点。

2023-04-23 02:45:24 199

原创 java实现的列表组合算法

【代码】java实现的列表组合算法。

2023-04-22 20:54:04 425

原创 孤独的灵魂

一个人起床,吃饭,睡觉和自己聊,对爱情的渴望一个人打开,和你聊天的对话框输入一行字手指和发送键之间却隔着,永远也到不了的远方希望如同星星一样用微弱的光,照着孤独的灵魂在无梦的夜里游荡哦,忍着不给你发消息是生锈的刀,一点点刺入心脏...

2022-08-01 01:23:07 140

原创 教她写代码的那些日子 10 异常、常用类库和集合框架

人生不过是由一系列的生老病死组成,很不幸的是,我正在经历一场病的过程,我感冒了,虽不严重,但头脑昏沉,鼻涕眼泪齐流。她手里拿着一盒感冒药,递到我面前“赶快吃包感冒冲剂。”我有些错愕和受宠若惊,因为从小到大还是第一次有女生给我买药。我几乎感动得要哭,“对我这么好?”我不禁问到。她说:“当然啦,感冒好了,好教我写程序啊!”

2022-01-04 13:46:32 149

原创 go语言 为什么slice里面的内容变了啊

go语言中的slice底层封装了数组,提供了方便的列表操作方法,是在go里面很常用的结构,但是它也有坑,踩上了,会把你折腾得怀疑人生的。不幸的是,我就被它折腾了一天,过程很让人崩溃,故记录一下,给自己提个醒,也希望能对大家有所启发。废话不多说,还是先上代码吧。package mainimport ( "log" "sync" "sync/atomic")func main() { row:=make([]interface{},10)//用一个slice缓存数据 c:=make(cha

2021-06-02 21:46:46 149

原创 casbin访问控制库详解

casbin是一个强大、高效的访问控制库。支持常用的多种访问控制模型,如ACL/RBAC/ABAC等。可以实现灵活的访问权限控制。同时,casbin支持多种编程语言,Go/Java/Node/PHP/Python/.NET/Rust。本文以Go作为示例进行描述。一、例子1先来看第一个例子,在这个例子中,我们控制用户名为“admin”的用户对web路径“/user/*”,有“get”的访问权限,用户“user”对web路径“/goods/list”有“post”访问权限,用户“root”对一切都有访问权限

2021-05-30 21:39:39 1902

原创 modbus tcp 协议详解

modbus-tcp 协议详解

2021-01-24 02:53:42 38372 9

原创 支持多域名的多业务系统统一用户中心实现

当你的公司有很多业务线同时在运营,每条业务线有自己的域名和用户中心,这个时候就有一个显而易见的弊端出现了:一是数据大量冗余,本是同一个用户,却在多个产品系统中创建和存储,不利于统一管理;另一方面,用户也需要注册多个账号,不利于从一个产品引导到使用其他产品。基于以上问题,就需要一个统一管理的用户中心。本文竭力阐述一种web应用的支持多域名统一登陆的用户中心实现。...

2021-01-23 02:48:50 1964

原创 一个折扣券发放系统的设计思路

一个软件系统的开发绝对不是单纯的编码,甚至可以说编码是最不重要的环节(但它是必不可少的环节),就像在建房子的时候,码砖虽然必不可少,但绝对不是最重要的,这也是戏称程序员为码农的原因吧。那么什么是重要的呢,是开始编码前的设计,正所谓磨刀不误砍柴工,谋定而动就是这个道理。前期好的设计绝对是好处多多,经过精心设计的系统一定结构清晰、方便维护、易于扩展的,这在很大程度上也能在后期减少编码量和节约人工成本。那我们从零开始一个软件系统的开发时,要怎样去设计呢,概括起来,无外乎这几个步骤:找到主线并确定支线找出

2021-01-19 00:48:01 1611 4

原创 教她写代码的那些日子 9 接口和抽象类

当一个女生愿意和你分享隐藏在心底的一些事情的时候,是不是就意味着,你在她心里已经有了一席之地了呢?我隐隐有这样的感觉,但我不敢那样去想,因为我的自卑,这是我一切痛苦的根源,但它深入骨髓,即便是刮骨疗伤也治不好的。所以,一方面我觉得她对我是有喜欢的,但另一个声音又大喊着:“没可能!”。这很是折磨人,我开始失眠起来,心情总是一时兴奋不已,一时又失落不已。终于我决定不要再这样折磨自己,我想要一个确定的答案。“我送你一首诗吧。”我突然说。她有些奇怪地看了我一眼,然后说:“好啊。”于是我辗转反侧一个晚上的

2021-01-09 02:58:24 233

原创 CAP原则中究竟什么是P

CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)可用性(A):保证每个请求不管成功或者失败都有响应。分区容忍性(P):系统中任意信息的丢失或失败不会影响系统的继续运作。...

2020-12-28 19:00:40 1216

原创 Go语言的协程中,写死循环的注意点

先来看一段代码:type Test struct { Name string}func NewTest(n string) *Test { return &Test{ Name: n, }}func (t *Test) Start() { go func() { for { print(t.Name) time.Sleep(1*time.Second) } }()}func T1() { t1:=NewTest("t1 ") t1.Start

2020-12-18 22:36:56 1738 1

原创 grafana+TDengine实现物联网采集数据图表显示

先来两个官方文档:https://www.taosdata.com/cn/documentation/connections-with-other-tools/#Grafanahttps://grafana.com/docs/grafana/latest/grafana安装有很多种安装方式,这里采用比较省事的方式,要尝试其他方式请参考官网下载wget https://dl.grafana.com/oss/release/grafana-7.3.5.linux-amd64.tar.gz解

2020-12-14 14:12:16 3171 1

原创 mysql导入出现2006 - MySQL server has gone away 问题解决方法

执行如下sql:set global max_allowed_packet=1024*1024*160;

2020-12-14 01:07:50 177

原创 micronaut+consul构建微服务应用

Micronaut 是一个新一代基于 JVM 的全栈的微服务框架,用于构建模块化的、易于测试的微服务应用。本文通过简单的两个例子来简单介绍一下用micronaut构建微服务应用。一、跑一个consul注册中心下载consul由于官网下载太慢了,所以可以找找其他资源,比如这个:https://download.csdn.net/download/m0_46455711/13184176启动解压下载文件,里面只有一个consul.exe文件,直接命令行运行就好了:.\consul.exe agent

2020-11-25 16:19:27 691

原创 分享一个java微服务文档生成工具

代码仓库地址:https://gitee.com/luoye_lj/restful-doc工具整体分3个部分,分别是包扫描建立数据结构、文档模板以及根据文档模板和数据结构生成文档 。数据结构按restful结构分为:接口组、接口、请求数据、响应数据。 接口组对应一个controller文件,接口对应controller里面的方法使用方式从仓库中拉取代码执行maven的install命令进行安装在项目中添加依赖<dependency> <groupId&g

2020-09-02 19:56:07 324

原创 sudo: java: command not found引发的关于sudo命令执行权限的一点记录

新装的Ubuntu,安装了jdk,在/etc/profile文件中也配置了环境变量,但是奇怪的事情发生了,当执行:java -version时,没有任何问题,但执行:sudo java -version时,却报错:sudo: java: command not found在网上搜索到解决方案:1、执行命令: sudo visudo 打开/etc/sudoers文件:## This file MUST be edited with the 'visudo' command as r

2020-07-06 12:05:30 1207 4

原创 hadoop hdfs记录踩到的坑

研究了几天终于将hdfs的java api调用搞通了,其中的艰辛一度让我想要放弃,但最终让我坚持了下来。这几天的经验,不能不说是宝贵的,故记录下来,以防以后遗忘。我用的是版本2.10.0,你要问我为啥选择这个版本,我的回答是我也不知道,只知道官网上的下载列表第一个就是它。1、下载wget https://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz2、安装我是采用Linux系统来安装的(windo

2020-05-14 02:39:15 5319 1

原创 教她写代码的那些日子 8 类和对象

你是否也有那么一段往事,一直尘封在心底,偶尔会因为一首歌或者一句电影台词,让那封印有所松动,一些影像慢慢浮现在脑海。你或许会觉得遗憾,会懊恼,会责问自己为什么不坚定一点,为什么不勇敢一点。人生大抵如此,失去了才明白,拥有的才是最珍贵的,故而才常听一句话:活在当下,珍惜眼前。当赵雷的那首《成都》响起的时候,她脸上的笑容突然变得有些僵硬,我想这就是那首揭开她心底封印的歌吧。”有些事过去了,就让它随风而去吧。“我不知道该如何安慰,这是我此刻唯一能想到的一句安慰人的话,所以我痛恨着我的直男癌。“你知道我

2020-05-13 13:50:14 299

原创 教她写代码的那些日子 7 方法

这个世界技术的进步都是懒人推动的,我一直这样认为,故而我时常偷懒,却也心安理得。当我把这个观点说给她听的时候,她强烈地表达了不同的观点。“怎么可能?”她大声说道,“美好的世界是靠人们勤劳的双手创造的。”“我不否认勤劳的力量,但也不能忽略懒惰的力量。”我争辩到。“没想到你是这样的戴老师,说起瞎话来,脸都不红一下的。”“我没有瞎说啊,举个例子吧,洗衣机的发明不就是因为懒惰吗?”...

2020-04-30 00:05:06 414 1

原创 Android通过jni读写串口

Android读写串口的时候需要jni调用c代码来实现,在开始之前需要下载ndk并配置好环境变量,也就是path里面加上ndk的bin路径。下面是具体的步骤1、建一个包含jni方法的串口操作类:package com.luoye.frigo.device;public class SerialPortReaderWriter { protected native int open...

2020-04-28 17:19:10 1023

原创 交叉编译qt5

qt5.9.9源码下载地址:http://download.qt.io/archive/qt/5.9/5.9.9/single/qt-everywhere-opensource-src-5.9.9.tar.xzgcc编译器下载地址:http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/arm-linux-gnu...

2020-04-22 17:11:03 772

原创 教她写代码的那些日子 6 数组

学习写程序其实是一个不断练习,最终熟能生巧的过程,她显然是在我的多次唠叨后明白这一点了的。于是,她的热情便幻化成勤奋,回到家往往会做很多练习,当然练习多,出现的问题也多。那天我正躺床上悠闲地看着电视剧呢,突然手机屏幕上弹出一个微信消息:“快帮我看看,怎么出错了。”,紧接着是她发来的代码截图:转存失败重新上传取消以及运行时报的错:转存失败重新上传取消看了她的这个代码我不觉莞尔,新手就...

2020-04-22 10:55:20 202

原创 MQTT三种等级的服务质量实现

MQTT提供三种等级的服务质量,它们分别是:1、最多一次,尽操作环境所能提供的最大努力分发消息。消息可能会丢失。2、至少一次,保证消息可以到达,但是可能会重复。3、仅一次,保证消息只到达一次。一、最多一次:如上图所示,这个等级,只需要而且是只能将消息发布一次。因为这个等级是允许消息丢失,但不允许消息重复的。二、至少一次如上图所示,为了确保消息至少送达一次,我们需要将消息暂存起来,...

2020-04-14 00:02:54 4997 4

原创 教她写代码的那些日子 5 字符串

一个人下定决心去做一件事的话,一定会表现出极大的热情来。她的确是下定决心要学好写程序了,这从她表现出来的超高热情就能看出来。热情的表现之一就是下班后不急着回家了,而是拿着她的笔记本电脑到我的工位让我给她讲解写程序;热情的表现之二就是有时大半夜的会给我发微信,问我书上的某些练习题该怎么做。而我也很乐意在下班后和她呆在一起,因为我回家也是一个人待着,相较之下,和她一起待在办公室,对我来说真的是莫大的幸...

2020-04-10 11:05:45 366 1

原创 教她写代码的那些日子 4 Java程序结构

或许是所学内容需要时间消化,也或许是忙着其他要忙的事情,总之她好几天都没找我给她讲写程序了,这倒是让我觉得有些失落。每次她来找我,我都以为是要请教我写程序的事,但每次都是工作的事情,最终我终于忍不住问:“你最近怎么都不问我写程序的事了?都能自学了吗?”“没有,这几天忙的昏头转向的,哪有时间学写程序啊。”她说着,转身走了,留下我独自承受着失落。之所以这样,是我觉得在给她讲写程序的时候,我才是自信...

2020-04-08 11:28:16 1114 2

原创 教她写代码的那些日子 3 java语言基础

她似乎是真的下定决心学习写程序了,自从买了书以后,几乎每天有空闲的时候,她都会捧着那本书看,虽然看书的同时,眉头是紧锁的。我对此很是理解,也许对于没有入门的人来说,写程序的教材真的就是天书一般,一如我刚接触时一样,整整用了一个学期的时间才明白了写程序是做什么。看她这样,我好像是开心的,因为这样她才需要我,因为这样我才有更多的理由和她待在一起。“戴老师!”在我去洗手间路过她的工位时,她叫住了我,...

2020-03-30 00:34:07 239

原创 教她写代码的那些日子 2 hello Java

回到家,我一直在想怎么开始第一课呢。得让她对编程真正产生兴趣才行,这样就能常常待在她身边了,我想着,辗转反侧难以入眠。但世界上的事,总是不会按照你所设想的那么去发展,总会有很多不如意。我准备了一晚上,以至于第二天,她见到我就问:“戴老师,你昨天晚上没睡觉吗?”“睡觉了啊?”我奇怪她怎么这么问。“但你看起来像没睡觉一样”,她说,“你看你的黑眼圈好重。”“是吗?”“是的,你已经成功变身为熊猫了...

2020-03-30 00:10:21 261

原创 教她写代码的那些日子 1 买书

”戴老师 我现在想程序,有没有什么入门级的书 或者 可以传授一下的”她突然给我发微信。”你想学写程序?”我很惊奇,回微信问她。她没有回我,但是我却给她说了一大堆:”先学基本语法”,”多练习”,”先看些讲基本语法的书”…说了这些,我又上网搜索了一些Java方面电子书发给她。然而她依然一字不回。她是说着玩的吧,我想。”你是认真的吗?”我问出了我自认为已有答案的问题。然而她的回答却是肯定的...

2020-03-29 23:43:51 215

micronaut_cloud_examples.zip

一个micronaut微服务架构的例子,用consul作为注册中心 一个micronaut微服务架构的例子,用consul作为注册中心

2020-11-25

micronaut-cli-2.1.3.zip

micronaut微服务框架构

2020-11-24

consul最新window版本

consul最新window版本 consul最新window版本1.8.5consul_1.8.5_windows_amd64.zip consul_1.8.5_windows_amd64.zip consul_1.8.5_windows_amd64.zip

2020-11-24

空空如也

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

TA关注的人

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