自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 负载均衡中间件及算法解析

负载均衡● 随机● 加权随机● 轮询● 加权轮询● 平滑加权轮询● 最小调用时间● 一致性hash

2022-07-06 18:45:51 758 2

翻译 SpringBoot Cache

SpringBoot Cache使用整合Redis引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>&lt...

2019-11-20 17:35:29 235

原创 Seata(Fescar)- 分布式事务解决方案

Seata(Fescar)- 分布式事务解决方案传统事务模型微服务架构事务模型传统分布式事务解决方案基于XA的2PC(2阶段提交)方案TCC(Try、Confirm、Cancel)方案基于消息的最终一致性方案Seata解决方案Transaction Coordinator(TC): 保持全局和分支事务的状态,驱动全局事务的提交或者回滚.seate的核心优势(GTS: seata的开源版本名称)一个...

2019-10-22 17:52:11 847

原创 Redisson-分布式锁工具类

Redisson-分布式锁工具类什么是redissonRedisson可以做什么快速使用引入依赖定义Locker的接口定义类 Locker.classLocker接口实现类 RedissonLocker.classredisson属性装配类 RedissonConfig工具类([下载](https://github.com/superweidong/wei-dev-utils))什么是redis...

2019-10-22 17:31:53 3670

原创 Java-数据结构-链表

Java-数据结构-链表链表链表的种类单向链表双向链表双端链表链表操作链表链表是一种线性数据结构,但不会根据线性存储数据,而是在当前元素存储下个元素的指针。链表相对数组的优点是,可以不预先知道数据的大小,而且不像数组那样需要空间的连续性,因此链表可以充分的利用计算机的内存空间,但是它也失去了随机取出数据的灵活性和存储指针的额外内存开销。链表的种类单向链表单向链表是最简单的一种,它每个节点...

2019-02-21 20:22:51 383 2

原创 Java-数据结构-栈

Java-栈栈的数据结构栈的经典使用符号匹配表达式转换前缀表达式(Prefix Notation)后缀表达式(Postfix Notation)中缀表达式(Infix Notation)中缀表达式转为后缀表达式转换流程计算机解析后缀表达式中缀表达式转为前缀表达式参考文章栈的数据结构栈是一种简单的数据存储结构,是一种特殊的线性表,与链表和顺序表一样,只是在数据的存储上不同,栈只允许从一端存储或取...

2019-02-20 19:37:06 798

原创 Java-Map-详解

Java-Map-详解Map架构图Map的分类通用Map专用Map扩展MapHash(散列/哈希)的概念何为hash散列表拉链法解决冲突map存储例子Map子类详解HashMapHashtable继承对象不同:Hashtable的方法有synchronized,是线程安全的。对于null:TreeMapLinkedHashMapConcurrentHashMapMap操作使用增强for循环遍历使用...

2019-02-19 14:51:22 600 1

原创 Java-对象相等判断

Java-对象相等判断引用相等性和对象相等性引用相等性对象相等性equals和hashCodeequalsJDK中说明了实现equals()方法应该遵守的约定:hashCodehash码相同的情况hash码不相同的情况JDK中对hashCode()方法的作用,以及实现时的注意事项做了说明:重写equals和hashCode例子引用相等性和对象相等性引用相等性两个引用指向堆上同一个对象,成为引...

2019-02-18 16:40:47 1829

原创 Java-Collection-集合详解

Java-Collection-集合详解集合体系图Set集合1.set集合的特点2.set集合的唯一性如何保证3.set集合实现类分析3.1 HashSet3.2 TreeSetList集合1.List集合的特点2.List的实现类分析2.1 ArrayList2.2 LinkedList集合体系图Set集合1.set集合的特点Set集合特点是无序唯一2.set集合的唯一性如何保证...

2019-02-18 13:33:28 223

翻译 Java-数据结构-队列

Java-数据结构-队列集合体系图队列的数据结构特点队列的基本类型队列操作方法集合体系图队列属于集合体系,实现Collection,与List、Set属于同一级别。队列的数据结构特点队列是一种特殊的线性表,特点是FIFO(先入先出),只允许从表的前端进行删除操作,只允许从表的后端进行添加操作队列的基本类型双端队列Dequeue双端队列阻塞队列BlockingQueue...

2019-02-16 10:24:36 196

转载 JVM解析

JVM解析JVM知识全面解析1.什么是JVM2.JRE/JDK/JVM是什么关系3.JVM原理4.JVM的体系结构5.JVM运行时数据区6.对象“已死”的判定算法7.JVM垃圾回收8.垃圾收集算法9.垃圾收集器10.基本结构JVM知识全面解析你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdo...

2018-12-02 17:15:09 474

转载 CPU100%问题排查

CPU100%问题排查功能问题,通过日志,单步调试相对比较好定位。性能问题,例如线上服务器CPU100%,如何找到相关服务,如何定位问题代码,更考验技术人的功底。题目某服务器上部署了若干tomcat实例,即若干垂直切分的Java站点服务,以及若干Java微服务,突然收到运维的CPU异常告警。 问:如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载...

2018-06-15 13:52:22 1965

原创 Elasticsearch5.x集群安装及问题汇总

Elasticsearch5.x集群安装及问题汇总1.安装JDKElasticsearch是基于Java开发是一个Java程序,运行在Jvm中,所以第一步要安装JDK yum install -y java-1.8.0-openjdk-devel2.下载elasticsearchELasticsearch的官方站点 如果需要下载最新的版本,进入官网下载即可。可以下...

2018-05-09 13:58:39 367

转载 HTTP、HTTPS、SPDY、HTTP2.0

HTTP、HTTPS、SPDY、HTTP2.01. HTTP全称:超文本传输协议(HyperText Transfer Protocol) 伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用层,HTTP是建立在TCP协议之上,所以HTTP协议的瓶颈及其优化技巧都是基于TCP协议本身的特性,例如tcp建立连接的3次握手和断开连接的4次挥手以及每次建立连接带来...

2018-05-07 14:02:58 452

转载 Windows安装运行Kafka

一、安装JAVA JDK1、下载安装包http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html注意:根据32/64位操作系统下载对应的安装包2、添加系统变量:JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_144二、安装...

2018-04-18 11:06:37 328

原创 Java排序算法解析之 冒泡排序

static void bobbleSort(int[] a) { int len=a.length; /** * 开始遍历 */ for(int i=0;i&lt;len;i++){ /** * */ ...

2018-03-22 17:59:15 156

原创 Java排序算法解析之 选择排序

static void selectSort(int[] a) { /** * 开始遍历 */ for (int i = 0; i &lt; a.length; i++) { /** * 定义一个变量 默认变量是本组比较的第一位元素的下标 */ ...

2018-03-22 17:58:08 153

转载 MySQL索引背后的数据结构及算法原理

摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为四个部分。第...

2018-03-22 14:18:47 172

转载 java知识总结

String 类能被继承吗,为什么。 String类不能被继承 因为他是final 修饰的.String,Stringbuffer,StringBuilder的区别。 String初始化后将不能进行改变对象.对于大量字符串进行相加,会产生大量的对象. Stringbuffer 是一个线程安全, StringBulider 是线程不安全的 StringBulider 速度相对较快. St...

2018-03-21 15:58:23 275

原创 缓存穿透,缓存击穿,缓存雪崩

缓存穿透,缓存击穿,缓存雪崩分析和解决前言在数据访问量相对较大的情况下,设计一个缓存系统是必要的,但是缓存系统也面临着各种问题,本文主要从缓存穿透,缓存击穿,缓存雪崩三个方面分析缓存问题以及解决问题。缓存穿透情景查询一个一定不存在缓存中的值。原因由于缓存是被动写入,为了容错机制,在DB里面查询不到的数据是不会放入缓存中的,而访问这个不存在的值的时候,缓存查询不...

2018-03-16 17:36:18 211

原创 JAVA面试题

2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答: 匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现3、Static Nested Class 和 Inner Class的不同答: Nested Cla...

2018-02-25 20:22:37 409

转载 JVM梳理-(4)jvm调优

jvm调优1. 常见问题1.1 内存泄漏 内存泄漏一般可以理解为系统资源(各方面的资源,堆、栈、线程等)在错误使用的情况下,导致使用完毕的资源无法回收(或没有回收),从而导致新的资源分配请求无法完成,引起系统错误。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小,目前来说,常遇到的泄漏问题如下: 年老代堆空间被占满 年老代堆空间被占满 异常: java.lan...

2018-02-25 19:48:25 197

转载 JVM梳理-(3)jvm参数详解

jvm参数详解内存相关 收集器相关 辅助信息

2018-02-25 19:46:42 193

转载 JVM梳理-(2)垃圾收集器

垃圾收集器上面是目前比较常用的垃圾收集器,和他们直接搭配使用的情况,上面是新生代收集器,下面则是老年代收集器,这些收集齐都有自己的特点,根据不同的业务场景进行搭配使用。 收集器 1.1 Serial收集器 Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)也就是传说中的Stop The World。是Jvm clie...

2018-02-25 19:39:21 140

转载 JVM梳理-(1)jvm垃圾回收

垃圾回收算法梳理 1. 如何计算对象已死 1.1 引用计数器算法 引用计数器算法是给每个对象设置一个计数器,当有地方引用这个对象的时候,计数器+1,当引用失效的时候,计数器-1,当计数器为0的时候,JVM就认为对象不再被使用,是“垃圾”了。 引用计数器实现简单,效率高;但是不能解决循环引用问问题(A对象引用B对象,B对象又引用A对象,但是A,B对象已不被任何其他对象引用),同时每次计数器的...

2018-02-25 19:37:19 134

原创 RcoketMq集群安装和RocketMQ web界面监控rocketmq-console部署

推荐的几种 Broker 集群部署方式,这里的Slave 不可写,但可读,类似于 Mysql主备方式。单个 Master这种方式风险较大,一旦Broker 重启或者宕机时,会导致整个服务不可用,不建议线上环境使用。多 Master 模式一个集群无 Slave,全是 Master,例如 2 个 Master 或者 3 个 Master 优点:配置简单,单个Master 宕

2018-02-03 14:17:08 4715 1

原创 Linux快速安装Maven

maven软件包下载执行下面命令 如果报错 打开地址看看是否能够访问 wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.3/binaries/apache-maven-3.3.9-bin.tar.gz安装tar vxf apache-maven-3.2.3-bin.tar.gz$ mv apache-mav

2018-02-01 15:18:38 268

转载 Java socket编程

Socket编程一、网络基础知识(参考计算机网络) 关于计算机网络部分可以参考相关博客: 《TCP/IP协议栈及OSI参考模型详解》 http://wangdy.blog.51cto.com/3845563/1588379 1、两台计算机间进行通讯需要以下三个条件 IP地址、协议、端口号 2、T

2018-01-23 16:08:32 177

原创 TCP/IP协议栈详解和三次握手、四次挥手

模型图如下所示: TCP的三次握手(建立连接)和四次挥手(断开连接) 1、请求端(通常也称为客户端)发送一个SYN段表示客户期望连接服务器端口,初始序列号为a。2、服务器发回序列号为b的SYN段作为响应。同时设置确认序号为客户端的序列号加1(a+1)作为对客户端的SYN报文的确认。3、客户端设置序列号为服务器端的序列号加1(b+1)作为对服务器端SYN报文段的确认。这三个报

2018-01-23 15:48:31 215

原创 eclipse生产javadoc报异常

eclipse生产javadoc文档是报非法状态异常,解决办法是删除环境变量里面的classpath,重启eclipse即可

2018-01-23 15:06:48 449

转载 唯一正确的修改Jupyter Notebook的默认路径

唯一正确修改Jupyter Notebook的默认路径1、按照网上的方法,先修改了快捷方式的起始位置,发现并不能修改默认路径。2、后来发现“目标”中后面有个参数%USERPROFILE%,很明显这个决定了目录,于是我将这个参数删除改成了”D:\Project\AnacondaProjects”,然后就可以了,记得带上双引号。

2018-01-20 13:31:42 8440 13

原创 HBase操作数据

HBase创建数据put ’表名’,’row key’,’列族名’,’值’hbase(main):005:0> put 'emp','1','personal:name','raju'0 row(s) in 0.6600 secondshbase(main):006:0> put 'emp','1','personal:city','hyderabad'0 row(s) in 0.

2018-01-17 16:07:06 276

原创 HBase删除表

删除hbase表之前必须先禁用表:hbase(main):018:0> disable 'emp'0 row(s) in 1.4580 seconds然后再删除表hbase(main):019:0> drop 'emp'0 row(s) in 0.3060 seconds判断删除是否成功:exitshbase(main):020:0> exists 'emp'Ta

2018-01-17 15:49:01 3450

原创 Hbase操作表和Java API

Hbasel列出表 使用list命令可列出所有表hbase(main):001:0 > list使用Java API列出表下面给出的是使用Java API程序列出所有HBase中表的列表。import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoo

2018-01-17 15:45:07 396

原创 Hbase命令创建表和Java API

HBase创建表create 'table name(表名)','column family(列族名)'例子:hbase(main):002:0> create 'member', 'personal', 'professional'输出信息:0 row(s) in 1.1300 seconds=> Hbase::Table - member验证表是否创建成功,使用

2018-01-17 15:23:47 9048 1

原创 Elasticsearch安装和使用

1. window安装Elasticsearch1.前提条件要理解本教程的所有示例,需要在您的系统上安装 Elasticsearch。下载针对您的平台的 最新 Elastic Search 程序包。将该包解压到一个方便的位置。在 Windows 上,通过以下命令启动该实例:在 Windows 上进入es解压目录,运行./elasticsearch.bat 运行成功如下 (注意:运行需要jd

2018-01-15 11:50:16 30016

原创 MySQL忘记root密码解决

1.以管理员身份运行命令行2.输入 net stop mysql  停止mysql3.打开一个新窗口  输入  mysqld --skip-grant-tables   跳过权限4.打开一个新窗口  输入  mysql    链接成功5.接着运行   use mysql6.  执行   update user set authentica

2017-11-08 14:39:48 239

原创 Java接入253短信发送

短信发送主方法package com.chuanglan.port;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.URLDecoder;import org.apache.commons.httpclient.HttpClient;imp

2017-07-18 13:38:16 1464

原创 Java上传图片到OSS

上传主方法package cn.osworks.aos.huijia.modules.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import java.util

2017-07-18 13:31:11 1229

原创 极光推送嵌入Java项目

极光推送主方法package com.huijia.erp.ts;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import cn.jpush.api.JPushClient;import cn.jpush.api.common.resp.APIConnectionException;impor

2017-07-18 13:28:41 406

空空如也

空空如也

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

TA关注的人

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