java技术圈 为您找到相关结果 66

自建对象存储服务minio在使用nginx进行反向代理时出现对象无法正常共享的解决办法

什么是minio Minio是在Apache License v2.0下发布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/VM镜像等。对象的大小可以从几KB到最大5TB。 docker 安装示例 docker run -p 9000:9000 --name minio1 -e "MINIO_ACCESS_KEY=自己的access_key,相当于用户名" -e "MINIO_SECRET_KEY=自己的secret_key,相当于密码" -v /mnt/minio-data-v1:/data -v /mnt/minio-v1:/root/.minio -d minio/minio:RELEASE.2018-07-31T0...阅读全文

博文 2019-04-03 14:31:24 www.allocmem.com

[转]SolrCloud概览

自——找不到出处了。。ref->这里 简介 SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案。SolrCloud是Solr的基于Zookeeper一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式。 特色功能 集中式的配置信息使用ZK进行集中配置。启动时可以指定把Solr的相关配置文件上传Zookeeper,多机器共用。这些ZK中的配置不会再拿到本地缓存,Solr直接读取ZK中的配置信息。配置文件的变动,所有机器都可以感知到。另外,Solr的一些任务也是通过ZK作为媒介发布的。目的是为了容错。接收到任务,但在执行任务时崩溃的机器,在重启后,或者集群选出候选者时,可以再次执行这个未完成的任务。 自动容错SolrC...阅读全文

博文 2019-04-03 14:31:14 www.allocmem.com

Hive SQL的编译过程

Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有了比较深入的理解。对这一过程的理解不仅帮助我们解决了一些Hive的bug,也有利于我们优化Hive SQL,提升我们对Hive的掌控力,同时有能力去定制一些需要的功能。MapReduce实现基本SQL操作的原理详细讲解SQL编译为MapReduce之前,我们先来看看MapReduce框架实现SQL基本操作的...阅读全文

博文 2020-08-07 07:08:10 美团技术团队

理解 Linux 的虚拟内存

前言 前不久组内又有一次我比较期待的分享:”Linux 的虚拟内存”。是某天晚上加班时,我们讨论虚拟内存的概念时,leader 发现几位同事对虚拟内存认识不清后,特意给这位同学挑选的主题(笑)。 我之前了解一些操作系统的概念,主要是毕业后对自己大学四年的荒废比较懊恼,觉得自己有些对不起计算机专业出身,于是在工作之余抽出时间看了哈工大在网易云课堂的操作系统公开课,自己也读了一本讲操作系统比较浅的书 《Linux内核设计与实现》,而且去年自己用 C 写简单的服务器时,也追根究底了解了更多的系统底层知识。多亏了这些知识,让我对应用层的知识更有掌控感,也在上次排查问题时(从应用到内核查接口超时)助了我一臂之力。 前几天另一位同事来问另一个虚拟内存相关的问题,我才发现对于虚拟内存,我的理解还不够深刻,...阅读全文

博文 2019-06-20 08:48:00 枕边书

X,X11,Xorg,XServer,XClient,Xlib_混沌的博客

1.X 就是 X Window System ,1984年由MIT研发,它的设计哲学之一是:提供机制,而非策略。 主要特点:1,Server/Client网络模型。2,通过扩展使它保持”与时俱进”。 Linux内核是没有GUI图形显示的,X Window的目标就是提供GUI的显示。 为啥要命名为X呢,因为英文字母X就在W(indow)后面,戏称为下一版的新视窗之意。XFree86 『 X + Free software + x86硬件 』 @在 Unix Like 上面的圖形使用者介面 (GUI) 被稱為 X 或 X11; @X11 是一個『軟體』而不是一個作業系統; @X11 是利用网络架构来进行图形界面的执行与绘制; @較著名的 X 版本為 X11R6 這一版,目前大部分的 X 都是這一...阅读全文

博文 2020-07-13 02:31:53 CSDN博客_xorg

JAVA反序列化 - 反射机制

推荐阅读时间:30min 全文字数:1w 前言 真正反序列化漏洞的利用,肯定需要了解java反射原理。因为java反序列化的payload大多与反射机制密切相关。 那么这篇文章就是主要讲述反射机制,算是基础知识。 除了反射机制之外,后续还基于commons-collections链最后的反射机制触发点,进行了详细的反射机制特性的绕过说明。由于它与反射机制密切相关,就放在这边进行统一归纳理解。 可以配合本人的另一篇文章commons-collections食用 java反射机制 在Java中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能成为Java语言的反射机制。 让jav...阅读全文

