• 代码片段-消费生产者模式

      生产者生产数据到缓冲区中,消费者从缓冲区中取数据。 如果缓冲区已经满了,则生产者线程阻塞; 如果缓冲区为空,那么消费者线程阻塞。 BlockingQuene实现 package me.duzhi.demo.model; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingDeque; public class BlockingQueueConsumerProducer { public static void main(String[] args) {

    2018-05-07 07:43:4942评论: 04
  • 也写个HashMap--HMHashMap

    也来写个HashMap; Map 需要有几个函数,Get/Set/Remove/Size; 其实我们在曾经理解过的Hashmap,为什么会快,有学过二叉树,或者排序的,查找算法的同学可以看看;查询最快的是什么,数组?对,就是数组; 我们来看看Hm 怎么做的? 首先对于我们Map 的数据做两个维度的分类;一个基于hash值的分类,分类在同一类的在同一数组区域; 当然同一数据区域肯定是有同一类属性对吧; 从之前学过的数据看,常用的类似有:取模,平方中位等方法去做; 好有了这个概念就可以做第二步了,定义个Entry接口; package me.duzhi.demo.hm; public inter

    2018-05-07 00:39:0630评论: 04
  • 开源框架学习-Netty (一)

    话说鄙人最近有点恐惧,从百度上搜的词叫做恐怖型焦虑障碍,估计人到中年了,需要学习了。害怕被社会脱轨! 于是,开始了学习之旅,首先聊聊netty.标准rpc框架之一。大家都知道,之前都了解mina等等,都是rpc,如今最火的应该就是这个了。 说起这个,还是要从io说起,先介绍下io吧,有阻塞io,非阻塞io.多路io.等等,慢慢来,一个个介绍,顺便也给大家介绍下历程,从最初开始的阻塞式io,到非阻塞式IO. IO请求的两个阶段 等待资源阶段 IO请求一般需要请求特殊的资源(如磁盘、RAM、文件),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。 使用资源阶段 真正

    2018-04-25 02:03:0048评论: 04
  • Let’s Encrypt 宣布支持通配符证书,所有子域名可轻松开启 HTTPS

    3月14日,Let’s Encrypt的执行董事Josh Aas对外宣布,他们的通配符证书正式上线,用户可以基于此特性轻松部署/开启所有子域名的HTTPS功能。 Let’s Encrypt 是国外一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由 HTTP 过渡到 HTTPS,目前 Facebook 等大公司开始加入赞助行列。 Let’s Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被 Mozilla

    2018-03-14 16:12:0361评论: 04
  • 设计一套良好 REST API

    硅谷的apigee公司给出一份对REST API的设计指导原则,可以说这家公司在api开发,管理的成绩有目共睹。其提供的指导原则,可以说结合了其自身实际开发经验,诸多大型平台的实际运营经验和标准http规范。非常值得一读。 首先,你需要对REST API有一个基本的概念认知,然后再深入阅读: 1. 基于业务领域的数据建模,而非基于功能建模。 例如,取得所有的dog GET /api/dogs 取得一个特定的dog GET /api/dogs/{id} 取得特定名字的dogs GET /api/dogs/?name=xxx 创建一个dog POST /api/dogs 更改一个dog

    2018-03-12 10:35:0435评论: 04
  • 区块链的这些故事 我们曾经看过

    按照自然规律,每个行业都有其生命周期,有的行业长寿,因此经久不衰,而有的行业如流星,一闪而逝。如今火热的区块链自然如此,大量热钱的涌入之下,区块链已经变成大多数投资者追捧的焦点。 从市场发展上来看,目前区块链依然处在初级发展阶段,这与大量资金的投入显然是不符的,并且当前资金涌入的方向大多与区块链的联系不是那么紧密,有相关专家认为,如今大多数创新都属于集资创新,而不是技术创新。 重现的历史 这一幕,在中国此前的市场,我们都曾看到过。这样的情景,已经再次上演。 区块链技术其实早就存在,为何会在近段时间才火爆起来,这与比特币的爆炒有很大关系,尤其在比特币突破10000美元之后,其底层技术区块链也迅速

    2018-03-10 15:30:0115评论: 04
  • Spring Boot 2.0正式发布,新特性解读

    写在前面 北京时间 3 月 1 日,经过漫长的等待之后,Spring Boot 2.0 正式发布。作为 Spring 生态中的重要开源项目,Spring Boot 旨在简化创建产品级的 Spring 应用和服务。用户只需要"run"就能创建一个独立的,产品级别的 Spring 应用。 一经发布,Spring Boot 就迅速受到了开发者的青睐,到目前为止,它已经有超过 2 万个 Star,1.6 万个 fork(2017 年 GitHub 排名前十)。而 Spring Boot 2.0 的酝酿已有一段时间,从去年 5 月 16 日发布 M1 版本,再到后来的 RC 版本,也已有近 1 年时间。

    2018-03-10 14:46:0239评论: 04
  • Google计划推出新的网页标准 拥有 AMP 的效果

    在现有网页技术的基础上,该项目只使用了 HTML 中的一部分子集,使得 AMP HTML 文档(也就是网页)可以速度很快的运行在所有的现代浏览器中。在 Google 的加速移动页面项目发布公告中,该团队透露了未来推出这些 Web 标准的计划。 使用这套新的网络标准开发的内容将出现在 Google 搜索的某些区域,例如 Top Stories 轮播(Top Stories carousel)。 谷歌 AMP 项目的技术负责人 Malte Ubl 表示:“基于我们 AMP 用到的技术,现在我们准备好迈出下一步,努力支持更多不是基于 AMP 技术的即时加载内容......” 谷歌称,新的 Web 标

    2018-03-10 10:34:497评论: 04
  • 大话来自一个程序员的反思

    程序员大军鱼龙混杂,水平的高低无法简单的从一个功能完成情况来评定,同样一个需求,功能都可以完成,但是不同程序员完成质量会不一样,完成质量的好坏需要从多方面评定,可以参考这些条件:易维护,易拓展,高可用,高稳定,高性能,安全性,容错,风控 洞察身边的程序猿,可以归类出这几种类型: 理论型,理论能力很强,对前沿技术略有了解,性格比较强势,需求分析和方案设计头头是道,对自己的设计的内容比较自信固执,反观代码,质量差的一匹,逻辑乱,难维护难拓展,但是往往这种在公司评级还都挺高 潜力型,业务能力强,开发设计和问题排查思路清晰,可以提出优化/改进方案,能对业务适当抽象,自我技术要求比较高,代码质量好,平时

    2018-03-09 19:29:5529评论: 04
  • 提升个人效率从写日志开始

    每个人都想提升自己的效率,这方面的文章更是数不胜数。我个人对此也很感兴趣,尝试过 GTD,Kanban,番茄工作法等等。但这类方法往往很难坚持,有些系统过于复杂,有些对使用者要求过于严格。其实有一个既容易上手又立竿见影的方法,那就是写日志。我写了三年日志,觉得很有效,今天就把一些心得分享给大家。 什么是日志 以前在上学的时候,写过一段时间的日记,至今偶尔翻看起来,还是觉得非常有意思,有一种时间穿越的感觉。但我今天所说的日志与日记还是不太一样。日记一般是每天抽出一个时间段,写下自己一天的重要经历与感受,是一天的总结。但日志是你在做每件事情的时候,边做边写的,在记录的同时起到辅助你工作与思考的作用

    2018-03-09 14:03:2248评论: 04

联系我们

******

在线咨询:点击这里给我发消息

邮件:ashang.peng#aliyun.com

QR code