自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 java-agent

JVMTI(Java Virtual Machine Tool Interface)是一套由 Java 虚拟机提供的了一套代理程序机制静态InstrumentJDK1.5开始,JVMTI提供了java.lang.instrument来进行虚拟机级别的aop实现,需要在启动的时候用-javaagent指定jar包来启动代理程序。可以使用premain方法在main方法之前进行加载执行动态InstrumentSun 公司提供的Attach 机制,提供了一种进程间的通信能力,能让一个进程传递命令给 JV

2021-09-21 23:19:20 192

原创 invokeStatic&invokeVitrual

Jvm优化点:采用invokeStatic可以比invokeVitrual更快invokeStatic更方便Jvm进行优化,即内联,因为调用的是静态方法,对于非虚方法,JVM 可以直接进行内联,这种内联是有百分之百的安全保障的。invokeVitural采用invokeVirtual需要注意,采用虚方法的方式,需要注意CHA(Class Hierarchy Analysis,类型继承关系分析),用于确认在目前已加载的类中,某个接口是否有多于一种的实现、某个类是否有子类、某个子类是否覆盖父类的某个虚方

2021-09-20 15:16:43 233

转载 RocketMQ与Kafka对比(18项差异)

转自:https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用在淘宝交易、订

2021-09-18 23:25:50 691

转载 xxl-job

xxl-job前言一、解耦二、HA/集群三、弹性扩缩四、故障处理五、阻塞处理六、高性能七、平台化八、自运维前言在单体应用下,ScheduledExecutor线程池的方式能够解决任务调用的功能,但是在分布式场景下,为了解决如重复调度、负载均衡、失败处理等情况,需要采用相应的分布式任务方案。一、解耦任务调度,可以拆分为“调度”和“任务”两个模块。但是,目前多种流行方案是将调度与任务耦合在一起,比如quartz(单机、集群)、spring task、timer等等。这些方案在单体应用和非集群部署

2021-09-14 15:06:50 287

原创 k8s网络模型

放在一起 效率更高 如不用记录ip 只要访问本地 pod之间 pod和node不需要经过net访问 在node上的iptable上做地址转换clustip这样会识别不了 app 等于web的能访问mysql 去/etc** 读取配置 第一个为要执行的cni是哪个 然后去/opt执行cni ipam负责ip的分配或释放 main 容器网卡的初始化或清除 meta 负责其他技术如限速等 main类型的cni主要配置了容器内的网络打通了容器与宿主机的网络 如加网卡 配ip路由 节点与节点间的网络不管

2021-09-07 16:11:47 851

原创 初始化对象过程

加载.加载 -> clasloader 加载.class文件到内存通过全类名获取定义此类的二进制字节流将字节流所代表的静态存储结构转换为方法区的运行时数据结构在内存中生成一个代表该类的 Class对象,作为方法区这些数据的访问入口验证文件格式验证 -class文件是否符合规范(如 使用了不支持的常量类型,magic数值不对)元数据验证 - 字节码信息是否符合规范 (如 继承不能继承的final父类)字节码验证 - 语义是否正确符号引用验证 - 能否被解析准备为静态变量分.

2021-09-04 10:52:07 80

原创 dubbo-服务发现

dubbo-服务发现一.服务发现1.接口发现2.应用发现二.元数据同步1.内建MetadataService2.元数据中心三.服务映射一.服务发现1.接口发现Dubbo 框架的一个特点我认为就在其面向接口的编程模型,使得开发远程服务调用就像开发本地服务一样。当前 Dubbo 的服务注册/发现模型是以接口为粒度的,而从 2.7.5 版本开始,Dubbo 新引入了应用粒度的服务注册/发现模型。这一方面有助于优化 Dubbo 当前服务发现机制、提升服务容量,另一方面对于联通以 SpringCloud 为代表

2021-09-02 20:59:45 515

原创 tls协议

tls前言一、TLS 协议的组成二、ECDHE1.连接过程三、TLS1.31.过程前言tls是ssl协议的标准化,处于应用层(5层架构)和会话层(OSI),有着rsa方式和ecdhe两种,一、TLS 协议的组成握手协议:负责在客户端和服务器之间协商决定密码算法和共享密钥,包括基于证书的认证操作;密码规格变更协议:负责向通信对象传达变更密码方式的信号,在TLS 1.3版本中不再需要该协议;警告协议:负责在发生错误时将错误传达给对方;记录协议:将TLS 上面承载的应用数据传达给通信对象的协议。

