自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java IO

Java I/O1.I/O体系I/O设计出来是为了解决IO相关操作的。IO操作有网络IO和磁盘IO。网络相关的类都在java.net包下。Java I/O主要说明磁盘I/O。I/O类图如下:从数据传输方式角度,可以将I/O类分为:1、字节流2、字符流字节流是以一个字节单位来运输的,而字符流是以一个字符来传输的,按照不同的编码格式,一个字符对应多个字节。2.I/O类和相关方法IO 类虽然很多,但最基本的是 4 个抽象类:InputStream、OutputStream、Reader、Writ

2020-07-07 11:21:07 123

原创 NIFI用户指南

NIFI 使用1. Kettle与NIFI差异Kettle 介绍Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和

2020-07-06 17:50:30 2361

原创 Redis穿透、击穿和雪崩

Redis穿透、击穿和雪崩1.穿透​ **概念:**key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。​ **解决方案:**一个一定不存在缓存及查询不到的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存意义。有很多中办法解决缓存穿透问

2020-06-04 16:52:04 154

原创 Nacos 配置中心使用

Nacos 配置中心原理分析动态配置管理是Nacos的三大功能之一,将应用程序或服务的配置文件提取出来统一管理。通过动态配置服务,我们可以按照namespace集中和动态的方式管理所有应用程序或服务的配置信息。动态配置中心可以实现修改配置行后可以动态的刷新所有监听该配置的客户端,不需要重启客户端应用或服务,这极大的增加了系统的运维能力。动态配置下面我将来和大家一起来了解下 Nacos 的动态配置的能力,看看 Nacos 是如何以简单、优雅、高效的方式管理配置,实现配置的动态变更的。我们用一个简单的

2020-05-27 15:19:13 762

原创 Redis设计与实现(三)--主从和集群

Redis设计与实现(三)–主从和集群Redis主从复制​ 在Redis中,用户可以通过执行slaveof命令或者设置slaveof选项,让一个服务器去复制一个主服务器的数据。slaveof命令只是设置主从关系,并不触发复制动作。slaveof host(主服务ip) port(主服务器端口)​ Redis使用psync命令实现从服务器复制主服务器数据的功能。psync有完整重同步和部分重同步两种模式:​ 1.完整重同步用于处理初次复制情况,完整重同步通过让主服务器创建并发送完整

2020-05-11 19:02:27 198

原创 Redis设计与实现(二)--单机数据库

redis的类型检查: redis中有些命令只能作用于特定类型的对象上,比如:set、get、append、strlen只能对字符串键执行。hdel、hset、hget、hlen等命令只能对哈希执行。rpush、lpush、linsert、llen等命令只能对列表键执行。sadd、spop、sinsert、scard等只能对集合键执行。zadd、zcard、zrank、zscore等命令只能对有序集合键执行。 类型检查的实现:类型特定命令所进行的类型检查是通过redisObj...

2020-05-09 17:37:46 142

原创 Redis设计于实现(一) -数据类型

Redis知识图谱:Redis底层数据类型: redis底层的数据类型有:SDS、hash(哈希)、dict(字典)、跳跃表,整数集合、压缩列表和对象。SDS类型实现: SDS(Simple Dynamic String)结构实现:struct sdshdr { //记录buf数组中已使用字节的数...

2020-05-07 17:49:32 210 2

原创 细说java集合

细说java集合接口集成关系与实现集合存放在java.util包中,主要包含三类:set(集合),list(列表:包含Queue), Map(映射)。 Collection: Set,List,Queue最基本的接口. Iterator: 迭代器,可以通过迭代器遍历集合。 Map: 映射的基础接口 L...

2020-04-26 18:11:06 185 1

windowsAPI详解

windowsAPI详解AdjustWindowRect,AdjustWindowRectEx VB声明 Declare Function AdjustWindowRect Lib "user32" Alias "AdjustWindowRect" (lpRect As RECT, ByVal dwStyle As Long, ByVal bMenu As Long) As Long Declare Function AdjustWindowRectEx Lib "user32" Alias "AdjustWindowRectEx" (lpRect As RECT, ByVal dsStyle As Long, ByVal bMenu As Long, ByVal dwEsStyle As Long) As Long 说明 在给定一种窗口样式的前提下,计算获得目标客户区矩形所需的窗口大小 返回值 Long,如执行成功,则返回非零值;如失败,返回零值。会设置GetLastError 参数表 参数 类型及说明 lpRect RECT,最初包含要求的客户区。由函数设为目标窗口矩形大小 dwStyle Long,窗口样式 bMenu Long,如窗口有菜单,则设为TRUE(非零) dwEsStyle Long,扩展窗口样式(只适用于AdjustWindowRectEx) 注解 在调用本函数前,先用GetWindowLong取得一个窗体的样式。如菜单占用两行以上的空间,则函数不能正确计算大小。如程序使用了多行标题,则应使用GetSystemMetrics

2015-11-27

空空如也

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

TA关注的人

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