- 博客(14)
- 收藏
- 关注
原创 【多线程编程学习笔记10】使用条件变量实现线程同步(1)
假设一个进程中包含多个线程,这些线程共享变量 x,我们希望某个(或某些)线程等待 "x==10’ 条件成立后再执行后续的代码,该如何实现呢?当线程执行此函数时,会判断 x 的值是否等于 10,如果不等则间隔 5 秒后再重复判断,直到 x 的值等于 10 ,线程才能执行后续的代码。直观上看,while 循环确实能够阻塞线程,但这种方法存在严重的效率问题。当线程因条件不成立进入等待状态时,如果此时恰好有另一个线程将 x 的值改为 10,该线程必须等待 5 秒后才能继续执行。
2024-09-12 16:16:10
489
原创 【Go电商实战02】如何借助工具快速生成代码?初学者容易踩的坑有哪些?_gf gen service
业务模块之间的依赖通过接口化解耦,将原有的service分类调整为接口目录。增加logic分类目录,将所有业务逻辑代码迁移到logic分类目录下,采用包管理形式来管理业务模块。因为在我们编写代码的时候,service便同时生成了接口定义文件。命令通过分析给定的logic业务逻辑模块目录下的代码,自动生成service目录接口代码。建议在使用Goland IDE时,使用官方提供的配置文件:watchers.xml。可以按照一定的项目规范,从logic业务逻辑代码生成service接口定义代码。
2024-09-12 14:10:08
373
原创 Windows常用快捷键和常用的cmd命令(亲测用了办公效率提升明显)_命令提示符快捷键
Win +左/右Win + SWin + XWin+A。
2024-09-12 11:36:52
757
1
原创 ThreadLocal原理详解--终于弄明白了ThreadLocal_localthread原理
首先,它是一个数据结构,有点像HashMap,可以保存"key : value"键值对,但是一个ThreadLocal只能保存一个,并且各个线程的数据互不干扰。
2024-09-12 09:20:48
369
原创 Redis配置项汇总(超级详细)_配置库及配置项列表示例
如图所示:图1:Redis配置项注意:由于版本和操作系统的不同,配置项的数量会存在差异。
2024-09-12 06:54:02
1245
原创 Qt QLineEdit单行输入框用法详解_qt 输入框带删除
除了上表提到的获取和修改属性值的方法外,QLineEdit 类还提供了一些功能实用的方法,例如:表 2 QLineEdit常用方法 成员方法 功 能。
2024-09-12 04:42:15
372
原创 Leetcode 350
进阶:如果给定的数组已经排好序呢?你将如何优化你的算法?如果 nums1 的大小比 nums2 小,哪种方法更优?如果 nums2 的元素存储在磁盘上,内存是有限的,并且你不能一次加载所有的元素到内存中,你该怎么办?
2024-09-12 00:14:25
259
原创 Idea创建一个JSP web项目_idea创建jspweb数据库项目(1)
这是因为添加了数据库组件,autoconfig启动时要自动读取数据源配置,如果项目没有配置数据源,那就读取不到,肯定会报错。如果只用Web组件,这个问题一般就不会有。即便生成了Web项目,要开发jsp项目也需要额外的包,给自动生成的porm添加jsp支持包。:如果没有这三个包,你每次进入页面都会变成下载这个页面而不是在浏览器解析出来内容。如果暂时不想添加数据源配置,可以在启动类中添加排除数据源检测的配置。既然配置都已经做好了,那就找到main方法,执行。如果没有数据库配置,你就会报下面的错误。
2024-09-11 22:00:43
309
原创 Google软件工程:什么是软件工程_谷歌工程是什么
软件工程师一项团队工作,团队的协作,包裹更多人的参与,甚至多个团队的协作,都会到来新的问题。:在软件的预期生命周期内,在业务和技术的双重发展中,都需要有能力做出对有价值的变化的有效反应,这就是软件的可持续性。一个系统,不但要完成第一次大的升级,且要达到能够可靠地一直保持这种持续的最新状态,才是其长期可持续性的根本。:随着组织的成长和项目功能的扩展,软件系统的生产是否能够变的更加高效,持续交付的成本是否可控。:软件工程是一组必要的原则、实践方法和工具,使得代码在跨团队协作和使用时能更加的有效。
2024-09-11 13:28:13
875
原创 Go 专栏|流程控制,一网打尽
switch后可添加变量初始化语句,使用;分割;可以不设定条件表达式,在此种情况下,整个switch结构与多个if-else的逻辑作用等同;单个case中可以出现多个结果选项;在case中添加关键字,会继续执行紧跟的下一个case,不需要判断case的条件语句;switch支持default语句,当所有case都不满足时,执行default语句。
2024-09-11 08:51:56
787
原创 ES深度分页查询详解_es分页查询
搜索的查询和排序参数必须保持不变。当我们请求第 99 页(结果从 990 到 1000),需要从每个分片中获取满足查询条件的前1000个结果,返回给协调节点, 然后协调节点对全部 4000 个结果排序,获取前10个记录。当我们请求结果的第1页(结果从 1 到 10 ),每一个分片产生前 10 的结果,并且返回给 协调节点 ,协调节点对 40 个结果排序得到全部结果的前 10 个。es 默认采用的分页方式是 from+ size 的形式,在深度分页的情况下,这种使用方式效率是非常低的。
2024-09-11 06:40:14
1754
1
原创 clickhouse 批量插入数据_基于Clickhouse实现实时聚合计算秒级响应技术方案
接下来详细的讲述了技术方案,包括Kafka数据消费到数据写入、结合Clickhouse特性建表、完整的数据监控,以及从几十亿数据就偶现查询超时到几百亿数据也能秒级响应的优化过程。而按行存逐行扫描,获取每行数据的所有字段,再从每一行数据中返回需要的字段,虽然只需要部分字段还是扫描了所有的字段,按列存储避免了多余的数据扫描。为了能够实时地了解线上业务数据,京东算法智能应用部打造了一款基于Clickhouse的实时计算分析引擎,给业务团队提供实时数据支持,并通过预警功能发现潜在的问题。
2024-09-11 04:09:14
379
原创 2024最新版IntelliJ IDEA安装教程(非常详细)从零基础入门到精通,看完这一篇就够了_idea2024
找到安装包双击下载✅点击Next✅这里我选择自定义安装在D盘的IDEA Community 2022.3.1文件夹下,当然也可以选择不更改直接点击Next✅勾选这两个选项点击Next✅最后点击Install等待下载完成即可。
2024-09-11 01:18:12
14975
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人