自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (16)
  • 收藏
  • 关注

原创 Nacos2.2.3适配达梦数据库编译打包完整教程

MySQL、derby 的实现,也可以有我们自己的实现,具体来说就是达梦数据库的实现,我们只需要把这几个类重写就可以了,当然具体重写的内容中的 SQL 要根据达梦数据库的方言情况,修改或者不修改。这种方式的问题是由于自行修改了源代码,在进行版本升级时会比较麻烦,每一次升级都要手动合并最新的代码再进行编译,未来甚至有可能出现。原生是不支持达梦数据库的,所以就要想办法让它 “支持”,因为是开源软件,我们可以从源码入手,在流行的。的实现类,然后根据数据源参数找到相应的实现类就可以了。包下有不同的数据库实现类。

2024-02-21 16:51:48 1092

原创 七、ZooKeeper选举机制

zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜出的逻辑。服务器ID、选举状态、数据ID、逻辑时钟,对于运行正常的zookeeper集群,中途有机器down掉,需要重新选举时,选举过程就需要加入数据ID、服务器ID和逻辑时钟。

2023-12-02 11:15:31 915

原创 六、ZooKeeper Java API操作

这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端框架 Curator ,解决了很多Zookeeper客户端非常底层的细节开发工作。对zookeeper的底层api的一些封装封装了一些高级特性,如:Cache事件监听、选举、分布式锁、分布式计数器等。

2023-12-02 10:53:57 1370

原创 五、ZooKeeper的shell操作

功能,一个典型的发布/订阅模型系统定义了一种一对多的订阅关系,能让多个订阅者同时监听某一个主题对象,当这个主题对象自身状态变化时,会通知所有订阅者,使他们能够做出相应的处理。dataVersion:数据版本号,每次对节点进行set操作,dataVersion的值都会增加1(即使设置的是相同的数据),可有效避免了数据更新时出现的先后顺序问题。事件发生触发监听,一个watcher event就会被发送到设置监听的客户端,这种效果是一次性的,后续再次发生同样的事件,不会再次触发。

2023-12-02 10:49:30 1101

原创 四、Zookeeper节点类型

Znode有两种,分别为临时节点和永久节点。节点的类型在创建时即被确定,并且不能改变。

2023-12-02 10:17:45 823

原创 三、Zookeeper数据模型

ZooKeeper虽然可以关联一些数据,但并没有被设计为常规的数据库或者大数据存储,相反的是,它用来管理调度数据,比如分布式应用中的配置文件信息、状态信息、汇集位置等等。另外,每一个节点都拥有自己的ACL(访问控制列表),这个列表规定了用户的权限,即限定了特定用户对目标节点可以执行的操作。既像文件一样维护着数据、元信息、ACL、时间戳等数据结构,又像目录一样可以作为路径标识的一部分,并可以具有子Znode。ZooKeeper的数据模型,在结构上和标准文件系统的非常相似,拥有一个层次的命名空间,都是采用。

2023-12-02 09:56:55 913

原创 二、ZooKeeper集群搭建

Zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1台server组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能过得到多数的支持,所以ZooKeeper集群的数量一般为奇数。

2023-12-02 09:49:45 1182

原创 一、Zookeeper基本知识

Zookeeper是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性问题。ZooKeeper本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

2023-12-02 09:33:46 582

原创 七、三台虚拟机JDK环境安装

修改完成之后记得在三台主机上分别执行source /etc/profile使配置生效。远程拷贝/etc/profile配置文件,将其拷贝到node2和node3主机。上传jdk到node1的/export/software路径下去并解压。2、在三台虚拟机上查看是否有自带的openjdk,如果有则卸载。远程拷贝jdk安装目录,将其拷贝到node2和node3主机。3、在node1机上传安装包并解压。1、在三台机器上分别创建安装目录。5、在node1上进行文件分发。4、在node1配置环境变量。

2023-12-01 14:48:56 894

原创 六、三台主机免密登录和时钟同步

Linux集群节点众多, 所以, 这个时候就需要程序自动在主节点登录到从节点中, 如果不能免密就每次都要输入密码, 非常麻烦。1. 需要先在 B节点 配置 A节点 的公钥2. A节点 请求 B节点 要求登录3. B节点 使用 A节点 的公钥, 加密一段随机文本4. A节点 使用私钥解密, 并发回给 B节点5. B节点 验证文本是否正确在三台机器执行以下命令,生成公钥与私钥。

