标签:本质

Java

深入理解 RxJava2:揭秘 subscribeOn(3)

2

xubiao.zhuang 发布于 2018-08-20

前言 欢迎来到深入理解 RxJava2 系列第三篇。在上一篇中,我们详细地介绍了 Scheduler 与 Worker 的概念,并分析了 ComputationScheduler 与 IoScheduler 的实现,以帮助大家加深理解。本篇文章将基于 Scheduler ,来和大...

阅读(7)评论(0)赞 (0)

Java

深入理解多线程(二)—— Java的对象模型

7

Harries 发布于 2018-08-17

上一篇文章中简单介绍过 synchronized 关键字的方式,其中,同步代码块使用 monitorenter 和 monitorexit 两个指令实现,同步方法使用 ACC_SYNCHRONIZED 标记符实现。后面几篇文章会从JVM源码的角度更加深入,层层剥开 synchro...

阅读(23)评论(0)赞 (0)

Java

你应该知道的缓存进化史

15

puefu.he 发布于 2018-08-17

1.背景 本文是上周去技术沙龙听了一下爱奇艺的Java缓存之路有感写出来的。先简单介绍一下爱奇艺的java缓存道路的发展吧。 可以看见图中分为几个阶段: 第一阶段:数据同步加redis 通过消息队列进行数据同步至redis,然后Java应用直接去取缓存 这个阶段优点是:由于是使用...

阅读(25)评论(0)赞 (0)

创业故事

「无痛」创业指南 创业的意义到底是什么?

3

puefu.he 发布于 2018-08-17

今年8月7日,连续创业者甘来跳楼自杀。这次死亡,让很多人第一次也是最后一次听说了这个名字。 创业很辛苦,雷军也说过,创业不是人干的事,一旦选择创业,就选择了一个无比痛苦的人生,承受压力、困惑、别人的不理解甚至是看不起,真正能走向成功的只是极少数,绝大部分创业者都成了铺路石。 不过...

阅读(17)评论(0)赞 (0)

Java

深入理解 RxJava2:Scheduler(2)

4

songhua.gao 发布于 2018-08-16

前言 欢迎来到大家深入理解 RxJava2 系列第二篇,这里先插上一句,本系列文章用的源码都是基于 RxJava 2.2.0 正式版。本篇文章将先与大家一起理解 Scheduler 与 Worker ,顺着 RxJava2 的源码捋一下它们的实现原理。 Scheduler 与 W...

阅读(10)评论(0)赞 (0)

Java

【tomcat系统架构(一)】

3

尖兵 发布于 2018-08-16

四图带你了解Tomcat系统架构——让面试官颤抖Tomcat系列 Java高级架构——Tomcat源码解析之整体流程介绍 一、架构 下面谈谈我对Tomcat架构的理解 总体架构: 1、面向组件架构 2、基于JMX 3、事件侦听 1)面向组件架构 tomcat代码看似很庞大,但从结...

阅读(15)评论(0)赞 (0)

Java

源码阅读-HashMap

2

puefu.he 发布于 2018-08-16

扩容是一个特别耗性能的操作,因此建议使用HashMap时,尽量指定一定大小的初始容量 HashMap 是线程不安全的,并发环境中建议使用 ConcurrentHashMap JDK8中引入的红黑树优化了大量hash碰撞时的性能 HashMap中的红黑树代码作者实在没力气看了,因此...

阅读(22)评论(0)赞 (0)

Java

架构师之路:从Java码农到年薪八十万的架构师

8

刘莉莉 发布于 2018-08-15

Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,成为Java架构师除了掌握Java语法,还要系统学习哪些Java相关的技术,今天分享一个,互联网Java技术学习...

阅读(17)评论(0)赞 (0)

Java

感悟优化――Netty对JDK缓冲区的内存池零拷贝改造

2

likai 发布于 2018-08-15

NIO中缓冲区是数据传输的基础,JDK通过ByteBuffer实现,Netty框架中并未采用JDK原生的ByteBuffer,而是构造了ByteBuf。 ByteBuf对ByteBuffer做了大量的优化,比如说内存池,零拷贝,引用计数(不依赖GC),本文主要是分析这些优化,学习...

