打工人,从 JMM 透析 volatile 与 synchronized 原理

在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全?volatile 语义的内存可见性指的是什么?这其中又跟 JMM 有什么关系,在并发编程中 JMM 的作用是什么,为什么需要 JMM?与 JVM 内存结构有什么区别?总结出里面的核心知识点以及面试重点,图文并茂无畏面试与并发编程,全面提升并发编程内功!JMM 与
分类: 编程语言 发布时间: 02-09 18:21 阅读次数: 0

Java如何优雅地实现单元测试与集成测试

Java如何优雅地实现单元测试与集成测试无敌码农无敌码农在日常的开发过程中,为了保证代码质量,有追求的程序员一般都会对自己编写的代码进行充分的测试,这种测试不仅仅是体现在对正常功能的简单接口调用,而是要根据代码中的各种逻辑分支,进行尽可能多的覆盖性单元测试以及主要逻辑的集成测试。上面说到的测试对于程序员来说,绝不仅仅只是依赖于Postman之类的网络工具,而要以编写独立的单元/集成测试代码的方式来
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

SpringBoot 项目使用 SLF4J+logback 进行日志记录,来增强可维护性

SpringBoot会默认使用logback作为日志框架,在生成springboot项目的时候可以直接勾选logback,那么就可以直接使用logback了。手动添加的话,建议使用slf4j+logback,后面项目更容易维护:<dependency>   <groupId>org.slf4j</groupId>   <artifactId>slf4
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

一分钟创建Redis生产集群

一分钟创建Redis生产集群无敌码农RedisCluster是Redis3.0版本推出的Redis集群方案,它将数据分布在不同的服务区上,以此来降低系统对单主节点的依赖,并且可以大大的提高Redis服务的读写性能。Redis将所有的数据分为16384个slots(槽),每个节点负责其中的一部分槽位,当有Redis客户端连接集群时,会得到一份集群的槽位配置信息,这样它就可以直接把请求命令发送给对应的
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

C语言:未声明的标识符 问题解决

使用未声明的标识符问题
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

C编程基础-基础篇 2

printf 格式输出格式参数% [标志位] [宽度] [精度] [数字长度] 说明符标志位含义-向左对齐,默认向右对齐+强制显示正负号,默认显示负号宽度含义数字显示的最小宽度,如果内容达不到,用空格补齐精度含义数字最小精度的数值说明符含义o无符号8进制数x/X无符号16进制数d/i有符号10进制数u无符号10进制数f/F10进制浮点数e/E科学计数法表示指数的e/Eg/G在%e和%f/%E和%F
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

程序员生存的10点感悟!

程序员生存的10点感悟!无敌码农无敌码农今天和大家一起聊聊关于程序员生存的话题,当然了,这里所说的生存并没有大到关乎身家性命的地步,毕竟程序员只是一个普普通通的群体,对于我们大多数人而言,所谓的生存只是一份赖以养活自己的工作而已。诚然,这并不代表所有人,因为在我们这个普通的群体之中,总还是会有一些优秀的个体,他们会通过创业或者对技术极致追求的方式去实现他们更大的价值,这里所讨论的生存只是对于我们大
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

为什么项目中用了JOOQ后大家都不愿再用Mybatis?

为什么项目中用了JOOQ后大家都不愿再用Mybatis?无敌码农无敌码农前言今天给大家介绍一个新的ORM框架->JOOQ,可能很多朋友还没有听说过这个框架,码农哥之前也是一直在使用Mybatis框架作为Java工程中的持久层访问框架,但是最近的一些项目采用JOOQ框架开发后,码农哥表示再也不想用Mybatis了!为什么这么说呢?因为JOOQ在代码层面要比Mybatis简洁得多,而且性能也非常
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

听说优秀的程序员20%的时间都在写UT?

听说优秀的程序员20%的时间都在写UT?无敌码农无敌码农导读在今天的文章中打算和大家聊一聊关于测试的话题,也许有朋友会问,作为一名码农为什么要关注测试的问题?我们把代码开发完基本自测没问题了,扔给测试不就行了?有问题再改呗!也许有很多人都会这么想,的确,目前国内很多程序员并不太关注UnitTest,很多互联网公司也并没有强制要求开发人员必须编写UnitTestCase。究其原因,可能是国内公司都比
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

共享单车IOT物联网系统是怎么设计的?

共享单车IOT物联网系统是怎么设计的?无敌码农无敌码农前言物联网(IOT)的概念很早就有了,只是在共享单车普及之前物联网并不被多数人所熟知,因此听起来很神秘。今天文章的主题就和大家一起聊一聊关于物联网(IOT)相关的话题,并从技术的角度解析下大家每天会使用到的共享单车在系统技术层面的运行原理,希望能够给大家的生活带来点小乐趣。什么是IOT对于从事互联网技术相关工作的朋友来说,IOT这个词多多少少应
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

漫画:架构师是吧?什么是哈希轮?

漫画:架构师是吧?什么是哈希轮?无敌码农无敌码农就这样过了几天,小码哥刷了刷简历.....小码收到猎头小姐姐的面试邀约后,认真进行了准备,并在约定时间到达了面试公司....支付系统数据一致性问题在支付系统中数据的一致性问题是一个非常重要的问题,因为一旦发生数据不一致就意味着资金的损失,要么是用户支付了钱没有成功购买到商品;要么是平台没有收到用户的钱,却给用户错误地发送了支付成功的消息。无论哪种情况
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

