logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

java 类文件结构详解

以上是Java类文件的基本结构,每个部分都有其特定的格式和含义。Java类文件的结构是按照规范定义的,Java虚拟机可以根据类文件的结构加载、解析和执行类的相关操作。Java类文件是Java源代码经过编译后生成的二进制文件,它包含了Java类的结构和信息。

文章图片
#java#开发语言
Java虚拟机---垃圾回收算法

垃圾手机算法的实现设计大量的程序细节,且各个平台的虚拟机操作内存的方法都有差异,本次简单介绍一下常见垃圾回收算法。1 分代收集理论当前商业虚拟机的垃圾回收器,大多数都遵循了“分代收集(Generationl Collection)”理论进行设计,分代手机名为理论,实质是一套符合大多数程序运行实际情况的经验法则,它建立在两个分代假说之上。弱分代假说:绝大多数对象都是朝生夕灭的。强分代假说:熬过越多次

#java
Java虚拟机-经典垃圾回收器

如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。接下来我们将介绍已经在Jvm里面使用过,或者未来可能会使用的垃圾回收器。1 Serial 收集器Serial收集器是最基础,历史最悠久的收集器,曾经(在JDK 1.3.1之前)是HotSpot虚拟机新生代收集器的唯一选择。这个收集器是一个单线程工作的收集器,而且在其进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束。“Sto

Java垃圾回收机制---对象死亡判断

在深入理解java虚拟机中,有这么一段话,Java与c++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。所以对于Java虚拟机来说,垃圾回收需要完成的三件事情:那些内存需要回收?什么时候回收?如何回收?今天我们讨论第一个问题,那些内存需要回收?Java coder都清楚在堆中存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就

#jvm#java
Java内存模型

主内存和工作内存Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储 到内存和从内存中取出变量这样的底层细节。此处的变量(Variables)与Java编程中所说的 变量有所区别,它包括了实例字段、静态字段和构成数组对象的元素,但不包括局部变量与 方法参数,因为后者是线程私有的,不会被共享,自然就不会存在竞争问题。为了获得较 好的执行效能,Java内存模型并没有限制执行

#java#jvm
Java 内存区域

Java 虚拟机在执行Java 程序的过程中会把它管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间。有的区域随着虚拟机进程启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。具体如下图线程共享区域:方法区,堆线程私有区域:虚拟机栈,本地方法栈,程序计数器1 程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它

#java#jvm
Java volatile关键字

关键字volatile可以说是Java虚拟机提供的最轻量级的同步机制,当一个变量定义为volatile之后,它将具有两种特性。第一是保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程修改了这个变量的值,新值对于其他线程来说是可以立即得知的。而普通变量不能做到这一点,普通变量的值在线程间传递均需要通过主内存来完成,例如,线程A修改一个普通变量的值,然后向主内存进行回写,另外一条线程B在线程

#java
JAVA 实现AES加密解密

AES加密模式有ECB,CBC,CTR等AES填充模式有pkcs5padding, pkcs7padding, no padding等AES数据块则有128位 192位 256位AES加密密码,如果选择数据块128位,则要求密码长度为16,数据块192位则要求密码长度为24,数据块长度为256位,则要求密码长度为32AES的偏移量和AES加密类似AES输出则有base64和hex两种AES字符集有

Kafka 再均衡(rebalance)触发的条件

新版的消费者客户端对此进行了重新设计,将全部消费组分成多个子集,每个消费组的子集在服务端对应一个GroupCoordinator对其进行管理,GroupCoordinator是Kafka服务端中用于管理消费组的组件。而消费者客户端中的ConsumerCoordinator组件负责与GroupCoordinator进行交互。ConsumerCoordinator与GroupCoordinator之间

文章图片
#kafka
elasticsearch 实现查询忽略大小写

1 在项目中,产品已经上线一段时间,出现新的需求,需要解决查询的时候,忽略大小写的问题。本人用于测试的索引结构如下PUT test_v1.000{"settings": {"number_of_replicas": 1,"number_of_shards": 5},"mappings": {"product": {"properties": {"name":{"type": "keywor...

#elasticsearch
到底了