自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 K8S的Ingress特性

VIP和Service代理: K8S v1.0:使用userspace模式 K8S v1.1:新增iptables模式替代userspace,从v1.2版本开始,默认是iptables代理 K8S v1.8.0-beta:添加ipvs代理,v1.14版本开始默认采用ipvs代理 k8s中i...

2020-05-12 09:50:33 41 0

原创 K8S中iptables和ipvs区别

从k8s的1.8版本开始,kube-proxy引入了IPVS模式,IPVS模式与iptables同样基于Netfilter,但是ipvs采用的hash表,iptables采用一条条的规则列表。iptables又是为了防火墙设计的,集群数量越多iptables规则就越多,而iptables规则是从上...

2020-05-12 09:16:02 94 0

转载 Kubernetes系列(2):基础概念

Pod: Pod是K8S中最小调度单位,一个Node上可以有一个或多个pod,每个pod中运行着容器 Pod类型: 自主式Pod 控制器管理的Pod RC、RS:新版本中推荐使用RS,比RC多了选择器功能 Deployment:在RS基础上扩缩容、滚动升级 HPA:利用资源...

2020-05-11 16:25:48 22 0

转载 Kubernetes系列(1):组件介绍

K8S发展历程 谷歌内部Borg系统架构 K8S架构 其他插件 总结: K8S发展历程: MESOS APACHE 分布式资源管理框架 2019-5 Twitter 》 Kubernetes Docker Swarm 2019-07 阿里云宣布 Do...

2020-05-11 16:09:02 20 0

原创 Spring 独立事务和嵌套事务

Spring中事务传播类型: PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。(默认) PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY -- 支持...

2020-05-08 14:03:20 33 0

原创 java线程疑难点总结

1、java线程生命周期: 线程的5个状态 1、新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 2、就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪...

2020-05-08 11:08:13 22 0

原创 什么是幻读

本文旨在纠正对幻读的误解: 首先回顾下事务隔离级别的定义: 读未提交 READ-UNCOMMITTED | 0:存在脏读,不可重复读,幻读的问题 读已提交 READ-COMMITTED | 1:解决脏读的问题,存在不可重复读,幻读的问题 可重复读 REPEATABLE-READ | 2:解...

2020-04-15 15:22:50 23 0

原创 再看Maven

Maven是一种用来管理Java项目的工具,但不是那种用来管理资源规划和调度的工具。 相反,它处理的是管理一个具体的项目所涉及的各种任务,如:编译、测试、打包、文档以及分发。 Maven包括以下几个部分: 一组用于处理依赖管理。目录结构以及构建工作流的约定。基于这些约定时实现的标准化可以极大...

2019-12-28 14:46:48 59 0

原创 JSR 256-Pluggable Annotation Processing API

Pluggable Annotation Processing API:JDK6的新特性:插件式注解处理API 该特性支持在编译器对注解的处理,Pluggable Annotation Processing API的核心是Annotation Processor即注解处理器,一般需要继承抽象类j...

2019-12-20 16:29:03 67 0

原创 HTTP2.0特性总结

回顾 HTTP1.1: 1、长连接 Http1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection: keep-a...

2019-12-05 13:40:09 110 0

原创 财务报表

几个问题 企业一共有几类财务报告? 什么是财务会计报告? 什么是税务会计报告? 税务会计报告与财务会计报告的区别是什么? 什么是管理会计报告? 管理会计报告与财务会计报告的区别与联系是什么? 管理会计报告是如何做出来的?与公司ERP系统有什么关联? 利润表、资产负债表、现金流量表:...

2019-12-03 15:40:39 94 0

原创 微服务限流熔断降级方案对比

微服务限流熔断降级方案对比 1、线程池隔离 优点: 支持排队和超时 支持异步调用 不足:线程调用会产生额外的开销 适用: 不受信客户 有限扇出 2、信号量隔离 优点: 轻量 无额外开销 不足: 不支持任务排队和主动超时 不支持异步调用 适用: 受信客户 高扇出(网关...

2019-10-17 11:16:35 118 0

原创 MySQL count效率

count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值。 对于 count(主键 id) 来说,InnoDB 引擎会遍历整张表,把每一行的 id 值都取出来,返回给 server 层。server 层拿...

2019-10-06 15:32:08 179 0

原创 JVM大对象排查

在Linux环境下查看占用内存较多的java对象 使用top查看到排名靠前的java进程 查看占用内存较多的前30名java对象 jmap -histo:live 【pid】 | head -30,也可以导出到文件中: jmap -dump:format=b,file=/filepa...

2019-09-12 16:57:18 310 0

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

数据库实现隔离级别主要是会创建一个视图,访问的时候以视图的逻辑结果为准。 “读未提交”隔离级别下直接返回记录上的最新值,没有视图概念; “读提交”隔离级别下,这个视图是在每个 SQL 语句开始执行的时候创建的。 “可重复读”隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视...

2019-08-27 12:34:07 90 0

原创 MySQL Innodb Redo Log 和 BinLog两阶段提交实现

RedoLog和Binlog区别 1. redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎 都可以使用。 2. redo log 是逻辑物理日志,页面内的操作记录的是逻辑日志,页间的操作记录的是物理日志;binlog 是逻辑日 志,...

2019-08-27 12:29:54 479 0

转载 Redis所需内存超过可用内存解决方案

我们知道,redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节)。那么当所需内存,超过maxmemory怎么办? 这个时候就该配置文件中的maxmemory-policy出场了。其默认值是noeviction。下面我将列出当可用内存不足时,删除redis键具有的淘汰规则...