漫画:聊一聊MVC、MVP、MVVM?

漫画:聊一聊MVC、MVP、MVVM?无敌码农无敌码农过了几天...MVC的前世今生说起MVC大家并不会太陌生,只要进入Java开发领域MVC的概念就会响彻你的耳旁。不过如果有人问你什么是MVC你会怎么回答呢?......在开发过程中很多同学认为Mode层=DB层,这是一个非常大的误区,虽然Mode很容易让人理解为模型,但实际上Mode层并不等于DB,而是包含了所有的业务逻辑,这其中就包括Serv
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

Python入门课程零基础到精通——基本数学运算

本课任务: 1. 学习Python程序中的基本数学运算,2. 掌握Python程序中数学运算的优先级,3. 了解变量的自增与自减操作
分类: 编程语言 发布时间: 02-09 18:20 阅读次数: 0

k8s1.18.15 导入rancher2.5.5 与部署 longhron存储

k8s1.18.15导入rancher2.5.5与部署longhron存储标签(空格分隔):rancher系列[toc]##一:环境准备系统:centos7.9x64-1安装好:k8s1.18.15kubectlgetnode二:rancher安装2.1采用docker安装mkdir-p/data/rancher/ranchermkdir-p/data/rancher/auditlogvimrac
分类: 企业开发 发布时间: 02-09 18:20 阅读次数: 0

哪个更安全?白名单还是黑名单?Agent端对监控指标黑白名单的支持

“实际上,agent端指标的白名单和黑名单也是Zabbix培训中的一个重要主题。”——KasparsMednis,全球培训师负责人,ZabbixSIA  本文整理自Kaspars在2020Zabbix中国峰会的演讲,ppt获取链接见文末。更多演讲视频可关注官方Bilibili账号主页(ID:Zabbix中国)。 目录一为什么需要agent端指标的白名单和黑名单二如何保障安全性三关于通配符四关于功能
分类: 企业开发 发布时间: 02-09 18:20 阅读次数: 0

Zabbix 5.0 企业微信 WebHook 实现故障文本告警

   Zabbix5.0对于告警(报警媒介)进行了扩展和优化,可以直接支持WebHook类型的报警媒介。我们再开发企业微信机器人可以直接通过JavaScript语言编写脚本,因为得到了Zabbix的原生支持,告警脚本通用性强且更加灵活。本文将分享如何通过Zabbix报警媒介在企业微信发送告警信息。  一、注册企业微信机器人 首先需要先在自己的企业微信群里创建一个机器人,并获取其WebHook地址。
分类: 企业开发 发布时间: 02-09 18:20 阅读次数: 0

案例 | 小鹏汽车运维监控是如何落地实现的?

“运维应该更接近业务,做的监控也更应该接近业务,而不是单纯在运维做闭环,而是要形成一个完整的闭环。”——李晓凯,物联运维高级工程师,小鹏汽车 本文整理自李晓凯在2020Zabbix中国峰会的演讲,ppt获取请联系小Z。更多演讲视频可关注官方Bilibili账号主页(ID:Zabbix中国)。  一网联-移动网络稳定性挑战 01-汽车&网联由于跟普通传
分类: 企业开发 发布时间: 02-09 18:20 阅读次数: 0

流媒体传输协议之 RTP (上篇)

本系列文章将整理各个流媒体传输协议,包括RTP/RTCP,RTMP,希望通过深入梳理协议的设计细节,能够给流媒体领域的开发者带来一定的启发。作者:逸殊审核:泰一介绍RTP,即real-timetransportprotocol(实时传输协议),为实时传输交互的音频和视频提供了端到端传输服务。其中包括载荷的类型确认,序列编码,时间戳和传输监控功能。一般应用都是基于UDP协议,来使用RTP的多路技术以
分类: 企业开发 发布时间: 02-09 18:20 阅读次数: 0

在游戏运营行业,Serverless 如何解决数据采集分析痛点?

众所周知,游戏行业在当今的互联网行业中算是一棵常青树。在疫情之前的 2019 年,中国游戏市场营收规模约 2884.8 亿元,同比增长 17.1%。2020 年因为疫情,游戏行业更是突飞猛进。玩游戏本就是中国网民最普遍的娱乐方式之一,疫情期间更甚。据不完全统计,截至 2019 年,中国移动游戏用户规模约 6.6 亿人,占中国总网民规模 8.47 亿的 77.92%,可见游戏作为一种低门槛、低成本的娱乐手段,已成为大部分人生活中习以为常的一部分。
分类: 企业开发 发布时间: 02-09 18:20 阅读次数: 0

官方博文 | 连老手也容易犯错的Zabbix SNMP该如何正确配置?

 SNMP是Zabbix中最常用的监控类型之一,但对于新手而言,也是配置时最令人难以捉摸的工具之一。即便是经验丰富者也容易在配置时犯下简单错误,导致更多问题出现,如item或接口不稳定,误报等,甚至更糟。  目录一介绍二关于SNMPSNMP版本SNMPOID(对象标识符)SNMP接口SNMPv3配置错误三总结   介绍 本文将讨论安装过程中,用SNMP成功监控设备时,需要记住和遵守的事项;讲解关于
分类: 企业开发 发布时间: 02-09 18:20 阅读次数: 0