xindoo

xindoo

ThreadLocal Java多线程下的影分身之术

如果写过多线程的代码,你肯定考虑过线程安全问题,更进一步你可能还考虑在在线程安全的前提下性能的问题。大多数情况下大家用来解决线程安全问题都会使用同步,比如用synchron或者concurrent包提供的各种锁,当然这些都能解决问题。但有多线程做同步一定会涉及到资源争抢和等待的问题。java中各种...

2019-03-24 15:56:54

阅读数 17

评论数 2

微信朋友圈自动点赞

我一直都不太喜欢给别人点赞,某一年(貌似是17年)微信出了一次朋友圈年报,那一整年我就点出去了几个赞,要知道当时我微信好友应该有300+。我觉得这是我不喜欢参与社交活动在网络世界的一种体现吧。不给被人点赞也没啥坏处,但你不评不赞,难免会让你和好友之间有些疏远,给别人点赞吧我又嫌麻烦,于是一直想着做...

2019-03-10 10:36:13

阅读数 889

评论数 4

Java WeakHashMap

作为一个java开发者肯定都知道且使用HashMap,但估计大部分人都不太知道WeakHashMap。从类定义上来看,它和普通的HashMap一样,继承了AbstractMap类和实现了Map接口,也就是说它有着与HashMap差不多的功能。那么既然jdk已经提供了HashMap,为什么还要再提供...

2019-03-05 20:15:30

阅读数 15

评论数 0

Java弱引用(WeakReferences)

前一段时间当我面试有些来应聘高级java开发工程师岗位的候选人时,在我问的众多问题中,有个问题是“你能告诉我弱引用是啥吗”,我不期望得到像论文中的细节一样的答案。我很可能从有个20多年的老工程师口中得到“嗯……是不是和gc有关”这样的答案,所有哪些至少有5年以上经验的工程师只有两个人知道弱引用的存...

2019-02-21 21:03:44

阅读数 37

评论数 2

辞旧迎新又一年(18年年终总结)

赶在春节放假前写完我2018年的年终总结,虽然又晚了,但还是不能缺的。每次拖延都有很多的理由,这次主要是19年上班第一天喜提996,从此属于自己的时间又少了,哎,说到底其实还是自己拖延症犯了。   先概括下过去的一年,如果说17年是本命年水逆,那么18年算是水逆后开始转运的一年,但貌似也没彻底转过...

2019-01-31 22:36:05

阅读数 756

评论数 4

Java和C++的性能对比

前两天水群,和别人扯到C++和Java的性能对比,感觉现在好多人已经不再说java慢了,甚至好多人认为java性能已经和C++差不多了。但是正好我司有个模块在尝试java转C++,这就引来大家的一片质疑,后来我在网上找到这样一份数据,大多数情况下C++无论在运行速度还是内存占用,比Java有更大的...

2019-01-20 14:55:40

阅读数 4843

评论数 12

Spring依赖注入的三种方式(好的 坏的和丑的)

关于spring bean三种注入方式的优缺点对比,翻译自Spring DI Patterns: The Good, The Bad, and The Ugly,水平有限,如有错误请指正。   Spring开发者会很熟悉spring强大的依赖注入API,这些API可以让你用@Bean的注解让Spr...

2019-01-13 10:25:20

阅读数 122

评论数 0

用fbprophet预测北京未来一个月的气温

fbprophet是facebook开源的时序数据预测包,提供了简洁的python和R api,可以对时序数据做一些预测,也提供了有些简单的趋势分析。更多细节可以看下官方文档。官方doc中给了一个数据集作为prophet的入门,这里我也只是按照官方的入门文档编写了的代码,很简单,只是把数据集换成了...

2019-01-07 20:57:29

阅读数 155

评论数 0

我常用的一些linux命令

之前做过两年的运维,用过很多命令,深切体会到某些linux命令熟练掌握后对效率提升有多大。举个简单的例子,在做了研发后经常会有跑一些数据,对于结果数据的处理,我们的产品同学一般都习惯于用excel做统计,把数据复制到excel里,然后数据分列,排序………… 最后得出某些简单的结论,我只需要cat,...

