static关键字

xhs私信协议分析 之前分析过xhs的shield算法,今天再聊聊xhs的私信,文章仅供学习参考研究交流,如有侵权请联系删帖。经过抓包分析发现私信接口并不是走的http协议,而是socket协议。而要获取socket包则需要使用wireshark软件1、protobuf的包体中的序号7,多次验证后发现文字信息的需要需要固定成12、protobuf的包体中的序号12,多次验证后发现文字信息的需要需要固定成1后续有时间的话,再研究一下视频和图片格式的私信协议,这次就分析到这里吧。 阅读详情

一、几种用法:修饰内部类(普通类不行);修饰变量;修饰方法;修饰代码块。 

package com.tencent.Static;

public class Test1 {

    //修饰代码块
    static {
        System.out.println("静态代码块");
    }

    //修饰变量
    public static int a = 1;

    //修饰方法
    public static void sss() {
        System.out.println("静态方法");
    }

    //修饰内部类
    static class T {
        //修饰内部类方法
        public static void getUser() {
            System.out.println("getUser");
        }
    }

    public static void main(String[] args) {
        //向下转型
        T t1 = new Test1.T();
        t1.getUser();

        //静态内部类直接调用静态方法
        T.getUser();

        System.out.println(Test1.a);

        Test1.sss();
    } 
}
//Result:
静态代码块
getUser
getUser
1
静态方法

二、类加载初始化顺序

静态代码块在类第一次被载入时执行,在这里主要是想验证一下,类初始化的顺序。

父类静态变量

父类静态代码块


子类静态变量

子类静态代码块


父类普通变量

父类普通代码块

父类构造函数


子类普通变量

子类普通代码块

子类构造函数

三、深入JVM运行区域

静态变量存在于方法区,被所有线程共享。
Heap存放的是对象和数组。

除此之外

//栈
栈是线程私有的,每个栈都有自己的一条线程。对象存放于堆中,
Stack只保存基本数据类型的对象和自定义对象的引用。
Stack = 基本类型变量区 + 执行环境上下文 + 操作指令区。

除此之外

//方法区
线程共享。
方法区包含所有的class 、 static变量。
方法区包含的都是在整个程序中永远唯一的元素,如class,static变量。

因此

堆内存中的成员变量lastname是随着对象的产生而产生。随着对象的消失而消失。
静态变量是所有线程共享的,所以不会消失。

四、注意

1.静态方法中不可以使用this或者super关键字
2.静态方法只能访问静态成员。
3.非静态方法既可以访问静态,又可以访问非静态)
4.main主方法是静态的。
5.static优先于对象存在,因为static的成员随着类的加载就已经存在。
6.static修饰的数据是共享数据。

 

基于深度学习YOLOv5的草莓成熟度检测系统详解(深度学习模型+UI界面+Python代码+训练数据集) 数据采集与预处理模块:负责收集草莓图像,并进行数据增强和标注。深度学习模型训练模块:使用YOLOv5模型进行草莓成熟度检测模型的训练。模型推理模块:加载训练好的模型,对输入图像或视频进行草莓成熟度检测。UI界面模块:提供用户交互界面,方便用户上传图像或视频进行成熟度检测。本文详细介绍了基于YOLOv5的草莓成熟度检测系统的构建过程,包括数据集的构建、模型的训练与推理、以及UI界面的设计。通过本文的指导,读者可以快速搭建一个高效的草莓成熟度检测系统,并应用于实际场景中。 阅读详情

相关推荐

从零解析特斯拉线圈:谐振变压器的核心原理与DIY实践

本文深入解析特斯拉线圈的工作原理与DIY实践,从LC振荡电路到电磁耦合,详细介绍了谐振变压器的核心原理。通过材料清单、绕制技巧和安全指南,帮助爱好者从零开始打造迷你闪电发生器,体验高压电子实验的独特魅力。

weixin_33670786的博客 493

Java中静态代码块和类加载的理解

经过学习我们知道,静态代码块是在类加载的时候执行的,那么问题就出来了,什么时候类才加载呢?其实类加载是有时机的,当同一个类加载时机多次出现时,JVM会确保每个类都只加载一次,从而静态代码块也只执行一次。总结了解静态代码块,可以加深我们对JVM类加载的理解,让我们可以根据不同时机,静态代码块可以帮助我们在类加载时初始化一些常量之类的,便于写出符合我们需求的代码。以上代码运行后,可以看到语句只执行了一次,可以证明创建对象可以使类加载,而且多次创建同一个类的对象,也只能使该类加载一次。运行后,结果也不出所料。..

