自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (2)
  • 收藏
  • 关注

原创 mysql8.0安装

这里我用的发行版是centos7 不同版本用的指令可能会有些不同。

2023-06-26 14:25:49 627

原创 统计分析大文本、合并两个有序数组

package com.common.bigData.last;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.*;import java.util.concurrent.*;public class LastDemo { private static Logger logge...

2019-12-29 17:24:42 200

原创 es详解

ES集群的服务器分为以下四种角色:master节点,负责保存和更新集群的一些元数据信息,之后同步到所有节点,所以每个节点都需要保存全量的元数据信息: ▫集群的配置信息 ▫集群的节点信息 ▫模板template设置 ▫索引以及对应的设置、mapping、分词器和别名 ▫索引关联到的分片以及分配到的节点 datanode:负责数据存储和查询 coordinator: ▫路由索引请求 ▫聚合搜索...

2019-12-27 01:05:00 339

原创 好文收录

数据库mysqlMySQL中的锁(表锁、行锁,共享锁,排它锁,间隙锁)https://www.cnblogs.com/leedaily/p/8378779.htmlMongoDBhttps://blog.csdn.net/hayre/article/details/80628431编码Java一个汉字占几个字节(详解与原理)https://www....

2019-12-25 21:02:15 170

原创 kafka底层逻辑、分区、事物、幂等性

kfk默认的生产者分区、与消费者分区生产者 本身kafka有自己的分区策略的,如果未指定,就会使用默认的分区策略:Kafka根据传递消息的key来进行分区的分配,即hash(key) % numPartitions。如果Key相同的话,那么就会分配到统一分区。生产者发送消息时整个分区路由的步骤如下: 判断消息中的partition字段是否有值,有值的话即指定了分区,直接将该消...

2019-12-25 02:16:47 456

原创 springcloud中的分布式事务

在微服务如火如荼的情况下,越来越多的项目开始尝试改造成微服务架构,微服务即带来了项目开发的方便性,又提高了运维难度以及网络不可靠的概率.文章目录 Spring Cloud 分布式事务管理 单体式架构 微服务架构 优点: 分布式事务的引入 分布式事务解决方案 基于XA协议的两阶段提交 消息事务+最终一致性...

2019-12-24 13:34:37 597

原创 PostgreSQ及与MySQL对比

1.什么是PostgreSql:PostgreSQL是一个功能强大的开源对象关系型数据库系统,他使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年的积极开发。PostgresSQL凭借其经过验证的架构,可靠性,数据完整性,强大的功能集,...

2019-12-24 01:34:54 317

原创 java的io与nio

Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。 Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道...

2019-12-24 01:20:22 145

原创 Java 中几种常用设计模式

Java 中一般认为有23种设计模式,当然暂时不需要所有的都会,但是其中常见的几种设计模式应该去掌握。总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模...

2019-12-24 00:51:11 122

原创 RDB与AOF详解redis

rdb如何持久化Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写进一个临时文件中,等到持久化过程结束了,再用这个临时文件替换上次持久化好的文件。在这个过程中,只有子进程来负责IO操作,主进程仍然处理客户端的请求,这就确保了极高的性能。RDB优点与缺点优点 如果要进行大规模数据的恢复,RDB方式要比AOF方式恢复速度要快。...

2019-12-23 20:41:27 134

原创 redis:详解三种集群策略

edis包含三种集群策略主从复制 哨兵 集群主从复制在主从复制中,数据库分为俩类,主数据库(master)和从数据库(slave)。其中主从复制有如下特点: 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库 从数据库一般都是只读的,并且接收主数据库同步过来的数据 一个master可以拥有多个slave,但是一个slave只能对应一...

2019-12-23 00:21:07 180

原创 mybatis相对于ibatis的优势

1. 入参无需用对象封装(或者map封装),使用@Param注解当Ibatis需要接收超过一个参数时,则需要将多个参数封装成对象,这个时候会产生很多Domain查询类。还有很多同学偷懒,写用hashmap传参,这种方式会彻底丧失代码的优雅性,同时hashmap方式很容易造成bug 如果你的映射器的方法需要多个参数, 这个注解可以被应用于映射器的方法 参数来给每个参数一个名字。否则,多...

2019-12-22 23:56:58 171

原创 c3p0

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.driverClassName}" /> <propert...

2019-12-22 18:47:02 87

原创 spring事务管理

事务的特性 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性: 执行事务前后,数据保持一致; 隔离性: 并发访问数据库时,一个用户的事物不被其他事物所干扰,各并发事务之间数据库是独立的; 持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。Sprin...

