Java面试题解构 发表于 2017-10-09 | 0 | 阅读次数 87 有次一个同事让我一同去面试一个候选人,没仔细看简历,所以在问了设计模式之后就让他谈一谈对内存泄漏和垃圾回收的理解,当时候选人一下子就懵了。后来才知道,他面的是初、中级开发职位,想来估计候选人心里也在骂我吧。我自己用过各式各样的方法面试候选人,也被各式各样的方式面试过。有让拿电脑直接写代码的,有让在白 阅读全文 »
Java 9中的GC调优基础 发表于 2017-09-26 | 分类于 开发感想 | 0 | 阅读次数 64 在经过了几次跳票之后,Java 9终于在原计划日期的整整一年之后发布了正式版。Java 9引入了很多新的特性,除了闪瞎眼的Module System和REPL,最重要的变化我认为是默认GC(Garbage Collector)修改为新一代更复杂、更全面、性能更好的G1(Garbage-First)。 阅读全文 »
JDK解构 - Java中的引用和动态代理的实现 发表于 2017-07-03 | 分类于 开发感想 | 0 | 阅读次数 66 我们知道,动态代理(这里指JDK的动态代理)与静态代理的区别在于,其真实的代理类是动态生成的。但具体是怎么生成,生成的代理类包含了哪些内容,以什么形式存在,它为什么一定要以接口为基础?如果去看动态代理的源代码(java.lang.reflect.Proxy),会发现其原理很简单(真正二进制类文件的生 阅读全文 »
简单聊聊SOA和微服务 发表于 2017-06-01 | 分类于 开发感想 | 0 | 阅读次数 89 前两天和一个朋友聊天,他向我咨询如何从零开始构建一个健壮、强大的软件系统,聊着聊着他忽然问我,「听大家都在说微服务(下文中有的地方会使用MSA),还有人会提到SOA,那么他们的区别到底在哪里?」。我想了想,一时也列不出来一个详细的列表,只能跟他讲说其实他们在概念上是相似的。关于软件系统的架构设计,是 阅读全文 »
程序员拿什么来学英语 发表于 2017-05-07 | 分类于 笔记 | 0 | 阅读次数 87 以前有个意大利的朋友,他怀着环游世界的梦想来到中国,在上海靠教小朋友英语挣点旅游经费,因缘际会一起去香港玩,在香港的太平山顶的山道上散步,天南海北地聊天。现在想想当时的画面应该很奇怪,一个带着南欧口音的意大利人和一个中式口音的中国人在用英语谈着人生和理想。偶然间聊到了中国的英语教育,于是有了如下的对 阅读全文 »
Java线程池的理论与实践 发表于 2017-05-01 | 分类于 开发感想 | 0 | 阅读次数 87 前段时间公司里有个项目需要进行重构,目标是提高吞吐量和可用性,在这个过程中对原有的线程模型和处理逻辑进行了修改,发现有很多基础的多线程的知识已经模糊不清,如底层线程的运行情况、现有的线程池的策略和逻辑、池中线程的健康状况的监控等,这次重新回顾了一下,其中涉及大量java.util.concurren 阅读全文 »
从I/O模型到Netty(三) 发表于 2017-04-16 | 分类于 开发感想 | 0 | 阅读次数 85 零、写在前面本文虽然是讲Netty,但实际更关注的是Netty中的NIO的实现,所以对于Netty中的OIO(Old I/O)并没有做过多的描述,或者说根本只字未提,所以本文中所述的所有实现细节都是基于NIO版本的。Netty作为一个已经发展了十多年的框架,已然非常成熟了,其中有大量的细节是普通使用 阅读全文 »
从I/O模型到Netty(二) 发表于 2017-03-26 | 分类于 开发感想 | 0 | 阅读次数 87 在上一篇文章中对于I/O模型已经讲的比较清楚了,在I/O密集型应用中使用Reactor模式可以明显提高系统的性能(我们这里谈到的性能很大程度上指的是吞吐量),但是在具体的开发过程中模式还是要落地成真实的代码,使用传统的I/O库肯定是不行的,在Java中需要使用java.nio包下的库。虽然是讲NIO 阅读全文 »
从I/O模型到Netty(一) 发表于 2017-03-13 | 分类于 开发感想 | 0 | 阅读次数 85 I/O是任何一个程序设计者都无法忽略的存在,很多高级编程语言都在尝试使用巧妙的设计屏蔽I/O的实际存在,减小它对程序的影响,但是要真正的理解并更好运用这些语言,还是要搞清楚I/O的一些基本理念。本文将从最基本的I/O概念开始,试图理清当前I/O处理存在的问题和与之对应一些手段及背后的思想。本来这是上 阅读全文 »
一个外行如何快速融入node项目 发表于 2017-02-25 | 0 | 阅读次数 66 去年上半年开始接触了一些JS的后端编程,参与了一个基于node(其实是Meteor)的开源项目,有一些知识上的积累,现在回归了Java老本行,怕再过段时间就忘了,在这里记录一下,好记性不如烂笔头,说不定以后会有用。node大神可以看来消遣,跟我一样是外行但是需要写一些node程序的可以看看经验。这篇 阅读全文 »