自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

y_index的博客

心中默念“helloworld,我是大神”

  • 博客(176)
  • 问答 (1)
  • 收藏
  • 关注

原创 linux 安装mongodb

1、在线下载安装包 tar -zxvf mongodb-linux-x86_64-4.0.13.tgz2、tar -zxvf tar -zxvf mongodb-linux-x86_64-4.0.13.tgz 解压3、重新命名,方便mv mongodb-linux-x86_64-4.0.13 mongodb4、数据库文件夹、日志文件夹和配置文件文件夹。在usr/local/mongodb下执行:mkdir -p data logs etc5、在etc 执行vim mong..

2020-11-17 16:24:16 13

原创 面试常问的String字符串常量池

创建字符串对象有两种方式一种是通过初始化的方式创建String str="Hello";另一种是使用new关键字创建String str = new String("Hello");Java为了避免产生大量的字符串对象,设计了一个字符串池(String Pool),通过初始化方式创建的字符串对象都会存在于字符串池中,且字符串池中的字符串不会重复,以便可以被共享使用,提高存储效率。其工作原理是:当使用初始化的方式创建对象时,JVM会首先检查字符串池中是否存在值相等的字符串.

2020-11-17 14:46:59 10

原创 consul

CAP理论CAP理论是分布式架构中重要理论 一致性(Consistency) (所有节点在同一时间具有相同的数据) 可用性(Availability) (保证每个请求不管成功或者失败都有响应) 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)与 Eureka 有所不同,Apache Zookeeper 在设计时就紧遵CP原则,即任何时候对 Zookeeper 的访问请求能得到一致的数...

2020-07-01 10:29:30 92

原创 equals hashcode

介绍一、hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode()呢? 因为重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比较就可以了,效率很高,那么hashC...

2019-12-19 11:25:05 41

原创 ELK-统计网站pv