2023-12-01 14:39:29 937

原创 五、关闭三台虚拟机的防火墙和Selinux

2) Linux中的权限管理是针对于文件的, 而不是针对进程的, 也就是说, 如果root启动了某个进程, 则这个进程可以操作任何一个文件。如果开启了SELinux, 需要做非常复杂的配置, 才能正常使用系统, 在学习阶段, 在非生产环境, 一般不使用SELinux。3) SELinux在Linux的文件权限之外, 增加了对进程的限制, 进程只能在进程允许的范围内操作资源。编辑每台虚拟机的Selinux的配置文件。#禁止firewall开机启动。#停止firewall。

2023-12-01 14:24:03 555

原创 四、设置主机名和域名映射

分别编辑每台虚拟机的hostname文件,直接填写主机名,保存退出即可。注意:不要修改文件原来的内容,三台虚拟机的配置内容都一样。第一台主机主机名为:node1。第二台主机主机名为:node2。第三台主机主机名为:node3。

2023-12-01 14:18:34 413

原创 三、使用CRT连接三台虚拟机

使用CRT连接三台虚拟机,1、建立连接,2、参数配置,3、设置主题、颜色和仿真,按照同样方式去连接node2和node3主机。

2023-12-01 14:04:20 392

原创 二、设置三台虚拟机的内存、MAC地址、IP地址

1、三台虚拟机再加上windows本身, 需要同时运行4台机器, 所以在分配的时候,, 每台虚拟机的内存为:总内存 ÷ 4,比如电脑总内存为16G,则每台虚拟机内存为4G即4096。

2023-12-01 11:58:30 655

原创 一、服务器准备

本案例使用VMware Workstation Pro虚拟机创建虚拟服务器来搭建Linux服务器集群,所用软件及版本如下:Centos7.7-64bit第一种方式:通过iso镜像文件来进行安装(不推荐)第二种方式:直接复制安装好的虚拟机文件(强烈推荐)在资料里边已经提供了一个安装好的虚拟机node1(注意,为了大家以后环境的统一,尽量使用课程资料中提供的已经安装好的虚拟机!!!!!!),我们需要根据这个虚拟机克隆出另外两台虚拟机出来。资料地址:联系作者获取。注意,步骤如下:注意克隆node1虚拟机的时候,先

2023-12-01 11:50:33 915

原创 十一、shell脚本综合案例

shell猜字游戏、shell一键安装jdk、shell数据库定时备份

2023-12-01 10:32:14 902

原创 十、shell - 加载其它文件的变量

和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。Shell 文件包含的语法格式如下:. filename # 注意点号(.)和文件名中间有一空格或。

2023-12-01 09:51:31 373

原创 九、shell - select

select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择。select 是个无限循环,因此要记住用 break 命令退出循环,或用exit 命令终止脚本

2023-12-01 09:48:22 368

原创 八、shell - 数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。与大部分编程语言类似,数组元素的下标由0开始。

2023-12-01 09:44:18 916

