这个用户很懒,还没有个人简介
私信
主帖 58
回帖
视频
提问
回答
资源
专栏 1
前言大家好,我是捡田螺的小男孩。作为后端开发,不管是什么语言,Java、Go还是C++,其背后的后端思想都是类似的。后面打算出一个后端思想的技术专栏,主要包括后端的一些设计、或者后端规范相关的,希望对大家日常工作有帮助哈。我们做后端开发工程师,主要工作就是:如何把一个接口设计好。所以,今天就给大家介绍,设计好接口的36个锦囊。本文就是后端思想专栏的第一篇哈。1.接口参数校验入参出参校验是每个程序员必备的基本...
6天前 394浏览 0点赞 0回复 0收藏
一、前言前两天做了一个导入的功能,导入开始的时候非常慢,导入2w条数据要1分多钟,后来一点一点的优化,从直接把list怼进Mysql中,到分配把list导入Mysql中,到多线程把list导入Mysql中。时间是一点一点的变少了。非常的爽,最后变成了10s以内。下面就展示一下过程。二、直接把list怼进Mysql使用mybatis的批量导入操作:Transactional(rollbackForException.class)publicintaddFreshStudentsNew2(List<FreshStudentAndStudent...
6天前 146浏览 0点赞 0回复 0收藏
前言大家好,我是程序员田螺。整理了几道高频的JVM面试题,小伙伴们加油呀!&bull;JVM内存为什么要分成新生代,老年代&bull;新生代中为什么要分为Eden和Survivor&bull;JVM中一次完整的GC流程是怎样的&bull;CMS收集器和G1收集器的区别&bull;JVM调优&bull;CPU飙升如何排查1.JVM内存为什么要分成新生代,老年代?1.1JVM共享内存划分&bull;共享内存区持久代+堆(jdk1.8及以上jvm废弃了持久代)&bull;持久代方法区+其他&bull;Java堆...
6天前 147浏览 0点赞 0回复 0收藏
12.如何快速判断一个数是奇数还是偶数,除开对2取余呢。判断一个数是奇数还是偶数,我们最容易想到的就是对2取余。if(x%2)奇数else偶数还有一种方法,就是与1相与(&1),具体实现如下:if(x&1)奇数else偶数13.Spring声明式事务原理?哪些场景事务会失效?13.1声明式事务原理spring声明式事务,即Transactional,它可以帮助我们把事务开启、提交或者回滚的操作,通过Aop的方式进行管理。在spring的bean的初始化过程中,就需要对...
6天前 119浏览 0点赞 0回复 0收藏
10.你们项目使用了RocketMQ对吧?那你知道如何保证消息不丢失吗?一个消息从生产者产生,到被消费者消费,主要经过这3个过程:1.生产者产生消息2.消息发送到存储端,保存下来3.消息推送到消费者,消费者消费完,ack应答。因此如何保证MQ不丢失消息,可以从这三个阶段阐述:&bull;生产者保证不丢消息&bull;存储端不丢消息&bull;消费者不丢消息10.1生产者保证不丢消息生产端如何保证不丢消息呢?确保生产的消息能顺利到达存储端。...
6天前 148浏览 0点赞 0回复 0收藏
8.数据库隔离级别是否了解?你们的数据库默认隔离级别是?为什么选它?四大数据库隔离级别,分别是读未提交,读已提交,可重复读,串行化(Serializable)。&bull;读未提交:事务即使未提交,却可以被别的事务读取到的,这级别的事务隔离有脏读、重复读、幻读的问题。&bull;读已提交:当前事务只能读取到其他事务提交的数据,这种事务的隔离级别解决了脏读问题,但还是会存在不可重复读、幻读问题;&bull;可重复读:限制了读取...
6天前 175浏览 0点赞 0回复 0收藏
4.你们的接口幂等是如何保证的?如果你调用下游接口超时了,是不是考虑重试?如果重试,下游接口就需要支持幂等啦。实现幂等一般有这8种方案:&bull;select+insert+主键唯一索引冲突&bull;直接insert+主键唯一索引冲突&bull;状态机幂等&bull;抽取防重表&bull;token令牌&bull;悲观锁(如selectforupdate,很少用)&bull;乐观锁&bull;分布式锁大家平时是用哪个方案解决幂等的,最后结合工作实际讲讲哈。可以看下我之前这篇文章:聊聊...
6天前 164浏览 0点赞 0回复 0收藏
前言大家好,我是程序员田螺。最近有位读者去面试了oppo,给大家整理了面试真题的答案。希望对大家有帮助哈,一起学习,一起进步。1.聊聊你印象最深刻的项目,或者做了什么优化。2.你项目提到分布式锁,你们是怎么使用分布式锁的3.常见分布式事务解决方案4.你们的接口幂等是如何保证的?5.你们的MySQL架构是怎样的?6.常见的索引结构有?哈希表结构属于哪种场景?7.给你ab,ac,abc字段,你是如何加索引的?8.数据库隔离级别是否...
6天前 159浏览 0点赞 0回复 0收藏
大家好,我是田螺。今天跟大家就CPU、磁盘、网络及内存方面的问题,聊聊如何排查和调优。&bull;CPU过高,怎么排查问题&bull;linux内存&bull;磁盘IO&bull;网络IO&bull;java应用内存泄漏和频繁GC&bull;java线程问题排查&bull;常用jvm启动参数调优linuxCPU过高,怎么排查问题CPU指标解析&bull;平均负载◆平均负载等于逻辑CPU个数,表示每个CPU都恰好被充分利用。如果平均负载大于逻辑CPU个数,则负载比较重&bull;进程上下文切换◆...
6天前 229浏览 0点赞 0回复 0收藏
linux网络IO问题当一个网络帧到达网卡后,网卡会通过DMA方式,把这个网络包放到收包队列中;然后通过硬中断,告诉中断处理程序已经收到了网络包。接着,网卡中断处理程序会为网络帧分配内核数据结构(skbuff),并将其拷贝到skbuff缓冲区中;然后再通过软中断,通知内核收到了新的网络帧。内核协议栈从缓冲区中取出网络帧,并通过网络协议栈,从下到上逐层处理这个网络帧&bull;硬中断:与系统相连的外设(比如网卡、硬盘)自动产...
6天前 142浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩。今天跟大家探讨一下分布式锁的设计与实现。希望对大家有帮助,如果有不正确的地方,欢迎指出,一起学习,一起进步哈&bull;分布式锁概述&bull;数据库分布式锁&bull;Redis分布式锁&bull;Zookeeper分布式锁&bull;三种分布式锁对比1.分布式锁概述我们的系统都是分布式部署的,日常开发中,秒杀下单、抢购商品等等业务场景,为了防⽌库存超卖,都需要用到分布式锁。分布式锁其实就是,控制分布式系...
6天前 170浏览 0点赞 0回复 0收藏
4.Zookeeper分布式锁在学习Zookeeper分布式锁之前,我们复习一下Zookeeper的节点哈。Zookeeper的节点Znode有四种类型:&bull;持久节点:默认的节点类型。创建节点的客户端与zookeeper断开连接后,该节点依旧存在。&bull;持久节点顺序节点:所谓顺序节点,就是在创建节点时,Zookeeper根据创建的时间顺序给该节点名称进行编号,持久节点顺序节点就是有顺序的持久节点。&bull;临时节点:和持久节点相反,当创建节点的客户端与zook...
6天前 144浏览 0点赞 0回复 0收藏
前言大家好,我是田螺。最近在做新项目,基于若依(前后端分离版本)做的,他也使用了常用的分页插件PageHelper。老规矩,今天文章还是分三步走,先上文章导读,然后讲原理,最后讲解源码案例。最后达到的效果就是希望读者朋友们在看完我写的这篇文章后,能够秒懂别人写的MyBatis插件并且能够开发出自己的MyBatis的插件。文章导读MyBatis插件原理与实战什么是插件?插件就是在具体的执行流程插一脚(触发点、拦截器)来实现具体...
7天前 187浏览 0点赞 0回复 0收藏
&bull;前言&bull;泛型带来的好处&bull;泛型中通配符◆常用的T,E,K,V,?◆?无界通配符◆上界通配符<extendsE◆下界通配符<superE◆?和T的区别&bull;Class和Class区别&bull;小结前言JaVa泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,...
9天前 194浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩,今天跟大家聊聊分库分表。1.什么是分库分表2.为什么需要分库分表3.如何分库分表4.什么时候开始考虑分库分表5.分库分表会导致哪些问题6.分库分表中间件简介1.什么是分库分表分库:就是一个数据库分成多个数据库,部署到不同机器。分表:就是一个数据库表分成多个表。2.为什么需要分库分表2.1为什么需要分库呢?如果业务量剧增,数据库可能会出现性能瓶颈,这时候我们就需要考虑拆分数据库。从这...
9天前 537浏览 0点赞 0回复 1收藏
近日,统信桌面操作系统V20专业版(1040)正式发布。统信桌面操作系统V20专业版(1040)在(1032)的基础上进行开发,我们修复了已知的各种使用问题,并对交互体验进一步优化,新增了更多实用且强大的特性,期待您的体验。与上一版本(1032)相比功能方面统信桌面操作系统V20专业版(1040)带来了多款全新的统信自研全家桶应用,包括支持流、版、签、FLASH插件的全新自研浏览器;小巧实用、功能强大的自研下载器;支持同一网段...
2022-05-11 17:44:45 352浏览 0点赞 0回复 0收藏
A:『有岳』是统信服务器操作系统的品牌名称。也就是说,以后统信服务器操作系统有名字啦就叫『有岳』。它还有一个英文名字:UMountain.『有岳』寓意着直入云霄的山岳,也代表着作为数字经济发展基石的统信服务器操作系统更加稳定可靠。为更好地助力我国数字经济发展、构建算力基础设施和服务行业客户,统信有岳(UMountain)有新版本(1050)发布了!该版本在稳定性、性能、生态兼容、安全性和新功能方面均有较大突破。一起来了...
2022-05-11 17:43:20 192浏览 0点赞 0回复 0收藏
前言大家好,我是捡田螺的小男孩。本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。1.为什么需要加锁呢?2.InnoDB的七种锁介绍3.一条SQL是如何加锁的4.RR隔离级别下的加锁规则5.如何查看事务加锁情况6.死锁案例分析1.为什么需要加锁?数据库为什么需要加锁呢?在日常生活中,如果你心情不好。想要一个人静静,不想被比别人...
2022-05-11 17:41:46 236浏览 0点赞 0回复 0收藏
先说两句我常常在散步时思考很多技术上的「为什么问题」,有时一个问题会想很久,直到问题的每一个点都能说服自己时,才算完结。于是想把这些思考记录下来,形成文章,可以当做一个新的系列。这些文章中你可能看不到代码,但能窥探到一些容易被忽视的问题,以及问题更深层次的「为什么」。今天带来第1篇,Dubbo为什么要用Go重写?诞生于阿里巴巴,2011年开源的Dubbo已经走过了10个年头。在2019年,它被用Go重写并开源,如今两年...
2022-05-11 17:41:13 147浏览 0点赞 0回复 0收藏
今日,统信桌面操作系统V20专业版(1050)【简称:专业版(1050)】正式发布。该版本在专业版(1043)基础上开发,与上一版本相比,新增了一系列全新特性,在生产力、安全性、兼容性、跨平台生态、性能等方面均有显著提升。专业版(1050)提供全局搜索功能、图像OCR功能、滚动截图功能,远程协助支持了局域网和广域网的跨端连接,统信UOS助手可实现PC对PC、PC对手机(Android)的远程文件传输,轻松跨越终端,实现文件共享,全面提升用户...
2022-05-11 17:37:53 256浏览 0点赞 0回复 0收藏