Java高并发综合

这篇文章是研一刚入学时写的,今天整理草稿时才被我挖出来。当时混混沌沌的面试,记下来了一些并发的面试问题,很多还没有回答。到现在也学习了不少并发的知识,回过头来看这些问题和当时整理的答案,漏洞百出又十分可笑。发表出来权当对自己的一个提醒——如果不能一直进步,你就看不到当初傻逼的自己。


曾经,我在面试Java研发实习生时最常听到的一句话就是:

搞Java怎么能不学并发呢?

没错,真的是经过了面试官的无数鄙视,我才知道Java并发编程在Java语言中的重要性。

more >>

翻墙:从入门到放弃(一)

然而题目和本文无关——本文乃XX-Net翻墙教程

出于各种可描述和不可描述的理由,很多朋友需要翻墙。众多梯子(翻墙工具)中,XX-Net是至今最让我满意的,简单、免费、流量足。特整理一篇XX-Net翻墙教程,以我当年作为小白的标准,详细到几乎每一步都有截图,希望能够帮到朋友们。

more >>

消灭人类暴政,世界属于三体

有这样一个笑话:

程序猿追求一美女。
美女:你能让这个论坛的人都吵起来,我今晚就跟你走。
于是,程序猿在论坛上说道:PHP是最好的语言!
论坛炸锅了,各种吵架。。。
美女:服了你了,我们走吧。今天你想干啥都行。
程序猿:今天不行,我一定要说服他们!

PHP是不是世界上最好的语言,这个问题或许没有答案——当然,程序猿能不能追到女孩可能也没有答案。但是,如果说程序猿公认最棒的中文科幻小说,那就非《三体》莫属了

more >>

已开通微信公众号

已开通微信公众号“程序猿说你好”,不定期更新,主要聊聊程序猿的生活、工作和花花世界
博客的文章也会逐步同步到微信。微信传播比较方便,但博客的自由才是最不可替代的,所以主要精力还是在博客上。
欢迎大家扫描文章末尾的二维码收听我的微信公众号,也可以点击文章末尾的“作者”发邮件联系我。
最后,再次感谢朋友们的宝贵意见和大力支持。

more >>

源码|从源码分析非线程安全集合类的不安全迭代器

非线程安全集合类(这里的集合指容器Collection,非Set)的迭代器结合了及时失败机制,但仍然是不安全的。这种不安全表现在许多方面:

  1. 并发修改“通常”导致及时失败
  2. 单线程修改也可能导致及时失败的“误报”
  3. 迭代器会“丢失”某些并发修改行为,让及时失败失效

如果不了解其不安全之处就随意使用,就像给程序埋下了地雷,随时可能引爆,却不可预知。
ArrayList是一个常用的非线程安全集合,下面以基于ArrayList讲解几种代表情况。

more >>

我是猴子007,<br>一只非常特殊的动物,<br>可以从事程序的开发、维护,<br>经常因寻找香蕉或母猿而无心工作。