自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dayformyjob

好好学习,天天向上

原创 rxjava---demo

<!-- https://mvnrepository.com/artifact/io.reactivex.rxjava3/rxjava --> <dependency> <groupId>io.reactivex.rxjava3</groupId> <artifactId>rxjava</artifactId> <version&g...

2020-05-20 15:42:31 49

转载 垃圾回收-实战篇

上文GC 理论颇受大家好评,学习了之后,相信大家对 GC 的工作原理有了比较深刻的认识,这一篇我们继续趁热打铁,来学习下 GC 的实战内容,主要包括以下几点 JVM 参数简介 发生 OOM 的主要几种场景及相应解决方案 OOM 问题排查的一些常用工具 GC 日志格式怎么看 jstat 与可视化 APM 工具构建 再谈 JVM 参数设置 ...

2020-02-21 09:37:49 86

转载 垃圾回收,和面试官扯皮没问题了

转载https://mp.weixin.qq.com/s/8vXENzg580R7F2iNjSdHFw前言Java 相比 C/C++ 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收),它解决了 C/C++ 最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是 Java 能大行其道的重要原因之一,GC 真正让程序员的...

2020-02-21 09:36:36 140

转载 类加载机制-深入理解jvm

一.目标:1.什么是类的加载?2.类的生命周期?3.类加载器是什么?4.双亲委派机制是什么?二.原理 (类的加载过程及其最终产品):JVM将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆(并不一定在堆中,HotSpot在方法区中)中生成一个代表这个类的java.lang.Class 对象,作为方法区类数据的访问入口。三.过程...

2020-02-20 21:36:21 33

转载 Java 线程的 5 种状态

线程状态图:线程共包括以下 5 种状态:1. 新建状态(New):线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。2. 就绪状态(Runnable):也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度...

2020-02-20 20:40:46 190

转载 科普: 中间件底层实现的分布式协议之Raft

正式介绍 Raft 协议之前,我们先来举一个例子????进行展开。方式一:在一个技术团队内假设角色都是均等的,会导致什么情况呢?产品提出一个需求,就可以随便去找团队中的任意一个人去发起需求。如果这个人因为请假走了,但是他没有把需求及时同步给团队其他人,因此会导致该需求存在很大的延迟。方式二:在技术团队中选举一个Leader 角色,产品提出的需求必须优先提给 Leader,找 Lead...

2019-12-16 19:16:19 49

原创 rpc核心实现和原理

RPC,即 Remote Procedure Call(远程过程调用),调用远程计算机上的服务,就像调用本地服务一样。 RPC 可以很好的解耦系统,如 WebService 就是一种基于 Http 协议的 RPC。这个 RPC 整体框架如下:8.1.3.2. 关键技术1. 服务发布与订阅:服务端使用 Zookeeper 注册服务地址,客户端从 Zookeeper 获取可用的服务地址。2...

2019-12-02 13:59:52 366

转载 分布式事务、cloud、boot、常规队列MQ、elk、kafuka

点击链接 》》》这个博客里面的专栏。apache-jmeter-3.3的简单压力测试使用方法https://www.cnblogs.com/ios9/p/7644951.html#_label3 

2018-08-23 10:23:22 277

转载 MySQL锁详解

转载自http://www.cnblogs.com/luyucheng/p/6297752.html一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太...

2018-08-19 16:30:38 109

转载 mysql explain用法和结果的含义

转载自https://www.cnblogs.com/yycc/p/7338894.html转自:http://blog.chinaunix.net/uid-540802-id-3419311.html explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:...

2018-08-19 16:20:06 83

转载 MySQL索引类型

转载自http://www.cnblogs.com/luyucheng/p/6289714.html一、简介MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引二、语句CREATE TABLE table_name[col_name data type][unique|fulltext][index|key][index_...

2018-08-19 16:18:57 173

转载 MySQL配置优化

转载自http://www.cnblogs.com/luyucheng/p/6340076.html一、全局配置(1)max_connections最大连接数。默认值是151,最多2000。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。但是如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值。查看最大连接数mysq...

2018-08-19 11:55:15 1094