阅读(18)评论(0)赞 (0)

Java

《Java8实战》-第三章读书笔记(Lambda表达式-01)

xiaoli.he 发布于 2018-08-15

在《Java8实战》中第三章主要讲的是 Lambda表达式 ,在上一章节的笔记中我们利用了行为参数化来因对不断变化的需求,最后我们也使用到了Lambda,通过表达式为我们简化了很多代码从而极大地提高了我们的效率。那我们就来更深入的了解一下如何使用Lambda表达式,让我们的代码更...

阅读(8)评论(0)赞 (0)

Spring

从0开始手写一个Spring MVC框架,向高手进阶!

5

likai 发布于 2018-08-15

Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面。如果不看Spring的源码,你将会失去一次和大师学习的机会:它的代码规范,设计思想很值得学习。 我们程序员大部分人都是野路子,不懂什么叫代码规范。写了一个月...

阅读(17)评论(0)赞 (0)

Java

JVM如何处理方法调用

3

邓龙华 发布于 2018-08-14

所有方法在Class文件都是一个常量池中的符号引用,类加载的解析阶段会将其转换成直接引用,这种解析的前提是:要保证这个方法在运行期是不可变的。这类方法的调用称为解析。 jvm提供了5条方法调用字节码指令: [ ] invokestatic:调用静态方法 [ ] invokespe...

阅读(11)评论(0)赞 (0)

创业故事

创业原罪 拼多多黄峥一个赌徒式的创业者

6

yeseng 发布于 2018-08-14

“以前卖的好好的,凭什么要我的货下架?”“罚款去向哪里,要给我出示证据。”拼多多要是不把保证金还给我,我就在楼下一直坐着。” 在勉强回复了13名商家关于冻结钱款的置疑后,两名拼多多员工,匆忙退回到上海金虹桥国际中心22层...

阅读(23)评论(0)赞 (0)

Java

WebSocket的故事(二)—— Spring中如何利用STOMP快速构建WebSocket广播式消息模式

1

xubiao.zhuang 发布于 2018-08-14

本文是WebSocket的故事系列第二篇,WebSocket的故事系列计划分五篇,旨在由浅入深的介绍WebSocket以及在Springboot中如何快速构建和使用WebSocket提供的能力。本系列计划包含如下几篇文章: 第一篇,什么是WebSocket以及它的用途 第二篇,S...

阅读(32)评论(0)赞 (0)

Java

如何优雅地构建易维护、可复用的 Android 业务流程(二)

8

hellas 发布于 2018-08-14

这是关于如何在 Android 中封装业务流程经验分享的第二篇,第一篇在这里。所谓 业务流程 ,指的是一系列页面的集合,这些页面肩负着一个特定职责,负责和用户交互,从用户端收集信息。业务流程有时候由用户主动触发,而有时候是由于某些条件不满足而触发,当流程完成以后,有时候只是简单地...

阅读(26)评论(0)赞 (0)

Spring

使用契约测试提高分布式系统的质量

15

songhua.gao 发布于 2018-08-13

本文要点 分布式组件间的交互情况难以测试。一个原因是消费者端创建的测试Stub ,并在生产者的代码中得到测试。 单元测试本身不能回答各组件间是否适合一起工作。开展集成测试是有必要的,尤其是测试客户与服务器之间的通信。 契约测试定义了组件间的会话情况。 Spring Cloud C...

阅读(26)评论(0)赞 (0)

Java

RxJava 在闲鱼系统吞吐量提升上的实践

8

darida 发布于 2018-08-13

引言 响应式编程最简单的定义是Reactive programming is programming with asynchronous data streams。无论是从Spring5中引入的响应式编程框架还是java9中集成的响应式流,都能看到响应式编程的影子。可以说响应式编...

阅读(18)评论(0)赞 (0)

Java

王垠:Kotlin 和 Checked Exception

3

wenming.gapo 发布于 2018-08-13

最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦定语言”,很多人听了之后热血沸腾。初学者们也开始注意到 Kotlin,问出各种“傻问题”,很“功利”的问题,比如“现在学 Kotlin...

阅读(19)评论(0)赞 (0)