自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kafka-producer生产者到底是怎么工作的?

1,producer 工作流程:producer 的功能就是向某个 topic 的某个分区发送一条消息,所以首先要确定的就是向哪个分区发送,kafka 支持自动分配分区,也支持开发者自己指定分区。分区是通过 Partitioner(分区器) 实现的,默认的分区器会看消息是否有 key:如果有key,就计算key的hash值,然后对总分区数求模得到消息要被发送到的目标分区号。 如果没有...

2019-06-30 17:25:23 969

转载 一文彻底了解kafka。。。。

为什么需要消息队列周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马上有女朋友了,竟然幸福的失眠了……第二天正常上着班,突然接到快递小哥的电话:小哥:“你是xx吗?你的女朋友到了,我现在在你楼下,你来拿一下吧!”。我...

2019-06-29 19:21:57 1002

原创 springcloud(3)-高可用这册中心

高可用这册中心,就是将自己作为服务向其他注册中心注册自己,这样就形成了一套相互注册的注册中心,以实现服务实例清单同步,从而达到高可用状态,下面尝试搭建高可用注册中心。1,在前面项目基础上,创建一个application-peer1.properties,作为peer1配置服务配置中心,并将service-url指向peer2,spring.application.name=eureka-...

2019-06-20 22:39:24 89

原创 消息驱动-stream-rabbit使用方法实战

1,新建一个springboot,取名为stream-hello2,编辑pom.xml文件,添加依赖包,spring-cloud-starter-stream-rabbit<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x...

2019-06-17 22:45:18 891

原创 ERROR: node with name "rabbit" already running的解决方法

启动终端:输入命令:sudo rabbitmqctl status然后输入:sudo rabbitmqctl stop在输入:rabbitmq-server就可以启动了

2019-06-17 22:14:57 20430 6

原创 redis-计数器信号量,看这一篇就够了

但各个系统的系统时间并不完全相同时,基本信号量就会出现问题:系统时间较慢的系统,将能够偷走系统时钟快的系统的信号量,导致信号量变得不公平。以下方法,只要系统间时间相差不到1秒,就不会出现信号量被偷或提早过期。1、为信号量添加一个计数器器和一个有序集合。2、其中计数器通过持续地执行自增操作,创建出一个类似于计时器的机制,确保最先对计数器执行自增操作的客户端最早获得信号量,将计数器的自增值用作...

2019-09-14 19:23:58 1441

原创 mysql-高可用看这篇就够了

1、复制概述1.1、复制解决的问题数据复制技术有以下一些特点:(1) 数据分布(2) 负载平衡(load balancing)(3) 备份(4) 高可用性(high availability)和容错1.2、复制如何工作从高层来看,复制分成三步:(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binar...

2019-08-11 12:04:37 189

原创 (String)、toString()和String.valueOf()的区别

本文将以从int类型转为String类型的方法为例,讲解从其他类型转换到String类型的各种方法,以及其中的区别。1.(String)强制转换一式Object obj = new Integer(100);String str = (String)obj;System.out.println(str);【失败】此种情况可以在语法检测上通过,但是运行后会报错:java.la...

2019-07-03 21:23:01 572

转载 面试中关于Redis的问题看这篇就够了

https://blog.csdn.net/qq_34337272/article/details/80012284

2019-06-27 22:22:16 112

原创 ERROR: node with name "rabbit" already running on "localhost"解决方法

登陆终端:输入:sudo rabbitmqctl status然后输入:sudo rabbitmqctl stop最后输入:rabbitmq-server

2019-06-20 21:43:04 11033 3

原创 springcloud(1)-springcloud服务注册和发现

本章将从五个方面讲eureka1,服务注册和发现概念1)服务注册:每次服务启动,服务单元都会像服务注册中心注册自己,注册就会维护一个服务实例清单,注册中心以心跳的方式维护服务,如不可用则在服务实例清单中剔除这个服务。2)服务发现:调用方调用服务主要是通过服务名发起调用,而不是通过ip地址调用,比如调用方A通过注册中心B调用C,则此时A先要B咨询服务,B把会把服务C的位置清单发给A,如果...

2019-06-19 23:02:19 81

原创 springcloud(1)-springcloud简介

什么是Spring CloudSpring Cloud是基于Spring Boot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。Spring Cloud包含了非常多的子框架,其中,Sp...

2019-06-19 22:01:15 110

原创 Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1

一、修改my.ini配置文件(mysql配置文件)character_set_server = utf8 #设置字符集 重启mysql数据库服务查看当前数据库字符集show VARIABLES like 'character%';show create database 数据库名  二、修改数据库字符集alter database 数据库名 charact...