转载 MySQL优化

转载自http://www.cnblogs.com/luyucheng/p/6323477.html一、SQL语句优化(1)使用limit对查询结果的记录进行限定(2)避免select *,将需要查找的字段列出来(3)使用连接(join)来代替子查询(4)拆分大的delete或insert语句二、选择合适的数据类型(1)使用可存下数据的最小的数据类型,整型 < date...

2018-08-19 11:43:31 94

转载 MySQL中的索引详讲

转载自 https://www.cnblogs.com/whgk/p/6179612.html序言         之前写到MySQL对表的增删改查(查询最为重要)后,就感觉MySQL就差不多学完了,没有想继续学下去的心态了,原因可能是由于别人的影响,觉得对于MySQL来说,知道了一些复杂的查询,就够了,但是我认为,不管有没有用,现在学着不懂的东西,说明就是自己薄弱的地方,多学才能比别人更...

2018-08-19 11:42:37 73

转载 MySQL慢查询(一) - 开启慢查询

转载自https://www.cnblogs.com/luyucheng/p/6265594.html一、简介开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。二、参数说明slow_query_log 慢查询开启状态slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可...

2018-08-19 11:37:26 2522

原创 值得关注的博客

微信Java SDK开发文档https://github.com/chanjarster/weixin-java-tools/wiki全面理解Java内存模型(JMM)及volatile关键字https://blog.csdn.net/javazejian/article/details/72772461Spring Boot干货系列:(十)开发常用的热部署方式汇总JReb...

2018-03-23 13:49:44 206

原创 JVM运行时数据区和各个区域的作用

一、JVM主要分为5个核心区域(6个子区域),分别是:程序计数器 Java虚拟机栈 本地方法栈 Java堆 方法区 *运行时常量池(属于“方法区”的一部分)二、各个区域作用和描述序号 区域名称 共享 作用 异常 备注 1 程序计数器 线程私有 记录当前线程锁执行的字节码行号指示器。 Java虚拟机规范中唯一一个...

2020-03-17 14:04:01 373

转载 Redis实现消息队列的4种方案

Redis作为内存中的数据结构存储,常用作数据库、缓存和消息代理。它支持数据结构,如 字符串,散列,列表,集合,带有范围查询的排序集(sorted sets),位图(bitmaps),超级日志(hyperloglogs),具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区...

2020-03-16 14:37:37 225

转载 redis的五种数据结构及其使用场景

1. String常用命令:get、set、incr、decr、mget等应用场景:String是最常用的数据类型,普通的key/value都可以归为此类,value其实不仅是String,也可以是数字。比如想知道什么时候封锁一个IP地址(访问超过几次)。INCRBY命令让这些变得很容易,通过原子递增保持计数。实现方式:m,decr等操作时会转成数值型进行计算,此...

2020-03-16 14:35:28 68

转载 Jvm运行时数据区

一:运行时数据区  Java虚拟机在执行Java程序的过程中会把它管理的内存分为若干个不同的数据区域。这些区域有着各自的用途,一级创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》中规定,jvm所管理的内存大致包括以下几个运行时数据区域,如图所示: 图解:其中置灰部分是跟随虚拟机启动而存在的,...

2020-03-16 14:31:05 69

转载 JMM和底层实现原理

1.并发编程领域的关键问题1.1 线程之间的通信线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信,典型的共享内存通信方式就是通过共享对象进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的发送消息来显式进行通信...

2020-03-16 14:26:10 83

转载 图解Tomcat类加载机制(阿里面试题)

Tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给commonClassLoader走双亲委托。对于JVM来说:因此,按照这个过程可以想到,如果同样在CLASSPATH指定的目录中和自己工作目录中存放相同的class,会优先加载CLASSP...

2020-03-16 14:20:33 146

转载 深入理解Java类加载机制

一:前言Java语言的类型可以分为两大类:基本类型和引用类型。基本类型 包括byte,short,int,long,float,double,boolean,char。引用类型 包括类,接口,数组类和泛型参数。由于泛型参数会在编译过程中被擦除,因此Java虚拟机实际上只有前三种。在类,接口和数组类中,数组类是由Java虚拟机直接生成的,其它两种则有对应的字节流。二:加...

