- 博客(8)
- 收藏
- 关注
原创 JAVA对象内存分配
当前放对象的Survivor区域里(其中一块区域,放对象的那块s区),一批对象的总大小大于这块Survivor区域内存大小的50%(-XX:TargetSurvivorRatio可以指定),那么此时大于等于这批对象年龄最大值的对象,就可以直接进入老年代了,例如Survivor区域里现在有一批对象,年龄1+年龄2+年龄n的多个年龄对象总和超过了Survivor区域的50%,此时就会把年龄n(含)以上的对象都放入老年代。为了减少临时对象在堆内分配的数量,JVM通过逃逸分析确定该对象不会被外部访问。
2024-11-25 10:17:36
923
原创 JVM垃圾回收过程
在GC时,可能会停止所有用户线程,这个操作就是STW (Stop the world)。如果STM时间长一点,那么给人的感觉就是程序卡了。其中“full gc”处理的内存大,所以处理时间长,其中处理堆内存时,处理时间最长,更容易导致STW,甚至更容易让STW时间过长,因此JVM调优一般是为了减少fullgc的次数或者减少一次fullgc的执行时间(当“minor gc”次数多时,也可以考虑优化,但是其导致的STW时间很短,所以优先考虑优化“full gc”)。
2024-09-22 21:11:41
988
1
原创 JVM内存模型
堆区分成“年轻代”和“老年代”。年轻代又分成2部分,一部分占年轻代的8/10, 是 ,一般刚new的对象是放在Eden区域中一部分占年轻代的2/10的survivor区,里面分别是占1/10的s0区和s1区。运行时数据区即JVM内存模型,包括以下5部分,其中“线程栈”、“程序计数器”、“本地方法栈”是每个线程独有的,而“堆”和“方法区”则是所有线程共享的。包含 “常量”、“静态变量”、“类信息(类元信息)”,在JDK1.8之前,方法区被叫做“永久代”/“持久代”,在1.8后改成被叫做“元空间”。
2024-09-22 20:51:52
630
原创 什么是Logstash
Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的存储库中。
2024-03-31 23:04:17
1053
1
原创 ElasticSearch聚合操作
Elasticsearch除搜索以外,提供了针对ES 数据进行统计分析的功能。可以让我们极其方便的实现对数据的统计、分析、运算。使用场景聚合查询可以用于各种场景,比如商业智能、数据挖掘、日志分析等等。电商平台的销售分析:统计每个地区的销售额、每个用户的消费总额、每个产品的销售量等,以便更好地了解销售情况和趋势。社交媒体的用户行为分析:统计每个用户的发布次数、转发次数、评论次数等,以便更好地了解用户行为和趋势,同时可以将数据按照地区、时间、话题等维度进行分析。
2024-03-10 23:31:21
1169
1
原创 ElasticSearch快速入门
通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数;用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了。内容爬取,停顿词过滤比如一些无用的像"的",“了”之类的语气词/连接词;内容分词,提取关键词;根据关键词建立倒排索引用户输入关键词进行搜索。
2024-01-07 22:11:14
1473
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人