原创 七、shell - 函数

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的定义格式如下:action;1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。1)定义一个函数并进行调用test28.sh/bin/bash​demoFun(){​echo"这是我的第一个 shell 函数!

2023-12-01 09:38:51 900

原创 六、shell - 流程控制

Shell提供了丰富的语句判断方式,包括数字,字符串和文件。1、语句判断,当变量值在列表里,for循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的shell命令和语句。in列表可以包含替换、字符串和文件名。while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令

2023-12-01 09:33:47 818

原创 七、Linux服务器集群搭建

Linux服务器集群搭建

2023-11-30 17:49:31 665

原创 六、shell编程

shell脚本执行方式Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。它类似于 DOS 下的 command 和后来的 cmd.exe。Shell 既是一种命令语言,又是一种程序设计语言。

2023-11-30 17:46:38 490

原创 五、shell - 算术运算符

Shell 和其他编程一样,支持包括:算术、关系、布尔、字符串等运算符。原生 bash 不支持简单的数学运算,但是可以通过其他命令来实现,例如expr。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

2023-11-30 17:39:24 921

原创 四、shell - 字符串

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

2023-11-30 17:30:04 883

原创 三、shell - 变量

shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义。所以若要进行数学运算,必须使用一些命令例如let、declare、expr、双括号等。

2023-11-30 17:18:51 817

原创 二、shell编程快速入门

的全称是 Bourne shell,由 AT&T 公司的 Steve Bourne开发,为了纪念他,就用他的名字命名了。默认情况下,所有的数值都是不能进行运算的,如果想要进行数学运算,可以使用“$((运算式))”或“$[运算式]”方式运算(后续讲)。是因使用C语言的语法风格而得名,在用户的命令行交互界面上进行了很多改进,并增加了历史,别名,文件名替换,作业掏等功能,相比Bsh,Csh在更加适用为用户提供命令交互操作。sh执行,进入脚本的工作目录,然后使用对应的sh或bash来执行脚本,

2023-11-30 17:03:11 718

原创 一、shell编程简介

shell脚本执行方式Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。Shell 编程一般指 shell脚本编程,不是指开发 shell 自身。Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。1、大数据开发的代码需要封装到脚本中,自动化执行,可以使用Shell脚本来完成。Linux 的 Shell 种类众多,一个系统可以存在多个 shell,可以通过。命令查看系统中安装的 shell。

2023-11-30 16:49:34 327

原创 五、Linux基础软件安装

接下来,我们来学习如何在linux上安装JDK和Mysql,安装之前需要在Linux上提前创建三个目录:mkdir-pexportsoftware#软件包存放目录mkdir-pexportserver#安装目录mkdir-pexportdata#数据存放目录。

2023-11-30 16:32:59 868

原创 四、虚拟机网络配置

当安装完虚拟机之后,默认的ip分配方案为DHCP,每一次开机时的ip都是有可能不同的,这样就会导致每次远程连接都需要查看ip地址.设置为静态ip后, 当前虚拟机的ip地址就不会在发生改变,, 后期配置集群相关的内容时首要的要求就是ip必须为静态, 否则由于无法得到一个准确的ip地址,集群也是构建不了的。仅主机模式和NAT模式是类似的,在该模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机,当然多个虚拟机之间也可以互相访问, 只需要记住仅主机模式是无法进行上网的。桥接模式、NAT模式、仅主机模式。

2023-11-30 16:21:00 1264

原创 三、Linux高级命令

重定向 > Linux 允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。如:ls >test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )。;重定向>>>>这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

2023-11-30 16:00:37 1215

原创 二、Linux基础命令

Linux基础命令、终端命令格式、显示文件列表命令、目录查看、目录创建和目录删除命令(pwd、mkdir、rm)、目录切换命令、文件操作命令、文件查找命令、压缩和解压命令tar、系统管理命令、用户的创建和删除命令、权限管理命令、网络和服务管理命令

2023-11-30 15:50:15 808

原创 一、Linux系统概述和安装

Linux系统概述和安装、Linux发行版介绍、虚拟机软件介绍、VMware安装、Linux系统(CentOS)系统安装、Linux连接工具CRT使用、Linux的快照、1.9.Linux目录结构介绍

2023-11-30 14:57:44 857

原创 Java SpringBoot Vue ERP系统

该ERP系统基于SpringBoot框架和SaaS模式,支持多租户,专注进销存+财务+生产功能。主要模块有零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询、系统管理等。支持预付款、收入支出、仓库调拨、组装拆卸、订单等特色功能。拥有商品库存、出入库统计等报表。UI框架: Ant-Design-Vue 1.5.2。模板框架: Jeecg-Boot 2.2.0。核心框架:SpringBoot 2.0。项目管理框架: Maven 3。持久层框架:Mybatis。前端框架:Vue 2.6。

2023-08-15 11:03:37 1608

原创 Java Vue Uniapp MES生产执行管理系统

系统基于多年离散智造行业的业务经验组建,主要目的是为国内离散制造业的中小企业提供一个专业化、通用性、低成本的MES系统解决方案。本MES系统是一款B/S结构、通用的生产执行管理系统,功能强大!

2023-08-15 10:25:09 816

原创 数字化车间mes生产执行管理系统

数字化车间mes是一款基于B/S结构的生产执行管理系统,主要目的是为中小企业提供了高效率、低成本、通用性强的一个MES系统解决方案,能够实时监控当前完成进度。大屏展示:可以从大屏展示页面看到任工序任务、在制工单数、延期工单数、工单预警等等信息。生产管理:(生产计划、销售订单、工单、任务、报工等)采购管理、库存管理、字段配置、编号规则、客户关系等。开发语言:后端Java springboot,前端 Vue。基础数据(工序管理、工艺路线、产品管理等)

