上节说到SpringCloud的注册中心Eureka的集群,这篇博客将搭建服务的注册与使用。主要使用的SpringCloud有Ribbon负载均衡和Feigh远程调用。 项目目录结构 还是一样的,使用Maven的聚合父子工程。 这次是一个完整的web项目的Demo,主要测试SpringCloud在服

和Zookeeper类似,Eureka是一个用于服务注册和发现的组件。Eureka是SpringCloud首选推荐的服务注册与发现组件,与SpringCloud其他组件可以无缝对接。比如负载句话组件Ribbon、熔断器组件Hystrix以及Zuul组件相互配合,能够很容易的实现注册、负载均衡、熔断和

面经来自牛客发面经涨人品(顺丰java两面)题目volatile语意线程同步方法数据库索引结构,为什么快synchronize关键字jvm内存模型,有哪几块,程序计数器是干嘛的有什么设计模式装饰者模式讲讲Hashmap内存结构,扩容问题创建线程的几种方式Runnable和callable区别线程池参

面经来自牛客菜鸟网络Java一面-社招(挂)题目什么是双亲委派机制?你自己定义的类能被最顶级的类加载器加载吗?为什么?自定义的类会被什么类加载器加载?如何加载一个不在根目录下的类?什么是动态代理?有几种实现?线程池的实现?什么是AOP?实现原理是什么?线程池的几个参数的作用?synchronize和

面经来自牛客京东一面凉经题目排序有哪些,你比较熟哪些?什么排序O(N2),什么排序O(NlogN),什么排序稳定,什么排序不稳定快排,归并原理,可以做到稳定吗数据结构中散列表说一下?Hash冲突有什么解决方法?Http有哪些方法?你说get是幂等的,幂等是你怎么理解?post呢?post幂等吗?pu

重入锁ReentrantLock,顾名思义就是支持重新进入的锁,它表示该锁能够支持一个线程对资源对重复加锁。ReentrantLock是一种递归无阻塞的同步机制。它可以等同于synchronized的使用,但是ReentrantLock提供了比synchronized更强大、灵活的锁机制,可以减少死

队列同步器---AbstractQueuedSynchronizer(以下简称AQS),在Java的内置锁一直都是备受争议的,在JDK1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略,但是与Lock相比synchronized还是存在一些缺

Semaphore是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。先演示一个简单小Demo,模拟停车位的场景DemopublicclassSemaphoreDemo{publicstaticvoidmain(String[]args){//模拟五个停车位Semap

CyclicBarrier它允许一组线程互相等待。继续演示英雄联盟开黑小DemoDemopublicclassCyclicBarrierDemo{publicstaticvoidmain(String[]args){//发车线程Threadplay=newThread(()->{System.

CountDownLatch允许一个或者多个线程等待其他线程完成操作。先看CountDownLatch一个简单小DemoDemo简单一点,以英雄联盟开五黑为例子,五黑需要五个人才能发车。代码如下publicclassCountDownLatchDemo{publicstaticvoidmain(St

这是《JAVA并发编程的艺术》(方腾飞)第四章的内容,这里主要做下总结。 线程简介 什么是线程 每启动一个Java程序,操作系统就会创建一个Java进程。现代操作系统调度的最小单元是线程,也叫轻量级进程,在一个进程里可以创建多个线程,这个线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享

DCL,即Double Check Lock,双重检查锁定。DCL很多人在单例模式中用过,博主之前面试的时候,就遇到过手写一个单例,然后饿汉和懒汉都手撕了一遍,但是面试管当时好像不是很满意,于是机智的博主赶紧指出了懒汉的线程安全问题,加上双重校验锁。现在就分析下为什么要加上DCL。 懒汉单例 先看代