- 博客(15)
- 收藏
- 关注
原创 volatile关键字
volatile关键字先来分享一篇写的非常好的关于 volatile 博客《Java并发编程:volatile关键字解析》,里面也详细的介绍了原子性、可见性和有序性,再来谈一谈自己的一些理解:并发编程中又是那个概念:原子性、可见性、有序性;并发程序如果想要正确地执行,必须要保证原子性、可见性以及有序性。volatile 能够保证有序性和可见性,但是不能够保证原子性,所以是无法替代 synchr...
2019-11-16 14:54:42 228
原创 zookeeper 和 eureka 有什么区别,哪个更适合作为注册中心?
zookeeper 和 eureka 有什么区别,哪个更适合作为注册中心?最近接触到一个问题,Zookeeper 和 Eureka 有什么区别,为什么注册中心一定要用 Eureka ,今天又看到一篇文章说京东面试好像有问到这个问题,所以来记录一下自己的理解:CAP 原则谈到这个问题,最主要的是明白什么事 CAP 原则:C(Consistency):数据一致性。分布式系统中,数据会有副本,无......
2019-01-29 15:15:48 6438
原创 Java中的锁
公平锁多个线程按照申请锁的顺序来获取锁,先来后到。在并发环境中,每个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个,就占有锁;如果不是,就会加入到等待队列中,以后会按照 FIFO 的规则从队列中取到自己。非公平锁上来就尝试占有锁,如果尝试失败,就再采用类似公平锁的方式。吞吐量比公平锁大。Synchronized 是一种非公平锁。多个线程获取锁的顺序并不...
2019-11-25 00:44:03 122
原创 Java 之 JUC
JUCJUC 是指 Java 中的三个包:(1)并发:package java.util.concurrent;并发和并行:并发是多个线程同时访问一个数据;并行是多个线程同时在做不同的事情。(2)原子:package java.util.concurrent.atomic;(3)锁:package java.util.concurrent.locks;CountDownLatch 类...
2019-11-25 00:43:39 282
原创 HashMap 源码深度解析
HashMap 剖析(1)HashMap 结构概述:HashMap 的底层使用 数组+单项链表,jdk1.8后,当链表过长时,会将链表转成红黑树,时间复杂度由 O(n) 变成了 O(logn)。(2)HashMap 的 put() 过程a、对 key 求 hash 值。计算下标(通过 hash(Object key) 方法);b、如果没有碰撞,直接放入桶中;c、如果发生碰撞,以链...
2018-12-19 18:26:05 233
原创 Spring Cloud Feign入门
Spring Cloud Feign入门Spring Cloud Feign基于Netflix Feign,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,还提供了一种声明式的Web服务客户端定义方式,也支持SpringMVC注解。同时Feign的一些主要主件是可插拔的,可以使我们很方便的扩展和替换。一、基础项目搭建:(1)pom.xml 文件需要添加...
2018-12-19 11:40:32 139
原创 Spring Cloud Eureka双节点注册中心集群配置
Spring Cloud Eureka双节点注册中心集群配置在《服务治理:Spring Cloud Eureka》中既往少了单节点的配置,而注册中心是高可用的,一般是需要集群部署的,这篇文章我们介绍如何配置双节点的注册中心集群。(1)修改 application.properties 为:spring.application.name=eureka-server(2)新建 applica...
2018-12-12 16:14:51 1241
原创 java异步执行业务逻辑
java异步执行业务逻辑1、创建线程池:Java通过Executors提供四种线程池:a、newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。b、newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。c、newScheduledThreadPool 创建一个...
2018-12-07 10:53:23 2434
原创 springboot + redis项目实战
springboot + redis项目实战1、添加依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.1.RE...
2018-12-06 12:00:25 958 3
原创 spring boot项目多数据源处理
spring boot项目多数据源处理基于《spring boot集成mybatis》,增加一套数据源配置信息,多数据源配置的实质就是让不同的MybatisConfig作用于对应的mapper目录,获取不同的数据库连接信息:1、yml文件中增加了数据库连接信息2、增加了一个MybatisBConfig,用来处理另一个数据源:@Configuration@EnableConfigurat...
2018-12-05 17:35:42 260
原创 SpringBoot 集成 Mybatis
mybatis1、添加mybatis依赖: &amp;amp;amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;amp;amp;gt;org.mybatis&amp;amp;amp;amp;amp;amp;lt;/groupId&
2018-12-04 10:11:16 172
原创 spring常用注解
spring常用注解1、@Autowired:默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用2、@Resource:默认按名称装配,当找不到与名称匹配的bean才会按类型装配。3、@Configuration:把一个类作为一个Ioc容器,它的某个方法头上如果注册了@Bean, 就会作为这个Spring容器中的Bean。4、@Controller:...
2018-12-03 18:38:10 137
原创 上传spring boot项目到github
上传spring boot项目到github此文章接《Spring Boot项目搭建》,演示如何将本地的spring boot项目集成git,发布到github。
2018-12-03 11:58:16 1480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人