标签:多线程 第2页

Java

Android技术栈(五)HashMap和ArrayMap源码解析

6

xiaoli.he 发布于 2019-04-17

1 总览 WARNING!!:本文字数 较多 , 内容 较为 完整 并且部分内容难度 较大 ,阅读本文需要 较长 时间,建议读者 分段 并 耐心 阅读. 本文会对 Android 中常用的数据结构进行源码解析,包括 HashMap(有红黑树) + ArrayMap 本文Array...

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

Java

一不小心就让Java开发踩坑的fail-fast是个什么鬼?

2

likai 发布于 2019-04-17

我在《为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作》一文中曾经介绍过Java中的fail-fast机制,但是并没有深入介绍,本文,就来深入介绍一下fail-fast。 什么是fail-fast 首先我们看下维基百科中关于fail-fast的解...

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

Java

关于Java内存模型的三个特性

3

邓龙华 发布于 2019-04-16

Java在面对跨平台问题时,重要的一项就是解决硬件和操作系统内存之间的访问。 简要工作逻辑如下图: cpu的处理速度远快于内存的读写速度,因此Java采用 高速缓存 建立其桥梁。 其中protocal协议是为了保证多个进程访问cpu主内存时,多个缓存与主内存数据一致性。 当线程需...

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

Java

java 多线程基础

songhua.gao 发布于 2019-04-16

进程和线程 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。 使...

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

Java

Java集合系列之—HashMap

3

刘莉莉 发布于 2019-04-16

先看下HashMap的继承体系,它继承自抽象类AbstractMap,实现了Map、Cloneable、Serializable接口,还有较常用的子类LinkedHashMap也实现了Map接口。 public class HashMap<K,V> extends A...

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

Java

SpringBoot 2.X Kotlin系列之AOP统一打印日志

3

puefu.he 发布于 2019-04-16

在开发项目中,我们经常会需要打印日志,这样方便开发人员了解接口调用情况及定位错误问题,很多时候对于Controller或者是Service的 入参 和 出参 需要打印日志,但是我们又不想重复的在每个方法里去使用 logger 打印,这个时候希望有一个管理者统一来打印,这时Spri...

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

Java

蚂蚁金服实习生面经总结(已拿口头offer)

6

yeseng 发布于 2019-04-15

我自己总结的Java学习的系统知识点以及面试问题,已经开源,目前已经 35k+ Star。会一直完善下去,欢迎建议和指导,同时也欢迎Star: https://github.com/Snailclimb… 本文来自 Anonymous 的投稿,原文地址: https:...

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

编程技术

阿里架构师告诉你最新Java架构师学习路线图

7

hellas 发布于 2019-04-15

要想往Java架构师的方向发展首先要知道Java架构师是什么? Java架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个 Java 架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 ...

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

Java

Java性能优化:教你提高代码运行的效率

xubiao.zhuang 发布于 2019-04-15

我认为,代码优化的最重要的作用应该是: 避免未知的错误。 在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。 然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务并重启,...

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

Java

Java并发 — 问题源头

6

changyuan.xu 发布于 2019-04-15

核心矛盾:三者的 速度差异 为了合理利用CPU的高性能,平衡三者的速度差异,计算机体系结构、操作系统和编译程序都做出了贡献 计算机体系结构:CPU增加了 缓存 、以均衡 CPU与内存 的速度差异 操作系统:增加了 进程、线程 ,分时复用CPU,以平衡 CPU和IO设备 的速度差异...

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

Java

求求你别用SimpleDateFormat了!

1

zhuangli 发布于 2019-04-15

←←←←←←←←←←←← 快!点关注 前言 啊哈哈,标题写的比较随意了,其实呢最近在各种面试以及博客中,SimpleDateFormat出镜率确实是比较高了,为什么?其实聪明的你们肯定知道,那必须是有坑呗,是的,那我们就以案例来分析一下到底会有那些坑,或者还有没有其他更优的替代方...

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

Java

Netty内存池之PoolArena详解 原 荐

3

changyuan.xu 发布于 2019-04-15

PoolArena 是Netty内存池中的一个核心容器,它的主要作用是对创建的一系列的 PoolChunk 和 PoolSubpage 进行管理,根据申请的不同内存大小将最终的申请动作委托给这两个子容器进行管理。整体上, PoolArena 管理的内存有直接内存和堆内存两种方式,...

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

Java

Java新特性之Stream流

likai 发布于 2019-04-14

什么是Stream流 java.util.stream.* 是Java 8引入的函数式编程类库,以一种声明的方式来处理元素集合里的数据,可以理解为 shell 脚本中 管道 ( | )一样的概念。   首先将 数据源 ( 集合 , 数组 , I/O channel , 产生器ge...

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

Java

如何阅读jdk源码?

1

wenming.gapo 发布于 2019-04-14

:middle_finger:欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 简介 这篇文章主要讲述jdk本身的源码该如何阅读,关于各种框架的源码阅读我们后面再一起探讨。 笔者认为阅读源码主要包括下面几个步骤。 设定目标 凡事皆有目的,阅读源...

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

Java

Java 多线程NIO学习

2

邓龙华 发布于 2019-04-14

阻塞IO 如果数据没有准备就绪,就一直等待,直到数据准备就绪;整个进程会被阻塞。 非阻塞IO 需不断询问内核是否已经准备好数据,非阻塞虽然不用等待但是一直占用CPU。 多路复用IO NIO 多路复用IO,会有一个线程不断地去轮询多个socket的状态,当socket有读写事件的时...

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

Java

Netty源码分析(五):EventLoop

2

likai 发布于 2019-04-14

NioEventLoop 继承自 SingleThreadEventLoop ,而 SingleThreadEventLoop 又继承自 SingleThreadEventExecutor 。 SingleThreadEventExecutor 内部持有一个Thread对象,是 ...

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

Java

由Spring应用的瑕疵谈谈DDD的概念与应用(二)

3

yeseng 发布于 2019-04-14

在上一篇文章中,通过Spring Web应用的瑕疵引出改善的措施,我们讲解了领域驱动开发的相关概念和设计策略。本文主要讲解领域模型的几种类型和DDD的简单实践案例。 架构风格 在《实现领域驱动设计》一书中提到了几种架构风格:六边形架构、REST架构、CQRS 和事件驱动等。在实际...

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

Java

深入理解 ReentrantLock

yeseng 发布于 2019-04-14

ReentrantLock 是一种可重入锁,它指的是一个线程能够对资源重复加锁。 ReentrantLock 与 synchronized 类似,能够保证解决线程安全问题,但是却提供了比 synchronized 更强大、灵活的机制,例如可中断式的获取锁、可定时的获取锁等。 另外...

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