程序开发

为什么分布式一定要有消息队列?

一、为什么写这篇文章?博主有两位朋友分别是小A和小B:小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线。每天过的都是这种生活,技术零成长。小B,工作于某国企,虽然能接触到一些中间件技术。然而,他只会订阅/发布消息。通俗点说,就是调调API。对为什么使用这些中间件啊?如何保证高...
4个月前 (06-16) 阅读(210) 赞一个 (2) 评论() 链接直达
程序开发

JAVA8之妙用Optional解决判断Null为空的问题

引言在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示在这种情况下,有如下代码user.getAddress().getProvince();这种写法,在user为null时,是有可能报NullPointerException异常的。为了解决这个问题,于是采用下面的写法if(user!=null){   &nb...
4个月前 (06-16) 阅读(963) 赞一个 (2) 评论() 链接直达
程序开发

为什么分布式一定要有redis?

一、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。1、性能如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,...
4个月前 (06-16) 阅读(178) 赞一个 (2) 评论() 链接直达
Java开发

面试-线程池的成长之路

一、背景相信大家在面试过程中遇到面试官问线程的很多,线程过后就是线程池了。从易到难,都是这么个过程,还有就是确实很多人在工作中接触线程池比较少,最多的也就是创建一个然后往里面提交线程,对于一些经验很丰富的面试官来说,一下就可以问出很多线程池相关的问题,与其被问的晕头转向,还不如好好学习。此时不努力更待何时。二、什么是线程池?线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。如果每个请求都创建一个线程去...
4个月前 (06-16) 阅读(276) 赞一个 (2) 评论() 链接直达
程序开发

漫画:如何用Zookeeper实现分布式锁?

在上一篇漫画中,小灰介绍了如何使用redis实现分布式锁。没看过的小伙伴可以点击下面链接:漫画:什么是分布式锁?那么,如何用Zookeeper来实现分布式锁呢?这一次我们会为大家详细讲述。什么是临时顺序节点?让我们来回顾一下Zookeeper节点的概念:Zookeeper的数据存储结构就像一棵树,这棵树由节点组成,这种节点叫做Znode。Znode分为四种类型:1、持久节点 (PERSISTENT)默认的节点类型。创建节点的客户端与zo...
4个月前 (06-16) 阅读(323) 赞一个 (0) 评论() 链接直达
程序开发

漫画:什么是分布式锁?

—————  第二天  —————————————————分布式锁的实现有哪些?1、Memcached分布式锁利用Memcached的add命令。此命令是原子性操作,只有在key不存在的情况下,才能add成功,也就意味着线程得到了锁。2、Redis分布式锁和Memcached的方式类似,利用Redis的setnx命令。此命令同样是原子性操作,只有在key不存在的情况下,才能set成功。(setnx命令并不完善,后续会...
4个月前 (06-16) 阅读(241) 赞一个 (0) 评论() 链接直达
编程人生

能为程序员男友做点什么吗?

男朋友是程序员,每天熬夜又对着电脑,真的太伤身体了,可是我没法让他早睡……我能为他做点什么吗╯﹏╰正常状态:喜欢常年坐在电脑桌前,双眼紧盯屏幕,十指敲击键盘,忘了时间忘了天地,和电脑一生一世一双人。bug 状态:抓耳挠腮,薅头发,45 度仰望天空,怀疑人生。1. 不要随便买机械键盘!!有钱的话可以买好一点的显示器,不是所有的程序员都喜欢机械键盘,我教研室的师兄买了机械键盘之后就闲置了。但是显示器总是很给力的,我的好多程序员男同学都自己买...
4个月前 (06-16) 阅读(247) 赞一个 (2) 评论() 链接直达
面试题

一次惊险的跳槽面试经历(阿里/美团/头条/网易/有赞...)

为啥跳槽每次说因为生活成本的时候面试官都会很惊奇,难道有我们这里贵?好想直接给出下面这张图,厦门的房价真的好贵好贵好贵。。。面试过程有兴趣加入阿里的欢迎发简历至 zhangzb2007@gmail.com,或简书上给我发信息。面的是Java岗,总共面了7家公司,通过了6家。按自己的信心提升度我把面试过程分为上半场和下半场。上半场曹操专车这是吉利集团下属子公司,已经是一家独角兽。一面中规中矩,没啥特别的。二面好像是个主管,隔了好几天,基本...
4个月前 (06-16) 阅读(346) 赞一个 (0) 评论() 链接直达
编程人生

这是一份只有程序员才能看懂的高考卷

你是不是还在怀念曾经逝去的高三,遗憾自己没有超常发挥,或者遗憾自己志愿表没有填好。其实,只要志愿选的好,年年期末像高考。比如,你选择了计算机专业,那么你将面临高等数学、线性代数、C语言、计算机引论、离散数学、电子技术、C++程序设计、汇编语言程序设计、计算机组成原理、编译原理、操作系统、数据库原理……又是一年高考季,一起来做做“程序员们的高考试卷”,压压惊吧~2018年普通高等学校招生全国统一考试(A卷)程序员的高考试卷(A卷)考生类别...
4个月前 (06-16) 阅读(180) 赞一个 (0) 评论() 链接直达
科技资讯

一个支付宝竟使用了30多个开源软件

大家都会使用支付宝,在支付宝中的“设置”选项中,有一项为“关于”,在版权信息中显示了所有使用的开源软件信息。不看不知道,一看吓一跳,原来支付宝居然使用了30多个开源软件。下面整理了支付宝 Android 客户端使用的开源组件,觉得对你们有帮助的可以看下:1、FFmpegFFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在Linux下...
4个月前 (06-16) 阅读(351) 赞一个 (2) 评论() 链接直达
异常记录

坑爹的Logback日志无法按天切割问题

问题背景线上某个新管理型系统出现了日志无法按天切割生成日志文件的问题,所有的日志都在一个日志文件里面,只有每次重启的时候才会重新生成文件。这个管理系统使用的是 Spring Boot + Logback 框架,查看了 Logback 的日志文件,发现了策略组合使用问题。以下是有问题的日志配置代码。<appender name="FILE" class="ch.qos.logback...
4个月前 (06-16) 阅读(554) 赞一个 (1) 评论() 链接直达

程序喵 www.ibloger.net

关于本站 站内留言 给我写信 文章订阅