dasfsafadf的博客 905

汽车级智能栅极驱动器深度解析 | 连载01:DRV871x-Q1系列产品架构与核心特性

集成度:单芯片集成多通道驱动器、电源管理、电流检测智能化:自适应控制算法,减少外部元件可靠性:多重保护机制,满足汽车级要求灵活性:SPI和硬件两种接口,适应不同应用需求。

VehSwHwDeveloper的博客 1153

Java基础知识之static关键字

static关键字作为修饰符可以修饰变量也可以修饰方法,但都必须是成员变量或者是成员方法。 当成员变量或者成员方法被static关键字修饰时,该变量或者该方法不仅可以被本类对象调用,还可以被本类名调用,调用方法为:类名.成员变量(该变量被static修饰),或者类名.成员方法(该方法被static修饰)。 一个成员变量或者成员方法被static关键字修饰之后,该成员变量被称为静态成员变

七录斋 932

MapGIS地质剖面图绘制实战:从数据准备到整饰出图

本文详细解析了MapGIS地质剖面图绘制的全流程,从数据准备到整饰出图,涵盖了等高线处理、GRD格网化、比例尺控制等关键步骤。通过实战技巧和案例分析,帮助地质工作者高效完成专业地质剖面图绘制,提升矿产勘探和工程勘察的工作效率。

weixin_28335283的博客 592

从踩坑到填平:我在RHEL7上给Tesla A100装驱动的完整记录(含Fabric Manager配置)

本文详细记录了在RHEL7系统上为Tesla A100安装Nvidia驱动的完整过程,包括Fabric Manager配置的关键步骤。通过分析A100架构的特殊性,提供了从驱动安装到服务配置的详细指南,并分享了常见问题的排查方法和性能调优技巧,帮助用户高效部署高性能GPU计算环境。

weixin_29291863的博客 283

static代码块,在类加载时的执行顺序

父类静态变量 父类静态代码块 子类静态变量 子类静态代码块 父类普通变量 父类普通代码块 父类构造函数 子类普通变量 子类普通代码块 子类构造函数

weixin_45437459的博客 572

硬件单板类机考复习提纲

6、 功率晶体管低导通损耗时处于的状态(饱和状态、放大状态、截止状态)(放大器的采样频率特性)总结:元器件特性(电阻、电容、二极管、三极管、晶体、晶振、MOS、磁珠等)信号质量问题产生根因(单调性、边沿过缓、毛刺、回沟、抖动等)3、 几种电容容量范围大小(超级电容、钽电容、陶瓷电容、铝电容)66、背板连接器接触设计的接触顺序(先导向、再地针、最后信号针)28、逻辑电平接口的特性(CMOS、TTL、ECL、PECL)76、差分电平(lvpecl、RS-422/485、cml)

2303_79562407的博客 1万+

类加载及所谓静态代码块先执行

经常说静态代码块先执行…原理如下 public static void main(String[] args) { //为什么所谓的静态代码块先执行,是由于加载类<clinit>类构造方法, //是类级别的,只执行一次,编译器自动收集类中所有的static变量和static代码块 //中语句合并而成,编译器收集的顺序是由于程序源码顺序决定 // StaticTest s...

Songbl_的博客 1272

基于STM32L4XX、HAL库的 L76KB-A58定位模块驱动程序设计

/ 确保字符串终止。// 缓冲区溢出,重置。// 重置缓冲区索引。支持GPS、GLONASS、Galileo、北斗和QZSS多系统定位。case 1: // UTC时间。// 配置GPS模块(可选)// 查找GGA语句。// 启动UART接收。// USART1初始化函数。内置LNA和SAW滤波器。

zhusl6688的博客 349

Linux内核驱动模型--PCIe(PCI Express)驱动​​

本文系统介绍了Linux内核中PCIe驱动的设计与实现。首先从架构定位入手,指出PCIe驱动基于PCI子系统扩展支持高速、低功耗特性。核心数据结构struct pci_driver包含设备匹配表id_table、生命周期函数probe/remove等关键组件。文章详细解析了驱动与设备的绑定流程、资源管理机制,并重点阐述了MSI-X中断、电源管理、热插拔和多队列等高级特性实现方案。最后提供了lspci、dmesg等调试工具的使用方法,总结了PCIe驱动在支持高性能设备中的关键作用。全文通过架构设计、核心结构、

amy_mhd的博客 428

java中类加载与静态变量、静态方法与静态代码块详解与初始化顺序

我们知道java中类的生命周期为装载、连接、初始化、使用和卸载五个过程,如下图所示:1.加载     我们编写一个java的源文件,经过编译后生成一个后缀名为.class的文件,这结合四字节码文件,java虚拟机就识别这种文件,java的生命周期就是class文件从加载到消亡的过程。 关于加载,其实,就是将源文件的class文件找到类的信息将其加载到方法区中,然后在堆区中实例化一个java.lan...

无聊的大鱼 4万+

STM32 使用SYN6288语音模块

本篇文章带大家学习一下SYN6288语音模块,这个模块可以用于车载设备,语音电子书等众多产品当中,而且这个模块支持多种编码格式,GB2312,GBK等字符编码格式。SYN6288语音合成模块是一种语音合成设备,其可实现文字转语音功能,将输入的文字信息通过内部的处理和合成,输出相对应的语音信息。SYN6288模块具有语音合成质量高、输出音质好、使用方便等特点,因此广泛应用于语音播报、语音提示、语音识别、智能家居、智能家电、安防监控等领域。支持多语言:包括中文、英文、日文、韩文等多种语言。

m0_49476241的博客 2万+

关键字static的作用

1、 关键字static的作用是什么? 正确答案: 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3). 在模块内,一个被声明为静态的函数只可被这...

