- 博客(15)
- 收藏
- 关注
原创 springcloud之eureka入门
eureka应用入门 eureka分为服务端和客户端 搭建eureka服务端 ①加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>...
2019-12-11 11:02:43 171
原创 微服务介绍
微服务是什么? 1、微服务核心就是把传统的单机应用,根据业务将单机应用拆分为一个一个的服务,彻底的解耦,每一个服务都是提供特定的功能,一个服务只做一件事,类似进程,每个服务都能够单独部署,甚至可以拥有自己的数据库。这样的一个一个的小服务就是 微服务. 2、比如传统的单机电商应用, tulingshop 里面有 订单/支付/库存/物流/积分等模块(理解为servcie) 我们根据 业务模型来拆分,可...
2019-12-11 10:29:31 190
原创 springboot自动装配原理详解之redis源码分析
传统ssm整合redis的时候 需要在xml的配置文件中 进行大量的配置Bean我们在这里使用springboot来代替ssm的整合,只是通过xml的形式来整合redis 第一步:加入配置 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-dat...
2019-12-05 20:02:55 341 1
原创 springboot核心功能讲解
一:springboot 快速开始 1、先把maven的配置文件设置为如下配置 jdk‐1.8 true 1.8 <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.com...
2019-12-05 19:32:55 602
原创 hadoop之mapreduce
mapreduce 核心思想:让我们的运算程序并行在多台机器上执行! mapreduce运行平台YARN mapreduce程序应该是在很多机器上并行启动,而且先执行map task,当众多的maptask都处理完自己的数据后,还需要启动众多的reduce task,这个过程如果用用户自己手动调度不太现实,需要一个自动化的调度平台——hadoop中就为运行mapreduce之类的分布式运算程序开发...
2019-11-25 22:52:20 135
原创 hadoop之hdfs
#什么是大数据 1、有海量的数据 2、有对海量数据进行挖掘的需求 3、有对海量数据进行挖掘的软件工具(hadoop、spark、storm、flink、tez、impala…) 处理海量数据的核心技术 海量数据存储:分布式 海量数据运算:分布式 这些核心技术的实现不需要用户从零开始造轮子,存储和运算,有大量成熟的架框来用 存储架框 HDFS – 分布式文件存储系统 HBASE – ...
2019-11-24 22:53:56 265
原创 集合
1、ollection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set中不能包含重复的元素。List是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式。 2、Map是Java.util包中的另一个接口,它和Collection接口没有关系,是相互独立的,但是都属于集合类的一部分。Map包含了key-value对。...
2019-11-11 09:22:29 99
原创 八大排序
八大排序介绍 1、插入排序:直接插入排序、希尔排序。 2、选择排序:直接选择排序、堆排序。 3、交换排序:冒泡排序、快速排序。 4、归并排序。 5、基数排序。 1、直接插入排序:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过为止。 https://cuijiahua.com/wp-content/uploads/2017/12/al...
2019-11-10 23:03:13 138
原创 Java内存区域
java内存: 1、程序计数器:较小的内存空间,当前线程执行的字节码的行号指示器;各线程之间独立存储,互不影响; 2、java 栈:线程私有,每个方法在执行的同时都会创建一个 栈帧用于存储局部变量表,操作 数栈。方法的执行就对应着栈帧在虚拟机栈中入栈和出栈的过程;栈里面存放着各种基本数据类型和对象的引用( -Xss ) 3、本地方法栈:本地方法栈保存的是native方法的信息,当一个JVM创建...
2019-11-10 19:53:09 118
原创 并发容器
1、Hashmap多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取Entry。 2、HashTable使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法,其他线程也访问HashTable的同步方法时,会进入阻塞或轮...
2019-11-10 16:04:31 86
原创 显示锁AQS
1、synchronized属于隐式锁,即锁的持有与释放都是隐式的,我们无需干预 2、显式锁,即锁的持有和释放都必须由我们手动编写 3、重入锁ReetrantLock,所谓锁的公平和非公平 如果在时间上,先对锁进行获取的请求,一定先被满足,这个锁就是公平的,不满足,就是非公平的 非公平的效率一般来讲更高 4、ReadWriteLock接口和读写锁ReentrantReadWriteLock 读写锁...
2019-11-10 15:34:49 90
原创 原子操作CAS
原子操作CAS CAS是一种乐观锁思想的应用 CAS的原理 CAS(Compare And Swap),指令级别保证这是一个原子操作 三个运算符: 一个内存地址V,一个期望的值A,一个新值B 基本思路:如果地址V上的值和期望的值A相等,就给地址V赋给新值B,如果不是,不做任何操作。 CAS问题 1、ABA问题:A—》B—》A,内存地址V最后的值确实为A,但在中途发生过改变,却并不知道,可以使用版...
2019-11-10 15:18:24 86
原创 线程并发工具类
ForkJoin 就是在必要的情况下,将一个大任务,拆分(fork)为若干个小任务(拆到不可再拆),再将若干个小任务进行汇总。 在JDK的并发包里提供了几个非常有用的并发工具类,主要有以下四个: CountDownLatch、CyclicBarrier、Semaphore、Exchanger 1、CountDownLatch CountDownLatch允许一个线程或多个线程等待其他线程完成操作。...
2019-11-10 15:11:53 103
原创 线程基础,线程之间的共享和协作
1、ccpu核心数和线程数的关系 核心数:线程数=1:1 使用了超线程技术后变为1:2 2、cpu时间片轮转机制:又称为RR调度,会导致上下文切换 3、线程和进程 进程:程序运行资源分配的最小单位,进程内部有多个线程,会分享这个进程的资源 线程;cpu调度的最小单位,必须依赖进程而存在 4、并行和并发 并行:同一时刻,可以同时处理事情的能力 并发:与单位时间相关,在单位时间...
2019-11-10 14:27:39 200 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人