2019-07-17 09:59:09 56 0

原创 Redis简单事务

事务(transaction) 是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到 MULTI 和 EXEC 两个命令,事务开始的时候先向Redis服务器发送 MULTI 命令,然后依次发送需要在本次事务中处理的命令...

2019-07-17 09:50:11 40 0

原创 Redis持久防方案对比

Redis提供了RDB、AOF持久化方式,将内存中的数据保存到磁盘中,避免数据意外丢失 持久化—RDB与AOF比较  RDB RDB(快照)通过将服务器某个时间点上的数据库状态(非空数据库以及相关键值对)保存到一个经过压缩的二进制文件中(dump.rdb),也是默认的持久化方式。 手动持久...

2019-07-17 09:45:14 41 0

转载 Redis客户端以及工具集简介

java客户端 Redssion 特点:操作最简单,功能最丰富,Redis智能客户端,支持分布式集合,分布式锁,三方框架整合等。底层采 用的是Netty 框架。支持Redis 2.8以上版本,支持Java1.6+以上版本。使用比其他redis客户端效率高。 https://github.c...

2019-07-17 09:41:57 44 0

原创 AtomicIntegerFieldUpdate简介

java中AtomicIntegerFieldUpdate类可以实现原子方式更新一个变量 对于这个变量有如下的约束: 更新器更新的必须是int类型,不能是其包装类型Integer; 更新器更新的必须是volatile修饰的变量,确保线程之间共享变量的时候立即可见; 变量不能被static修...

2019-07-15 09:59:41 49 0

原创 AQS架构

AQS,全称是AbstractQueuedSynchronizer,中文译为抽象队列式同步器 AQS架构: 说明:AQS维护了一个volatileintstate (代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入队列中) AQS定义了两种资源共享方式:Excl...

2019-07-15 09:52:32 340 0

转载 Reactor模型简介

Reactor模型 上图是对Reactor模型角色最权威的定义: Reactor模式的角色构成(一共有5种角色): 1、Handle(句柄或描述符): 本质上是一种资源,是由操作系统提供的;改资源用于表示一个个事件,比如说文件描述符,或者是针对网络编程中的Socket描述符。事件既可以...

2019-07-11 13:30:20 34 0

原创 java事故排查

top:查看CPU负载 free :查...

2019-04-12 16:44:25 125 0

原创 js处理计算精度问题方案

前言:由于计算机进制之间转换问题,导致计算结果误差,例如:js计算 0.1+0.2=0.3000000000004 解决方法: js引入如下:https://github.com/MikeMcl/decimal.js, 参考如下官方API文档 :http://mikemcl.github...

2019-04-03 16:22:40 508 0

原创 带虚拟节点的一致性Hash算法

public class ConsistentHashingWithVirtualNode { //待添加入Hash环的服务器列表 private static String[] servers = {"192.168.0.0:111", "192.168....

2019-04-03 16:17:29 173 0

原创 规避死锁方案

业务中需要遵循以下规则,可以很大程度上降低死锁发生的概率: 1)以固定的顺序访问表和行。 分为两种情景: 对于不同事务访问不同的表,尽量做到访问表的顺序一致; 对于不同事务访问相同的表,尽量对记录的id做好排序,执行顺序一致; 2)大事务拆小。大事务更倾向于死锁,如果业务允许,将大事务拆小...

2019-04-02 10:14:14 110 0

原创 定制线程池大小:最佳线程数

优化线程数量的主要工作就是避免“过大”或者“过小”,两种极端情况。 如果线程数过大,那么会导致对稀缺CPU和内存资源的竞争,会导致内存的使用量过高,可能导致资源耗尽。 如果过小,由于存在很多可用处理器资源未在工作,会对吞吐量造成损失; 建议:如果有不同类别的任务,并且它们拥有差别很大的行为,...

2019-03-30 17:18:07 168 0