2018-12-22 08:37:17

阅读数 6060

评论数 17

OSI七层网络协议

在前一篇博客[运维往事 一次负载均衡坏点检测事故](https://blog.csdn.net/xindoo/article/details/83473664)中我提到了在生产环境中在第四层和第七层做healthCheck,这个第四层和第七层到底是什么意思呢?除了第四层第七层之外,其他的几层到底是...

2018-11-26 22:04:16

阅读数 879

评论数 1

运维往事 一次负载均衡坏点检测事故

之前做运维,有一些印象很深的事故,今天来讲其中一个,为了大家能理解,先说一些背景。现在因为流量巨大,单台机器肯定不足以为所有用户提供服务,所以大公司几乎任何一个服务的背后都是一套集群,然而任意一台机器不是100%可靠,如果你想让你服务尽可能接近100%可靠,你的集群就得具备检测和剔除坏点的能力。 ...

2018-10-28 12:36:02

阅读数 1725

评论数 1

运维往事 公司生产服务器不让连公网

15年毕业,就莫名其妙做了运维,也成为了阿里最后一批业务运维(pe)。刚开始做运维的时候由于基础知识太差,很多事情做了就做了,但也不理解为什么那么做了,知道后来跳出运维的圈子,自己做了开发,思路、见识、视野渐渐开阔之后也就慢慢明白了之前好多不懂的东西,想着想着也觉得比较有意思,这里记录下。   在...

2018-10-25 22:18:30

阅读数 360

评论数 0

死锁

之前在学校学习过程中,很少写多进程的代码,虽然操作系统中学过死锁相关的内容,但考试过后也基本就忘记了,后来自己也遇到过有些多进程死锁的情况,再加上看了有些资料,对死锁才算是有了有些深入的理解。 死锁的产生 想起今年年初在面试的时候,有个面试官让我写一段可能会发生死锁的代码,我就写了如下的代码。 i...

2018-10-21 10:23:49

阅读数 292

评论数 0

Java HashMap源码浅析

  之前虽然很频繁使用java的hashmap,但一直都是纯用,至于里面怎么实现的,一直都是糊里糊涂的。今年4月份跳槽找工作,大概看了一下HashMap的源码,在面试过程中也被多位面试官问到HashMap的相关问题。本来几个月前就想着写一篇相关源码解析的博客(主要是加深自己的理解),一直拖到现在,...

2018-09-11 23:07:15

阅读数 389

评论数 0

java.util.Random和concurrent.ThreadLocalRandom对比

  最近工作中遇到了一个需求,需要以一定的概率过滤掉一部分的流量,想想只能用Random了,因为是在多线程环境下,我还特意确认了下Random在多线程是否能正常运行,Random的实现也比较简单,初始化的时候用当前的事件来初始化一个随机数种子,然后每次取值的时候用这个种子与有些MagicNumbe...

2018-08-27 22:17:21

阅读数 306

评论数 0

DevOps和SRE

  之前总是把SRE和DevOps混为一谈,总觉得这两个是同一种东西在不同公司的叫法,知道前两天google又放出了《The Site Reliability Workbook》 ,书中对比了SRE和DevOps的异同。今日重新看wikepedia上DevOps的的定义 ,发现两者虽有共同点,但本...

2018-08-05 16:16:34

阅读数 348

评论数 0

Leetcode contests 95 题解

876. Middle of the Linked List   简单题,我的做法是先数下个数,然后知道中间节点是第几个了。 class Solution { public ListNode middleNode(ListNode head) { ListNode...

2018-07-29 12:56:59

阅读数 109

评论数 0

Leetcode contests 93 题解

868. Binary Gap   简单题,就是求一个数字二进制形式中两个1的最大间隔位置,比如22的二进制0b10110,最大距离就是2,0b100001,最大距离是5。 class Solution { public int binaryGap(int N) { ...

2018-07-15 11:33:11

阅读数 181

评论数 0

一道有趣的面试题

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文...

2018-06-26 22:54:26

阅读数 410

评论数 0

记第一次跳槽

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文...

2018-05-30 22:04:32

阅读数 182

评论数 2

提示
确定要删除当前文章?
取消 删除