博文 2020-06-05 08:55:41 先知社区

使用kryo做序列化会遇到的几个坑_paoma_1008的博客

Kryo 序列化与反序列化一些问题 gaording的博客 03-27 1792 公司其他组有个公共的maven依赖包中的序列化与反序列化采用了kryo,所以我在新代码中也测试了下kryo,测试的时候有几个问题记录如下: 1.kryo反序列化时是通过反射默认调用类的无参构造函数,如果类或者类的对象属性没有无参构造构造函数,则会抛出反序列化失败的异常,解决方法可以写一个继承kryo类的子类,重新实现通过反射去获取实例的方法,参考博客:https://vyloy.iteye.... Redis使用kryo来进行序列化遇到的问题 qq_28600087的博客 04-09 1876 1.通过spring-data-redis集成redis,使用kryo的方式来序列化value值,kryo是一款高性能...阅读全文

博文 2022-03-23 12:56:04 CSDN博客

[总结]Spring事务管理中@Transactional的参数

@Transactional注解就代表支持事务管理,@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。如果这个注解在类上,那么表示该注解对于所有该类中的public方法都生效;如果注解出现在方法上,则代表该注解仅对该方法有效,会覆盖先前从类层次继承下来的注解。 @Transactional 注解只能应用到 public 可见度的方法上。 如果你在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,它也不会报错, 但是这个被注解的方法将不会展示已配置的事务设置。 注意仅仅 @Transactional 注解的出现不足于开启事务行为,它仅仅 是一种元数据。必须在配置文件中...阅读全文

博文 2020-03-08 03:08:28 Mobabel

操作系统管理内存的机制——为什么要设置虚拟内存? - wj_hubei

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法: 某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存110。计算机在给程序分配内存时会采取这样的方法:先将内存中的前10M分配给程序A,接着再从内存中剩余的118M中划分出110M分配给程...阅读全文

我是如何把大象装进冰箱里的……