2023-08-15 10:06:20 515 1

原创 Java SpringBoot Vue智能停车系统

Java SpringBoot Vue智能停车系统,内置功能 系统管理:角色管理、接口管理、系统菜单、全局配置。账号管理:用户管理、合作单位。系统监控:监控大屏、日志监控。基础环境JDK1.8、Maven、Mysql、IntelliJ IDEA

2023-08-15 09:38:00 298

原创 Java SpringBoot Vue物联网系统

服务端相关技术:Spring boot、MyBatis、Spring Security、Jwt、Mysql、Redis、TDengine、EMQX、Netty等。Web端相关技术:ES6、Vue、Vuex、Vue-router、Vue-cli、Axios、Element-ui等。设备管理: 设备控制、设备分组、设备定时、设备日志、监测统计、设备定位、设备分享、设备禁用、实时监测等。权限管理: 用户管理、部门管理、岗位管理、菜单管理、角色管理、字典和参数管理等。系统后端采用Spring boot;

2023-07-14 08:47:12 1042

原创 Java+Vue+Uniapp全端WMS仓库管理系统

1、数据管理:物料数据管理、物料Bom管理、物料组管理、物料分类管理、供应商管理、仓库管理、货位管理、车间管理。9、系统管理:用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、通知公告、日志管理。7、调拨管理:调拨单管理(包括调拨单号、调拨原因、发起仓库、目标仓库、调拨进度等)3、质检管理:质检单管理(包括单据号、单据类型、创建时间、检验状态、检验员)10、系统监控:在线用户、定时任务、数据监控、服务监控、缓存监控、缓存列表。4、生产管理:生产订单管理、出库单管理、出库退货管理。

2023-07-14 08:11:27 1118 1

原创 第8章 docker网络管理

由于Docker 所有容器都连接于默认的桥接网络上,因此默认情况下所有容器都是可以互联的,没有隔离,当然这样安全性不好。而服务发现,是在这种环境下发展出来的,通过修改容器内的 /etc/hosts 文件来完成的。凡是 --link 的主机的别名就会出现于 /etc/hosts 中,其地址由 Docker 引擎维护。因此容器间才可以通过别名互访。

2022-11-14 18:03:15 389 1

c与c++常见面试题汇总

c 面试 1.static有什么用途?(请至少说明两种) 1) 限制变量的作用域 2) 设置变量的存储域 2.引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。 3. 描述实时系统的基本特性 在特定时间内完成特定的任务,实时性与可靠性 4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈 5.什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1 6.堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源 7.什么函数不能声明为虚函数? constructor 8.冒泡排序算法的时间复杂度是什么? O(n^2) 9.写出float x 与“零值”比较的if语句。 if(x>0.000001&&x<-0.000001) 10. Internet采用哪种网络协议?该协议的主要层次结构? tcp/ip 应用层/传输层/网络层/数据链

2023-06-01

黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别

测试报告模板 黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。   白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。   软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:   1、是否有不正确或遗漏的功能?   2、在接口上,输入是否能正确的接受?能否输出正确的结果?   3、是否有数据结构错误或外部信息(例如数据文件)访问错误?   4、性能上是否能够满足要求?   5、是否有初始化或终止性错误?   软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序

2023-06-01

深入理解高并发编程-Java线程池核心技术

java并发编程实战pdf 线程与多线程 1.线程 在操作系统中,线程是比进程更小的能够独立运行的基本单位。同时,它也是 CPU 调度的基本单位。线程本身基本上不拥有系统资源,只是拥有一些在运行时 需要用到的系统资源,例如程序计数器,寄存器和栈等。一个进程中的所有线程可 以共享进程中的所有资源。 2.多线程 多线程可以理解为在同一个程序中能够同时运行多个不同的线程来执行不同的任务, 这些线程可以同时利用 CPU 的多个核心运行。多线程编程能够最大限度的利用 CPU 的资源。如果某一个线程的处理不需要占用 CPU 资源时(例如 IO 线程), 可以使当前线程让出 CPU 资源来让其他线程能够获取到 CPU 资源,进而能够执 行其他线程对应的任务,达到最大化利用 CPU 资源的目的。 线程的实现方式 在 Java 中,实现线程的方式大体上分为三种,通过继承 Thread 类、实现 Runnable 接口,实现 Callable 接口。简单的示例代码分别如下所示。

