- 博客(11)
- 收藏
- 关注
原创 Java项目性能优化
Java项目性能优化的目标是提高系统的响应速度、减少资源消耗、提高用户体验等,以达到更好的系统性能和更高的效率。Java项目性能优化是提高Java项目性能和效率的重要手段,可以从代码优化、数据库优化、网络优化等多个方面入手。在Java语言中,循环语句是常用的语句之一,但如果循环过程中存在过多的计算和判断,则会影响系统性能。在Java项目中,可以使用缓存技术来缓存数据库中的数据,以便下次访问时可以直接从缓存中获取数据,而不需要再次访问数据库。网络协议是通信的基础,优化网络协议可以提高通信的效率。
2023-03-14 10:52:01
951
原创 Java 参数 Xms 和 Xmx
根据Java虚拟机规范的规定,Java堆可以处于物理上不连续的内存空间中,只要逻辑上是连续的即可,就像我们的磁盘空间一样。在实现时,既可以实现成固定大小的,也可以是可扩展的。不过当前主流的虚拟的虚拟机都是按照可扩展来实现的,通过-Xms和-Xmx控制。-Xms和-Xmx-Xms: 设置初始化堆内存大小;-Xmx: 设置最大可分配堆内存大小;用法示例# 初始化128MB 堆内存, 允许最大堆内存最大1024MB. java -Xms128m -Xmx1024m# 初始化256MB
2022-05-30 11:01:52
7895
原创 Java 参数 -Xms 和 -Xmx
在Java中,-Xms: 设置初始化堆内存大小;-Xmx: 设置最大可分配堆内存大小;1. 例子:# 初始化128MB 堆内存, 允许最大堆内存最大1024MB. java -Xms128m -Xmx1024m# 初始化256MB 堆内存, 允许最大堆内存最大4G.java -Xms256m -Xmx4g2. 缺省的-Xms -Xmx分配大小基于ergonomics algorithm,也可参考文章Find out your Java heap memory size...
2022-05-30 10:18:38
73368
原创 java多线程处理文件处理
在项目中,经常会有文件处理的场景。单线程处理比较简单,直接,易于实现,但是往往效率较低。所以对于这个场景,多线程处理是一个比较好的解决方法。 本文,将这个文件多线程处理抽象成一个通用问题模型,将文件的多线程处理抽象成一个工具类,业务场景需要来实现对文件每一行的处理和文件处理。工具类:package com.example.service;import lombok.extern.slf4j.Slf4j;import java.io.*;import java.nio.file.Fil..
2022-05-27 12:54:44
1257
原创 也谈35岁危机
现在互联网行业风声鹤唳,大小厂都在瘦身以求过冬自保。而IT行业一直以来的35岁危机变得更加严峻,大家往往在抱怨政府监管不力,导致企业年龄歧视愈演愈烈。但更深层次的原因是什么,大龄员工如何保持竞争力,如何在当前环境下快速塑造竞争力。本质原因当前互联网行业所依需要的底层软件,包括操作系统,数据库,各种中间件,框架,IDE都非常成熟,端到端的完整系统的开发门槛很低。客户端操作系统android,ios经过十多年的发展,非常稳定成熟,在安全,性能,系统管控上做的非常完善,给客户端开发可发挥的空间很小。其
2022-05-03 17:51:46
2069
原创 软件工程中的池化思想
软件开发过程中,为解决性能问题,池化思想广泛应用。比如线程池,对象池,连接池等等等等。池化思想的本质是什么呢?1. 预分配。提前构造好,节省实时分配的时间成本。2. 复用。复用带来两个好处,一是减少创建对象的时间,另一个减少创建的空间,减少高并发场景下GC的频率,提升性能。其他的再补充。...
2022-05-02 16:41:05
302
原创 Java HttpClient 连接池复用分析
Java HttpClient 连接池复用分析场景描述问题描述日志分析代码分析在Java 11中,HttpClient被添加进去。支持Http/1.1 和Http/2,并分别支持同步和异步调用两种方法。上周使用HttpClient, 对一个后端进行压测,遇到了一些问题。场景描述场景比较简单,就是开200个线程,对后端服务接口进行压测,服务接口调用使用Java HttpClient。问题描述从后端服务监控看,RPS远不及预期,从LB的监控看,有数4000+的并发链接。这和实际的情况不符啊。我开
2022-05-02 15:23:56
2453
原创 tomcat和vert.x服务器nio模型对比
大家知道服务器BIO模式下,每个请求都要创建一个线程,而线程的内存和上下文切换的开销都比较大。所以在BIO模式下,高并发的支持比较差。NIO通过多路复用和eventloop,减少线程开销,从而提高并发量。vert.x由于其轻量,良好的高并发能力被熟知。而一些同学会有一些误区,认为tomcat并发能力比vert.x要差。事实上,springboot集成的tomcat,缺省的运行模式就是NIO。从原理上看,并发能力并不差。Vert.x 服务器nio线程模型– 一个acceptor线程,用来监听客户端连接
2022-03-16 10:42:27
1522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人