原创 经典控制线程执行顺序

使用三个线程控制按照如下格式输出: 线程:1:1 线程:1:2 线程:1:3 线程:1:4 线程:1:5 线程:2:6 线程:2:7 线程:2:8 线程:2:9 线程:2:10 线程:3:11 线程:3:12 线程:3:13 线程:3:14 线程:3:15 线程:1:16 线程:1:17 线程:...

2019-03-29 18:23:56 90 0

原创 解决浏览器导出Excel文件名乱码问题

导出的时候需要设置: response.setHeader("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + URLEncoder.encode(fileName,...

2018-11-16 09:24:21 2220 0

原创 Linux之大数据技术(十):修改主机名称

大数据技术之修改主机名称   5.3.2 修改主机名称 1)修改linux的主机映射文件(hosts文件) (1)进入Linux系统查看本机的主机名。通过hostname命令查看 [root@hadoop100 桌面]# hostname hadoop100 (2)如果感觉此主机名不...

2018-08-17 09:10:44 166 0

原创 Linux之大数据技术(九):修改ip地址

大数据技术之修改ip地址   5.2.3 修改IP地址 1)修改IP地址 [root@hadoop100 桌面]#vim /etc/sysconfig/network-scripts/ifcfg-eth0 以下标红的项必须修改,有值的按照下面的值修改,没有该项的要增加。 D...

2018-08-17 09:10:28 1165 0

原创 Linux之大数据技术(八):克隆虚拟机

大数据技术之克隆虚拟机 5.8 克隆虚拟机 1)关闭要被克隆的虚拟机 2)找到克隆选项 3)欢迎页面   4)克隆虚拟机 5)设置创建完整克隆 6)设置克隆的虚拟机名称和存储位置 7)等待正在克隆 8)点击关闭,完成克隆 9)修改克隆后虚拟机的ip ...

2018-08-17 09:10:16 332 0

原创 Linux之大数据技术(七):安装VMWare

大数据技术之安装VMWare   一 安装VMWare虚拟化工具 1.1 进入安装向导 1.2 接受许可协议 1.3 自定义安装 1.4 更改安装路径 1.5 启动时检查产品更新 1.6 用户体验改进计划 1.7 桌面创建快捷方式 1.8 已准备...

2018-08-17 09:10:04 182 0

原创 Linux之大数据技术(六):安装VMTools工具

大数据技术之安装VMTools工具 一 什么是VMtools VM tools顾名思义就是Vmware的一组工具。主要用于虚拟主机显示优化与调整,另外还可以方便虚拟主机与本机的交互,如允许共享文件夹,甚至可以直接从本机向虚拟主机拖放文件、鼠标无缝切换、显示分辨率调整等,十分实用。 二 安装V...

2018-08-17 09:09:43 164 0

原创 Linux之大数据技术(五):安装SecureCRT

大数据技术之安装SecureCRT   6.1 安装SecureCRT Linux远程登录及相关工具介绍 Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器。这时我们就需要远程登录到Linux服务器来管理维护系统。 Linux系统中是通过SSH服务...

2018-08-17 09:09:20 602 1

原创 Linux之大数据技术(四):安装CentOS

大数据技术之安装CentOS   一 安装前环境准备 安装虚拟机前必须开启BIOS虚拟化支持; 2.1 检查并开启BIOS虚拟化支持(方式一) 在电脑开机时,进入Bios页面,找到Virtualization Technology选项,设置为Enable。如下图所示。 2.2 检查...

2018-08-17 09:09:05 186 0

原创 Linux之大数据技术(三):SecureCRT中文乱码解决方法

大数据技术之SecureCRT中文乱码解决方法   6.3 SecureCRT中文乱码解决方法 1)重新查看会话,是否中文显示正常 2)依然无法正常显示中文,可能是由于Linux系统中默认的字符编码非UTF8所致 用root用户登录。输入cat /etc/sysconfig/i18n ...

2018-08-17 09:08:52 155 0

原创 Linux之大数据技术(二):SecureCRT鼠标粘贴配置

大数据技术之SecureCRT鼠标粘贴配置   6.2 SecureCRT鼠标粘贴配置 在SecureCRT软件中,鼠标选中内容即可复制内容。那么如何粘贴呢?   在选项->全局选项->终端->粘贴按钮设置(中和右) (1)如果鼠标配置的是——...

2018-08-17 09:08:22 267 0

原创 Linux之大数据技术(一):找回Root密码

大数据技术之找回root密码   重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。  1)重启Linux,见到下图,在3秒钟之内按下回车 2)三秒之内要按一下回车,出现如下界面 3)按下e键就可以进入下图 4)移动到下一行,再次按e键 5)移动到下一...

2018-08-17 09:08:08 137 0

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