input { file { path => ["/var/log/nginx/access.log"] type => "nginx_access" #start_position => "beginning" }}filter { if [type] == "nginx_access" { grok { patterns_di...

2019-12-04 13:52:03 423

原创 Zookeeper负载均衡、选举

使用Zookeeper实现负载均衡原理,服务器端将启动的服务注册到,zk注册中心上,采用临时节点。客户端从zk节点上获取最新服务节点信息,本地使用负载均衡算法(取模),随机分配服务器。选举:通过创建临时节点来选举,创建成功就是leader,leader挂了之后监听节点信息,其他服务器再去创建。...

2019-11-29 15:25:26 49

原创 zookeeper 分布式锁

分布式锁肯定是用在分布式环境下。在分布式环境下,使用分布式锁的目的也是保证同一时刻只有一个线程来修改共享变量,修改共享缓存……。前景:jdk提供的锁只能保证线程间的安全性,但分布式环境下,各节点之间的线程同步执行却得不到保障,分布式锁由此诞生。实现方式有以下几种: 基于数据库实现分布式锁; 基于缓存(Redis等)实现分布式锁; 基于Zookeeper实现分布式...

2019-11-28 12:47:33 60

原创 zookeeper-初步认识

什么ZookeeperZookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以单机模式安装运行,不过...

2019-11-28 09:37:18 59

原创 微服务-springcloud-分布式配置中心,Hystrix

什么是配置中心在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config c...

2019-11-22 17:58:52 43

原创 微服务-springcloud-注册中心,生产消费,ribbon,zuul

SpringCloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、负载均衡、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。由此可见,Spring Cloud 微服务架构是由多个组件一起组成的,各个组件的交互流程如下。 请求统一通过 API 网关 Zuul 来访问内部服务,先经过 Token...

2019-11-21 14:30:25 75

原创 微服务-概念

单点系统架构传统项目架构传统项目分为三层架构,将业务逻辑层、数据库访问层、控制层放入在一个项目中。优点:适合于个人或者小团队开发,不适合大团队开发。分布式项目架构根据业务需求进行拆分成N个子系统,多个子系统相互协作才能完成业务流程子系统之间通讯使用RPC远程通讯技术。优点:1.把模块拆分,使用接口通信,降低模块之间的耦合度。2.把项目拆分成若干个子项目,不同的团...

2019-11-21 14:26:03 66

原创 XXL-JOB

许雪里 github 里面包含介绍:https://github.com/xuxueli/xxl-jobadmin可视化调度平台core是admin的依赖jarexecutor是具体的任务执行内容使用邮件遇到问题,需要在邮件的客户端配置生成授权码,这样就可以发邮件了xxljob架构图quartz的不足Qua...

2019-11-20 16:04:41 60

原创 mybatis一级缓存

@Autowired private SqlSessionFactory sqlSessionFactory; @Autowired private PropertieTabMapper propertieTabMapper; @Test @Transactional public void test() { SqlSession openSession = ...

2019-11-19 17:54:00 34

原创 RocketMQ -02 安装、集群

1.强调集群无单点,可扩展2.任意一点高可用,水平可扩展3.海量消息堆积能力,消息堆积后,写入低延迟。4.支持上万个队列5.消息失败重试机制6.消息可查询7.开源社区活跃8.成熟度(经过双十一考验)安装注意事项必须有jdk环境,rocketMQ是java写的。最好1.7以上。其他的看文档...

2019-11-13 15:38:54 28

原创 RocketMQ-01

RocketMQ分布式架构,支持集群,海量的消息堆积,支持上万个消息堆积。重试机制,持久化,顺序消费,事物消息RocketMQ包含的组件RocketMQ 通信组件使用了 Netty-4.0.9.Final,在乀上做了简单的协议封装。NameServer:单点,供Producer和Consumer获取Broker地址Producer:产生并发送消息Consumer:接受并消...

2019-11-12 12:51:58 51

原创 ActiveMQ

1、为什么要使用消息中间件解耦 、异步、削峰解耦:随着业务增长,模块之间耦合增加不利于维护开发。异步:异步可以提高代码执行效率。削峰:并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常。可以先放到队列中执行。2、使用消息中间件有什么问题系统可用性:刚开始系统用的好好的,然后被你拆分解耦,万一mq挂了,是不是砸蛋了。系统复杂性增加:牵扯到生产者消费者...

2019-11-05 17:37:26 39

原创 nginx-02 高可用

自己看文档安装。常用命令重启:$ /usr/local/nginx/sbin/nginx 启动命令重启:$ /usr/local/nginx/sbin/nginx –s reload停止:$ /usr/local/nginx/sbin/nginx –s stop测试配置文件是否正常:$ /usr/local/nginx/sbin/nginx –t强制关闭:$ pk...

2019-11-04 18:29:22 43

原创 nginx-01

题外:如何搭建一个安全架构nginx反向代理可以隐藏真实iphttps防止别人抓包分析搭建企业黑名单白名单防止模拟请求xss 脚本攻击sql注入ddos流量攻击(nginx)什么是nginx?nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试ng...

2019-10-30 16:54:57 88

原创 redis 六种淘汰策略

将 Redis 用作缓存时, 如果内存空间用满, 就会自动驱逐老的数据。 默认情况下 memcached 就是这种方式, 大部分开发者都比较熟悉。LRU是Redis唯一支持的回收算法. 本文详细介绍用于限制最大内存使用量的 maxmemory 指令, 并深入讲解 Redis 所使用的近似LRU算法。maxmemory 配置指令maxmemory 用于指定 Redis 能使用的最大内存。既...

2019-10-29 16:31:05 64

原创 Java缓存机制-redis

Java缓存机制Java中要用到缓存的地方很多,首当其冲的就是持久层缓存,针对持久层谈一下:要实现java缓存有很多种方式,最简单的无非就是static HashMap,这个显然是基于内存缓存,一个map就可以搞定引用对象的缓存,最简单也最不实用,首要的问题就是保存对象的有效性以及周期无法控制,这样很容易就导致内存急剧上升,周期无法控制可以采用SoftReference,WeakRefere...

2019-10-28 15:05:54 60

原创 @transaction注解不起作用的原因

看似加个注解就ok了,但是实际可能就会用错了,有时候不起作用,容易被忽略。1、@Transactional 注解只能应用到 public访问权限的方法上。 如果你在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,它也不会报错, 但是这个被注解的方法将不起事务作用。标注@Transactional的方法如果...

2019-10-24 10:18:15 616

原创 bean的生命周期

1.Spring对Bean进行实例化(相当于程序中的new Xx())2.Spring将值和Bean的引用注入进Bean对应的属性中3.如果Bean实现了BeanNameAware接口,Spring将Bean的ID传递给setBeanName()方法(实现BeanNameAware清主要是为了通过Bean的引用来获得Bean的ID,一般业务中是很少有用到Bean的ID的)4.如...

2019-10-21 14:04:45 36

原创 spring知识点回滚

简介Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架。且可以和其他框架一起使用;Spring与Struts, Spring与hibernate(起到整合(粘合)作用的一个框架)Spring提供了一站式解决方案:1) Spring Core spring的核心功能: IOC容器, 解决对象创建及依赖关系2) Spring Web Spring对web模块...

2019-10-16 11:22:12 41

原创 1.8之后hashmap红黑树

一. 二叉树概述二叉树是递归定义的,其节点有左右子树之分1.1 二叉树特性: 每个节点最多只有两颗子树,节点的度最大为2 左子树和右子树是有顺序的,次序不能颠倒 即使某个节点只有一个子树,也要区分左右子树1.2 二叉树基本形态:逻辑上二叉树有五种基本形态: 空二叉树 只有一个根节点的二叉树 只有左子树 只有右子树 完...

2019-10-15 17:39:37 47

原创 Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键)Ctrl+D 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+Ent...

2019-10-12 14:01:09 45

原创 mysql 主从复制,读写分离(mycat)