2021-09-02 15:26:14 2930

原创 ES高并发场景优化

ES内存优化一、降低 FST 在堆内的内存使用量二、将FST移至堆外内存1.ES社区方案2.tencent方案磁盘优化高可用优化系统健壮性容灾缺陷修复内存优化ES常被用来处理日志分析,其中,ES堆内存的使用率常常过高,在堆内存中,发现主要存放了大量的FST(二级倒排索引,前缀树,记录block地址),无法被GC回收,占用了50%-70%的堆内存。一、降低 FST 在堆内的内存使用量我们可以将block的大小设置大一些,这样,block的数量就会变少,FST的内存占用量也会跟着变少,但是block变

2021-08-24 17:09:23 2378

原创 零拷贝机制

函数mmap()sendfile()sendfile() + DMA gathersplice()上下文切换次数4226(3次系统调用)DMA拷贝次数2222cpu拷贝次数110(1,一些很少的元数据)2(地址指针拷贝)要求新的硬件支持pipe buffer实现绕过内核直接IO用户直接访问硬件内核控制访问硬件内核缓冲区和用户缓冲区之间的传输优化动态重映射与写时拷贝缓冲区共享...

2021-08-24 11:17:42 93

原创 XSS和CSRF

XSS和CSRF一、XSS1.定义二、使用步骤1.引入库2.读入数据总结一、XSS示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。1.定义XSS的英语全称是Cross-Site Scripting(跨站脚本攻击),因为和CSS同名,为了做出区别,改称为XSS.二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport

2021-08-20 09:13:59 335

原创 TimSort排序算法

系列文章目录 http://www.envisage-project.eu/proving-android-java-and-python-sorting-algorithm-is-broken-and-how-to-fix-it/提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 http://www.envisage-project.eu

2021-08-09 11:33:24 399

原创 qemu-kvm

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录什么是QEMU一、pandas是什么?二、使用步骤1.引入库2.读入数据总结什么是QEMUhttps://blog.csdn.net/u011364612/article/details/53486530?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0.base&spm=1001.21

2021-08-05 15:06:45 699

原创 单向hash加密算法Bcrypt

加密算法Bcrypt欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-07-30 12:58:33 944

原创 字节码增强技术

字节码增强技术文章目录字节码增强技术aop方案一、ASM二、java assist三、JDKProxy总结aop方案在aop方法中常见有ASM、aspectJ、JDKProxy、Javaassist几种提示:以下是本篇文章正文内容,下面案例可供参考一、ASMcglib是基于ASM上实现的,ASM常用于自己操作字节码的需求,因为它可以在被类加载之前动态地修改生成,也可以直接生成.class文件在放入jvm。ASM api是通过ClassWriter 接口基于访问者模式,让我们使用Class

2021-07-23 16:34:56 218

原创 分布式链路追踪-skywalking

分布式链路追踪-skywalkingskywalking分布式链路追踪-skywalking前言一、skywalking特点1.接入方式2.性能高二、架构设计1.架构图2.实现原理前言目前市面上常见的调用链产品有EagleEye、zipkin、pinpoint、skywalking以及cat,本文以skywalking为主介绍,一个专为云原生结构、微服务和k8s容器和设计的软件。一、skywalking特点1.接入方式采用插件化和java探针的方式,进行字节码增强,实现对接入端无代码入侵。

2021-07-11 15:44:17 733

原创 nginx+lvs 知识总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2021-03-21 17:04:11 411

原创 mysql-mvcc知识点总结

mysqlACID事务异常锁日志MVCCACIDAtomicity 原子性: 指整个操作要么都成功,要么都失败,不能有些操作成功有些操作失败。Consistency 一致性: 指事务的执行结果必须使数据库从一个一致性到另一个一致性状态。什么是不一致性状态?就是当一个事务因某种原因中断时,这个事务对数据库的一些操作被写入到了数据库,这是数据库就是一种不一致性状况。Isolation 隔离性: 多个同时并发执行的事务不会互相影响,它们最后对数据库造成的结果和它们串行执行结果是一样的。Durabili

2020-06-16 12:05:20 322 1

空空如也

空空如也

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

TA关注的人

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