标签:类图

编程技术

闲鱼Flutter图片框架架构演进(超详细)

14

likai 发布于 2020-04-07

那些年 早在闲鱼使用Flutter之初,图片就是我们核心关注和重点优化的功能。图片展示体验的好坏会对闲鱼用户的使用体验产生巨大影响。你们是否也曾遇到过: 图片加载内存占用过多? 使用Flutter以后本地资源重复,利用率不高? 混合方案下Flutter原生图片加载效率不高? 针对...

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

编程技术

闲鱼Flutter图片框架架构演进(超详细)

14

likai 发布于 2020-04-07

那些年 早在闲鱼使用Flutter之初,图片就是我们核心关注和重点优化的功能。图片展示体验的好坏会对闲鱼用户的使用体验产生巨大影响。你们是否也曾遇到过: 图片加载内存占用过多? 使用Flutter以后本地资源重复,利用率不高? 混合方案下Flutter原生图片加载效率不高? 针对...

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

Java

源码分析Dubbo网络通信篇NettyClient

3

darida 发布于 2020-04-07

在源码分析 Dubbo 通讯篇之网络核心类一文中已给出 Dubbo netty client 的启动流程,如下图: 以 Dubbo 协议为例,DubboProtocol#refer 中,在创建 Invoker 时,通过 getClient 方法,开始 Client(连接的)创建过...

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

Java

使用Spring管理数据库事务

3

xirruiqiang 发布于 2020-04-05

在整个JavaWeb项目开发中,事务是用来开发可靠性网络应用程序的最关键部分。当应用程序与后端资源进行交互时,就会用到事务,这里的后端资源包括数据库、MQ、ERP等。而数据库事务是最常见的类型,而我们常说的事务也就是狭义上的与关系型数据库交互的事务。 事务主要分为本地事务和全局事...

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

Java

Rxjava(3) 线程切换 – Schedulers.io()

2

xiaoli.he 发布于 2020-04-02

observable的.subscribeOn(Schedulers.io())方法是指定处理的事件流在哪个线程中执行 Schedulers:对外提供获取的方法 IOTask:统一task的创建方式 Scheduler:统一调用的api,IoScheduler/Computati...

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

Java

Java线程池实现原理及其在美团业务中的实践

30

小丁 发布于 2020-04-02

随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。...

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

Java

深入浅出Disruptor

11

yeseng 发布于 2020-04-02

作者 | 高建 面向 CTRL C + V 的编码工具人。 说到队列,大家都很熟悉,像生活中不管是吃饭还是买东西基本上都会遇到排队,先排队的人先付款,不允许插队!先进先出,这就是典型的“队列”。 简单回顾 jdk 里的队列 1. 阻塞队列: ArrayBlockingQueue:...

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

Spring

Spring官网阅读系列(十一):Spring中的BeanWrapper及类型转换

6

wenming.gapo 发布于 2020-03-29

BeanWrapper是Spring中一个很重要的接口,Spring在通过配置信息创建对象时,第一步首先就是创建一个BeanWrapper。这篇文章我们就分析下这个接口,本文内容主要对应官网中的3.3及3.4小结 接口定义 // Spring低级JavaBeans基础设施的中央接...

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

Spring

如何在优雅地Spring中实现消息的发送和消费

3

wenming.gapo 发布于 2020-03-27

前言 上世纪90年代末,随着Java EE(Enterprise Edition)的出现,特别是Enterprise Java Beans的使用需要复杂的描述符配置和死板复杂的代码实现,增加了广大开发者的学习曲线和开发成本,由此基于简单的XML配置和普通Java对象(Plain ...

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

Spring

Spring官网阅读系列(八):容器的扩展点(BeanPostProcessor)

4

songhua.gao 发布于 2020-03-27

在前面两篇关于容器扩展点的文章中,我们已经完成了对BeanFactoryPostProcessor很FactoryBean的学习,对于BeanFactoryPostProcessor而言,它能让我们对容器中的扫描出来的BeanDefinition做出修改以达到扩展的目的,而对于F...

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

Spring

Spring官网阅读系列(六):容器的扩展点(BeanFactoryPostProcessor)

7

xubiao.zhuang 发布于 2020-03-26

之前的文章我们已经学习完了BeanDefinition的基本概念跟合并,其中多次提到了容器的扩展点,这篇文章我们就开始学习这方面的知识。这部分内容主要涉及官网中的1.8小结。按照官网介绍来说,容器的扩展点可以分类三类,BeanPostProcessor,BeanFactoryPo...

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

Java

网络编程 – Netty(ChannelHandler、ChannelHandlerContext)

4

yeseng 发布于 2020-03-26

在上一篇中,提到了 Channel、ChannelPipeline、ChannelHandler 以及ChannelHandlerContext 之间的关系 ,现在看看ChannelHandler和ChannelHandlerContext。 ChannelHandler Cha...

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

Java

​OkHttp源码深度解析

8

xirruiqiang 发布于 2020-03-24

点击关注“OPPO互联网技术”,阅读更多技术干货 OkHttp应该是目前Android平台上使用最为广泛的开源网络库了,Android 在6.0之后也将内部的HttpUrlConnection的默认实现替换成了OkHttp。 大部分开发的同学可能都有接触过OkHttp的源码,但很...

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

Java

java之AQS和显式锁

9

dulong 发布于 2020-03-23

本次内容主要介绍AQS、AQS的设计及使用、 ReentrantLock、 ReentrantReadWriteLock以及手写一个可重入独占锁 1、什么是AQS ? A QS,队列同步器AbstractQueuedSynchronizer的简写,JDK1.5引入的, 是用来构建...

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

Java

源码分析Dubbo网络通信篇NettyServer、HeaderExchangeServer

3

darida 发布于 2020-03-22

NettyServer整个类图如下: 首先从全貌上大概看一下NettyServer对象所持有的属性: AbstractPeer private final ChannelHandler handler 事件处理Handler。 private volatile URL url 该...

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

Java

Java 并发编程 ③ – ThreadLocal 和 InheritableThreadLocal 详解

3

yanxinchi 发布于 2020-03-21

前言 往期文章: Java 并发编程基础 ① – 线程 Java 并发编程 ② – 线程生命周期与状态流转 继上一篇结尾讲的,这一篇文章主要是讲ThreadLocal 和 InheritableThreadLocal。主要内容有: ThreadLocal ...

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

Java

Java代理模式及动态代理详解

2

darida 发布于 2020-03-21

Java的动态代理在实践中有着广泛的使用场景,比如最场景的Spring AOP、Java注解的获取、日志、用户鉴权等。本篇文章带大家了解一下代理模式、静态代理以及基于JDK原生动态代理。 代理模式 无论学习静态代理或动态代理,我们都要先了解一下代理模式。 先看百度百科的定义: 代...

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

Java

Java中的锁原理、锁优化、CAS、AQS详解

23

zhuangli 发布于 2020-03-20

点击上方 “ 匠心零度 ” ,选择“ 设为星标 ” 做积极的人,而不是积极废人 作者:景小财 www.jianshu.com/p/e674ee68fd3f 1、为什么要用锁? 锁-是为了解决并发操作引起的脏读、数据不一致的问题。 2、锁实现的基本原理 2.1、volatile J...

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