mysql 中整数数据类型不同类型的取值范围不同数据类型的默认显示宽度显
1 为什么使用分布式锁?当有多个客户端并发访问某个共享资源时,比如要修改DB某
Java代码有很多种不
1 标准LRU的实现原理LRU,最近最少使用(Least Recently Used,LRU),经典缓存算法。 LRU会使用一个链表维护缓存中每个数据的访问情况,并根据数据的实时访问,调整数据在链表中的位置,然后通过数据在链表中的位置,表示数据是最近刚访问的,还是已有段时间未访问。 LRU会把链头、尾分别设为MRU端和LRU端:MRU,Most Recently Used 缩写,表示此处数据刚
文章收录在我的 GitHub 仓库,欢迎StarJava-Interview-Tutorial0 前言相比单体架构,微服务架构下,服务调用从同一台机器内部的本地调用变成了不同机器间的远程方法调用,这就引入不确定因素:调用的执行是在服务提供者一端,即使服务消费者本身正常,服务提供者也可能由于诸如CPU、网络I/O、磁盘、内存、网卡等硬件原因导致调用失败,还可能因本身程序执行问题如GC
mysql 中整数数据类型不同类型的取值范围不同数据类型的默认显示宽度显示的宽度跟负号没有关系,它只在人工设置了 ZEROFILL 属性有效。一旦人工设置了 ZEROFILL 属性,MySQL 会自动设置 UNSIGNED 属性(即 ZEROFILL 不能存储负数)。 那取值范围和显示宽度到底有什么关系呢?利用 tinyint 做了个实验,首先创建一张表如下mysql> desc test
限界上下文定义领域边界,以确保每个上下文含义在它特定的边界内都具有唯一含义,领域模型则存于该边界内。通用语言定义事件风暴过程中,通过团队交流达成共识的,能够简单、清晰、准确描述业务涵义和规则的语言。限界上下文中的通用语言提供了设计领域模型的概念术语。 通用语言是必须通过与领域专家详细讨论后才得到的统一语言,不管你在团队承担什么角色,在同一领域的软件生命周期里都使用统一语言交流。通用语言定义上下文
1 领域用以确定边界。 DDD按规则细分业务领域,细分到一定程度,DDD会将问题范围限定在特定边界,在该边界内建立领域模型,进而用代码实现该领域模型,解决相应业务问题。 领域就是该边界内要解决的业务问题域。其越大,则业务范围越广。领域模型的特点对业务领域建模:细粒度的类,易扩展,易复用可应对复杂业务逻辑需要经验简单的领域模型:几乎和DB中的表一一对应 复杂领域模型使用了继承,组合,设计模式等各
1 前言实体是领域模型中的领域对象。MVC开发人员总将关注点放在数据,而非领域。因为在软件开发中,DB占据主导地位。首先考虑的是数据的属性(即数据库的列)和关联关系(外键关联),而不是富有行为的领域概念。 导致将数据模型直接反映在对象模型,那些表示领域模型的实体(Entity)被包含了大量getter/setter。虽然在实体模型中加入getter/setter并非大错, 但这不是DDD做法。过于
1 @Autowired 干嘛的?用来执行依赖注入.每当一个Spring管理的bean发现有该注解时,会直接注入相应的另一个Spring管理的bean.1.1 不同地放置有不同作用属性Spring将通过扫描自定义的package或通过在配置文件中直接查找bean方法使用@Autowired注解的每个方法都要用到依赖注入但要注意的是,签名中呈现的所有对象都必须是Spring所管理的bean如果你有一
两个group by 语句都用了order by null,为什么使用内存临时表得到的语句结果里,0这个值在最后一行;而使用磁盘临时表得到的结果里,0这个值在第一行? 内存表的数据组织结构示例表 插入测试数据。分别查询mysql> select * -> from t1;+----+------+| id | c |+----+------+| 1 | 1 ||
1 面试题如何保证消息的可靠性传输(如何处理消息丢失的问题)?2 考点分析这个是肯定的,用mq有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是刚才说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。 如果说你这个是用mq来传递非常核心的消息,比如说计费,扣费的一些消息,因为我以前设计和研发过一个公司非常核心的广告平台,计费系统,计费系统是很重的一个业务
显示TIMESTAMP列的显示格式与DATETIME列相同。 即显示宽度都固定在19字符,格式为:YYYY-MM-DD HH:MM:SS范围datetime 以YYYY-MM-DD HH:MM:SS格式检索和显示DATETIME值。支持的范围为1000-01-01 00:00:00到9999-12-31 23:59:59TIMESTAMP值不能早于1970或晚于2037储
无论是作为个人电脑的数据盘,还是在数据中心里面用作海量数据的存储,机械硬盘仍然在被大量使用。随着成本下降,机械硬盘还替代掉了很多传统的存储设备,如以前常用来备份冷数据的磁带。 拆解机械硬盘机械硬盘的IOPS大概只能做到每秒100次左右。机械硬盘拆开,自然知道为什么它的IOPS是100左右了。硬盘的构造,里面有接口,有对应的控制电路版,以及实际的I/O设备(也就是我们的机械硬盘)。 一块机械硬盘是由
1 Sleep V.S wait sleep线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其 他线程,但是监控状态依然保持,到时后会自动恢复。调用 sleep 不会释放对象锁。 sleep() 使当前线程进入阻塞状态,在指定时间内不会执行 waitObject 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待 此对象的等待锁定池,只有针对此对象发出 n
1 更新文档 语法结构db.集合名称.update(条件,修改后的数据)修改_id为1的记录,点赞数为1000,输入以下语句: 执行后发现,这条文档除了thumbup字段其它字段都不见了。 为了解决这个问题,我们需要使用修改器$set来实现,命令如下:db.comment.update({_id:"2"},{$set:{thumbup:2000}}) 2 删除文档 语法结构db.集合名称.rem
应用程序之间要想互相通信,一起配合来实现业务功能,还需传输协议支持。 传输协议就是应用程序之间对话的语言。设计传输协议,并没有太多规范和要求,只要是通信双方的应用程序都能正确处理这个协议,并且没有歧义即可。1 断句分隔符传输协议也是种语言,在传输数据的的时候,首先要解决的就是断句。 对于传输层来说,收到的数据是什么样的?就是一段一段的字节,但是,因为网络的不确定性,你收到的分段并不一定是我们发出
import com.google.common.collect.Lists;import lombok.extern.slf4j.Slf4j;import java.lang.reflect.Field;import java.util.*;import java.util.stream.Collectors; @Slf4jpublic class ListUtils { /**
输入一个错误的英文单词,它就会提示“拼写错误”。这个单词拼写检查功能,虽然很小但却非常实用。是如何实现的呢?1 什么是散列?散列表,Hash Table,用数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。假如有89名候选人参加大选。为了方便记录投票,每个候选人胸前会贴上自己的参赛号码。这89名选手的编号依次是1到89。通过编号快速找到对应的选手信息。你怎么做?
控制结构?没错!你最爱的 if、for都是一类坏味道,没想到吧?自己竟然每天都沉浸在写坏味
因语言演化,不同时期不同版本的程序员写的
问题切换到其它分支时报错:you need to resolve your current index first,即有冲突的文件没有解决。解决方案git reset --merge
1 前言作为骨灰级博客写手,如何让写博客成为一种乐趣,甚至一种艺术享受的过程,是每个创作者的追求。能实现我们这些梦想的,就是创作者中心的编辑器,51CTO博客就是一个理想的平台,悟空WuKong编辑器几乎满足了我的所有幻想。2 “二八定律”下的网红功能本文就来谈一下这么久以来 WuKong 的吸睛之处,在于常用功能,他都做到了业界最极致的用户体验。2.1 标题、目录写博客首先就是写标题,提纲挈领,
为什么小小一个CPU,有那么多周期(Cycle)?程序的性能,是由三个因素相乘来衡量的,“指令数×CPI×时钟周期”。和周期相关的只有一个时钟周期,即CPU主频的倒数。一个CPU的时钟周期可以认为是可以完成一条最简单的
微服务之间的大多都是使用 通信,这自然少不了使用 HttpClient。在不适用 Spring 前,一般使用 Apache HttpClient 和 Ok HttpClient 等,而一旦引入 Spring,就有了更好选择 - RestTemplate。参数类型是 MultiValueMap接口
换个方式访问该接口,示例如下:期待"JavaEdge:dev 666",但是运行上述代码后,你会发现结果却是下面这样:why?解析这就要求精通 URL 的处理:UriComponentsBuilder#toUriString:URL Encode调用栈如下:至此,都还
想通过流水线设计来提升CPU的吞吐率,我们需要冒哪些风险。流水线设计需解决的三大冒险:结构冒险(Structural Hazard)数据冒险(Data Hazard)控制冒险(Control Hazard)CPU流水线设计里,会遇到各种“危险”,使得
很多业务mapper 中都包含了一个无用的拼接 SQL:where 1=1,这是为何?先尝试去掉它看
1 简介SPI,Service Provider Interface,一种服务发现机制。 有了SPI,即可实现服务接口与服务实现的解耦: 服务提供者(如 springboot starter)提供出 SPI 接口。身为服务提供者,在你无法形成绝对规范强制时,适度"放权" 比较明智,适当让客户端去自定义实现客户端(普通的 springboot 项目)即可通
import com.google.c
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号