程序员生成记
码龄9年
关注
提问 私信
  • 博客:12,740
    12,740
    总访问量
  • 19
    原创
  • 1,145,401
    排名
  • 7
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2016-09-20
博客简介:

sam19911的博客

查看详细资料
个人成就
  • 获得4次点赞
  • 内容获得0次评论
  • 获得28次收藏
创作历程
  • 1篇
    2021年
  • 25篇
    2020年
成就勋章
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

JVM 汇总三

逃逸分析、栈上分配一.逃逸分析逃逸是指在某个方法之内创建的对象,除了在方法体之内被引用之外,还在方法体之外被其它变量引用到;这样带来的后果是在该方法执行完毕之后,该方法中创建的对象将无法被GC回收,由于其被其它变量引用。正常的方法调用中,方法体中创建的对象将在执行完毕之后,将回收其中创建的对象;故由于无法回收,即成为逃逸通俗点解释:在方法内你new出来的对象只能在方法内随便折腾(业务逻辑处理),但是你不能逃逸出方法的这个一亩三分地而为外部方法所利用。再精简一点可以理解成:对象在我方法内活着.
原创
发布博客 2021.02.26 ·
152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux排查JVM问题

通常来说当我们的Java服务出现问题时,首先需要考虑的是这个进程是不是还在运行,然后再关注这个进程所占用的资源多少,CPU、内存的使用情况,从而定位到具体问题。因此,有必要对Linux服务器中的JVM异常排查进行下记录。方法1、查找Java进程id ps -ef | grep java jps 2、top查找java进程 top -c #参数c表示列出命令的详细信息 top -Hp pid#其中参数H表示...
原创
发布博客 2020.12.22 ·
254 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL汇总二(mysql与存储引擎简单介绍)

一.认识 MYSQL二.架构图 三.引擎介绍存储引擎是作用在表上的,而不是数据库。 四.索引结构 五.InnoDB和MyISAM对索引和数据的存储在磁盘上是如何体现的先来看下面创建的两张表信息,role表使用的存储引擎是MyISAM,而use...
原创
发布博客 2020.07.16 ·
336 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL汇总一(索引底层数据结构与算法)

一 理解索引的特性索引是帮助MySQL高效获取数据的排好序的数据结构 索引存储在文件里二 索引的各种存储结构及其优缺点在开始讲这一小节之前,我们先来看一下在数据库没有加索引的情况下,SQL中的where字句是如何查找目标记录的。我们先看下左边表格第二列Col2列的数据时如何查找的,如果我们希望查找where Col2 = 22的记录,我们在没加索引的情况下是按顺序从第一条记录查找,由此可知需要查找5次才能找到;如果对Col2字段加上索引后,我们假设使用最简单的二叉树作为索引存储方式,再
原创
发布博客 2020.07.16 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM 汇总二

引用计数法 指的是如果某个地方引用了这个对象就+1,如果失效了就-1,当为 0 就会回收但是 JVM 没有用这种方式,因为无法判定相互循环引用(A 引用 B,B 引用 A)的情况 GC ROOT 为了解决引用计数法的循环引用问题,Java 使用了可达性算法:跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任何引用链时,则证明此对象是不可用...
原创
发布博客 2020.07.12 ·
125 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM 汇总一

个人总结,只是留着做记录,给自己建个所以,方便以后查找,写的不好勿喷,哈哈哈。。。一.JVM 知识点汇总首先看看JVM的知识点汇总。如上图所示,JVM知识点有6个大方向,其中,内存模型、类加载机制、GC垃圾回收是比较重点的内容。性能调优部分偏重实际应用,重点突出实践能力。编译器优化和执行模式部分偏重理论基础,主要掌握知识点。二.jvm思路...
原创
发布博客 2020.07.06 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

threadLocal原理

一.ThreadLocal的作用  ThreadLocal提供的实际上就是一种线程隔离,不同的线程的变量归属不同的线程,线程之间不能想问访问各自的变量,当线程生命周期结束的时候,线程会被销毁。二.ThreadLocal的原理Thread类中有一个成员变量threadLocals:这个ThreadLocalMap 是ThreadLocal类中一个静态内部类;ThreadLocal类中最主要的就是set 方法get方法;set方法这个getMap(t); 传入一个Thr.
原创
发布博客 2020.06.04 ·
5289 阅读 ·
3 点赞 ·
0 评论 ·
16 收藏

Zookeeper 原理

1、Zookeeper的角色  » 领导者(leader),负责进行投票的发起和决议,更新系统状态  » 学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并向客户端返回结果,在选主过程中参与投票  » Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度  » 客户端(client),请求发起方    
原创
发布博客 2020.06.02 ·
262 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

redis-集群模式

一、Redis的主从复制 通过执行slaveof命令或设置slaveof选项,让一个服务器去复制另一个服务器的数据。被复制的服务器称为:Master主服 务;对主服务器进行复制的服务器称为:Slave从服务器。主数据库可以进行读写操作,当写操作导致数据变化时会自动将数据同步给从数据库。而从数据库一般是只读的,并接受主数据库同步过来的数据。一个主数据库可以拥有多个从数据库,而一 个从数据库只能拥有一个主数据库。 主从复制问题:当master down,需要手动将一台...
原创
发布博客 2020.05.15 ·
442 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础篇 - 强引用、软引用、弱引用、虚引用

