摘要: 今天是golang专题的第12篇文章,我们来继续聊聊interface的使用。 在上一篇文章当中我们介绍了面向对象的一些基本概念,以及golang当中interface和多态的实现方法。今天我们继续来介绍interface当中其他的一些方法。 万能类型interface 在Java以及其他语言当中接 阅读全文
posted @ 2021-09-26 15:57 ludongguoa 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 你真的需要分布式锁吗? 用到分布式锁说明遇到了多个进程共同访问同一个资源的问题。一般是在两个场景下会防止对同一个资源的重复访问: 提高效率。比如多个节点计算同一批任务,如果某个任务已经有节点在计算了,那其他节点就不用重复计算了,以免浪费计算资源。不过重复计算也没事,不会造成其他更大的损失。也就是允许 阅读全文
posted @ 2021-09-26 15:56 ludongguoa 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 项目描述:在微信小程序中通过与Springboot操作数据库实现简单的增删改查,其中我是用springboot整合mybatis-plus 和mysql使用的。 1. 开发前准备 1.1 前置知识 java基础 SpringBoot简单基础知识 1.2 环境参数 开发工具:IDEA 基础环境:Mav 阅读全文
posted @ 2021-09-26 15:55 ludongguoa 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 简介 锁和同步是java多线程编程中非常常见的使用场景。为了锁定多线程共享的对象,Java需要提供一定的机制来实现共享对象的锁定,从而保证一次只有一个线程能够作用于共享对象。当第二个线程进入同一个区域的时候,必须等待第一个线程解锁该对象。 JVM是怎么做到的呢?为了实现这个功能,java对象又需要具 阅读全文
posted @ 2021-09-26 15:53 ludongguoa 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 早年Google的四大基础设施,分别是GFS, MapReduce, BigTable, Chubby, 前三个比较有名,今天来说说最后一个,Chubby。 Chubby是什么? Chubby是早年Google四大基础设施之一,提供粗粒度的分布式锁服务。 Chubby的使用者不需要关注复杂的同步协议 阅读全文
posted @ 2021-09-26 15:52 ludongguoa 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件。在这里详细总结一下这个插件在日常编程中的一些常用小技巧。供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考。当然基本的hjkl移动光标和几种常见模式等等基本概念就略过不提了。为了确保只包含常用操作,这里提到的技巧 阅读全文
posted @ 2021-09-26 15:51 ludongguoa 阅读(256) 评论(0) 推荐(0) 编辑
摘要: “你知道茴香豆的‘茴’字有几种写法吗?” 纠结单例模式有几种写法有用吗?有点用,面试中经常选择其中一种或几种写法作为话头,考查设计模式和coding style的同时,还很容易扩展到其他问题。这里讲解几种笔者常用的写法,但切忌生搬硬套,去记“茴香豆的写法”。编程最大的乐趣在于“know everyt 阅读全文
posted @ 2021-09-26 15:49 ludongguoa 阅读(30) 评论(0) 推荐(0) 编辑
摘要: ID Generator id生成器 分布式id生成系统,简单易用、高性能、高可用的id生成系统 简介 Tinyid是用Java开发的一款分布式id生成系统,基于数据库号段算法实现,关于这个算法可以参考美团leaf或者tinyid原理介绍。Tinyid扩展了leaf-segment算法,支持了多db 阅读全文
posted @ 2021-09-26 15:48 ludongguoa 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 经常有朋友问,MySQL双主的一致性问题,今天简单聊一聊。 MySQL为什么要使用双主架构? MySQL最常见的集群架构,是一主多从,主从同步,读写分离的架构。通过这种方式,能够扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。 为了保证MySQL写库的高可用,可以在一个MySQL数据库集 阅读全文
posted @ 2021-09-26 15:47 ludongguoa 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 今天是pandas数据处理专题的第六篇文章,我们来聊聊DataFrame的排序与汇总运算。 在上一篇文章当中我们主要介绍了DataFrame当中的apply方法,如何在一个DataFrame对每一行或者是每一列进行广播运算,使得我们可以在很短的时间内处理整份数据。今天我们来聊聊如何对一个DataFr 阅读全文
posted @ 2021-09-26 15:46 ludongguoa 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 导读:技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提高我们的专业能力。本文作者阿里巴巴技术专家三画,分享了自己和团队在画好架构图方面的理念和经验,首发于阿里内部技术分 阅读全文
posted @ 2021-09-26 15:45 ludongguoa 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 前言 说到后台技术栈,脑海中是不是浮现的是这样一幅图?有点眼晕,以下只是我们会用到的一些语言的合集,而且只是语言层面的一部分,就整个后台技术栈来说,这只是一个开始,从语言开始,还有很多很多的内容。今天要说的后台是大后台的概念,放在服务器上的东西都属于后台的东西,比如使用的框架,语言,数据库,服务,操 阅读全文
posted @ 2021-09-26 15:43 ludongguoa 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。 导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评 阅读全文
posted @ 2021-09-26 15:42 ludongguoa 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 今天是Python专题的第25篇文章,我们一起来聊聊多线程开发当中死锁的问题。 死锁 死锁的原理非常简单,用一句话就可以描述完。就是当多线程访问多个锁的时候,不同的锁被不同的线程持有,它们都在等待其他线程释放出锁来,于是便陷入了永久等待。比如A线程持有1号锁,等待2号锁,B线程持有2号锁等待1号锁, 阅读全文
posted @ 2021-09-26 15:40 ludongguoa 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 那时刚写文章时候,当时记录的学习笔记,现在看来,之前记录的有一个错误的地方,当时也没察觉到。 写错了就要改嘛,程序员也不能怕错~不知道大家看自己几年前的做事情,有的时候有没有一种感觉,这是我做的吗???好吧,有点嫌弃当时的自己~直接进入正题吧,父子进程之间到底有啥关系? 进程 先来说下什么是进程:来 阅读全文
posted @ 2021-09-26 15:39 ludongguoa 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 1、引言 Spring 的声明式事务极大地方便了日常的事务相关代码编写,它的设计如此巧妙,以至于在使用中几乎感觉不到它的存在,只需要优雅地加一个 @Transactional 注解,一切就都顺理成章地完成了! 毫不夸张地讲,Spring 的声明式事务实在是太好用了,以至于大多数人都忘记了编程式事务应 阅读全文
posted @ 2021-09-26 15:35 ludongguoa 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 前言 一直是想知道一条 SQL 语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了。 本文将从 MySQL 总体架构 -> 查询执行流程 -> 语句执行顺序来探讨一下其中的知识。 MySQL 架构总览 架构最好看图,再配上必要的说明文字。 下图根据参考书籍中一图为 阅读全文
posted @ 2021-09-26 15:34 ludongguoa 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 在Modern C++之前,C++无疑是个更容易写出坑的语言,无论从开发效率,和易坑性,让很多新手望而却步。比如内存泄露问题,就是经常会被写出来的坑,本文就让我们一起来看看,这些让现在或者曾经的C++程序员泪流满面的内存泄露场景吧。你是否有踩过? 1. 函数内或者类成员内存未释放 这类问题可以称之为 阅读全文
posted @ 2021-09-26 15:33 ludongguoa 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 面试的时候如果聊到缓存,肯定会聊到redis,因为它现在是缓存事实上的标准。 早些年一些互联网公司会用到memcached作为缓存,它是多线程的,用c语言开发,不过现在基本很少了,有兴趣的同学可以学习下它的源码。 那么聊redis,第一个问题就是它的工作原理,redis最最重要的工作原理,就是它的线 阅读全文
posted @ 2021-09-26 15:32 ludongguoa 阅读(132) 评论(0) 推荐(0) 编辑
摘要: MySQL 基础 关系型数据库介绍 顾名思义,关系型数据库就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多)。 关系型数据库中,我们的数据都被存放在了各种表中(比如用户表),表中的每一行就存放着一条数据(比如一个用户的信息)。 大部分关系型 阅读全文
posted @ 2021-09-26 15:31 ludongguoa 阅读(139) 评论(0) 推荐(0) 编辑