Spark SQL:数据库 Spark Streaming:流计算框架 GraphX:图计算框架 使用语言开发: SCALA语言学习(与Java完全兼容) 编程范式: 1,命令式语言:C,C++,Java...基于冯.诺依曼体系结构 2,函数式语言:充分利用多核CPU多线程并发能力 基于λ演算,并发 ...
分类:
其他好文 时间:
2020-01-14 23:47:05
阅读次数:
92
简单介绍 线程池是池化技术的一种,对线程复用、资源回收、多任务执行有不错的实践。阅读源码,可以学习jdk的大师对于线程并发是怎么池化的,还有一些设计模式。同时,它也能给我们在使用它的时候多一种感知,出了什么问题可以马上意识到哪里的问题。 使用范例 我们使用一个线程池,直接通过jdk提供的工具类直接创 ...
分类:
编程语言 时间:
2020-01-12 18:26:01
阅读次数:
78
前言 并发编程几乎是所有互联网公司面试必问的问题,并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。 关于Java并发编程的知识总结了个思维导图,分享给大 ...
分类:
编程语言 时间:
2020-01-12 18:08:39
阅读次数:
108
原文:MySQL中的锁(表锁、行锁,共享锁,排它锁,间隙锁) 作者:唐大麦 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问 ...
分类:
数据库 时间:
2020-01-11 15:01:37
阅读次数:
104
例如,用于DMA交易的高容量和低延迟电子交易系统通常是并发的。大多数情况下,他们专注于微秒延迟,这就是为什么拥有如何有效地最小化延迟和提高吞吐量知识是如此重要。 这些是我最喜欢的关于Java的线程面试问题。我没有提供这些线程访谈问题的答案,但我会尽可能给你一个提示。我会更新帖子就详细的答案,就像我最 ...
分类:
编程语言 时间:
2020-01-09 13:28:59
阅读次数:
132
实际工作中,经常会遇到多线程并发时的类似抢购的功能,本篇描述一个简单的redis分布式锁实现的多线程抢票功能。 直接上代码。首先按照慣例,給出一個错误的示范: 我们可以看看,当20个线程一起来抢10张票的时候,会发生什么事。 package com.tiger.utils; public class ...
分类:
编程语言 时间:
2020-01-06 23:04:29
阅读次数:
117
前言说到CAS(CompareAndSwap),不得不先说一说悲观锁和乐观锁,因为CAS是乐观锁思想的一种实现。悲观锁:总是很悲观的认为,每次拿数据都会有其他线程并发执行,所以每次都会进行加锁,用完之后释放锁,其他的线程才能拿到锁,进而拿到资源进行操作。java中的synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁:总是很乐观认为,自己拿到数据操作的时候,没有
分类:
其他好文 时间:
2020-01-03 22:56:36
阅读次数:
75
一、函数式编程和面向对象编程 1、面向对象编程:利用继承封装多态来进行的编程 2、函数式编程的基础:避免状态突变和将函数作为第一个类的概念这两种方法 1 避免状态突变:定义不可变的类型或者不可变的集合,当类型不可变时,就无法改变他的实例,就可以使用多个线程并发访问而不需要同步 2 函数作为第一个类: ...
分类:
其他好文 时间:
2020-01-02 20:44:02
阅读次数:
83
MySQL锁 什么是Mysql锁? 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除了 传统的计算资源(如CPU,内存,I/O等)的争用以外,数据也是一种供许多用户共享的资源. 如何保证数据并发访问的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一 ...
分类:
数据库 时间:
2019-12-31 21:25:29
阅读次数:
92
本章内容: 1.死锁 2.多线程并发最佳实践(如何安全并发) 3.Spring与线程安全 4.HashMap与ConcurrentHashMap深入分析 一、死锁 1.产生必要条件 (1)互斥条件:进程要求对所分配的资源(如打印机)进?排他性控制,即在?段时间内某资源仅为?个进程所占有。此时若有其他 ...
分类:
编程语言 时间:
2019-12-27 22:08:21
阅读次数:
98