Wesley13 Wesley13
3年前
SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别
数据库的表都是单独存在的,但是当我们进行联合查询(多表查询)时,我们获得数据库返回的值时就好像在一张表里一样,这是因为在进行联合查询时数据库会生成一个临时表返回给我们所想要的数据信息,这时我们都是通过LEFTJOIN等语句进行相关联,并且我们也会为我们所想查询的数据进行一个筛选,这时我们就会用到过滤语句。       LEFTJOINONWHE
Wesley13 Wesley13
3年前
java内存结构笔记
此篇仅作笔记,详情参考:https://my.oschina.net/uwith/blog/3110227(https://my.oschina.net/uwith/blog/3110227)栈帧内部的结构:局部变量表、操作数栈(比如我们去赋值或者计算都会操作操作数栈)、动态链接、返回链接。jvm为对象开辟空间的两种方式:1、指针碰撞:如果
Stella981 Stella981
3年前
MongoDB oplog 深入剖析
MongoDB的Replication是通过一个日志来存储写操作的,这个日志就叫做oplog。在默认情况下,oplog分配的是5%的空闲磁盘空间。通常而言,这是一种合理的设置。可以通过mongodoplogSize来改变oplog的日志大小。oplog是cappedcollection,因为oplog的特点(不能太多把磁盘填满了,固定大小)需要
Easter79 Easter79
3年前
Spring——多种方式实现依赖注入
  在Spring的XML配置中,只有一种声明bean的方式:使用<bean元素并指定class属性。Spring会从这里获取必要的信息来创建bean。但是,在XML中声明DI时,会有多种可选的配置方式和风格,具体到setter方式、构造器方式和P命名空间方式。一、使用setter进行注入!(https://img2018.c
Stella981 Stella981
3年前
Canal 组件简介与 vivo 帐号实践
互联网应用随着业务的发展,部分单表数据体量越来越大,应对服务性能与稳定的考虑,有做分库分表、数据迁移的需要,本文介绍了vivo帐号应对以上需求的实践。一、前言Canal是阿里巴巴开源项目,关于什么是Canal?又能做什么?我会在后文为大家一一介绍。在本文您将可以了解到vivo帐号使用Canal解决了什么样的业务痛点,基于此希望
Stella981 Stella981
3年前
Python的四种作用域及调用顺序
↑关注星标 ~从此不迷路,后台回复【礼包】送你Python自学资料作用域又可以被称为命名空间,指变量起作用的范围。Python变量作用域可以分为四种,分别为局部作用域、嵌套作用域、全局作用域、内置作用域。作用域英文简写局部作用域LocalL嵌套作用域EnclosedE全局作用域Global
Stella981 Stella981
3年前
QT中手动释放堆中的对象(new 出来的)
Qt内存自动释放有两个前提条件:1.必须是QObject的派生类2.必须指定了parent对象即:Qt中父亲被删除的时候会自动销毁他的孩子。所以如果New出来的并且没有父亲。那么则需要手动删除它。需要,不然那块空间就一直占用了QLabellbnewQLabel();delete(lb);if(lbN
Easter79 Easter79
3年前
TiDB 4.0 新特性在电商行业的探索
作者介绍:冀浩东,转转公司数据库负责人,负责转转公司整体的数据库运营。初引入TiDB解决了哪些问题?转转使用TiDB主要解决了两个问题,一个是分库分表问题,另一个是运维复杂度。分库分表是一个非常普遍的问题,会增加我们业务逻辑的复杂性,并且多维度的mapping可能导致我们整体性能的下降。有了T
Wesley13 Wesley13
3年前
Java 进阶(一) JVM运行时内存模型
1.JVM运行时数据区域的划分a.程序计数器(ProgramCounterRegister)一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每个线程拥有独立的一个计数器,如果当前执行的是Native方法,则计数器值为空。b.JVM栈(JavaVirtualMachineS
Stella981 Stella981
3年前
Redis 淘汰策略解读
摘要:   Redis在生产环境中,采用配置参数maxmemory的方式来限制内存的大小。当实际存储内存超过maxmemory参数值时,开发者可以通过Redis内存淘汰策略,来决定如何腾出新空间继续支持读写工作。工作情况    首先,客户端会发起需要更多内存的申请;其次,Redis检查内存使用情况,如果