- 博客(87)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注

原创 vue多层级无限递归组件深层次获取ref
问题我的页面结构是这样的。根据组件循环布局组件,布局组件循环自身,直到遇到渲染组件为止。我需要拿到最终所有的渲染组件的ref而触发其动作。但在实际过程中却遇到因为递归层次太深。拿不到所有的ref。而且因为布局组件比如标签页布局的特殊性只能拿到当前所在的标签页,而不能触发其他标签页的方法。我当时用的方式是这样// 地图渲染事件if (Array.isArray(this.$refs.nestedComponents)) { this.$refs.nestedComponents.forEach
2021-08-19 15:33:43
2466

原创 异步请求工具类支持CompletableFuture
AsyncHttpClient(AHC)库允许Java应用程序轻松执行HTTP请求并异步处理HTTP响应。 该库还支持WebSocket协议。它的请求处理机制基于netty。作者@TomGranot 基于AsyncHttpClient和CompletableFuture,我编写了一个工具类。AsyncHttpClient:异步执行请求CompletableFuture:异步处理结果,并可聚合多个请求结果完整代码已上传httpAsync引入<dependencyManagement>
2021-05-06 18:41:27
891
1

原创 HashMap原理深入分析
引言 哈希表是基于Map接口实现的实现类。 这个实现类提供所有可选的Map操作,并允许空值和空键。HashMap大致相当于Hashtable,区别之处在于它不是线程安全的,并且允许空值和空键。这个类不保证Map的顺序,特别是,随着时间的推移,Map的顺序也会改变。 ...
2019-10-16 16:32:33
285

原创 【译】SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
概述&amp;amp;amp;amp;nbsp;我们为高度并发的Internet服务提出了一种新设计,我们将其称为分阶段事件驱动架构(SEDA)。SEDA旨在支持大规模并发需求并简化良好服务的构建。在SEDA中,应用程序由通过显式队列连接的阶段事件驱动网络组成。这种架构使服务具有良好的负载,在需求超过服务容量时防止资源过度使用。尽管负载波动很大,但SEDA利用一组动态资源控制器将各阶段保持在其运行状态。我们描述了几种用于自动...
2018-08-12 09:22:08
2278

原创 ThreadLocal源码与设计思想深入分析
最近突然想到ThreadLocal虽然能够为每个线程提供一个变量的副本,实现线程之间变量操作的隔离性、互不影响。但是它却不能保证状态变量的线程安全性,也就是说如果ThreadLocal为每个线程保存的变量原本就是线程不安全的,那么在多线程环境下,对此变量的操作依然存在并发安全问题。并且ThreadLocal并不能实现父子线程之间变量的传递【它的子类InheritableThreadLocal能够实...
2018-07-28 14:53:13
355

