手写一个简版的key/value服务kedis
作者:凯京技术团队来源:https://my.oschina.net/keking/blog/3037372今天主要介绍两个开源项目,然后创建应用最终实现的效果就像简版的redis服务那样,通过http的get请求,能够插入和获取数据,项目暂取名为kedis,源码后面会上传到git仓库。他们分别是F
京东微服务平台架构解密
平台初心微服务组件平台是承载京东集团所有业务的服务调用、消息通知的底层架构平台、运维管理平台、知识分享平台、沟通协作平台和服务评价及诊断平台。底层架构平台由JSFRPC调用、JMQ消息服务及服务网格这三大基础通信技术构成,既能完成同步调用,又能完成异步消息通知,或者两者混合进行,兼容各种流行通信协议
终于明白为什么要加 final 关键字了
在开发过程中,由于习惯的原因,我们可能对某种编程语言的一些特性习以为常,特别是只用一种语言作为日常开发的情况。但是当你使用超过一种语言进行开发的时候就会发现,虽然都是高级语言,但是它们之间很多特性都是不太相同的。现象描述在Java8之前,匿名内部类在使用外部成员的时候,会报错并提示“Cannotre
怎样提高服务器并发处理能力?
什么是服务器并发处理能力?一台服务器在单位时间里能处理的请求越多,服务器的能力越高,也就是服务器并发处理能力越强。服务器的本质工作就是,争取以最快的速度将内核缓冲区中的用户请求数据一个不剩地都拿出来,然后尽快处理,再将响应数据放到一块又能够与发送数据的缓冲区中,接着处理下一拨请求。有什么方法衡量服务
全面的MySQL优化面试解析
本文概要文章内图片有损,需要高清可以在公众号内回复“大图”概述为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢数据是存放在磁盘上的,读写速度无法和内存相比如何优化设计数据库时:数据库表、字段的设计,存储引擎利用好MySQL自身
Java代码优化:使用构造函数和使用一个setter的效率差别
在对Java代码进行优化的时候,想方设法的要提高整体的效率,使用JProfiler看代码的时间占比,然后,看看哪些部分是可以优化的,减少运行时间的。下面有这么几个方向。能使用构造函数一步到位的,就尽量使用构造函数,而不是使用一个个setter函数能使用数组的,就使用数组。替代list,数组是真的快。
这句简单的sql,如何加索引?颠覆了我多年的认知
不啰嗦,直接入正题。问题是这样的。请问下面的sql语句,要想加快查询速度,该怎么创建索引?以下,以mysql数据库为准。select*fromtestwherea=?andb>?orderbyclimit0,100结果可能会出乎你的意料。我们首先准备一下运行环境,然后按照最左前缀原则和expl
分布式定时任务调度系统技术选型
我们先思考下面几个业务场景的解决方案:支付系统每天凌晨1点跑批,进行一天清算,每月1号进行上个月清算电商整点抢购,商品价格8点整开始优惠12306购票系统,超过30分钟没有成功支付订单的,进行回收处理商品成功发货后,需要向客户发送短信提醒类似的业务场景非常多,我们怎么解决?为什么我们需要定时任务很多
C语言编写-扫雷游戏详解,附带分析源码
扫雷游戏大家应该都不陌生,一个扫雷游戏要满足的基本要求是:1.第一次扫的位置不能是雷2.每展开一个位置要显示该位置周围雷的个数3.若该位置周围没雷,要把周围展开该游戏的界面是10X10的,有10个雷,大家可根据自己的需求参考去改该游戏的大体思路是:1.首先你肯定想到要设置一个数组放雷,有雷为1,无雷
C++打造迷宫游戏,直接上代码
C++迷宫游戏实现代码题目:通过让游戏角色自动寻找迷宫出口,走出迷宫,来练习C++面向对象之封装的基础知识。迷宫图如下所示,其中X表示墙。C/C++1、程序分析走出去的原理:遵循右手规则或左手规则。右手扶墙走,就会走出迷宫,反之,亦然。step1创建迷宫类,打印出迷宫地图。C/C++step2创建走
面试官让我讲讲Java中的锁,我笑了..
作者:byhieg来源:https://url.cn/5MVjM9e在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁上面是很多锁的名词,这些分类
String 字符串拼接问题,到底什么时候会走 StringBuilder?
作者:叫我不矜持来源:https://url.cn/5qv5LOT最近在突然想到了String字符串拼接问题,于是做了一个demo测试了一下,到底String类型的字符串在拼接的时候,哪种情况下会走会走StringBulider进行字符串拼接,而哪种情况编译器会对代码进行优化?话不多说,先看demo
一文学会递归解题
来源于公众号码海,作者kunge前言递归是算法中一种非常重要的思想,应用也很广,小到阶乘,再在工作中用到的比如统计文件夹大小,大到Google的PageRank算法都能看到,也是面试官很喜欢的考点最近看了不少递归的文章,收获不小,不过我发现大部分网上的讲递归的文章都不太全面,主要的问题在于解题后大部
清空认知,然后重新理解MySQL索引结构
作者:object主页:http://blog.objectspace.cn/前言Hello我又来了,快年底了,作为一个有抱负的码农,我想给自己攒一个年终总结。自上上篇写了手动搭建Redis集群和MySQL主从同步(非Docker)和上篇写了动手实现MySQL读写分离and故障转移之后,索性这次把数
Java程序员必需掌握的 4 大基础
作者:HimanshuVerma原文:https://medium.com/swlh/4-things-that-java-developer-thinks-are-most-confusing-complicated-87c2598f33f0译者:弯月,责编:屠敏,出品:CSDN(ID:CSDNn
警惕,Mybatis的size()方法竟然有坑
来源:https://tinyurl.com/yxshlvmeMybatis是一个开源的轻量级半自动化ORM框架,使得面向对象应用程序与关系数据库的映射变得更加容易。MyBatis使用xml描述符或注解将对象与存储过程或SQL语句相结合。Mybatis最大优点是应用程序与Sql进行解耦,sql语句是
Netflix开源内部Python工具Metaflow,部署效率提升17倍
开源最前线(ID:OpenSourceTop)猿妹编译链接:https://jaxenter.com/metaflow-python-aws-165305.htmlNetflix经常以开放源代码的形式向公众发布其内部工具。近日,Netflix的数据科学团队已将其MetaflowPython库开源,该
C语言进阶之路:转义字符!
\n//换行\r//回车\b//退格\f//换页\t//水平制表符\v//垂直制表符\a//响声\"//双引号\'//单引号\\x??//用小写x和两位数字(十六进制数)表示一个字符\???//用三位数字(八进制)表示一个字符例1:例2:表示文件路径
「C」 如何使用头文件 .h 编译 C 源码
在C语言中,头文件或包含文件通常是一个源代码文件,程序员使用编译器指令将头文件包含进其他源文件的开始(或头部),由编译器在处理另一个源文件时自动包含进来。一个头文件一般包含类、子程序、变量和其他标识符的前置声明。需要在一个以上源文件中被声明的标识符可以放在一个头文件中,使用时在其他源文件中包含该头文
终于明白为什么要加 final 关键字了
作者:guanpj来源:www.jianshu.com/p/acc8d9a67d0c在开发过程中,由于习惯的原因,我们可能对某种编程语言的一些特性习以为常,特别是只用一种语言作为日常开发的情况。但是当你使用超过一种语言进行开发的时候就会发现,虽然都是高级语言,但是它们之间很多特性都是不太相同的。现象