2018-09-03 12:57:00 1535

原创 java中异常抛出后代码还会继续执行吗

第一种:抛出异常不捕获public class Exception_test {public static void main(String[] args) throws ArithmeticException{    int t=9,m=0;  //  try {        for(int i=0;i&lt;8;i++) {            m=t/(i-4);    ...

2018-08-25 10:04:22 2908

原创 Windows下安装MySQL

1.1. 下载:我下载的是64位系统的zip包:下载地址:https://dev.mysql.com/downloads/mysql/下载zip的包: 下载后解压:D:\软件安装包\mysql-5.7.20-winx641.2. 配置环境变量:变量名:MYSQL_HOME变量值:E:\mysql-5.7.20-winx64path里添加:%MYSQL_HOME%...

2018-08-04 14:36:54 133

原创 线程的基本API方法

1.线程的生命周期1,start方法线程准备就绪等待CPU分派资源2,run方法

2018-04-16 21:04:59 1421

原创 多态的理解-这一片就够了

一个方法名,参数不同,这叫方法重载。(Overload)Parent instance = new Child();instance.foo(); //==&gt; Child foo()void foo(String str);void foo(int number);父类与子类有同样的方法名和参数,这叫方法覆盖。(Override)class Parent { void foo()...

2018-04-16 21:04:09 155

原创 知乎关注度人数最多的问题排行榜 TOP10

TOP1你有哪些终生难忘的扎心瞬间?https://www.zhihu.com/question/62431352/answer/205462260关注数:79845 回答人数:16240TOP2哪些话你一开始不信,后来却深信不疑?https://www.zhihu.com/question/263462344/answer/270453824关注数:770456 回答人数:6765TOP3男生的...

2018-03-14 13:08:55 8881

原创 分词代码

https://github.com/Quincy1994/Segment

2018-03-01 13:44:23 1090

原创 cell.setcellvalue保存字符总是显示该字符的ascii码的问题

采用这种办法就可以了,cell.setCellValue(String.valueOf(‘c’));

2018-01-09 21:51:53 4291

翻译 Spring框架之依赖注(DI)和控制反转(IOC)的理解,写的太好了

前言关于这个话题, 网上有很多文章,这里, 我希望通过最简单的话语与大家分享. 依赖注入和控制反转两个概念让很多初学这迷惑, 觉得玄之又玄,高深莫测. 这里想先说明两点: 1,依赖注入和控制反转不是高级的,很初级,也很简单. 2,在JAVA世界,这两个概念像空气一样无所不在,彻底理解很有必要.第一节 依赖注入 Dependency injection这里通过一个简单的案例来说明.

2017-12-13 19:17:15 359

转载 单例模式用法

我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。一、静态方法常驻内存,非静态方法只有使用的时候才分配内存?一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其实这个理解是错误的。为什么会这样,先从内存分配开始说起:托管堆的定义:对于32位的应用程序来说,应用程序完成进程

2017-10-07 12:16:27 198

原创 TCP的拥塞控制

TCP的拥塞控制拥塞:即对资源的需求超过了可用的资源。若网络中许多资源同时供应不足,网络的性能就要明显变坏,整个网络的吞吐量随之负荷的增大而下降。拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。流量控制:指点对点通信量的

2017-09-26 23:06:47 774

转载 链表的基本操作-Java

转载:http://blog.csdn.net/tayanxunhua/article/details/11100097/package com.tyxh.link;//节点类public class Node { protected Node next; //指针域 protected int data;//数据域 public Node( int data) {

2017-09-12 12:02:22 187

原创 构建自定义的同步工具

状态依赖的管理在单线程化的程序中,如果调用一个方法时,依赖于状态的先验条件为满足(比如连接池非空),那么这个先验条件就无法变为真。但是在并发程序中,基于状态的先验条件会在其他线程的活动中被改变。对于并发对象,依赖于状态的方法有时可以再不能满足先验条件的情况下选择失败,不过更好的选择是等待先验条件变为真。 通俗语言:如果前提条件没有满足,则等待其他线程操作使当前线程的前提条件变成真,变成可执行状态,

2017-09-08 10:18:26 298

原创 ConcurrentHashMap详解

简介: 同步容器类是在执行过程中每个方法都在同一个锁上同步并使得每次只有一个线程访问容器,也就是执行过程中都有锁。比如hashmap.get方法时必须调用equals方法比如实现hashcode方法时容器中元素不均匀分布在容器,有可能会将散列表变成线性链表,当遍历很长链表时会花费很长时间,此时其他线程只有等待,不能访问该容器。ConcurrentHashMap实现机理: 它是基于散列map,使用

2017-09-08 09:11:46 279

原创 MySQL数据库索引类型以及创建

相关概念优点:提高数据库从表中检索数据的速度。 索引检索速度快的原因:由于数据存储在数据表中所以索引是创建在数据表对象上的,由表中一个或者多个键组成了索引,这些键存储在数据结构(b-tree或者hash表)中所以能快速查找与键值相关联的字段。 innode和myisam存储引擎支持b-tree索引,memory存储引擎支持hash索引。索引分类以及创建普通索引:创建三种方式: 1,创建表时

2017-08-20 16:07:53 308

原创 MySQL索引以及优化

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则

2017-08-15 11:32:11 153

原创 线程通信几个关键字说明(wait()/notify()/sleep()/notifyAll())

wait():wait是object类的方法,该方法将当前线程置于”预执行队列”,并且在wait所处的代码处停止执行,直到接到通知后或被中断为止 注意:调用wait前,线程必须获得该对象的对象级别锁,就是只能在同步方法或者同步块中调用wait方法,在执行wait方法后,当前线程释放锁,在wait返回前,线程与其他线程竞争获得锁,如果调用wait时没有持有锁则抛出异常:没有获得监听器,它是runti

2017-08-14 17:08:51 506

原创 同步synchronized 无限期等待导致死锁

主线程:public class DeadsynMain1 { public static void main(String[] args) { Service ser=new Service(); threadA tA=new threadA(ser); tA.start(); threadB tB=new threadB(s

2017-08-14 11:01:06 671

原创 重入锁概念

public class KechongruSyn {public static void main(String[] args) { myThread t=new myThread(); t.start(); }}class service{ synchronized public void service1(){ System.out.prin

2017-08-13 19:14:51 327

原创 线程安全和非线程安全的理解

线程安全和非线程安全实例: 线程安全代码实例: public class ThreadSafe { public static void main(String[] args) { HasSelf numself=new HasSelf(); threadA aThreadA=new threadA(numself); aThreadA.start();

2017-08-13 17:16:40 1258

原创 synchronized和sleep的用法(1)

synchronized和sleep的用法(1)概述:我们都知道synchronized用做同步使之线程安全,然而 synchronized并不总是线程同步代码实例:`package ThreadPackage;public class ThreadSafe { public static void main(String[] args) { HasSelf numself=

2017-08-13 17:00:24 1259 2

原创 java多线程基础知识

1,多线程的实现方式:继承Thread和实现Runnable接口 区别:多继承时使用runnable接口,因为java只支持单继承 2.非线程安全和线程安全: 非线程安全:多个线程对同一变量进行修改时,会出现值被更改,值不同步的情况,进而影响程序的执行交流 线程安全:在单线程执行和多线程执行,结果是一样的。 关键字:synchronized可以使线程安全, 用法:synchronized

2017-08-13 13:13:56 244

原创 Java多线之同步与异步

异步:start()方法通知“线程调度器”,此线程已经准备就绪,等待CPU分派资源调用run方法,使线程得到执行启动线程,访问资源时在空闲等待时同时访问其他资源,实现多线程机制同步,此线程对象不交给“线程调度器”,直接由主线程调用run方法,是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低特别说明:执行start方法顺序并不是线程启动顺序

2017-08-13 12:23:48 210

原创 Java多线程优先级

java多线程优先级使用setPriority方法三个特性:继承性,规则性和随机性源码: public final void setPriority(int newPriority) {        ThreadGroup g;        checkAccess();        if (newPriority > MAX_PRIORITY || newPriority

2017-08-13 10:34:21 88

原创 mysql触发器用法

介绍触发器:mysql响应一下任意一条语句而自动执行的一条MySQL语句比如:增改插,insert,update,select用处:1,比如每当一个顾客进入数据表时,都要检查电话号码格式是否正确,email是否正确。2,每当订购一个产品都要从库存中减去订购的数量。3,无论何时删除一行都要保留存档一个副本。这几个例子共同之处在于每个表发生更改时都要自动触发某个事件。下面举个例

2017-08-12 18:32:52 228

原创 报错 Not allowed to return a result set from a trigger

相信很多朋友会出现这种报错,在mysql出现Not allowed to return a result set from a trigger这一般是触发器创建错误,因为你的触发器没有使用,所以出现这种报错

2017-08-12 17:57:01 6892 3

原创 MYSQL数据库 Can't find FULLTEXT index matching the column list

匹配不成功,如果用全文搜索sql="select name from table1 where Match(name) Against('放下')";这样是匹配不成功的,特别是中文!!!所以最好使用like关键字最好

2017-08-11 22:42:57 6331

空空如也

空空如也

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

TA关注的人

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