原创 JAVA内部类详解
最近在看hystrix源码的时候,发现Netflix的牛人们,使用了大量的匿名内部类。于是又回头翻了翻《java编程思想》。书中所讲、与自己理解,记录于瓷片文章。内部类的定义:&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;将一个类的定义放在另一个类定义的内部,这就是内部类。为什么需要内部类&amp;amp;nbsp;&amp;a
2018-06-05 21:47:25
891
原创 Dell G16 7620克隆硬盘 扩容
Dell G16 7620 2023年买的,硬盘一共500G,而且只有一个硬盘槽位。前期一直外接的2T的移动硬盘,前两天移动硬盘摔了下,不读盘了。修复硬盘花了1千多。我就下定决心直接把硬盘换成2T的。电脑里的软件多,重装环境,繁琐又费时间。去dell售后,他们只给你安装系统,不负责数据转移。所以我就决定自己克隆硬盘,新硬盘已经使用一段时间了,没有异常。记录下更换过程。
2025-04-02 22:44:24
644
原创 docker不停机部署
最近做大疆项目时,后台更新部署时,机场和无人机就会掉线。设备自动重连注册时间比较长,应用长时间不可用。上面脚本配置中的类似${project.build.finalName}变量是需要maven在构建时替换的。resources进行替换,打包工具我用的maven-assembly-plugin,根据项目自行替换。我所有的脚本以及配置文件是放在src/assembly/docker下的。每次更新时需要修改项目的版本号${revision}下面的内容没有一行是多余的,修改时要慎重考虑。删除命令(仅限调试)
2025-03-10 23:16:02
328
原创 大疆无人机指令飞行JWT认证
无人机一键起飞后,进入指令飞行模式报错: Error:{errorCode=514304, errorMsg=DRC link is refused.};
2025-02-13 11:23:27
623
原创 DeepSeek本地部署
蛇年过年前,国产大模型 DeepSeek以更高的效率、更低的计算成本火爆国内外,成为现象级AI,但由于访问人数过多经常频繁出现反应迟缓甚至是宕机的情况。但万幸的是,DeepSeek 是一个开源模型,我们可以通过本地部署在自己的终端上随时使用,而且部署到本地后无需联网即可直接使用。
2025-02-06 23:26:24
1858
1
原创 openEuler 22.03 升级openssh9.5
原文链接:https://blog.youkuaiyun.com/rzhidong/article/details/134512216。校验配置文件,注释掉过期选项。如果升级成功,无需以下操作。编译最后无报错即编译成功。
2023-12-05 18:43:35
2147
1
原创 mysql优化总结
创建全文索引的字段必须是CHAR、VARCHAR或者TEXT类型,且表的存储引擎必须是InnoDB或者MyISAM。如果想对分区的表创建全文检索,可以将表进行copy。创建分区的存储过程如下(每次执行先校验当前分区是否存在,如果存在则不处理;Mysql不能自动创建分区,需要使用mysql event事件的方式自动创建分区。创建全文索引,必须用ngram分词器,不指定ngrm,分词效果很差。尽量使用联合索引,没有必要的索引不要创建,会影响联合索引命中。将表中的数据进行分区,以月份为分区单位。
2023-06-14 00:00:42
592
原创 Less变量动态修改
这里写自定义目录标题引入less文件动态改变less变量引入less文件需要将less.js和需要动态改变变量的的less文件复制到public目录下。在index.html文件中引入<link rel="stylesheet/less" href="<%= BASE_URL %>ant-form.less"><script src="<%= BASE_URL %>less.min.js"></script>需要注意的是styleshe
2021-11-29 14:08:55
11498
5
原创 Leaflet问题
地图二次加载残缺重新渲染地图this.map._onResize()marker添加文字标记 L.marker([32.28343201224245, 119.11634445190431]).bindTooltip(item.address, { permanent: true, direction: 'right' }).addTo(map);})
2021-11-17 21:09:46
1446
原创 centos7 mysql8安装 更改默认目录
解压安装cd /apps/toolstar xf mysql-8.0.19-linux-glibc2.12-x86_64.tarmv mysql-8.0.19-linux-glibc2.12-x86_64 /apps/mv /apps/mysql-8.0.19-linux-glibc2.12-x86_64/ /apps/mysql创建数据目录mkdir -p /apps/mysql/datamkdir -p /apps/mysql/logs设置用户groupadd mysqlu
2021-07-03 22:16:07
1469
2
原创 elemnt-ui动态生成多个表单数据绑定
因为左侧除了基本条件,其它三个card根据不同的表单会有不同的结果。右侧因此也会动态改变。解决数据绑定问题尝试了多次,最后发现却是因为一个细节问题,特此记录!原因就是因为动态绑定的对象要提前生成。因为我绑定的对象格式是这样batchQueryFormData: {‘batch_table’: {‘payNum’: ‘’,‘payMethod’: ‘’},‘payList_batch’: {},‘buyInfo_batch’: {}}切记内层的batch_table,payList_.
2021-06-29 12:16:44
739
原创 elment-ui table固定列el-popover出现多个
table固定列el-popover出现多个解决办法:ref="popover-${data.id}" 触发popover时设置document.getElementById(this.refs[key].refs[key].refs[key].refs.popper.id).style.display = ‘none’<el-popover v-model="data.popShow" v-permission="permission.del"
2021-06-27 18:06:57
3430
4
原创 雪花算法前台精度丢失解决方案
前言雪花算法生成的Long型ID,传到前台时末尾精度丢失。后台数据1402848130449276928传到前台变为1402848130449277000。为了兼容先前代码。方案为:后台类型保持不变。jackson序列化数据到前台时,将Long转为String。前台使用String类型ID,既不影响前后台数据交互,也不影响前台大部分代码,我的前台系统代码也只是修改了分页插件的Total变量,将其再次转为Number类型。后台序列化第一种方案:此种方案仅在系统中没有使用@EnableWebMvc注解时
2021-06-12 11:49:47
717
原创 jpa+AbstractRoutingDataSource+Transactional数据源切换失效
当一个请求内进行了多个dao层操作,且使用了Transactional事务,除了第一次会通过AbstractRoutingDataSource的getConnection方法切换数据源。后续CRUD操作,会包含在上一个事务中。不会进行数据源切换。通过跟踪事务拦截链为:类方法TransactionAspectSupportcreateTransactionIfNecessaryAbstractPlatformTransactionManagergetTransaction
2021-05-31 01:08:28
1665
原创 java8 Option操作归纳
判断map中元素不为空HashMap<String,Object> map = new HashMap<>();map.put("test",null);StringUtils.isNotEmpty(Optional.ofNullable(map.get("test")).orElse("").toString())
2021-05-28 18:04:05
427
原创 vue created和mounted的区别
created官方 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),property和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el property 目前尚不可用created阶段已完成了数据的初始化。比如对象的实例化,变量赋值和方法运算。此阶段DOM并未渲染,你无法获得任何DOM元素。当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的 propert
2021-05-28 14:16:20
3633
4
原创 maven问题归纳
maven编译时没有替换掉@占位符问题:org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next tokenfound character ‘@’ that cannot start any token. (Do not use @ for indentation)in ‘reader’, line 5, column 11:name: @artifactId@^解决:<build>
2021-05-26 18:17:34
254
原创 ant-design-vue 问题归纳
子组件不允许改变父组件的值,也不允许通知父组件更改报错vue.runtime.esm.js?2b0e:619 [Vue warn]: Avoid mutating a prop directlysince the value will be overwritten whenever the parent componentre-renders. Instead, use a data or computed property based on theprop’s value. Prop bein
2021-05-20 18:55:08
648
原创 java8 Stream 操作归纳
前言返回一个{Collector},它对类型为T的输入元素执行分组操作,然后将结果返回到{Map}中。public static <T, K> Collector<T, ?, Map<K, List<T>>> groupingBy(Function<? super T, ? extends K> classifier) { return groupingBy(classifier, toList()); }根
2021-05-17 19:54:14
800
原创 海康视频 iframe layui 弹窗 偏移
最近升级老系统的海康视频到v1.4,遇到layui的弹窗弹出的iframe视频框,不能随拖拽而变换位置。问题是因为海康视频插件不支持随屏幕变化而自适应。需要手动控制。文档中已明确指出。修改后的代码已上传github需要在插件初始化和拖拽时,设置偏移位置自适应。在弹窗的sucess、moveEnd(拖拽)方法中自动刷新偏移量。var offsetLeft=layero.find('iframe')["prevObject"][0].offsetLeftoffsetLeft为弹窗的最上层ifram
2021-05-11 11:00:11
1916
1
原创 layui tree取消父子联动
最近改动一个老系统,发现原始layui tree当点击子级时,父级也会选中。因业务需要,需要将父子联动取消掉。因老版本的源代码未找到。索性将layui最新版本的tree.js源代码才gitee上copy下来进行修改。tree.js变更点setCheckbox方法变更位置:getChecked方法变更位置:不加此处逻辑,当获取选中状态时,无法获取子级修改后的代码已上传到github使用前台:var tree = layui.tree;window.orgTreeList = function
2021-04-22 18:10:15
2018
1
原创 MySQL5.7安装server_audit审计
下载server_audit.so可以从MARIADB官网下载https://downloads.mariadb.org/mariadb/mariadb-10.5.9-linux-x86_64.tar.gz查看插件安装目录mysql -uroot -pmysql> show global variables like 'plugin_dir';+---------------+--------------------------+| Variable_name | Value
2021-04-12 15:11:26
2329
5
原创 mysql dump定时任务
检查是否安装了crontabrpm -qa|grep crontab如果没有安装,则执行yum -y install vixie-cron查看crond状态service crond status如果没有运行,则执行service crond start创建备份目录mkdir -p /data/rollbackmkdir -p /data/rollback/scriptschmod 600 /data/rollback/scripts备份脚本vim /data/rollb
2021-04-08 21:15:07
310
原创 mysql5.7.28 密码、登录失败策略插件安装
修改密码配置/etc/my.cnf文件skip-grant-tables重启服务service mysqld restartmysql -uroot -p直接回车use mysql;ALTER USER 'root'@'localhost' identified by 'yourpassword';查看用户是否有远程连接权限如果没有%则需要赋予远程连接权限GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourp
2021-04-07 16:36:30
984
原创 centos6.5 opessl openssl升级
centos6.5 opessl openssl升级安装 telnet 避免 ssh 无法登录允许 root 账号登陆设置开机启动重启xinetd服务添加防火墙端口升级openssl openssh前置安装openssl升级编译安装openssl编译安装openssh备份原sshd卸载openssh旧版本,拷贝新版本openssh相关程序与配置文件若出现输入了正确的root密码也连不上的情况查看版本安装 telnet 避免 ssh 无法登录yum install xinetd telnet telnet
2021-03-31 00:33:42
294
1
原创 webuploader上传、回显、预览、删除
因为webuploader不支持已上传文件回显,尤其是选择文件之后,旋转、删除功能,原有代码是隐藏的。修改这些功能花费了不少时间、特此记录下。以下只展示关键代码,完整代码在github上upload.jshtml部分<% String path = request.getContextPath(); String basePath = request.getScheme() + ":...
2019-10-15 13:55:29
2364
2
原创 初识netty
Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。 Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。 它极大地简化了TCP和UDP套接字服务器等网络编程。 “快速简便”并不意味着最终的应用程序会受到可维护性或性能问题的影响。Netty经过精心设计,具有丰富的协议,如FTP,SMTP,HTTP以及各种二进制和...
2018-08-18 22:04:21
359
原创 macbook maven编译版本与实际环境变量不符问题解决(mavenrc)
最近在编译netty源码的时候,因为源码要依赖jdk1.8以上,可是我本地有三个java版本。 所以我手动把.bash_profile里的JAVA_HOME路径设置成了jdk1.8.0_181的路径。 但是编译代码后,一直报错,显示maven编译所用jdk为1.7。可以想象当时的绝望心情,心中岂止十万个草泥马飞过。经过周六上午坚持不懈的笨方法,经过这篇文章的启发这里写链接内容,终于解决。我...
2018-08-04 12:21:03
1890
原创 java操作两个stack实现一个queue(并发下)
面试被问到了如何用两个stack实现一个queue,当时只是想到了一种情况,也只说了个大概思想,并没有阐述到其中的具体细节,可想而知,迎来的是面试官的叹息啊,语重声长的对我说:“考虑问题要全面嘛!”。其实这个问题实现很简单,主要是其中的具体细节难把握。情急之下、除聪慧之人,的确很难想完整。此篇文章只阐述两种思路。 具体思路这篇博客已经写的很详细了,此篇文章只是实现思想,并指明在并发下情况下,该注意
2017-07-26 00:29:35
2668
原创 java实现单链表反转
实现单链表反转应该有两种思路,第一种是从首节点开始反转,一直到尾节点结束,一种是从尾节点开始反转,一直到首节点结束。 一、由首节点开始 如上图所示,首先节点1与节点2发生发反转,也就是节点2的next指向节点1,节点1因为最终会变为尾节点,所以其next置换为null,此时节点3赋值于临时变量。然后节点2与存储了节点3的临时变量发生反转。然后节点3与储存了节点4的临时变量发生发转。实现代码如
2017-07-25 01:30:11
564
原创 基于Zookeeper的路由和负载均衡实现思想
一)服务注册中心思想 如上图所示,Zookeeper上的服务配置中心分成三层结构,最上面一层为根节点,用来聚集服务节点,通过他可以查询到所有的服务,而服务名称下挂载的是服务提供者的服务器地址。根节点和服务名称采用的是Zookeeper的持久节点(persistent),服务提供者的地址节点,采用的是非持久节点(ephemeral)。服务提供者在启动时,将其提供的服务名称、服务器地址,以节点(Z
2017-07-24 00:03:53
3291
1
java怎么实现浏览器自带下载工具下载文件
2015-01-22
如何用SQL格式化后再排序
2015-01-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人