前言Java执行GC判断对象是否存活有两种方式其中一种是引用计数。引用计数:Java堆中每一个对象都有一个引用计数属性,引用每新增1次计数加1,引用每释放1次计数减1。在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于(reachable)可达状态,程序才能使用它。从JDK 1.2版本开始,对象的引用被划分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。正文(一)
转载
发布博客 2020.05.09 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka常见的丢失与重复消费问题

一.数据丢失问题生产者数据不丢失 同步模式:配置=1/0(0不等待,1只有Leader收到,-1所有副本成功 ; 三种机制,性能依次递减 (producer吞吐量降低),数据健壮性则依次递增。) leader partition挂了,数据就会丢失。 解决:设置为-1保证produce写入所有副本算成功        ...
原创
发布博客 2020.05.08 ·
623 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

spring事务传播机制

以下是事物的传播机制:@Transactional(propagation=Propagation.REQUIRED)如果有事务, 那么加入事务, 没有的话新建一个(默认情况下)@Transactional(propagation=Propagation.SUPPORTS)如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.@...
原创
发布博客 2020.05.08 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分布式系统---幂等性设计

分布式系统---幂等性设计WEB资源或API方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。幂等性是系统的接口对外一种承诺(而不是实现), 承诺只要调用接口成功, 外部多次调用对系统的影响是一致的。幂等性是分布式系统设计中的一个重要概念,对超时处理、系统恢复等具有重要意义。声明为幂等的接口会认为外部调用失败是常态, 并且失败之后必然会有重试。例如,在因网络中断等原因导致请求方未能...
原创
发布博客 2020.05.06 ·
191 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka学习之路 (五)Kafka在zookeeper中的存储

目录一、Kafka在zookeeper中存储结构图 二、分析 2.1 topic注册信息 2.2 partition状态信息 2.3 Broker注册信息 2.4 Controller epoch 2.5 Controller注册信息 2.6 补充Consumer and Consumer group 2.7 Consumer均衡算法 2.8 Consumer注...
转载
发布博客 2020.05.04 ·
232 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Kafka学习之路 (四)Kafka的安装

目录一、下载 二、安装前提(zookeeper安装) 三、安装 2.1 上传解压缩 2.2 修改配置文件 2.3 将kafka的安装包分发到其他节点 2.4 创建软连接 2.5 修改环境变量 三、启动 3.1 首先启动zookeeper集群 3.2 启动Kafka集群服务 3.3 创建的topic 3.4 查看topic副本信息 3.5 查看已经创...
转载
发布博客 2020.05.04 ·
130 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Kafka学习之路 (三)Kafka的高可用

目录一、高可用的由来 1.1 为何需要Replication 1.2 Leader Election 二、Kafka HA设计解析 2.1 如何将所有Replica均匀分布到整个集群 2.2 Data Replication(副本策略) 三、HA相关ZooKeeper结构 3.1 admin 3.2 broker 3.3 controller 四、pr...
转载
发布博客 2020.05.04 ·
152 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Kafka学习之路 (二)Kafka的架构

目录一、Kafka的架构 二、Topics和Partition 三、Producer消息路由 四、Consumer Group 五、Push vs. Pull 六、Kafka delivery guarantee正文回到顶部一、Kafka的架构如上图所示,一个典型的Kafka集群中包含若干Producer(可以是web前端产生的Page View,或者是服务器...
转载
发布博客 2020.05.04 ·
159 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Kafka学习之路 (一)Kafka的简介

目录一、简介 1.1 概述 1.2 消息系统介绍 1.3 点对点消息传递模式 1.4 发布-订阅消息传递模式 二、Kafka的优点 2.1 解耦 2.2 冗余(副本) 2.3 扩展性 2.4 灵活性&峰值处理能力 2.5 可恢复性 2.6 顺序保证 2.7 缓冲 2.8 异步通信 三、常用Message Queue对比 3.1...
转载
发布博客 2020.05.04 ·
165 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Elasticsearch

一.什么是 ElasticsearchElasticSearch 是一个基于 Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch 是用 Java开发的,并作为 Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。二.Elasticsearch应用场景(1).大型分布式日志分析系统ELK ela...
原创
发布博客 2020.05.04 ·
351 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

https http2.0 http1.1 http1.0 tcp udp

一、HTTPS大家可能都听说过 HTTPS 协议之所以是安全的是因为 HTTPS 协议会对传输的数据进行加密,而加密过程是使用了非对称加密实现。但其实,HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。HTTPS的整体过程分为证书验证和数据传输阶段,具体的交互过程如下:① 证书验证阶段浏览器发起 HTTPS 请求 服务端返回 HTTPS 证书 ...
原创
发布博客 2020.04.16 ·
1009 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多