自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

波波的博客

让Java变得更加简单

  • 博客(125)
  • 收藏
  • 关注

原创 swagger常用注解

概述这里介绍一下swagger的常用注解@Api、@ApiOperation、@ApiImplicitParams、@ApiImplicitParam、@ApiParam、@ApiModel、@ApiModelProperty、ApiResponses、@ApiResponse这几个常用的。@Api用在请求的类上,表示对类的说明属性描述tags说明该类的作用,非空时将...

2019-06-14 14:09:17 302

转载 volatile 的实现原理

摘要: 原创出处 http://cmsblogs.com/?p=2092 「小明哥」欢迎转载,保留摘要,谢谢!概述     volatile ,则是轻量级的 synchronized ,它在多线程开发中保证了共享变量的“可见性”。如果一个变量使用 volatile ,则它比使用 synchronized 的成本更加低,因为它不会引起线程上下文的切换和调...

2019-05-18 14:49:03 265

原创 总结一下那些年牛逼的博客

博客1.https://juejin.im/post/5abc9de851882555770c8c72#heading-35 详细介绍了Synchronized实现原理的实现原理。锁的种类和锁的升级。写的超级超级详细。

2019-05-17 17:15:42 309

原创 JDK8--操作解析格式化日期

/** * 如何修改LocalDate对象,最简单的方式就是使用WithAttribute方法. * 使用通用的with方法也可以达到同样的目的 */ public static void test01 () { LocalDate localDate = LocalDate.of(2019,4,30); System....

2019-05-06 18:06:56 615

原创 JDK8--日期类的使用

/** * LocalDate日期类 */ public static void test01 () { LocalDate localDate = LocalDate.of(2019, 4, 30); System.out.println(localDate.toString()); localDate = Local...

2019-04-30 17:18:12 193

原创 Turbine聚合Hystrix

概述    Turbine就是聚合所有相关的Hystrix.stream流的方案,然后在Hystrix DashBoard中显示。在这个项目我们需要借助于原来的三个项目。具体项目地址参考hystrix-eureka-demo、feign-eureka-hystrix-producer、feign-eureka-hystrix-consumer、hyst...

2019-04-28 09:22:12 172

转载 java集合和流的使用

package com.bobo.basic.jdk8.chapter5;import com.alibaba.fastjson.JSONObject;import com.bobo.basic.jdk8.Dish;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java...

2019-04-24 17:05:17 203

原创 maven修改JDK版本

maven修改jdk版本的两种方式修改指定项目的jdk版本<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk&...

2019-04-23 21:56:45 272

原创 如何配置redis哨兵

启动主节点启动两个从节点    需要注意的是在启动两个从节点之前需要先修改端口    这个时候主从其实已经搭建好了,其中6379是master节点。6380、5381是slave节点。Sentinel的启动启动sentinel1    修改的配...

2019-04-14 22:07:15 102

转载 MyCat分表分库的原理是什么

文章目录MyCat适应于那些场景非分片字段查询分页排序MyCat适应于那些场景    数据量大到单机hold不住,而又不希望调整架构切换为NoSQL数据库,这个场景下可以考虑适用mycat。当然,使用前也应该做规划,哪些表需要分片等等。另外mycat对跨库join的支持不是很好,在使用mycat的时候要注意规避这种场景。其实不至这一种方式,还有其他的一...

2019-04-09 21:50:09 1450

原创 redis主从复制的三种方式

redis主从复制的三种方式    基础的就不讲了…配置复制的三种方式:1. 在配置文件中加入slaveof{masterHost}{masterPort}随着redis的启动生效。2.在redis-server启动命令之后加入--slaveof{masterHost}{masterPort}生效。3.直接使用命令:slaveof{masterH...

2019-04-08 21:47:46 760

原创 redis--RDB和AOF

RDB和AOF的配置rdb概述    RDB是在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。    优点:使用单独子进程来进行持久化,主进程不会进行任何IO操作,保证了redis的高性能     缺点:RD...

2019-03-31 12:15:22 3346

原创 redis--慢查询分析

慢查询概述慢查询的两个参数    slowlog-log-slower-than和slowlog-max-len两个参数设置慢查询的标志。前者是少于微秒数就会被记录在慢查询中。当设置为0时候,会记录所有的命令;当设置为小于0时候,则不会记录所有的命令。slowlog-max-len是redis使用一个列表来保存慢查询日志,这个长度就是列表的最大长度...

2019-03-27 21:42:50 139

原创 Leetcode--最长回文子串

/** * 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 * <p> * 示例 1: * <p> * 输入: "babad" * 输出: "bab" * 注意: "aba" 也是一个有效答案。 * 示例 2: * <p> * 输入: "cbbd" * 输出: "bb" * **/public...

2019-03-25 22:15:15 92

原创 数据结构------二叉搜索树

    原博客地址:https://www.cnblogs.com/qm-article/p/9279655.html概述    二叉搜索树也成二叉排序树,它有这么一个特点,某个节点,若其有两个子节点,则一定满足,左子节点值一定小于该节点值,右子节点值一定大于该节点值,对于非基本类型的比较,可以实现Compa...

2019-03-21 21:58:51 86

原创 JDK1.8中的Spliterator

文章目录JDK1.8中的Spliterator定义数据源处理数据源的方式例子(直接上代码看问题)补充特征值JDK1.8中的Spliterator定义    用于遍历和分割“源”元素的对象。数据源    Spliterator的元素来源可能是一个数组,一个集合,一个IO通道,一个生成函数。处理数据源的...

2019-03-19 23:10:06 358

原创 JDK源码分析------Vector

概述&nbsp;&nbsp;&nbsp;&nbsp;正如我们大家都知道的样子,在集合框架中ArrayList和LinkedList都是线程不安全的。但是有没有存在线程安全的类呢?答案必然是肯定的。这里就解释一下Vector这个类。可能有人会提到java.util.concurrent.CopyOnWriteArrayList这个东西,由于其实现机制和Vector是不同的,这里不做如何讨论。当分...

2019-03-17 14:24:19 92

原创 源码分析------LinkedList

概述在工作中不但要知其然,还要知其所以然。虽然在工作中使用到了LinkedList,也知道其是使用链表的数据结构实现的,但是对于底层代码却一直是不了解的,所以今天也来分析一下LinkedList的底层原理,帮助更好的使用LindedList。UML图这里提一下一些常见的接口Cloneable:实现对象的复制,在LinkedList中使用的是浅复制.public Objec...

2019-03-10 13:42:19 101

原创 ArrayList源码解析

ArrayList源码分析ArrayList的成员变量对于大多数人来说,大家都知道ArrayList的底层是用数组实现的,那么今天就来揭秘一下ArrayList的底层的实现原理。首先来看一下ArrayList的成员变量/** * Default initial capacity. */ // 默认大小 private static final int...

2019-03-09 22:55:58 124

原创 Leetcode---探索环形链表

环形链表这里使用双指针的方法。就比如在400跑道上跑步,A的速速是B的速度的两倍,如果从同一个起点出发,那么这两个人会再次相遇。判断链表中有环的道理也是一样。用两个快慢指针,如果能相遇表示有环;如果没有相遇,表示没有环。/** * Definition for singly-linked list. * class ListNode { * int val; * ...

2019-03-09 10:30:15 85

转载 微服务架构下分布式事务解决方案

文章是转载的,原地址是:https://blog.51cto.com/13679539/2125217概述虽然微服务现在如火如荼,但对其实践其实仍处于初级阶段。即使互联网巨头的实践也大多是试验层面,鲜有核心业务系统微服务化的案例。GTS是目前业界第一款,也是唯一的一款通用的解决微服务分布式事务问题的中间件,而且可以保证数据的强一致性。本文将对GTS做出深入解读。SOA分布式解决方案在...

2019-03-07 21:37:05 2018

原创 使用Java操作zookeeper

文章目录创建连接创建节点同步创建异步创建删除节点读取数据更新数据节点是否存在权限控制创建连接1.public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher)2.public ZooKeeper(String connectString, int sessionTimeout, Watcher wat...

2019-03-07 21:08:35 309

原创 ThreadLocal源码解析

源码详解这里针对的是set和get方法set方法ThreadLocal&lt;Object&gt; threadLocal = new ThreadLocal&lt;&gt;();threadLocal.set("wuxiaobo");threadLocal.set("wuxiaobo");首先看一下ThreadLocal的set方法 public void set(T...

2019-03-06 16:53:24 104

原创 使用反射将Map转成Bean

/** * 将Map对象通过反射机制转换成Bean对象 * @param map 存放数据的map对象 * @param clazz 待转换的class * @return 转换后的Bean对象 * @throws Exception 异常 * 异常暂时保留 */ public static &lt;T&gt; ...

2019-03-05 17:44:12 519

转载 线程状态

线程状态图线程状态转化1. 新建(new):新创建了一个线程对象。2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。3. 运行(running):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。4...

2019-03-04 06:30:47 119

原创 LeetCode--两数之和

文章目录题目解题思想题目import com.bobo.utils.ArraysUtil;/** * 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 * &amp;lt;p&amp;gt; * 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 * &amp;lt;p&amp;gt; * 说明: * &amp;lt;p&amp;gt; *

2019-03-03 09:15:30 88

原创 spring和nacos整合作为配置中心

文章目录概述配置文件结果概述nacos的官网:https://nacos.io/zh-cn/docs/quick-start-spring.html,这里的一些概念不再过多 描述,这里只是提供使用。https://github.com/wuxiaobo000111/alibaba-learn.git这个是项目地址,项目一直会持续更新中。alibaba-group提供了同一的m...

2019-02-27 12:14:11 7254

原创 HTTP中的请求头、响应头和响应码

文章目录常用的请求头常用的响应头状态码常用的请求头名称备注示例Accept设置接受的内容类型Accept: text/plainAccept-Charset设置接受的字符编码Accept-Charset: utf-8Accept-Encoding设置接受的编码格式Accept-Encoding: gzip, deflateAccept-Da...

2019-02-26 19:26:41 686

原创 数据结构之线性表

package com.bobo.dataStructure.list;/** * 线性表 **/public class MyList { private int[] array; private int size=0; private static final int DEFAULT_ARRAY_LENGTH =8; public MyList(...

2019-02-22 18:13:24 54

转载 Java并发之彻底搞懂偏向锁升级为轻量级锁

转载:https://www.cnblogs.com/tiancai/p/9382542.htmlJava并发之彻底搞懂偏向锁升级为轻量级锁网上有许多讲偏向锁,轻量级锁的文章,但对偏向锁如何升级讲的不够明白,有些文章还相互矛盾,经过对jvm源码(biasedLocking.cpp)的仔细分析和追踪,基本升级过程有了一个清晰的过程,现将升级流程阐述如下:因为偏向锁,锁住对象时,会写入对象...

2019-02-19 20:33:10 440

原创 使用Redis实现分布式Session问题和部署问题

文章目录使用背景原理如何实现引入依赖使用背景公司后台管理系统使用的传统单一系统架构和使用tomcat作为web容器最初的时候使用的是把session交给了tomcat进行管理。但是问题也就接踵而至:一方面是每次部署之后因为tomcat的问题,所以导致session都会丢失,使用的人不得已需要重新登录;另一方面是如果需要部署多台机器,那么可能这次达到了A机器,下次到达了B机器,session不...

2019-02-18 18:08:59 1799 1

原创 JVM双亲委派模型

文章目录什么是双亲委派模型(Parent Delegation Model)?双亲委派模型的工作过程?如何破坏JVM双亲委派模型什么是双亲委派模型(Parent Delegation Model)?Bootstrap ClassLoader :根类加载器,负责加载 Java 的核心类,它不是 java.lang.ClassLoader 的子类,而是由 JVM 自身实现。Extension...

2019-02-12 18:49:04 874

原创 JVM类加载机制

文章目录类加载器是有了解吗?什么时候对类进行初始化类加载器是如何加载 Class 文件的?加载连接验证准备:为类的静态变量分配内存,并将其初始化为默认值解析初始化类加载器是有了解吗?类加载器(ClassLoader),用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转...

2019-02-12 12:22:51 134

原创 Spring 事务处理

文章目录事务特性(ACID)事务不完全隔离会发生的问题事务隔离事务的传播行为事务特性(ACID)原子性(atomicity):将事务中所做的操作捆绑成一个原子单元,即对于事务所进行的数据修改等操作,要么全部执行,要么全部不执行。一致性(Consistency):事务在完成时,必须使所有的数据都保持一致状态,而且在相关数据中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结...

2019-02-11 17:45:41 115

原创 JVM命令行工具

2019-02-10 14:24:55 246 2

原创 JVM垃圾回收期脑图

2019-02-02 13:22:32 113

原创 2018年下半年总结

概述2018年06月加入嘀嗒出行,如今半年已经过去,总结一下这将近7个月的学习经历。以此来激励自己不断前行。看过的框架下面的这些框架基本上能用,但是还没有深入理解其中的一些知识,所以2019年的主要目标就是开始读源代码。这也是2019年的目标吧,目前计划的是实现mybatis和dubbo源码的解读并发布到github上,到目前为止,已经开始实现mybatis源码的解读。下面列出自己看过...

2019-01-29 23:30:16 145

转载 牛逼的git脑图

2019-01-27 13:09:00 221

转载 RocketMQ顺序消费和事务消费

文章目录RocketMq顺序消费RocketMQ消息重复消费的问题事务消费注意:该文章是转载,原来文章的地址是:https://www.cnblogs.com/xuwc/p/9034352.htmlRocketMq顺序消费消息有序指的是一类消息消费时,能按照发送的顺序来消费。例如:一个订单产生了 3 条消息,分别是订单创建、订单付款、订单完成。消费时,要按照这个顺序消费才有意义。但同时...

2019-01-26 18:53:14 492

原创 rocketmq集群搭建

文章目录目标目标搭建的rocketmq是两主两从,namserver有两台。我在我的电脑的虚拟机上安装了两台contos7的虚拟机。首先将rocketmq的二进制包传入到机器上,然后进入到这个文件夹下面(rocketmq依赖java环境,所以首先要安装好jdk)分别编辑broker-a.properties和broker-b-s.propertiesbroker-a.proper...

2019-01-20 11:33:12 429

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除