2019-12-22 18:22:45 66

原创 IDEA优雅整合Maven+SSM框架

原文史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)https://blog.csdn.net/qq_44543508/article/details/100192558整合的思路1、先搭建整合的环境2、先把Spring的配置搭建完成3、再使用Spring整合SpringMVC框架4、之后使用Spring整合MyBatis框架...

2019-12-22 18:05:01 638

原创 mysql 常用数据类型

1. TEXTTEXT有4有类型:TINYTEXT 256bytes TEXT 64kb MEDIUMTEXT 16Mb LONGTEXT 4GB2. BLOBTINYBLOB BLOB、 MEDIUMBLOB LONGBLOBblob 保存的是二进制数据,利用这个特性,可以把图片存储到数据库里面。text只能存储文本。2 . 那么如何存储文章中的图片呢,我的处理是...

2019-12-22 16:50:55 88

原创 redis底层数据结构与内存优化

watch命令描述 WATCH命令可以监控一个或多个键,一旦其中有一个键被修改(或删除),之后的事务就不会执行。监控一直持续到EXEC命令(事务中的命令是在EXEC之后才执行的,所以在MULTI命令后可以修改WATCH监控的键值)利用watch实现incr具体做法如下: WATCH mykey val = GET mykey...

2019-12-22 01:42:52 322

原创 Redis:存储对象的几种方式

