首页
学习
活动
专区
工具
TVP
发布

BaronTalk

公众号:BaronTalk
专栏作者
34
文章
50998
阅读量
36
订阅数
Java 会被谷歌抛弃?最新的官方回答来了
做 Android 的应该没有几个不知道扔物线朱凯的,他是中国唯一的 Android GDE 和 Kotlin GDE(谷歌官方认证开发专家,这样的人在全世界仅 18 位),很多人的自定义 View 和 Kotlin 都是通过他的技术视频带进门的。凯哥的技术视频既轻松搞笑又浅显易懂,同时又有惊人的技术深度。昨天看到凯哥更新,我震惊了:他竟然在这期视频里采访了 Kotlin 和 Android 官方!
张磊BARON
2020-06-23
9270
深入理解Java虚拟机(高效并发)
高效并发是 JVM 系列的最后一篇,本篇主要介绍虚拟机如何实现多线程、多线程间如何共享和竞争数据以及共享和竞争数据带来的问题及解决方案。
张磊BARON
2019-07-31
3800
深入理解Java虚拟机(程序编译与代码优化)
对于性能和效率的追求一直是程序开发中永恒不变的宗旨,除了我们自己在编码过程中要充分考虑代码的性能和效率,虚拟机在编译阶段也会对代码进行优化。本文就从虚拟机层面来看看虚拟机对我们所编写的代码采用了哪些优化手段。
张磊BARON
2019-07-31
6050
深入理解Java虚拟机(字节码执行引擎)
执行引擎是 Java 虚拟机最核心的组成部分之一。「虚拟机」是相对于「物理机」的概念,这两种机器都有代码执行的能力,区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机执行引擎是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。
张磊BARON
2019-07-31
5990
深入理解Java虚拟机(类加载机制)
我们的源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行。虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。
张磊BARON
2019-07-31
3160
深入理解Java虚拟机(类文件结构)
之前在阅读 ASM 文档时,对于已编译类的结构、方法描述符、访问标志、ACC_PUBLIC、ACC_PRIVATE、各种字节码指令等等许多概念听起来都是云山雾罩、一知半解,原因就在于对类文件结构和类加载机制不够了解。直到后来细读了《深入理解 Java 虚拟机》中虚拟机执行子系统的相关内容,才建立了清晰的认知。如果你也和我一样,不了解类结构和类加载,但是工作中又涉及到字节码相关内容,相信后面两篇文章会对你有所帮助。
张磊BARON
2019-07-31
3960
深入理解Java虚拟机(自动内存管理机制)
书籍真的是常读常新,古人说「书读百遍其义自见」还是很有道理的。周志明老师的这本《深入理解 Java 虚拟机》我细读了不下三遍,每一次阅读都有新的收获,每一次阅读对 Java 虚拟机的理解就更进一步。因而萌生了将读书笔记整理成文的想法,一是想检验下自己的学习成果,对学习内容进行一次系统性的复盘;二是给还没接触过这部好作品的同学推荐下,在阅读这部佳作之前能通过我的文章一窥书中的精华。
张磊BARON
2019-07-31
4270
RxJava系列七(最佳实践)
前言 有点标题党了,其实谈不上什么最佳实践。前段时间公司实行996,所以也没什么时间和精力来更新博客(好吧~我承认是我懒~)。因此这篇文章只是简单的通过两个例子介绍了RxJava在生产环境中的使用。不过本篇中的每个例子我都配上了完整的代码。 按照计划这一期是要介绍RxJava框架结构和设计思想的,但是考虑到Netflix将在十月底发布RxJava2.0正式版;因此决定将RxJava框架结构和设计思想分析放到2.0正式版发布后再做。后续我也会有一系列的文章来介绍RxJava1.x和2.x的区别。 示例一
张磊BARON
2018-04-13
9660
RxJava系列六(从微观角度解读RxJava源码)
前言 通过前面五个篇幅的介绍,相信大家对RxJava的基本使用以及操作符应该有了一定的认识。但是知其然还要知其所以然;所以从这一章开始我们聊聊源码,分析RxJava的实现原理。本文我们主要从三个方面来分析RxJava的实现: RxJava基本流程分析 操作符原理分析 线程调度原理分析 本章节基于RxJava1.1.9版本的源码 一、RxJava执行流程分析 在RxJava系列2(基本概念及使用介绍)中我们介绍过,一个最基本的RxJava调用是这样的: 示例A Observable.create(new
张磊BARON
2018-04-13
1.5K0
RxJava系列五(组合操作符)
这一章我们接着介绍组合操作符,这类operators可以同时处理多个Observable来创建我们所需要的Observable。组合操作符主要包含: Merge StartWith Concat Zip CombineLatest SwitchOnNext Join等等。 Merge merge(Observable, Observable)将两个Observable发射的事件序列组合并成一个事件序列,就像是一个Observable发射的一样。你可以简单的将它理解为两个Obsrvable合并成了一个O
张磊BARON
2018-04-13
9330
RxJava系列四(过滤操作符)
前面一篇文章中我们介绍了转换类操作符,那么这一章我们就来介绍下过滤类的操作符。顾名思义,这类operators主要用于对事件数据的筛选过滤,只返回满足我们条件的数据。过滤类操作符主要包含: Filter Take TakeLast TakeUntil Skip SkipLast ElementAt Debounce Distinct DistinctUntilChanged First Last等等。 Filter filter(Func1)用来过滤观测序列中我们不想要的值,只返回满足条件的值,我们看
张磊BARON
2018-04-13
8840
RxJava系列三(转换操作符)
前面两篇文章中我们介绍了RxJava的一些基本概念和RxJava最简单的用法。从这一章开始,我们开始聊聊RxJava中的操作符Operators,后面我将用三章的篇幅来分别介绍: 转换类操作符 过滤类
张磊BARON
2018-04-13
6600
RxJava系列二(基本概念及使用介绍)
前言 上一篇的示例代码中大家一定发现了Observable这个类。从纯Java的观点看,Observable类源自于经典的观察者模式。RxJava的异步实现正是基于观察者模式来实现的,而且是一种扩展的观察者模式。 观察者模式 观察者模式基于Subject这个概念,Subject是一种特殊对象,又叫做主题或者被观察者。当它改变时那些由它保存的一系列对象将会得到通知,而这一系列对象被称作Observer(观察者)。它们会对外暴漏了一个通知方法(比方说update之类的),当Subject状态发生变化时会调用
张磊BARON
2018-04-13
9130
RxJava系列一(简介)
前言 提升开发效率,降低维护成本一直是开发团队永恒不变的宗旨。近一年来国内的技术圈子中越来越多的开始提及Rx,经过一段时间的学习和探索之后我也深深的感受到了RxJava的魅力。它能帮助我们简化代码逻辑,提升代码可读性。这对于开发效率的提升、后期维护成本的降低帮助都是巨大的。个人预测RxJava一定是2016年的一个大趋势,所以也有打算将它引入到公司现有的项目中来,写这一系列的文章主要也是为了团队内部做技术分享。 由于我本人是个Android程序猿,因此这一系列文章中的场景都是基于Android平台的。
张磊BARON
2018-04-13
6940
观察者模式(ObserverPattern)
场景 我们接到一个来自气象局的需求:气象局需要我们构建一套系统,这系统有两个公告牌,分别用于显示当前的实时天气和未来几天的天气预报。当气象局发布新的天气数据(WeatherData)后,两个公告牌上显示的天气数据必须实时更新。气象局同时要求我们保证程序拥有足够的可扩展性,因为后期随时可能要新增新的公告牌。 概况 这套系统中主要包括三个部分:气象站(获取天气数据的物理设备)、WeatherData(追踪来自气象站的数据,并更新公告牌)、公告牌(用于展示天气数据) WeatherData知道如何跟气象
张磊BARON
2018-04-13
6270
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档