主从复制(mysql配置即可)概念影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成。那么,MYSQL-A的变化,MYSQL-B也会变化,这样...

2019-10-11 18:42:40 70

原创 内存泄漏和内存溢出

内存泄漏(memory leak ) 内存溢出 (out of memory)内存泄露 :是指程序在申请内存后,无法释放已申请的内存空间就造成了内存泄漏,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。我们知道了内存泄漏的原因而内存溢出则有可能是因为我们我们多次内存泄漏堆积后的后果则变成了内存溢出内存溢出: 指程序申请内存时,没有足够的内存供申请者使用,...

2019-10-10 10:33:21 28

原创 mysql 优化 -2

索引原理B+TreeB-Tree有许多变种,其中最常见的是B+Tree,例如MySQL就普遍使用B+Tree实现其索引结构。与B-Tree相比,B+Tree有以下不同点:每个节点的指针上限为2d而不是2d+1。内节点不存储data,只存储key;叶子节点不存储指针。主键索引主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”。如果你曾经用过AUTO_...

2019-09-29 11:12:10 30

原创 mysql 优化 -1

优化方案表的设计合理化(符合3NF)添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引]SQL语句优化分表技术(水平分割、垂直分割)读写[写: update/delete/add]分离存储过程 [模块化编程,可以提高速度]对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ]1、show variables l...

2019-09-28 14:47:31 46

原创 重复提交,CSRF,XSS攻击

表单重复提交解决方案(防止Http重复提交网络延时在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交。重新刷新表单提交后用户点击【刷新】按钮导致表单重复提交点击浏览器的【后退】按钮回退到表单页面后进行再次提交用户提交表单后,点击浏览器的...

2019-09-20 17:19:38 111

原创 长连接 短连接

http长连接与短连接 HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。如何理解HTTP协议是...

2019-09-20 15:47:52 46

原创 深入理解Http协议

Http协议入门什么是http协议http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范http协议内容请求(浏览器-》服务器)GET /day09/hello HTTP/1.1Host: localhost:8080User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/201001...

2019-09-19 16:03:09 31

原创 cookie session

Cookie技术核心Cookie类:用于存储会话数据1)构造Cookie对象Cookie(java.lang.String name, java.lang.String value)2)设置cookievoid setPath(java.lang.String uri) :设置cookie的有效访问路径void setMaxAge(int expiry): 设置coo...

2019-09-19 15:28:22 27

原创 Web开发入门

javaee javase 区别软件的结构C/S (Client - Server 客户端-服务器端)典型应用:QQ软件 ,飞秋,红蜘蛛。特点:1)必须下载特定的客户端程序。2)服务器端升级,客户端升级。B/S (Broswer -Server 浏览器端- 服务器端)典型应用: 腾讯官方(www.qq.com) 163新闻网站, ...

2019-09-18 17:40:46 77

原创 maven 回滚

maven好处:1.管理jar包2.解决冲突3、远程 、本地、私服仓库 方便使用jar包打包过程:一、Maven中央存储库当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 http://sea...

2019-09-18 15:59:11 343

原创 jvm-5 垃圾回收机制

垃圾回收机制概述Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps:内存泄露是指该内存空间使用完毕之后未回收,在不涉及复杂数据结构的一般...

2019-09-17 14:43:00 43

原创 jvm-4 回滚

自动内存管理机制Java虚拟机原理所谓虚拟机,就是一台虚拟的机器。他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机, 大名鼎鼎的Visual Box、Vmare就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行...

2019-09-17 11:14:36 52

原创 TCP粘包、拆包问题解决方案

什么是粘包/拆包一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和封包问题。下面可以看一张图,是客户端向服务端发送包:1. 第一种情况,Data1和Data2都分开发送到了Server端,没有产生粘包和拆包的情况。2. 第二种情况,Data1和Data2数据粘在了一起,打成了一个大的包发送到Server端...

2019-09-16 17:15:52 29

原创 Netty快速入门

什么是NettyNetty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。Netty应用场景1.分布式开源框架中dubbo、Zookeeper,RocketMQ底层rpc通讯使用就是netty(底层nio),底层协议都是用的tcp或udp协议。2.游戏开发中,底层使用netty通讯。为什么选择nett...

2019-09-16 11:13:18 59

原创 NIO同步阻塞与同步非阻塞

BIO与NIOIO(BIO)和NIO区别:其本质就是阻塞和非阻塞的区别阻塞概念:应用程序在获取网络数据的时候,如果网络传输数据很慢,就会一直等待,直到传输完毕为止。非阻塞概念:应用程序直接可以获取已经准备就绪好的数据,无需等待。IO为同步阻塞形式,NIO为同步非阻塞形式,NIO并没有实现异步,在JDK1.7后升级NIO库包,支持异步非阻塞同学模型NIO2.0(AIO)BI...

2019-09-16 10:56:17 42

空空如也

空空如也

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

TA关注的人 TA的粉丝

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