• Java 内存模型 JMM 浅析

    JMM简介 Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无关具体平台的统一的保证。(可能在术语上与Java运行时内存分布有歧义,后者指堆、方法区、线程栈等内存区域)。 并发编程有多种

    18-02-07
  • 程序员|福利再次来袭,不仅仅是《Python开发》书籍

    还有一星期的时间就要过年了,从开始到现在,终端研发部和大家已经度过了近三年光阴。以前大家都叫我于总,于哥之类的,目前在创业公司里和老板一起搞医疗,于总真的不敢当。如果可以的话,大家叫我于哥就行。 一路走来非常感谢大家的支持,我并不是什么有钱

    18-02-05
  • 聊聊 2018 年后端技术趋势

    不少做Android的同学们转向了后台开发,虽然仍处在前端开发的阶段,但仍然有必要了解后端技术的发展。最近看到一篇文章,觉得写的很不错,给大家推荐一下 原文地址 异步模式 Go 语言越来越热门,很多大型互联网公司后端正在转向 GO 。Java 圈知名的服务化框

    18-01-30
  • 大公司面试要注意的问题,你都知道吗

    问求职面试要注意哪些问题? 面试是成功求职的临门一脚。求职者能否实现求职目标,关键的一步是与用人单位见面,与人事主管进行信息交流,使人事主管确信求职者就是用人单位所需要的人才。 面试是其他求职形式永远无法代替的,因为在人与人的信息交流形式中

    18-01-24
  • 送书拉! 08年新开始|福利近在咫尺

    前言 相比C++代码规范业界已经达成共识,Java代码规范业界比较混乱,这次阿里发布的Java代码规范给业界带来一个标准,促使整体行业代码规范水平得到提高,最终能够帮助企业和开发者提升代码质量和降低代码故障率。 送书如期而至 新的一年新风尚,新的阳光新

    18-01-02
  • 挑战App Store,微信通过“跳一跳”秀了一下“小程序”的肌肉

    2017年即将结束的时候,微信放了一个大招。随着最新的微信v6.6.1版本更新,基于小程序的“小游戏”板块正式上线。微信上首发的这款“小游戏”叫“跳一跳”,名字清新,画面可爱,上手简单,精通颇难,加上基于微信好友的排名系统,“跳一跳”短时间内成为热

    17-12-29
  • Java8-Lambda编程[6] 总结与放弃

    并发 昔日未来之星 Future接口 要用到并发,无非就是多开些线程,Thread、Runable之类的俗套咱就不多说了,来简单讲讲Future接口。,没有接触过并发编程的同学可以先自行了解一下相关知识,以免对后面的内容感到生涩难懂。Future顾名思义,就是未来要产生的

    17-12-28
  • Java8-Lambda编程[5] 并发与CompletableFuture类

    填坑 还记得我在第五章《并行与并发》最留的坑吗?下面我们就来继续挖它,通过剖析源码,一层一层拨开它的心。 万流之眼 StreamSupport辅助类 为什么只是将parallel标志位设为false或true就可以关闭或开启并行,真正的实现原理是什么呢?我们先来看看集合类

    17-12-26
  • 聊一聊正则表达式,最全最常用总结

    日常开发文本处理过程中,简单的Ctro+H模式(一对一替换模式)已经不能满足需要了我们需要更为强大的文字处理工具,正则于是应运而生。很多小伙伴不怎么太懂正则。比如我们用到的最多的就是注册的时候我们看到的用户帐号验证,密码的验证、邮箱等等、看看用

    17-12-26
  • 优秀的程序员是不看源码的

    向知乎神文致敬: 优秀的女孩是没有性生活的 前几天我和一位程序员朋友唠嗑,连续交流了几个框架 api 他都不知所云。 尴尬之余,我问他:「你没有什么理想吗?你现在最渴望的事情是什么?」 他不假思索的说道:「看框架源码

    17-12-26
  • Java8-Lambda编程[4] 串行与并行

    串行,即按序执行每个线程的任务会使程序效率很低下,与之相对的是并行与并发。并行是指多(核)cpu同时处理多个线程,每个cpu单独负责一个线程,有多少个cpu,就可以并行的执行多少线程。而并发是指多个线程在宏观(相对于较长的时间区间而言)上表现为同时执行

    17-12-12
  • Java8-Lambda编程[3] Optional接口

    Optional类我们前面已经提及过,主要是为了替代null的使用,避免空指针异常(NullPointerException)的出现。譬如定义下面一个类A: class A { private String name; public String getName() { return name; } 如果我调用它的getName方法获取name字段并进行

    17-12-12
  • Java8-Lambda编程[2] Colloctor接口

    Collector,意为收集器。上一节提到Stream类的一个及时求值方法collect就是以Collector对象为参数的,它会根据传入的Collector对象返回一个收集类。collect方法还有一种三参数形式,与reduce方法的该形式一样涉及并行知识,我们将留到下一节再进行讨论。Coll

    17-12-12
  • Java8-Lambda编程[1] Stream接口

    Stream,意为流,是Lambda编程中的一个重要角色。Stream类主要用于对集合类与数组的迭代,用于替代传统的foreach结构,并且可以很方便的实现很多更为高级的功能。 例如,如果我们要对一个List 类型的收集变量进行遍历操作并输出每一个以“a”开头的元素,那

    17-12-12
  • Java8-Lambda编程[0] Lambda表达式

    最初我接触到Lambda表达式,是用来取代冗长的匿名内部类结构。 例如,要实现一个最简单的线程用来输出当前时间,习惯上可能会有如下写法: Thread thread = new Thread() { @Override public void run() { while(true) { System.out.println(new Date()); }

    17-12-12
471文