- 博客(23)
- 问答 (1)
- 收藏
- 关注
原创 Hbase
HBase 基于 Google的BigTable论文而来,是一个分布式海量列式非关系型数据库系统,可以提供超大规模数据集的实时随机读写。
2024-04-26 11:35:42 1424 4
原创 hive学习
Hive是基于Hadoop的一个数据仓库工具,可以将 结构化的数据文件 映射为一张表(类似于RDBMS中的表),并提供类SQL查询功能;Hive是由Facebook开源,用于解决海量结构化日志的数据统计。- Hive本质是:将 SQL 转换为 MapReduce 的任务进行运算- 底层由HDFS来提供数据存储- 可以将Hive理解为一个:将 SQL 转换为 MapReduce 任务的工具Flume由Cloudera公司开发,是一个分布式、高可靠、高可用的海量日志采集、聚合、传输的系统。
2024-04-02 17:47:32 1267
原创 DM常用命令
缓存查询时不适用缓存: select /*+ NO_CACHE */ from查询缓存信息: select * from v$cachepln死锁查询锁: select * from v$lock查询等待的事务: select * from v$trxwait;根据事务id查询执行的sql:select sess_id,sql_text,state,trx_id from v$sessions where trx_id in(‘127493693’,‘127493734’);
2023-11-30 09:35:14 152
原创 Kafka
有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。⼤部分的消息系统选⽤发布-订阅模式。Kafka就是⼀种发布-订阅模式。对于消息中间件,消息分推拉两种模式。Kafka只有消息的拉取,没有推送,可以通过轮询实现消息的推送。1. Kafka在⼀个或多个可以跨越多个数据中⼼的服务器上作为集群运⾏。2. Kafka集群中按照主题分类管理,⼀个主题可以有多个分区,⼀个分区可以有多个副本分区。3. 每个记录由⼀个键,⼀个值和⼀个时间戳组成。
2023-09-30 14:54:09 72
原创 分布式缓存
缓存技术缓存加载时机:1、启动时全量加载=》全局有效,使用简单2、懒加载(1)、同步使用加载:-先看缓存中是否有数据,没有的话从数据库中读取-读取数据,先放到内存,然后返回给调用方(2)、延迟异步加载-从缓存获取数据,不管是否为空直接返回-策略1(异步)如果为空,则发起一个异步加载的线程,负责加载数据-策略2(解耦)异步线程负责维护缓存的数据,定期过根据条件触发更新缓存的有效性与数据同步一般来说变动频率打、一致性要求搞的数据,不适合用缓存。如何评价缓存的有效性:(1)、读写比:对
2021-05-12 21:06:21 176
原创 分布式服务化
RPC基本原理rpc是基于接口的远程服务调用RPC原理本地代理存根:Stub本地序列化反序列化网络通信远程序列化反序列化远程服务存根:SKeleton调用实际业务服务原路返回服务结果返回给本地调用方注意处理异常设计共享:POJO实体类定义,接口定义REST/PB下.真的不需要吗?另一个选择:WSDL/WADL代理java使用动态代理或aop,C#使用远程代理序列化语言原生序列化:RMI,Remoting二进制平台无关:HE
2021-05-12 21:05:57 116
原创 分布式事务
分布式事务集群下保证事务的一致性分布式条件下,多个节点操作的整体事务的一致性实现的方法:强一致性:像但数据库一样,多个数据库自动通过某种机制,实现跨数据节点的一致性XA柔性事务:可以容忍一段时间的数据不一致,最终通过超时中止,调度补偿().不用事务,业务侧补偿冲正所谓的柔性事务,使用一套事务框架()对代码侵入性小保证最终一致的事务XA分布式事务基于第一个强一致的思路,就有了基于数据库本身支持的协议,XA分布式事务。XA分布式事务协议:应用程序:用于定义事务边界(即定
2021-05-12 21:05:40 70
原创 数据库分库分表
单机到集群mysql技术演进读写压力->多机集群->主从复制高可用性->故障转移->MHA/MGR/Orchestrator容量问题->数据库拆分->分库分表(垂直拆分-按业务拆分,水平拆分-)一致性问题->分布式事务->XA(强一致性)/柔性事务主从复制主库写binlogrow 行:会记录每一行的修改,比较详细Statement:记录sql本身,Mixed:混合模式从库relay log复制方式异步复制:网络或机器故障
2021-05-12 21:05:21 122 1
原创 数据库
mysql数据库设计范式1NF:关系R属于第一范式,当且仅当R中的每一个属性A的值域只包含原子项2NF:在满足1NF的基础上,消除主属性对码的部分依赖.如果主键有好几个,那么非主键必须全部依赖主键,不能部分依赖主键。我的理解是减少主键,如果一个主键就可以确定一行,那就没必要设置第2个主键。3NF:在满足2NF的基础上,消除非主属性对码的传递函数依赖总结:1范式将列拆分,2范式给表找主键,3范式将非主键部分再进行拆分表。sql语言DQLDMLTCL:事务控制DCL:权限控制DDL:
2021-03-09 07:43:55 236 4
原创 框架
springbootspring到spring boot限定性框架和非限定性框架spring boot功能特性:创建独立运行的spring应用直接嵌入web容器,不需要部署war包提供限定性的starter依赖简化配置(就是脚手架)在必要时自动化配置spring和其他三方依赖库,使用ConditionalOnProperty中属性=true时才会自动化配置提供生产production-ready(线上运维)特性,例如指标度量,将抗检查,外部配置完全零代码生产和不需要xml配置spri
2021-03-09 07:43:30 65 1
原创 多线程
多线程线程的创建过程Thread.run()->javaThread->系统线程->osThread->stack->TLAB->启动->Thread.run()(或等待)->结束多线程执行遇到的问题竞态条件:多个线程竞争同一资源时,如果对资源的访问顺序敏感,就称存在竞态条件,导致竞态条件发生的代码区,称为临界区临界条件共享与同步多线程线程池Excutor :执行者-顶层接口ExcutorService:接口apiThreadFa
2021-03-09 07:43:08 61
原创 Netty
高性能高并发用户高吞吐量低延迟混动工程容量预估爆炸半径工程方面积累与改进netty概览网络应用开发框架异步事件驱动基于nio事件处理机制取号机取号事件分发event channel 事件处理运行原理NioEventLoopGroup --dispatch – NioEventLoopGroup(Worker Group) – EventLoop(Task Queue)-- channel – channel handler关键对象Bootstr
2021-03-09 07:42:21 69
原创 nio
深入讨论 IO 通信:多个用户连接服务器。对于一个IO相关应用来说,例如通过网络访问,服务器读取本地文件,再返回给客户端。这种情况下,大部分CPU等资源,可能就被浪费。用户态和内核态java的线程是映射到操作系统原生线程之上的,如果要阻塞或唤醒一个线程就需要操作系统介入,需要在户态与核心态之间切换,这种切换会消耗大量的系统资源,因为用户态与内核态都有各自专用的内存空间,专用的寄存器等,用户态切换至内核态需要传递给许多变量、参数给内核,内核也需要保护好用户态在切换时的一些寄存器值、变量等,以便内核态调用结
2021-01-11 09:36:31 88
原创 java进阶第3课
gc日志java -XX:+PrintGCDetails 类名java -Xloggc:gc.demo.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps 类名串行gc:java -XX:+UseSerialGC -Xms512m -Xmx512m -Xloggc:gc.demo.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps 类名 (因为是单线程,如果触发full gc后没有将老年代的内存清理出空间,将
2021-01-10 21:24:46 63 1
原创 gc
jdk内置命令行工具java:启动jps\jinfo:查看java进程 jps -mlvjstat:查看jvm内部gc相关信息jmap:查看heap或类占用空间统计;jmap heap pid:打印堆内存(/内存池)的配置和使用信息jstack:查看线程信息jcmd:执行jvm相关分析命令(整合命令)jrunscript/jjs:执行js命令java图像化工具-jconsolejvisualvm-jmcGC引用计数引用跟踪标记:遍历所有可达对象,并在本地内存中分门别类
2021-01-08 01:35:53 133
原创 什么是类和jvm参数
类的生命周期加载:找class文件验证:验证格式准备:静态字段,方法表解析:符号解析为引用初始化:构造器,静态变量赋值,静态代码块使用卸载2,3,4属于链接三类加载器启动类加载器:加载jvm核心 rt.jar。(底层实现c++)扩展类加载器:提供的扩展,可主动调用应用类加载器(自己的jar包加载的类加载器)加载器特点(如何避免重复加载)双亲委托:从上级加载器查找该类,如果没有则加载负责依赖:代码中依赖的jar包都需要加载缓存加载:加载一次后缓存...
2021-01-06 22:52:17 74
原创 2020-10-20
极客大学java进阶第2课JVM核心技术-JVM命令行工具java Java应用的启动程序javac JDK内置的编译工具javap 反编译class文件的工具jps/jinfo 查看java进程-lmv 进程详情jstat 查看JVM内部gc信息-gcjmap 查看heap或类占用空间统计-heap 打印堆内存-histo 看哪些类占用的空间最多jstack 查看线程信息jcmd 执行JVM相关命令jjs 执行js命令JV
2020-10-22 00:28:54 83
原创 2020-10-19
win10热键冲突的解决方法最近使用公司的软件,有一个快捷键怎么也不能用,确定问题是热键冲突了,从网上找了几个查看热键的软件,发现有些软件会遍历所有热键以此来查看软件对应的快捷键,这样做是有危险的.后来知乎大佬给了个github上的软件,好像就没有上述问题,记录一下,以供大家参考:github:https://github.com/BlackINT3/OpenArk/releases.具体使用方法参考官方文档,这个是有中文的...
2020-10-19 14:08:19 60
原创 设计模式之美7-11
哪些代码设计看似是面向对象,实际是面向过程的滥用get和set方法:set方法应该谨慎使用,对于返回值为对象的get方法也应该慎重使用,如果返回值为集合类型,可以使用Collections.unmodifiableList() 方法,返回一个不可修改的集合容器。滥用全局变量和方法:常见的全局变量:单例类对象、静态成员变量、常量常见的全局方法:静态方法在定义utils类之前,需要先问自己,是否需要单独定义一个utils类,是否可以吧utils类中的某些方法定义到其他类中?定义constants类
2020-09-21 23:01:52 124
原创 find / 找不到指定目录,但find /具体目录可以找到目录
find / 找不到指定目录,但find /具体目录可以找到目录find查找文件有层数限制,可以使用 find -maxdepth 层数 -name fileName 将层数值调大点,就可以找到了
2020-06-26 16:41:57 889
jenkins-2.346.3-1.1.noarch.rpm rpm包,最后一个jdk8的版本
2023-11-24
Mybaties的sql xml中存在大量的if判空,有方式去掉吗
2021-06-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人