自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cordova后台插件开发新手教程

*处理: **在cdv-gradle-config.json修改最小sdk版本配置 “MIN_SDK_VERSION”: 26,2.Android Gradle Plugin与Gradle版本、JDK版本对应关系。2.Android Gradle Plugin与Gradle版本、JDK版本对应关系。android版本权限问题由一开始的静态权限,后续是动态权限申请。**问题1:**第三方poi jar包与sdk最小支持版本26。oid版本权限问题由一开始的静态权限,后续是动态权限申请。

2024-04-11 16:55:27 891 1

原创 https ssl证书配置

解决https NET::ERR_CERT_COMMON_NAME_INVALID问题

2024-04-11 16:42:10 503 1

原创 ClassLoader源码分析

在JDK1.2之前,在自定义类加载时,总会去继承ClassLoader类并重写loadClass方法,从而实现自定义的类加载类,但是在JDK1.2之后已不再建议用户去覆盖loadClass()方法,而是建议把自定义的类加载逻辑写在 findClass()方法中,从前面的分析可知,findClass()方法是在loadClass()方法中被调用的,当loadClass()方法中 父加载器加载失败后,则会调用自己的findClass()方法来完成类加载,这样就可以保证自定义的类加载器也符合双亲委托模式。

2023-12-15 14:32:07 960

原创 类加载器(双亲委派模型,自定义加载器)

1.类加载子系统负责从文件系统或是网络中加载.class文件,class文件在文件开头有特定的文件标识;2.把加载后的class类信息存放于方法区,除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射);3.ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定;4.如果调用构造器实例化对象,则该对象存放在堆区;

2023-12-15 10:06:47 841

原创 类加载过程

我们知道我们写的程序经过编译后成为了.class文件,.class文件中描述了类的各种信息,最终都需要加载到虚拟机之后才能运行和使用。而虚拟机如何加载这些.class文件?.class文件的信息进入到虚拟机后会发生什么变化呢?

2023-12-08 18:16:12 734

原创 JVM运行时内存详解

Java虚拟机栈(Java Virtual Machine Stacks)是线程私有的,即生命周期和线程相同。Java虚拟机栈和线程同时创建,用于存储栈帧。每个方法在执行时都会创建一个栈帧(Stack Frame),用于存储局部变量表、操作数栈、动态链接 、 方法出口等信息。每一个方法从调用直到执行完成的过程就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构。栈帧存储了方法的局部变量表、操作数 栈、动态连接和方法返回地址等信息。

2023-12-08 16:24:08 858

原创 Redis常见问题

一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。缓存穿透是指在高并发下查询key不存在的数据(不存在的key),会穿过缓存查询数据库。导致数据库压力过大而宕机。

2023-12-04 14:36:28 859

原创 Redis集群架构--cluster原理

单机Redis的网络I/O能力和计算资源是有限的,将请求分散到多台机器,充分利用多台机器的计算能力可网络带宽,有助于提高Redis总体的服务能力。即使Redis的服务能力能够满足应用需求,但是随着存储数据的增加,单台机器受限于机器本身的存储 容量,将数据分散到多台机器上存储使得Redis服务可以横向扩展。

2023-12-04 11:46:49 989

原创 redis集群架构--哨兵模式原理

哨兵(sentinel)是Redis的高可用性(High Availability)的解决方案: 由一个或多个sentinel实例组成sentinel集群可以监视一个或多个主服务器和多个从服务器。当主服务器进入下线状态时,sentinel可以将该主服务器下的某一从服务器升级为主服务器继续提供服 务,从而保证redis的高可用性。

2023-12-03 11:39:04 997

原创 redis集群架构--主从复制原理

无需特殊配置。

2023-12-03 10:16:01 824 1

原创 mysql集群架构--分库分表

应用时有垂直分库和垂直分表两种方式,一般谈到的垂直拆分主要指的是垂直分库。

2023-12-02 19:34:03 1727 1

原创 MySql集群架构--双主模式原理

双主模式是指两台服务器互为主从,任何一台服务器数据变更,都会通过复制应用到另外一方的数据库中。高可用架构如下图所示,其中一个Master提供线上服务,另一个Master作为备胎供高可用切换, Master下游挂载Slave承担读请求。

2023-12-01 16:08:40 1847 1

原创 mysql集群架构--主从模式原理

并行复制的核心思想采用多线程机制来减少从库复制延迟。

2023-12-01 11:28:42 850 1

原创 Mysql集群架构(主从模式、双主模式、分库分表)

因此,在选择 MySQL 主从复制时,需要根据实际需求和场景进行评估和规划,以确保系统的可用性、性能和数据一致性等方面的要求得到满足。

2023-11-30 17:36:50 2619

原创 MySQL InnoDB引擎——三层B+树可以存储多少数据量

假设主键类型为bigint,占用8Byte,指针可以设置为占用6Byte,总共14Byte。这样就可以算出一个非叶子节点大概可以存放16KByte/14Byte=1170个“主键+指针”的组合。假设主键类型为int,占用4Byte,指针可以设置为占用6Byte,总共10Byte。这样就可以算出一个非叶子节点大概可以存放16KByte/10Byte≈1600个“主键+指针”的组合。

2023-11-29 14:45:23 398 1

原创 Java编程思想阅读笔记之构造器

构造器的必要性,重载与构造器 构造器是Java在创建对象时会被自动调用的特殊方法(这句话如果当做概念实在过于抽象,所以这里我它当做特性来理解基于这样的特性来达到某些目的)。在Java中通过提供构造器来确保对象的初始化。在创建对象的时,如果其类具有构造器,Java就会在用户有能力操作对象之前自动调用相应的构造器,从而保证初始化的进行。 new Rork()创建一个对象时,将分...

2018-06-07 16:48:26 105

SCA最新规则库

Fortify SCA 代码规则库-支持Java,静态代码扫描 Fortify在线规则库网址,符合代码安全的编码参考 Fortify SCA Java

2018-04-17

空空如也

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

TA关注的人

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