标签:Semaphore

面试官:谈谈读写锁–ReadWriteLock

xiaoli.wang 发布于 2019-04-20

今天来说说Java 的读写锁-ReadWriteLock,ReadWriteLock是一个接口,实现类是ReentrantReadWriteLock,看着名字的翻译就是可重入读写锁。 为什么Java会搞了那么多种类的锁,因为不同的场景需要做不同的适配来达到性能和使用的最优,而读写...

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

微服务神经元(Neural)

xirruiqiang 发布于 2019-04-19

微服务架构中的神经组织,主要为分布式架构提供了集群容错的三大利刃:限流、降级和熔断。并同时提供了SPI、过滤器、JWT、重试机制、插件机制。此外还提供了很多小的黑科技(如:IP黑白名单、UUID加强版、Snowflake和大并发时间戳获取等)。 Features 分布式限流( L...

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

Spring Cloud 参考文档(声明式REST客户端:Feign)

puefu.he 发布于 2019-04-18

声明式REST客户端:Feign Feign 是一个声明式的Web服务客户端,它使编写Web服务客户端变得更容易,要使用Feign,请创建一个接口并对其进行注解,它具有可插拔的注解支持,包括Feign注解和JAX-RS注解,Feign还支持可插拔编码器和解码器。Spring Cl...

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

Spring Cloud 参考文档(断路器:Hystrix客户端)

2

darida 发布于 2019-04-17

断路器:Hystrix客户端 Netflix创建了一个名为 Hystrix 的库,用于实现 断路器模式 ,在微服务架构中,通常有多层服务调用,如以下示例所示: 较低级别的服务中的服务故障可能导致级联故障一直到用户,当对特定服务的调用超过 circuitBreaker.reques...

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

互联网大厂必问面试合集,助你跳槽拿高薪–Java篇

4

xubiao.zhuang 发布于 2019-04-15

前言 作为程序员,免不了要经历面试这关,虽然平时工作勤勤恳恳,但是面试上面未必能展示的出来,比如平时都是做增删改查的业务系统,面试官非要问你如何处理高并发大数据,本来是写java代码,非要问你大型网站架构,这些问题防不胜防,本文就自己的面试经验来总结一下,抛砖引玉。 第一步先自我...

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

Java线程安全特性与问题

puefu.he 发布于 2019-04-11

0 前言 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个 共享、可变资源 的情况,这种资源可以是: 一个变量、一个对象、一个文件等 。特别注意两点: 共享 : 意味着该资源可以由多个线程同时访问; 可变 : 意味着该资源可以在其生命周期内被修改; 简...

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

Concurrency(十一: 饥饿与公平)

darida 发布于 2019-04-08

如果一个线程因为其他线程占满了而无法获取CPU运行时间,这种情况我们称之为“饥饿现象”.线程将一直饥饿下去,因为其他线程总能替代它获取CPU运行时间.解决这种情况的措施我们称之为“公平措施”.即让所有线程都能获得一次执行的机会. Java中导致饥饿现象的原因 在Java中,以下三...

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

All_about_Java

Harries 发布于 2019-04-02

Java 知识点 一、基础篇 JVM JVM 内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java 内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器( G1 )、GC 算法、GC 参数、对象存活的判定 JVM 参数...

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

一道阿里java多线程面试题的go版本实现

puefu.he 发布于 2019-03-25

前几天看到一道java多线程面试题,题目很有意思,给人一种看起来简单却无从下手的感觉。 原题目是这样的: 通过N个线程顺序循环打印从0至100,如给定N=3则输出: thread0: 0 thread1: 1 thread2: 2 thread0: 3 thread1: 4 .....

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

后端架构师技术图谱

likai 发布于 2019-03-20

今天无意间看到github上一篇超炫的博文,是阿里工程师总结的 《后端架构师技术图谱》 ,分享给大家。 数据结构 队列 集合 链表、数组 字典、关联数组 栈 树 二叉树 完全二叉树 平衡二叉树 二叉查找树(BST) 红黑树 B,B+,B*树 LSM 树 BitSet 常用算法 排...

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

java.util.concurrent 并发包使用指南

8

xiaoli.he 发布于 2019-03-14

本文只要是对java.util.concurrent包下的相关开发工具做一个简单的介绍,引导各位认识在这个包下的类,并尝试在项目中使用它, 本文不会去解释关于 Java 并发的核心问题 – 其背后的原理,也就是说,如果你对那些东西感兴趣,请参考《Java 并发指南》。...

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

JAVA多线程使用场景和注意事项

4

wenming.gapo 发布于 2019-03-13

我曾经对自己的小弟说,如果你实在搞不清楚什么时候用HashMap,什么时候用ConcurrentHashMap,那么就用后者,你的代码bug会很少。 他问我:ConcurrentHashMap是什么? -.- 编程不是炫技。大多数情况下,怎么把代码写简单,才是能力。 多线程生来就...

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

JAVA多线程使用场景和注意事项

3

changyuan.xu 发布于 2019-03-13

我曾经对自己的小弟说,如果你实在搞不清楚什么时候用HashMap,什么时候用ConcurrentHashMap,那么就用后者,你的代码bug会很少。 他问我:ConcurrentHashMap是什么? -.- 编程不是炫技。大多数情况下,怎么把代码写简单,才是能力。 多线程生来就...

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

Java工程师手册

小丁 发布于 2019-03-11

Set 和 List 区别?Set 如何保证元素不重复? Java 8 中 stream 相关用法、apache 集合处理工具类的使用、不同版本的 JDK 中 HashMap 的实现的区别以及原因 Collection 和 Collections 区别 Arrays.asList...

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

集成源码深度剖析:Fescar x Spring Cloud

2

likai 发布于 2019-03-08

Fescar 简介 常见的分布式事务方式有基于 2PC 的 XA (e.g. atomikos),从业务层入手的 TCC( e.g. byteTCC)、事务消息 ( e.g. RocketMQ Half Message) 等等。XA 是需要本地数据库支持的分布式事务的协议,资源锁...

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

go与java并发编程对比

邓龙华 发布于 2019-03-08

一、前言 在Java中多线程之间是通过共享内存进行通信的,在go中多线程之间通信是基于消息的,go中的通道是go中多线程通信的基石。 在java中创建的线程是与OS线程一一对应的,而在go中多个协程(goroutine)对应一个逻辑处理器,每个逻辑处理器与OS线程一一对应。 每个...

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

拼多多、饿了么、蚂蚁金服Java面试题大集合

3

yeseng 发布于 2019-03-06

自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多、饿了么、蚂蚁金服、哈啰出行等公司给我留下较深印象的一些java面试题 private修饰的方法可以通过反...

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

面试:Semaphore(信号量)的成长之路

2

尖兵 发布于 2019-03-02

2019最寒冷,面试跳槽不能等 马上就3月份了,所谓的金三银四招聘季。2019年也许是互联网最冷清的一年,很多知名的大型互联网公司都裁员过冬。当然也有一些公司还在持续招人的,比如阿里就宣称不裁员,反而要增加更多的就业机会。 面试大公司的职位,基础显得很重要,在并发编程这块问的自然...

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