标签:并发

Java

Java线程池从使用到阅读源码(3/10)

3

puefu.he 发布于 2019-03-18

我们一般不会选择直接使用线程类 Thread 进行多线程编程,而是使用更方便的线程池来进行任务的调度和管理。线程池就像共享单车,我们只要在我们有需要的时候去获取就可以了。甚至可以说线程池更棒,我们只需要把任务提交给它,它就会在合适的时候运行了。但是如果直接使用 Thread 类,...

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

Java

GoCenter 助力 Golang 全速前进

8

puefu.he 发布于 2019-03-18

关注世界领先 DevOps 平台 JFrog Go 语言是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。为了方便搜索和识别,有时会将其称为 Golang。自2009年11月 Google 正式宣布推出,成为开放源代码项目以来,Go 语言已成为...

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

Java

[Java并发]1,入门:并发编程Bug的源头

5

Harries 发布于 2019-03-18

介绍 如何坚决并发问题,首先要理解并发的实际源头怎么发生的。 现代大家使用的计算机的不同硬件的运行速度是不一样的,这个大家应该都是知道的。 计算机数据传输运行速度上的快慢比较: 如何最大化的让不通速度的硬件可以更好的协调执行,需要做一些“撮合”的工作 CUP增加了高速缓存来均衡与...

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

Java

细说 Java 主流日志工具库

5

changyuan.xu 发布于 2019-03-18

在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。 在 Java 世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子。 我们先来逐一了解一下主流日志工具。 :notebook: 本文已归档到:「 blog 」 日志框架 java.util.logging ...

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

Java

Java 11 新特性介绍

2

changyuan.xu 发布于 2019-03-18

Java 11 已于 9 月 25 日正式发布,之前在Java 10 新特性介绍中介绍过,为了加快的版本迭代、跟进社区反馈,Java 的版本发布周期调整为每六个月一次——即每半年发布一个大版本,每个季度发布一个中间特性版本,并且做出不会跳票的承诺。通过这样的方式,Java 开发团...

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

编程技术

成为一名Java架构师的必修课

7

darida 发布于 2019-03-18

一.热门框架源码学习 设计模式篇 Spring5源码解读篇 Mybatis篇 SpringBoot2篇 二. 微服务架构 架构设计篇 BAT互联网架构这些年的演进分析 国内外常见分布式系统架构状况介绍 微服务架构指南:领域驱动设计DDD模型 SpringCloud1-2实战篇 C...

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

Java

CopyOnWriteArrayList源码解析

4

刘莉莉 发布于 2019-03-17

Java并发包提供了很多线程安全的集合,有了他们的存在,使得我们在多线程开发下,可以和单线程一样去编写代码,大大简化了多线程开发的难度,但是如果不知道其中的原理,可能会引发意想不到的问题,所以知道其中的原理还是很有必要的。 今天我们来看下Java并发包中提供的线程安全的List,...

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

Java

万锁之母AbstractQueuedSynchronizer

2

puefu.he 发布于 2019-03-17

翻看Java“锁”记中提到的各种“锁”,其内部同步实现大多数都和一个类 AbstractQueuedSynchronizer 相关,这个类称得上“万锁之母”,所以今天就来扒一扒这个类。 整体脉络 为了避免一头扎进去纠缠于各种细节出不来,可以先从宏观上来看一下这个类。首先大家思考一...

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

Java

从宏观微观角度浅析JVM虚拟机

8

zhuangli 发布于 2019-03-17

1.问题 1、JAVA文本文件如何被翻译成CLASS二进制文件? 2、如何理解CLASS文件的组成结构? 3、虚拟机如何加载使用类文件的生命周期? 4、虚拟机系列诊断工具如何使用? 5、虚拟机内存淘汰机制? 6、虚拟机指令集架构? 2.关键词 编译,魔数,常量池,字面量,数据表,...

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

Java

java中CAS

dulong 发布于 2019-03-17

前言:在JDK1.5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。  (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 ...

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

编程技术

从技术演变的角度看互联网后台架构

44

尖兵 发布于 2019-03-17

这是去年在部门内部做的一个面向后台开发新同学的课程,因为其他BG一些同学要求分享,所以发一下。 其实内容都是些常见开源组件的high level描述,比如flask, express框架,中间件的演化,micro service的概念,一些对nosql/column based ...

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

Java

Guava — Bloom Filter原理

2

songhua.gao 发布于 2019-03-16

去重在软件开发中经常需要用到,在Java当中一般使用Set集合,面对大量数据则可以利用取MD5签名等值后再进行去重,然而Set集合的实现原理决定了如果有大量的key需要判断,必然会需要大量的内存来支撑,且随着数据量增大效率也变得不那么尽人意。另外业务中存在着很多对精确性不需要那么...

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

Java

一文带你快速掌握AQS

13

likai 发布于 2019-03-15

AbstractQueuedSynchronizer 抽象队列同步器 ,简称为 AQS ,可用于构建 阻塞锁 或者其他相关 同步器 的基础框,是Java并发包的基础工具类。通过 AQS 这个框架可以对 同步状态原子性管理、线程的阻塞和解除阻塞、队列的管理 进行统一管理。 AQS ...

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

Java

从Java到Golang快速入门

wenming.gapo 发布于 2019-03-15

从Java到Golang快速入门 Golang从09年发布,中间经历了多个版本的演进,已经渐渐趋于成熟,并且出现了很多优秀的开源项目,比如我们熟知的docker,etcd,kubernetes等,其媲美于C的性能、Python的开发效率,又被称为21世纪的C语言,尤其适合开发后台...

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

Java

理解HashMap

4

邓龙华 发布于 2019-03-15

HashMap源码分析 基于JDK7的HashMap源码分析 类的介绍 下面的类介绍是从源码的英文翻译来的 HashMap是基于哈希表实现的Map接口实现类。这个实现提供所有的map相关的操作,允许使用null的键和null的值。(HashMap与Hashtable大致是一样的,...

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

Java

百度技术:“App 优化网络,先从优化 DNS 开始”

6

dulong 发布于 2019-03-15

一、前言 谈到优化,首先第一步,肯定是把一个大功能,拆分成一个个细小的环节,再单个拎出来找到可以优化的点,App 的网络优化也是如此。 在 App 访问网络的时候,DNS 解析是网络请求的第一步,默认我们使用运营商的 LocalDNS 服务。有数据统计,在这一块 3G 网络下,耗...

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

Java

Concurrency(六: 同步代码块)

wenming.gapo 发布于 2019-03-15

上文中提及在java中可以使用 synchronized 关键字来解决竟态条件。主要通过 synchronized 关键字来标注代码块,告诉jvm该代码块为临界区代码,以保证每次只会有一个线程能访问到该代码块里的代码,直到一个线程执行完毕后,另一个线程才能执行。 synchron...

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

编程技术

架构师的操作系统

zhuangli 发布于 2019-03-15

操作系统 操作系统时有两个主要部分组成的:硬件和软件。硬件是计算机的物理设备。软件则是使得硬件能够正常工作的程序的集合。计算机软件分成两大类:操作系统和应用程序。应用程序使用计算机硬件来解决用户的问题。操作系统则控制用户对硬件访问。 操作系统时有两个主要部分组成的:硬件和软件。硬...

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