前几天在知乎看到了这样一个问题:CORNERSTONE等项目管理工具体验如何? ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190829163320260.png) 本来利益相关太高不准备答,但是我发现题主问的是CORNERSTONE等项目管理工具体验如何,我个人理解,题主是想问:CORNERSTONE项目管理工具的使用体验如何——恐怕是题主对我们没有详细了解过。那么正好借此机会,可以向大家好好介绍一下CORNERSTONE项目管理工具! 01 这类产品都脱胎于看板式项目管理 市面上的项目管理工具大多都只有看板这一种视图,但是CORNERSTONE[基石协作](https://www.cornerstone365.cn/)富含了【表格、分栏、看板、甘...阅读全文

博文 2019-08-29 10:51:48 CORNERSTONE

linux是怎样分配内存的

我们常说的内存容量,比方说我的笔记本电脑内存就是8GB,其实指的是物理内存。物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。 linux内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的,这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。 虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长(也就是单个CPU指令可以处理数据的最大长度)的处理器,地址空间的范围也不同。比如最常见的32位和64位系统。如下所示: 32位系统的内核空间占用1G,位于最高处,剩下的3G是用户空间。而64位系统的内核空间和用户空间都是128T,分别占据整个内存空间的最高和最低处,没剩下的中间部分是未定义的。 进程在用户态时...阅读全文

操作系统内存管理_黄规速, 逆水行舟,不进则退。

1、 计算机的存储体系 内存是计算机很重要的一个资源,因为程序只有被加载到内存中才可以运行;此外,CPU所需要的指令与数据也都是来自内存的。可以说,内存是影响计算机性能的一个很重要的因素。 在介绍内存管理的细节前,先要了解一下分层存储器体系: 大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。 CPU缓存(Cache Memory):是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。缓存的出现主要是为了解决CPU运算速度与内存 读写速度不匹配的矛盾,因为CPU运算速度要比内...阅读全文

Thrift笔记(六)--单端口 多服务 - luckygxf

多个服务,使用监听一个端口。先上一个demo Test.thrift namespace java com.gxf.thrift enum RequestType { SAY_HELLO, //问好 QUERY_TIME, //询问时间 } struct Request { 1: required RequestType type; // 请求的类型,必选 2: required string name; // 发起请求的人的名字,必选 3: optional i32 age; // 发起请求的人的年龄,可选 } exception RequestException { 1: required i32 code; 2: optional string reason; } // 服务名 ser...阅读全文

博文 2021-05-02 16:26:40 博客园

Jackson 快速入门 - 捏造的信仰

捏造的信仰 2.3k Jackson 快速入门 java jackson json 发布于 7月14日 本文是对 Jackson 的快速入门介绍,主要分为四部分: 基本使用 基础配置 自定义序列化/反序列化 对泛型的处理 上面这几个话题足以覆盖日常开发的场景了。限于篇幅所限,本文力求读者读完后能掌握 Jackson 在日常使用中的绝大部分场景,以及了解如何着手探索 Jackson 的深层定制。 基本使用 引入 Jackson 本文假设读者熟悉 Maven 的使用,那么只需要在项目中添加下面的依赖关系就可以了: com.fasterxml.jackson.core jackson-databind阅读全文

博文 2020-09-02 02:51:58 SegmentFault 思否

使用Java Low Level REST Client操作elasticsearch - ~冰

Java REST客户端有两种风格: Java低级别REST客户端(Java Low Level REST Client,以后都简称低级客户端算了,难得码字):Elasticsearch的官方low-level客户端。 它允许通过http与Elasticsearch集群进行通信。 不会对请求进行编码和响应解码。 它与所有Elasticsearch版本兼容。Java高级REST客户端(Java High Level REST Client,以后都简称高级客户端):Elasticsearch的官方high-level客户端。 基于low-level客户端,它公开了API特定的方法,并负责处理。 低级客户端 的功能包括: 依赖最小 所有可用节点,会负载平衡 在节点故障和响应特定状态码的情况下会进行...阅读全文

博文 2020-12-03 05:58:47 博客园

HeadFirst 设计模式学习笔记8--代理模式_Java_数据库天地

1.这一节的任务是我们需要完成对上一节的糖果机产生一个机器状况和余量的报告,若这个报告在本地(不是通过Internet)生成的话,那么我们的设计就很简单了,在糖果机中加入Location的信息,并且创建一个类GumballMonitor 完成报告的生成: public class GumballMonitor { GumballMachine machine; public GumballMonitor(GumballMachine machine) { this.machine = machine; } public void report() { System.out.println("Gumball Machine: " + machine.getLocation()); System...阅读全文

博文 2020-04-21 02:18:57 CSDN博客

页 页表 页表项_WaneGi没有故事

五一假期前落下了几节操作系统的课,现在艰难的恶补中。。 以下是分页存储管理相关的一些知识点梳理。 首先我们应该知道的概念: 逻辑地址:是程序编译后,生成的目标模块进行编址时都是从0号开始编址,称之为目标模块的相对地址,即逻辑地址。 虚拟地址:计算机处理器的地址有32位和64位的两种,对应的虚拟地址的空间大小分别是2^32字节和2^64字节,字节用B表示。 页:分页存储管理将进程的逻辑地址空间划分为若干页(面),并且对其编号,号数从0开始,每个页(面)的大小称为页面大小,且大小应为2的幂。 物理块:将内存的物理地址空间划分为若干块,称为物理块,物理块与页(面)一一对应。 页表:又称页面映像表,存储在内存中,通过页表建立页(面)与物理块的索引。 下面通过举例子梳理一下: 假设我们已经知道了逻辑地...阅读全文

博文 2020-10-11 13:38:47 CSDN博客

PM必须懂的4种项目管理模型

瀑布模型、迭代模型、增量模型、原型模型,是项目管理常见的四种模型。每种模型都有其优缺点和适用的项目类型。项目经理针对不同的项目用对模型,才能起到事半功倍的作用。 一、瀑布模型 用瀑布模型做项目就像古代匠雕刻玉石,先有完整的设计图,然后按部就班往前推进,中间不能出一点差错,追求的是“一次成型”。 这就是瀑布模型,最基本也最常用的一种项目管理模型,又称线性模型。 采用瀑布模型的项目依照该模型选定的阶段顺序进行,每一个阶段的工作产品都是下一个阶段工作的输入,每一个阶段只有在上一个阶段通过检查,确认完成后才开始新的阶段工作。 ![image.png](https://img-blog.csdnimg.cn/20200506142607355.png?x-oss-process=image/water...阅读全文

博文 2020-05-06 07:58:52 CORNERSTONE

free命令中的buffer和cached的比较

free命令中的buffer和cached的比较最近在搞监控,突然看到我系统的内存要用完了,赶紧登录服务器看看,~]# dstat -m 16G内存就剩1G了。怎么回事,然后用free命令看了下~]# free -m 原来是cached占用较多,真正用的只有6773M,空闲是9307M。但是还是对cached占用这么多比较担心,所以就查了下,下面文章转载至http://blog.csdn.net/beacherlu/article/details/45871489经常遇到一些刚接触Linux的新手会问内存占用怎么那么多? 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是linux内存管理的一个优秀特性,在这方面,区别于Windows的内...阅读全文

什么是FastJson中AutoType反序列化漏洞?_hosaos的博客

文章目录 频繁出现的反序列化漏洞parse()及parseObject()AutoType及安全校验AutoType安全校验AutoType黑名单机制SafeMode安全机制攻击思路 反序列化攻击模拟TemplatesImpl攻击调用链路攻击类Translet生成构造攻击JSON串攻击模拟 写在最后 频繁出现的反序列化漏洞 最近公司的小伙伴们收到了一波安全工单,因为FastJson存在高危漏洞,要求将FastJson版本号升级到1.2.69及以上 漏洞描述如下 在Fastjson<=1.2.68的版本中,通过新的Gadgets链绕过autoType开关,在autoType关闭的情况下仍然可能可以绕过黑白名单防御机制,实现了反序列化漏洞利用的远程代码执行效果,同时,此次修复补丁也补充了auto...阅读全文

博文 2022-05-23 08:07:38 CSDN博客_fastjson的autotype属性

Flink

TIP 本文主要是介绍 Flink-SpringBoot结合案例 。 Spring Boot整合Flink【----------------------------】Flink与Spring Boot的集成Spring容器的集成点依赖jar包注意点maven打包注意点注意包冲突目前方案的缺陷与解决思路参考文章 # Spring Boot整合Flink 使用spring boot整合flink可以快速的构建起整个应用,将关注点重点放在业务逻辑的实现上。在整合的过程中遇到许多问题,最大的问题是flink流无法访问spring容器中的类,从而导致空指针异常,解决思路是在流中进行spring bean的初始化以获得ApplicationContext,进而使用其getBean方法获取类实例。 软件版...阅读全文

博文 2022-07-25 02:23:25 SpringBoot结合案例 | 智能后端和架构

深入剖析Linux IO原理和几种零拷贝机制的实现

前言零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及 CPU 的拷贝时间。它的作用是在数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现 CPU 的零参与,彻底消除 CPU 在这方面的负载。实现零拷贝用到的最主要技术是 DMA 数据传输技术和内存区域映射技术。零拷贝机制可以减少数据在内核缓冲区和用户进程缓冲区之间反复的 I/O 拷贝操作。零拷贝机制可以减少用户进程地址空间和内核地址空间之间因为上下文切换而带来的 CPU 开销。正文1. 物理内存和虚拟内存由于操作系统的进程与进程之间是共享 CPU 和内存资源的,因此需要一套完善的内存管理机制防止进程之间内存泄漏的问题。为了更...阅读全文

博文 2021-08-17 04:10:56 知乎

flink taskmanager&slots&并行度&任务链&task分配详解 - 民宿

TaskManger与Slots Flink中每一个worker(TaskManager)都是一个JVM进程,它可能会在独立的线程上执行一个或多个subtask。为了控制一个worker能接收多少个task,worker通过task slot来进行控制(一个worker至少有一个task slot)。 每个task slot表示TaskManager拥有资源的一个固定大小的子集。假如一个TaskManager有三个slot,那么它会将其管理的内存分成三份给各个slot。资源slot化意味着一个subtask将不需要跟来自其他job的subtask竞争被管理的内存,取而代之的是它将拥有一定数量的内存储备。需要注意的是,这里不会涉及到CPU的隔离,slot目前仅仅用来隔离task的受管理的内存。...阅读全文

博文 2022-10-02 13:27:55 博客园

SpringCloudAlibaba高并发仿斗鱼直播平台实战

## SpringCloudAlibaba高并发仿斗鱼直播平台实战 download:https://www.zxit666.com/6371/ Dubbo服务调用原理剖析 段落一:简介 Dubbo是一款高性能、轻量级的分布式服务框架,主要用于解决分布式应用中的服务调用和管理问题。它提供了多种通信协议和负载均衡策略,支持服务的注册与发现、远程调用和容错处理等功能。 段落二:服务注册与发现 在Dubbo中,服务注册与发现是实现服务调用的基础。当服务提供者启动时,它会将自己的地址信息注册到注册中心。而服务消费者则从注册中心获取提供者的地址,并建立与提供者的连接。Dubbo支持多种注册中心,如Zookeeper、Consul等,通过注册中心的协调,实现了服务的动态发现和路由。 段落三:远程调用 D...阅读全文

fastjson:对key为非String类型的Map的序列化和反序列化问题_map序列化和反序列化_10km的博客

我们可以看到,免邀请码安装成功,两个用户成功绑定了邀请关系,且过程中未使用复杂的邀请码机制。总的来说,免填邀请码是基于 Xinstall 的携带参数安装功能实现的,免填邀请码只是其中一个比较典型的应用场景,实质通过携带邀请人 id 参数安装,实现用户关系绑定。而且Xinstall 只负责帮 App 传递需要的参数,具体该参数如何定义,怎么使用,企业可以大开脑洞,根据自身业务需求来实现。因此,根据携带参数安装的原理,除了免填邀请码之外,同样可以实现用户关系绑定、场景还原、推广效果统计等功能...阅读全文

博文 2023-02-07 08:14:20 CSDN博客

Web3.0入门与实战 一站式掌握4大主流区块链开发

download:https://caodada.com/8045.html【资源介绍】:Web3.0入门与实战 一站式掌握4大主流区块链开发Web3.0迎来爆发式增长,技术人才紧缺,薪资涨幅可观。但Web3.0体系庞杂,很难系统掌握。因此,我们邀请以太坊、IC、Flow及XuperChain社区资深开发者精心打造更适合初学者从0到1系统学习的课程。课程将从编程语言,到四大主流链项目开发,带大家系统全面掌握Web3.0开发技术,帮助大家顺利入行,开拓新的职业机会,增长职业竞争力及副业收入。​​​​​​​【资源目录】:├──1| └──1-1开篇Web30一场已经开启的互联网革命3725_ev.mp4 74.89M├──2| ├──2-10智能合约语言介绍下1137_ev.mp4 35.67M...阅读全文

博文 2023-07-27 15:51:53 caodada

PlantUML 快速入门(一) UML 类图_fundroid的博客

大家平日在写技术文档时,往往都有画 UML 图的需要,很多人使用 PrecessOn 或者 darw.io 等来绘制 UML ,勉强可用但是不够专业。这里为大家推荐一个专门画UML的工具: PlantUML 1. PlantUML PlantUML 诞生于 2009 年,知道的人多但是使用的人少。因为它使用特殊的 DSL 进行画图,相较与其他工具,PlantUML 的图不是“画”出来的而是“写”出来的。 虽然有一定学习成本,但是却可以画出更专业的UML图,而且文本格式也便于保存。本文总结 PlantUML 的基本用法,帮助大家快速入门。 安装环境 PlantUML 是一个 java 程序,所以有 JDK 就能跑。可以从官网直接下载 jar 文件执行,当然它也提供了 IDEA 和 VSCode...阅读全文

博文 2023-05-05 08:23:42 CSDN博客

云存储环境下的容灾关键技术

本文分享自天翼云开发者社区《云存储环境下的容灾关键技术》,作者:王兆龙云存储的出现解决了现有容灾系统的几个显著问题:一是面对大量的备份数据,管理系统不够完善的问题;二是面对大规模的数据容灾灵活性和效率不高的问题;三是在数据加密保护方面依然存在的安全隐患问题。那么,云存储解决这些问题主要依靠的技术原理和机制是什么呢,云环境下的容灾关键技术都有哪些,本文接下来将对此进行简单的介绍和分析。映射技术映射技术是实现信息存储的核心技术。追踪映射技术十分关键,在通常情况下,云存储环境下的处理程序和管理设备程序之间会形成映射关系,这种管理能够直接的影响到容灾系统的应用。一是数据自动迁移,这种方法的应用是一种事件触发的,并且触发事件还包括了磁盘容量的扩展、缩小,磁盘的损坏、维修,磁盘的饱和、填充等一系列事件,...阅读全文

博文 2023-06-30 10:58:57 Tianyiyun

深入可观测底层:OpenTelemetry 链路传递核心原理

前言本文会系统讲解链路传递一些基本概念,同时结合案例讲解链路传递的过程。Context、Propagator 的概念我们先看一张在 HTTP 通信下,进行链路传播的例子。图中是一个 Client 请求 Server 通信,同时 Client 把自己的链路信息传递给 Server 的过程可以看到,链路信息通过一个叫 TraceContext 对象封装起来,通过 Http Headers来存取这个对象,最后达到传播的效果,这里面 TraceContext 就是一个 Context 上下文对象。Context 是一种传播机制,它跨越 API 边界,在逻辑执行单元间传递执行范围的值。链路追踪系统在系统进程内部,进程间通过共享进程的 Context 上下文 对象传递链路信息。刚才 Http Heade...阅读全文

博文 2023-10-16 11:02:18 知乎

云服务器虚拟化超分与虚机性能关系分析

本文分享自天翼云开发者社区《云服务器虚拟化超分与虚机性能关系分析》,作者:l****n虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机 (VM), 每个 VM 都运行自己的操作系统 (OS) ,类似于独立的计算机。这样虚拟化技术能让一台服务器变成几台甚至上百台互相隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、存储、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合池化,让IT对业务的变化更具适应力。虚拟化能够提高企业资源运营效率,节约能耗,降低经济成本和空间浪费。​服务器虚拟化示意图CPU虚拟化公式...阅读全文

让kryo支持反序列化没有无参构造方法的类 - 翁志艺的博客

阅读更多 动态得到类的实例,我们通常通过反射来得到。但有时候,类缺少默认构造方法,我们又不想传参来实例化,这时候怎么办呢? 我们还可以通过sun.reflect.ReflectionFactory来完成,例子如下: import java.lang.reflect.Constructor; import java.util.concurrent.ConcurrentHashMap; import sun.reflect.ReflectionFactory; import com.esotericsoftware.kryo.Kryo; public class Kryox extends Kryo { private final ReflectionFactory REFLECTION_FAC...阅读全文

博文 2023-05-17 08:42:20 ITeye博客

虚拟化技术 - CPU虚拟化

本文分享自天翼云开发者社区《虚拟化技术 - CPU虚拟化》,作者:谢****悦物理机器是由CPU,内存和I/O设备等一组资源构成的实体。虚拟机也一样,由虚拟CPU,虚拟内存和虚拟I/O设备等组成。VMM(VM Monitor)按照与传统OS并发执行用户进程的相似方式,仲裁对所有共享资源的访问。本文将分别讨论CPU虚拟化、内存虚拟化和I/O虚拟化技术的原理和实现。在虚拟化的平台上,虚拟机(guest VM)所使用的多个虚拟CPU(以下称vCPU)可能是共享同一个物理CPU(以下称pCPU)的。VMM负责vCPU的调度,当一个vCPU被调度到获得pCPU的使用权后,基于该vCPU运行的guest OS又可以调度OS中的各个线程/进程了。也就是说,guest OS中的各个线程/进程分时复用了vCP...阅读全文

博文 2023-05-19 09:35:52 Tianyiyun

Java IO学习笔记三:MMAP与RandomAccessFile - Grey Zeng

作者:Grey 原文地址:Java IO学习笔记三:MMAP与RandomAccessFile 关于RandomAccessFile 相较于前面提到的BufferedReader/Writer和FileReader/Writer 普通的Reader和Writer只能顺序读写数据,RandomAccessFile提供了一个独有的seek方法,可以修改文件内容的指针,从而可以方便读取和修改文件中的任意位置。示例: import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import static java.nio.charset.Standar...阅读全文

博文 2023-05-12 16:32:23 博客园

浅析进程分配内存的两种方式——brk()和mmap()

如何查看进程发生缺页中断的次数?用ps -o majflt,minflt -C program命令查看。majflt代表major fault,中文名-叫大错误,minflt代表minor fault,中文名叫小错误。这两个数值表示一个进程自启动以来所发生的缺页中断的次数。发成缺页中断后,执行了那些操作?当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操作: 1、检查要访问的虚拟地址是否合法 2、查找/分配一个物理页 3、填充物理页内容(读取磁盘,或者直接置0,或者啥也不干) 4、建立映射关系(虚拟地址到物理地址) 重新执行发生缺页中断的那条指令 如果第3步,需要读取磁盘,那么这次缺页中断就是majflt,否则就是minflt。 内存分配的原理从操作系统角度来看,进程分配内存有两种方...阅读全文

云电脑运行原理分析

本文分享自天翼云开发者社区《云电脑运行原理分析》,作者:大利一、虚拟化技术虚拟化技术是云电脑运行的核心技术之一。它可以将物理服务器虚拟化成多个虚拟机,每个虚拟机都拥有独立的操作系统和应用程序运行环境。虚拟机之间相互隔离,互不影响。虚拟化技术可以显著提高服务器的利用率,减少能源消耗,同时还可以提高系统的可靠性和安全性。在云电脑中,虚拟化技术主要应用于计算资源的管理和调度。当用户通过网络发送计算请求时,云电脑管理系统会根据负载情况,将请求分配给不同的虚拟机进行处理。每个虚拟机都拥有独立的计算资源,可以同时处理多个用户请求。这种分布式计算的方式可以显著提高系统的处理能力和响应速度。二、容器技术容器技术是另一种轻量级的虚拟化技术,它可以将应用程序及其依赖项打包成一个独立的容器,实现应用程序的快速部署...阅读全文

Kryo 序列化与反序列化一些问题_kryo序列化反序列化_gaording的博客

公司其他组有个公共的maven依赖包中的序列化与反序列化采用了kryo,所以我在新代码中也测试了下kryo,测试的时候有几个问题记录如下: 1.kryo反序列化时是通过反射默认调用类的无参构造函数,如果类或者类的对象属性没有无参构造构造函数,则会抛出反序列化失败的异常,解决方法可以写一个继承kryo类的子类,重新实现通过反射去获取实例的方法,参考博客:https://vyloy.iteye.com/blog/1483029 2.kryo在序列化和反序列化ArrayList和HashMap时需注册ArrayList.class和HashMap.class的序列化类,才可序列化和反序列化成功 MapSerializer serializer = new MapSerializer(); seri...阅读全文

博文 2023-05-17 08:46:14 CSDN博客

linux 创建 swap分区

linux 创建 swap分区 swap是什么?Swap:交换分区类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。当用户提交程序,然后产生进程,在机器上运行。机器会判断当前物理内存是否还有空闲允许进程调入内存运行,如果有那么则直接调入内存进行运行;如果没有,那么会根据优先级选择一个进程挂起,把该进程交换到swap中等待,然后把新的进程调入到内存中运行。根据这种换入和换出,实现了内存的循环利用,让用户感觉不到内存的限制。从这也可以看出swap扮演了一个非常. 复制链...阅读全文

一种Mysql和Mongodb数据同步到Elasticsearch的实现办法和系统

本文分享自天翼云开发者社区《一种Mysql和Mongodb数据同步到Elasticsearch的实现办法和系统》,作者:l****n核心流程如下:​核心逻辑说明:MySQL Binlog解析:首先,从MySQL的二进制日志(Binlog)中解析出表名。这一步骤非常关键,因为我们只关注特定表的数据变更。进一步,我们检查Binlog中的操作类型,如INSERT、UPDATE和DELETE,以确定是否是表数据的变动操作。这是因为我们只需要捕获数据的变更,而不关心查询操作。如果操作是INSERT或DELETE,我们只需要关注受影响的数据行。对于UPDATE操作,我们需要记录新旧值的变化。内存中数据组装:从解析过的Binlog数据中,我们构建一个内存数据结构,通常是一个数据对象,其中包括表名、字段名、...阅读全文

博文 2023-11-06 17:42:58 Tianyiyun

[最新47章]Three.js可视化企业实战WEBGL课(23年12月升级版)

[最新47章]Three.js可视化企业实战WEBGL课(23年12月升级版) 网盘地址:https://pan.baidu.com/s/1JUzSfbQ95949f7LBDoyRDQ 提取码:mog6 腾讯微云下载地址:https://share.weiyun.com/Sa6MSzwS 密码:n99b5x 今天给大家讲讲关于Three.js可视化相关的内容,从0基础到企业项目实战,内容一共47章,其中包含Three.js开发入门、three.js环境搭建、WebGPU与WGSL入门与原理、blender基础进阶、Cesium入门等,结合大量实战案例,比如全景看房与科技展馆案例、智慧城市案例、Cesium智慧广州项目实战案例、海景酒店日夜交替全景展示、AI寻路避障自动导航案例、可视化物理模拟...阅读全文

博文 2023-12-11 11:27:50 maudnwiugbn

云电脑:IO虚拟化实现的技术分析

本文分享自天翼云开发者社区《云电脑:IO虚拟化实现的技术分析》,作者:大利云电脑是一种基于云计算技术的虚拟化电脑,它通过网络将物理硬件资源虚拟化成多个虚拟机,每个虚拟机都拥有独立的操作系统和应用程序。IO虚拟化技术是实现云电脑的关键技术之一,它可以实现网络和存储等资源的虚拟化。本文将从专业论述的角度来探讨云电脑中IO虚拟化技术的实现原理、分类和应用场景。一、IO虚拟化技术的实现原理IO虚拟化技术是一种将硬件资源虚拟化的技术,它可以在虚拟机中模拟真实的网络和存储设备,使得虚拟机可以像真实的计算机一样进行网络访问和数据存储。IO虚拟化技术的实现原理主要包括以下几个方面:1.硬件资源的虚拟化:IO虚拟化技术通过在物理硬件资源上添加虚拟化层,将物理硬件资源划分为多个虚拟资源,每个虚拟资源都有独立的内...阅读全文

博文 2023-12-04 16:37:27 Tianyiyun

java使用nio读写文件_使用nio读取文件_小码农叔叔的博客

IO原理 最近在研究 JAVA NIO 的相关知识,学习NIO,就不能提到IO的原理和事项,必经NIO是基于IO进化而来 IO涉及到的底层的概念大致如下: 缓冲区操作。2) 内核空间与用户空间。3) 虚拟内存。4) 分页技术 一,虚拟存储器 虚拟存储器是硬件异常(缺页异常)、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。 虚拟存储器的三大能力: ①将主存看成是一个存储在磁盘上的地址空间的高速缓存。 ②为每个进程提供了一个一致的地址空间。 ③保护每个进程的地址空间不被其他进程破坏。 虚拟内存的两大好处: ① 一个以上的虚拟地址可指向同一个物理内存地址。 ② 虚拟内存空间可大于实际可用的硬件内存。 二,用户空间与内核空间 设虚拟地址为32位...阅读全文

博文 2023-05-15 10:50:14 CSDN博客

malloc中的系统调用brk和mmap - 一生热爱

malloc中的系统调用brk和mmap 环境 ubuntu14.04 malloc通过系统调用的方式从操作系统申请内存,malloc内部又通过系统调用brk()或mmap来申请内存的。入下图进程虚拟内存布局所示,mmap对应Memory Mapping Segment,brk对应Heap. brk brk通过增加program break的位置(brk)从内核申请(非零值初始化)内存。一开始堆段(heap segment)的其实位置(start_brk)和结束位置(brk)指向同一个位置。 当ASLR(Address Space Layout Randomization)关闭时,start_brk和brk同时指向data/bss段的结束位置(end_data) 当ASLR打开时,start...阅读全文

博文 2023-05-12 15:49:36 博客园

数据库入门:MySQL事务解析,如何轻松搞定数据一致性?

在日常开发中我们经常会遇到需要同时处理多个操作的情况,比如在购物时,我们需要同时完成支付和更新库存两个操作。这时,如果其中一个操作失败了,我们就需要进行回滚,以保证数据的一致性。 那么,如何在MySQL中实现这样的功能呢?答案就是——事务。下面我们就来介绍一下MySQL事务是什么?它是如何使用的? ## 一、什么是事务? ### 事务定义 - 事务是一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务是一个最小的工作单元)。 - 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成。 - 事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同。 ### 事务是什么? ...阅读全文

云服务器比传统服务器更安全的原因与实现机制

本文分享自天翼云开发者社区《云服务器比传统服务器更安全的原因与实现机制》,作者:3****m随着互联网的普及和云计算技术的发展,越来越多的企业和组织选择使用云服务器来提供和存储数据。与传统服务器相比,云服务器在安全性方面具有诸多优势。本文将围绕云服务器比传统服务器更安全的原因,探讨其实现机制。一、云服务器比传统服务器更安全的原因虚拟化技术云服务器采用虚拟化技术,将物理服务器上的资源(如CPU、内存、存储等)汇聚到一个虚拟的云中,然后通过网络对外提供服务。这种虚拟化技术可以隔离不同用户和业务,防止数据泄露和攻-击。同时,虚拟化技术还可以实现资源的动态调整和负载均衡,提高资源利用率和系统稳定性。容错技术云服务器通常采用容错技术,实现故障自动切换和负载均衡。当某个虚拟机出现故障时,系统会自动将其切...阅读全文

SpringBoot+Vue3 项目实战,打造企业级在线办公系统【升级版16章】

SpringBoot+Vue3 项目实战,打造企业级在线办公系统【升级版16章】 视频课程分享——SpringBoot+Vue3 项目实战,打造企业级在线办公系统,最新升级版16章,附源码+电子书下载。 在线办公系统的开发主要包括前端开发和后端开发,应根据系统需求分配相应的工作量和任务。 1. 前端开发。 在线办公系统采用的是前后端分离模式。前端应用层使用React、Vue或Angular等框架开发,实现交互设计和页面开发。 2. 后端开发。采用Spring Boot、Spring Cloud、Docker等技术,实现应用逻辑和数据操作。 3. 代码开发规范。代码开发规范非常重要,可采用团队组建的方法,提高团队的协作效率及代码的质量。 在开发项目的过程中,很多人都喜欢自定义异常,处理异常的时...阅读全文

博文 2023-12-25 16:21:22 woaiwodejia333