2020-03-16 14:13:17 29

转载 为何采用双亲委派机制

一、双亲(父亲)委派机制java中存在3种类型的类加载器:引导类加载器,扩展类加载器和系统类加载器。三者是的关系是:引导类加载器是扩展类加载器的父类,扩展类加载器是系统类加载器的父类。引导类加载器(BootStrap) 主要负责加载jvm自身所需要的类,该加载器由C++实现,加载的是<JAVA_HOME>/lib下的class文件,或-Xbootclasspath参数指定的路...

2020-03-16 14:09:33 26

转载 函数式接口@FunctionalInterface使用示例

通过JDK8源码javadoc,可以知道@FunctionalInterface有以下特点:该注解只能标记在"有且仅有一个抽象方法"的接口上,表示函数式接口。JDK8接口中的静态方法和默认方法,都不算是抽象方法。接口默认继承java.lang.Object,所以如果接口显示声明覆盖了Object中的方法,那么也不算抽象方法。该注解不是必须的,如果一个接口符合"函数式编程"定义,那么加不加...

2020-03-14 00:54:45 375

转载 带你发现新大陆!什么是图数据库以及简单入门!

转载自https://blog.csdn.net/xlgen157387/article/details/79085901一、关系型数据库的不适性在众多不同的数据模型里,关系数据模型自20世纪80年代就处于统治地位,而且出现了不少巨头,如Oracle、MySQL,它们也被称为:关系数据库管理系统(RDBMS)。然而,随着关系数据库使用范围的不断扩大,也暴露出一些它始终无法解决问题,其中最...

2020-03-12 10:10:08 75

转载 如何解决分布式系统中的“幽灵复现”?-转载自 阿里技术 微信公众号

阿里妹导读:“幽灵复现”的问题本质属于分布式系统的“第三态”问题,即在网络系统里面,对于一个请求都有三种返回结果:成功,失败,超时未知。对于超时未知,服务端对请求命令的处理结果可以是成功或者失败,但必须是两者中之一,不能出现前后不一致情况。1、“幽灵复现”问题我们知道,当前业界有很多分布式一致性复制协议,比如Paxos,Raft,Zab及Paxos的变种协议,被广泛用于实现...

2020-03-12 10:06:32 183

原创 MySQL事务隔离级别的实现原理

回顾在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。读未提交:一个事务可以读取到另一个事务未提交的修改。这会带来脏读、幻读、不可重复读问题。(基本没用)读已提交:一个事务只能读取另一个事务已经提交的修改。其避免了脏读,但仍然存在不可重复读和幻读问题。可重复读:同一个事务中多次读取相同的数据返回的结果是一样的。其避免...

2020-02-21 11:29:44 68

转载 RabbitMQ系列-顺序消费模式和迅速消息发送模式