zzyzgg的博客 6万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

static关键字详解

1.概述: static:就是多个对象共享同一份数据 一个类的不同对象有些共享的数据,这样我们就可以使用static来修饰 一旦使用了static关键字,那么这样的内容不再属于对象,而是属于类的,所以凡是本类的对象,都共享同一份。 可以用来修饰成员变量,修饰成员方法,以及静态代码块儿。 2.修饰成员变量: 如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类,多个对象共享同一份数据。 ...

liuzf123的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Static关键字

本文详细阐述了 Java 中的 static 关键字,涵盖其作用、使用场景、注意事项和实际应用。介绍了静态变量、方法、代码块和内部类,通过 Counter 类展示静态变量计数功能,MathUtils 类说明静态方法调用,Example 类呈现静态代码块执行及变量初始化。阐述了单例模式的 static 实现,分析了内存优化示例,指出将 Chinese 类的 country 改为静态变量可节省内存。探讨空指针异常发生情况,强调静态方法不能直接访问实例成员及正确访问方式,解释静态代码块的特点、语法、执行顺序和使用

m0_73941339的博客 1609

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

static关键字的作用详解

平时工作中static关键字出现的地方挺多的,但是要我说出他们的用法跟区别我还真不知道怎么说,这里系统性的整理下。 static关键字的作用(修饰类、方法、变量、静态块) 1、修饰函数的局部变量: 特点:有默认值0,只执行一次,运行一开始就开辟了内存,内存放在全局 2、修饰全局函数和全局变量: 特点:只能在本源文件使用 3、修饰类里面的成员变量: 特点:和1差不多,定义多个static y,但只有一个y,不进入类的大小计算,不依赖于类对象的存在而存在(可直接调用,要进行外置声明) 4、修饰.

酷爱编程的小猿同学 9427

Static关键字详解

Static关键字详解

2301_81453175的博客 859

JavaSE之static关键字

这个案例主要讲的是,每一个学生都要对老师讲一遍早上好,我们分析一下这个简单案例,这个早上好是不是只是个动作,而且我们是不是需要全体同学都做这个动作,所以这个时候很容易想对我们的工具类,因为使用一个工具类可以代替这一复杂的操作,就不用n个同学调用n次方法了(其实使用实例方法,写个数组循环,从代码角度上简洁了,但是还是调用n次方法,但是上面的案例就不会,都是在用同一静态方法)。所以这就是静态方法的用处,当然我的例子简单,只是为了说明一些问题,如果遇到的复杂的动作,实际上抽象出来的静态方法更能体现价值!

weixin_56036523的博客 1141

【面经】static关键字总结

static中文意思是静态的,是C/C++中常见的一个关键字。它一般用于修饰变量(局部变量/全局变量)和函数。对于变量来说,static关键字用来控制变量的存储方式,作用范围和生命周期。下面我们分别在C语言和C++中讨论static的用法。

c565114的博客 1112

static 关键字详解

static 方法就是没有 this 的方法。在 static 方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用 static 方法。这实际上正是 static 方法的主要用途。——《Java编程思想》

格物致知,知行合一。 802

Java的static关键字

static关键字的特点,适用场景以及注意事项

weixin_45927386的博客 783
上一篇: SQL-leetcode 181
下一篇: 实习生、秋招前期 - 2020.8.17小记
ଳxin
博客等级 码龄8年 83粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值