方式一:序列化操作public class SerializeUtil { /* * 序列化 * */ public static byte[] serizlize(Object object){ ObjectOutputStream oos = null; ByteArrayOutputStream baos = null...

2019-12-22 00:03:31 316

原创 深入理解Java并发之synchronized实现原理

线程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。synchronized的三种应用方式synchronized关键字最主要有以下3种应用方式,下面分别介绍 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 修饰静态方法,作用于当前类对象加锁,进...

2019-12-21 19:34:17 102

原创 mysql中的乐观锁与悲观锁

首先明确一个问题MySQL中update语句的执行流程update user set user_name="XXX" where Id=1当你执行这条命令的时候,执行器首先会让InnoDB去查找到这一行,看这一行的数据页有没有在内存中,如果有就直接返回,如果没有就在磁盘中找,再读入到内存中,最后在返回。执行器拿到了引擎给的数据之后,就会把这个user_name这个属性修改为“XXX...

2019-12-19 00:29:34 73

原创 秒杀系统文字概述

秒杀系统要处理的核心问题是高并发问题、数据安全问题。对于高并发问题可以在以下几个方面来处理:根据不同的业务与产品,分别在不同的时间开始抢购分拆同一时间的压力 设置先预约后抢购的逻辑,可以筛掉很多抢购者,同时可以预估抢购人数 搭建nginx-tomcat负载均衡以应对瞬时的高并发 在nginx中配置同一个ip在单位时间内访问指定借口的最大次数 根据秒杀的库存数比如10000,在...

2019-12-19 00:14:28 211

原创 SpringBoot SpringSecurity

Spring Security是一款基于Spring的安全框架,主要包含认证和授权两大安全模块,和另外一款流行的安全框架Apache Shiro相比,它拥有更为强大的功能。Spring Security也可以轻松的自定义扩展以满足各种需求,并且对常见的Web安全攻击提供了防护支持。如果你的Web框架选择的是Spring,那么在安全方面Spring Security会是一个不错的选择。下面记录讲...

2019-12-19 00:13:08 150

原创 sql分析

一张图看懂 SQL 的各种 JOIN 用法不写的话默认是inner全链接 mysql不支持、oracle支持数据库数据CREATE TABLE `tbl_dept`(`id` INT(11) NOT NULL AUTO_INCREMENT,`deptName` VARCHAR(30) DEFAULT NULL,`locAdd` VARCHAR(40) DEFAULT ...

2019-12-17 00:51:37 169

原创 springcloud架构

2019-12-15 23:35:49 93

原创 spring cloud框架介绍

什么是微服务微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”。微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独...

2019-12-15 21:49:03 177

原创 某些java类为什么要实现Serializable接口

什么是Serializable接口?一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化什么是序列化?将对象的状态信息转换为可以存储或传输的形式的过程,在序列化期间,对象将其当前状态写入到临时存储区或持久性存储区,之后,便可以通过从存储区中读取或反序列化对象的状态信息,来重新创建该对象什么情况下需要序列化?当我们需要把对象的状态信息通过网络进...

2019-12-15 16:00:34 220

原创 Java中String,StringBuilder和StringBuffer的区别

这三个类的主要区别在两个方面:运算速度(运算性能或执行效率)和线程安全性。1、运算速度比较(通常情况下):StringBuilder > StringBuffer > StringString是final类不能被继承且为字符串常量,而StringBuilder和StringBuffer均为字符串变量。String对象一旦创建便不可更改,而后两者是可更改的,它们只能通过构造函数来...

2019-12-15 01:47:14 236

原创 细说Spring——AOP详解(AOP概览)

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了...

2019-12-14 23:35:56 294

原创 Spring 了解Bean的一生(生命周期)

spring bean 主要包括一个bean容器 即- //1.创建Spring IOC 容器对象ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-config.xml");bean 的生命周期定义- 在spring的配置文件中配置bean 初...

2019-12-13 15:58:00 105 1

原创 java线程池全部线程执行完后获取线程结果并分析demo

package com.common.bigData.last;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.*;import java.util.concurrent.*;public class LastDemo { private static Logger logge...

2019-12-11 15:21:41 1314

原创 java 递归实现两个有序数组的合并

public static void main(String[] args) { int[] a=new int[]{1,6,9,122}; int[] b=new int[]{2,3,4}; int[] temp=new int[7]; int[]d= compareDG(a,0,b,0,temp,0); fo...

2019-11-28 15:06:22 814

原创 递归

递归定义递归,就是在运行的过程中调用自己。构成递归需具备的条件:1. 子问题须与原始问题为同样的事,且更为简单;2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。递归应用递归算法一般用于解决三类问题:(1)数据的定义是按递归定义的。(Fibonacci函数) 斐波那契函数(2)问题解法按递归算法实现。这类问题虽则本身没有明显的递归结构,但用递归...

2019-11-28 13:19:01 303

原创 Hanoi塔问题的递归方法与非递归方法(java实现)

本文讨论了Hanoi塔问题的递归方法与非递归方法,给出了java实现的代码,并比较了它们的效率。法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只...

2019-11-25 16:54:20 1199

原创 单点登录(SSO)

一、SSO(单点登录)介绍SSO英文全称Single SignOn,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。实现机制当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系...

2019-11-21 21:51:18 121

原创 Spring框架的好处,为什么要用Spring?什么是IOC

Spring框架的好处,为什么要用Spring?1.方便解耦,便于开发(Spring就是一个大工厂,可以将所有对象的创建和依赖关系维护都交给spring管理)2.spring支持aop编程(spring提供面向切面编程,可以很方便的实现对程序进行权限拦截和运行监控等功能)3.声明式事务的支持(通过配置就完成对事务的支持,不需要手动编程)4.方便程序的测试,spring 对ju...

2019-11-19 15:49:07 582

原创 spring boot与spring mvc的区别是什么?

Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML...

2019-11-19 15:26:34 319

原创 spring与spring-boot与spring-mvc

1、概述:对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,我相信对于用了SpringBoot很久的开发人员来说,有绝大部分还不是很理解SpringBoot到底和Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!2、什么是Sp...

2019-11-19 15:17:28 76

原创 Java经典算法50题(含代码)

【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?public static void main(String[] args) { int f1=1,f2=1,f; int M=30; System.out.println(f1)...

2019-11-17 15:23:19 402

原创 分布式-高并发-秒杀系统

秒杀业务场景 1、高并发  比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前到后都是一种考验。  2、超卖  任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品数量的上限,这是每个抢购活动都要面临的难题。二、如何解决?1、前端  面对高并发的抢购活动,前端常用的三板斧是【扩容】【静态化】【限流】  A:扩容...

2019-11-17 10:57:09 155

原创 redis与memcache比较

Redis 和 Memcache 的性能对比基础篇由于redis只能使用单核,而memcache可以使用多核,所以在比较上,平均每一个核上redis在储存小数据时比memccache性能更高。而却100K以上数据中,memcache性能要高于redis,虽然redis最近也在储存大数据的性能上进行优化,但是比起memcached还是有点逊色。结论是无论你使用那个,每秒处理请求的次数都不会成为瓶...

2019-11-17 10:54:22 184

dubbo-provider-consumer.zip

dubbo-provider、dubbo-consumer可用极简实例 dubbo安装详情见博客https://mp.csdn.net/postedit/102726384

2019-10-24

ES集群高可用.pptx

es高可用 防止集群脑裂问题 防止单点故障问题 Master节点故障 Data节点故障 节点可迁移 集群的横向动态扩容

2019-10-17

空空如也

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

TA关注的人

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