MQ使用过程中,有些业务场景需要我们保证顺序消费,而如果一个Producer,一个Queue,多个Consumer的情况下是无法保证顺序的;举例:  1、业务上产生三条消息,分别是对数据的增加、修改、删除,而如果没有保证顺序消费,结果可能是删除、修改、增加,本来数据最终要删除、结果变成增加  2、或者是电商平台,先付钱,然后生成订单,然后通知物流(我对电商不怎么熟...

2020-02-20 21:12:34 584

转载 微服务架构---服务降级

1 简介什么是服务降级?当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。如果还是不理解,那么可以举个栗子:假如目前有很多人想要给我付钱,但我的服务器除了正在运行支付的服务之外,还有一些其它的服务在运行,比如搜索、定时任务和详情等等。然而这些不重要的服务就...

2020-01-28 16:15:05 161

转载 如何解决微服务架构中的雪崩问题?

记得在三年前公司因为业务发展需要,就曾经将单体应用迁移到分布式框架上来。当时就遇到了这样一个问题:系统仅有一个控制单元,它会调用多个运算单元,如果某个运算单元(作为服务提供者)不可用,将导致控制单元(作为服务调用者)被阻塞,最终导致控制单元崩溃,进而导致整个系统都面临着瘫痪的风险。那个时候还不知道这其实就是服务的雪崩效应,雪崩效应好比就是蝴蝶效应,说的都是一个小因素的变化,却往往有着...

2020-01-28 15:45:36 380

原创 java.awt.Graphics2D 生成图片--个人章的方法

# java.awt 画矩形踩坑 本来使用Graphics2D的drawRect()方法画图的,但是出现了下边框过粗,不得已 使用了画线的方法,四个边框,单独划线,这里要注意坐标轴和线的宽度--高度height 一下是代码/** * 创建私人章的方法 * @param drawStrName 输入的姓名 1- 18 位 ...

2019-12-27 13:58:16 277

原创 中间件的数据抽取各种运行状态 ,weblogic的 , tomcat 类似 ---朋友的代码

package com.agent.opt.type.weblogic.data;import java.io.File;import java.io.IOException;import java.lang.management.ManagementFactory;import java.net.InetAddress;import java.net.InetSocketAddre...

2019-10-18 17:06:36 80 1

原创 HashTable 和HashMap区别

HashTable和HashMap区别HashTable最早的版本是JDK1.1,HashMap最早版本是1.2HashTable继承的是Dictionary抽象类,HashMap继承的是AbstractMapHashTable是线程安全的,HashMap是线程不安全HashTablekeyvalue都不能为Null,HashMapkeyvalue可以为NullHas...

2019-10-15 11:29:25 40

原创 java,获取微信需要的获取 jsapi_ticket和access_token

废话不多,代码说话,那个url是你需要分享的url,需要传进来,然后入参加密。java,获取微信需要的获取 jsapi_ticket和access_token@Slf4j@Servicepublic class WeChatServiceImpl implements WeChatService { @Value("${weixin.test.appid}") ...

2019-05-28 15:19:27 1092

原创 带附件/密送/抄送的 javaMail 邮件发送 -- java_demo(两种实现方式)

话不多说,上代码--第一种,自己实现的,参考资料javaMail 的邮件发送包括了抄送(CC),密送(BCC)采用springBoot常用的邮件服务器名称、地址及SSL/非SSL协议端口号Java Mail发送邮件(带多个附件)引入的依赖为 <!-- email --> <dependency> <groupId>com.su...

2019-05-27 21:40:03 845

转载 zookeeper是如何实现数据一致性的?

转载自https://blog.csdn.net/qqqq0199181/article/details/80865828众所周知,zookeeper是一个开源的分布式协调服务,很多分布式的应用都是基于zookeeper来实现分布式锁,服务管理,服务发现,通知订阅等功能。那么。zookeeper自身是如何在分布式环境下实现数据的一致性的呢。结构既然zookeeper是在分布式环境下提供...

2019-05-16 11:42:17 1800

转载 Java的,与类的初始化顺序

转载自https://blog.csdn.net/sujz12345/article/details/52590095<init>与<clinit><init>Java在编译之后会在字节码文件中生成<init>方法,称之为实例构造器,该实例构造器会将语句块,变量初始化,调用父类的构造器等操作收敛到<init>方法中,收敛顺序(这...

2019-04-30 18:05:17 64

原创 Java8中使用以下类计算日期时间差:Period、Duration、ChronoUnit

一.简述在Java8中,我们可以使用以下类来计算日期时间差异:1.Period2.Duration3.ChronoUnit二.Period类主要是Period类方法getYears(),getMonths()和getDays()来计算.示例:package insping; import java.time.LocalDate;import java.t...

2019-04-29 10:43:53 4436

转载 linux 用 grep 查找单个或多个字符串(关键字)

转载自https://blog.csdn.net/qq_21840201/article/details/803448441、单个字符串进行查找:1、查找当前目录文件名中的字符串: grep 字符串 文件名2、查找某个文件中字符串,并输出行号:grep -n 字符串 文件名3、查找当前目录(包含子目录)的字符串:grep -r 字符串 *4、查找当前目录(包含...

2019-04-25 21:18:59 2708

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