2023-06-01

消息中间件消息队列常见面试题

消息队列常见面试题 在计算机科学领域,消息队列和邮箱都是软件工程组件,通常用于进程间或同一进程内的线 程通信。它们通过队列来传递消息-传递控制信息或内容,群组通信系统提供类似的功能。 从消息队列常见面试题入手来解析消息队列 如何设计一个消息队列? 消息队列设计成推消息还是拉消息?RocketMQ和Kafka是怎么做的? 消息队列之事务消息?RocketMQ和Kafka是怎么做的? 比 RocketMQ 更好的事务消息实现是什么? Kafka的索引设计有什么亮点? Kafka日志段如何读写解析? Kafka控制器事件处理全流程解析 Kafka请求处理全流程解析 Kafka为什么要抛弃Zookeeper? 进阶必看的 RocketMQ,这次一网打尽 Kafka和RocketMQ底层存储揭秘,为什么能这么快?

2023-06-01

字节大佬总结的Java面试资料

字节大佬总结的Java面试资料 JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接 的交互。 集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。 1. Collection:Collection 是集合 List、Set、Queue 的最基本的接口。 2. Iterator:迭代器,可以通过迭代器遍历集合中的数据 3. Map:是映射表的基础接口 Netty 是一个高性能、异步事件驱动的 NIO 框架,基于 JAVA NIO 提供的 API 实现。它提供了对 TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞 的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。

2023-06-01

10个Java经典的Main方法面试题!

1.main 方法是做什么用的? main 方法是 Java 程序的入口方法,JVM 在运行的时候会首先查找 main 方法。 2.不用 main 方法如何运行一个类? 不行,没有 main 方法我们不能运行 Java 类。 在 Java 7 之前,你可以通过使用静态初始化运行 Java 类。但是,从 Java 7 开始就行不通了。 3.main 方法如何传递参数?传递参数的类型是什么?能不能改变该参数类型? String 数组,不能改变。 4.main 方法为什么是静态的?能不能改为非静态? main()方法一定是静态的,如果 main()是非静态的那么在调用 main 方法时 JVM 就得实例化 它的类。 不能改为非静态,main()方法必须声明为静态的,这样 JVM 才可以调用 main()方法而无需实 例化它的类。 如果从 main()方法去掉“static”这个声明,虽然编译依然可以成功,但在运行时会导致程序 失败。 在实例化时,还得调用类的构造函数。如果这个类的构造函数有参数,那么届时就会出现歧 义。 5.main 方法能被重载吗? 可以,我们可以重载 main()方法。一

2023-05-31

JVM执行子系统-JVM进阶

Class 类文件结构 Java 跨平台的基础 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是 构成平台无关性的基石,也是语言无关性的基础。Java 虚拟机不和包括 Java 在内的任何 语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联,Class 文件中包含了 Java 虚拟机指令集和符号表以及若干其他辅助信息。 常量池中常量的数量是不固定的,所以在常量池的入口需要放置一项 u2 类型的数据,代 表常量池容量计数值(constant_pool_count)。与 Java 中语言习惯不一样的是,这个容 量计数是从 1 而不是 0 开始的 常量池中主要存放两大类常量:字面量(Literal)和符号引用(Symbolic References)。

2023-05-31

JVM性能优化相关问题-面试-进阶

Java 类加载需要经历一下 7 个过程: 1. 加载 加载是类加载的第一个过程,在这个阶段,将完成一下三件事情: • 通过一个类的全限定名获取该类的二进制流。 • 将该二进制流中的静态存储结构转化为方法去运行时数据结 构。 • 在内存中生成该类的 Class 对象,作为该类的数据访问入口。 2. 验证 验证的目的是为了确保 Class 文件的字节流中的信息不回危害到 虚拟机.在该阶段主要完成以下四钟验证: • 文件格式验证:验证字节流是否符合 Class 文件的规范,如 主次版本号是否在当前虚拟机范围内,常量池中的常量是否 有不被支持的类型. • 元数据验证:对字节码描述的信息进行语义分析,如这个类是 否有父类,是否集成了不被继承的类等。

2023-05-31

MySQL性能优化的21个最佳实践

MySQL性能优化的21个最佳实践,今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于 Web 应用尤 其明显。关于数据库的性能,这并不只是 DBA 才需要担心的事,而这更是我们 程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其 是查表时的 SQL 语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的 SQL 语句的优化,而只是针对 MySQL 这一 Web 应用最多的数据库。希望下 面的这些优化技巧对你有用。

2023-05-31

程序员个人简历模板1-x0005-,828啦分享最新好文章

程序员个人简历模板

2023-05-31

v2.6.10-vue.js&vue.min.js&vue.common.js&vue.runtime.js等14个资源

版本:v2.6.10 内容:vue.js、vue.min.js、vue.common.js、vue.common.dev.js、vue.common.prod.js、vue.esm.browser.js、vue.esm.browser.min.js、vue.runtime.js、vue.runtime.min.js、vue.runtime.esm.js、vue.runtime.common.js、vue.runtime.common.dev.js等14个资源

2023-03-12

Java Springboot科大讯飞webapi、sdk实现语音听写、语音转写、实时语音转写

基于Java Springboot微服务,整合科大讯飞webapi、sdk、实时语音转写,分别实现语音听写、语音转写、实时语音转写功能,填写appKey信息就能运行使用,集成了Knife4j接口文档,运行之后即可在线调试,并附有markdown使用指南文档。已测试三种功能都能够正常使用,压缩包中附带Knife4j测试截图,可放心使用,并非测试demo。可应用于语音听写、语音转文字、实时语音转写等应用场景。附带Springboot微服务运行环境,Springboot版本为2.3.7,无其他杂乱代码配置,可直接运行使用。

2022-06-27

prometheus-2.33.5.windows-arm64.tar

prometheus,windows,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64,prometheus-2.33.5.windows-arm64

2022-04-20

prometheus-2.33.5.linux-arm64.tar

prometheus,prometheus-2.33.5.linux-arm64.tar

2022-04-20

grafana-enterprise-8.0.5.windows-amd64

grafana-enterprise-8.0.5.windows-amd64

2022-04-20

新平台方案新平台方案新平台方案

新平台方案新平台方案新平台方案

2022-04-11

rocketmq扩展及其控制台压缩包.zip

rocketmq扩展及其控制台压缩包,包含rocketmq的jar包和扩展包可视化控件的jar包,两个jar合在一起

2022-02-03

SpringSecurity企业及认证全套开发资源.docx

SpringSecurity 全套开发,设计源码解读,整个拦截器链分析,QQ登录,微信登录,短信验证,短信登录,在security基础上学习写一个自定义验证授权设计模式,整套视频讲解的分享细致认真,非常值得学习。

2020-02-25

jdk1.8-jdk-8u152-windows-x64.zip

jdk-8u152-windows-x64

2019-11-07

maven-apache-maven-3.5.3.zip

apache-maven-3.5.3

2019-11-07

linux下zip和unzip安装文件及安装方式.zip

linux下zip和unzip安装文件及安装方式linux下zip和unzip安装文件及安装方式

2019-11-07

apache-tomcat-8.5.47.zip

tomcat8.5.47tomcat8.5.47tomcat8.5.47tomcat8.5.47tomcat8.5.47tomcat8.5.47

2019-11-07

Another.Redis.Desktop.Manager.1.2.5.zip

redis客户端连接工具Another.Redis.Desktop.Manager.1.2.5

2019-11-07

redis-desktop-manager-0.8.3.3850.zip

redis连接客户端-亲测有效redis连接客户端-亲测有效redis连接客户端-亲测有效redis连接客户端-亲测有效

2019-11-07

SpringBoot整合Shiro与Thymeleaf-权限管理实战视频

SpringBoot整合Shiro与Thymeleaf-权限管理实战视频

2018-10-08

黑马(linux、redis、oracle、maven、全栈基础班视频教程

黑马(linux、redis、oracle、maven、全栈基础班视频教程黑马(linux、redis、oracle、maven、全栈基础班视频教程

2018-03-16

黑马程序员-java32期培训视频(基础+就业)

黑马程序员-java32期培训视频(基础+就业)黑马程序员-java32期培训视频(基础+就业)

2018-03-16

空空如也

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

TA关注的人

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