首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏若尘的技术专栏

    JVM 线上调详解

    JDKundefined包含JRE和Java设计语言。是Java语言开发最小环境,即XXX.java变为XXX.class最小环境。 运行时数据 执行Java程序的区域,并将内存划为不同的数据区域。 3. 执行引擎 解释器、编译器、垃圾回收器。 4. 3. 本地方法栈(重点) 与虚拟机栈发挥作用类似,区别:虚拟机栈是服务Java方法,本地方法栈服务的是本地方法。 4. -x参数 -Xint -Xcomp 3. -xx参数 -XX:newSize -XX:+UseSerialGC 3.2 标准参数设置 一般很稳定,在未来JVM版本中也不会改变。 3.4 -XX参数设置 主要用于jvm调和debug操作。 1. -XX参数类型 boolean类型 -XX:+-<name> 启用或者禁用name属性。

    1.2K75编辑于 2021-12-15
  • 来自专栏公众号:懒时小窝

    Mysql专栏 - 线上调与压力测试

    Mysql专栏 - 线上调与压力测试 前言 本节内容讲述线上的调手段以及压力测试的相关工具,结合一些实际的命令参数,我们将会介绍运行结果的具体含义。 吞吐量: 如果一个系统处理一个mysql请求需要1s,那么一分钟可能只处理100个请求,4核8G的机器部署普通的Java应用系统,通常每秒大致就是抗下几百的并发访问,但是同一个配置的机器可以从每秒一两百请求到每秒七八百请求都是有可能的 (2) 「吞吐量」:这个指的是机器的磁盘存储「每秒可以读写多少字节的数据量」 (3) 「latency」:这个指标说的是往磁盘里写入一条数据的延迟。 思考题: 假设开发的Java系统部署在一台4核8G的机器上,那么我们假设这个Java系统处理一个请求非常非常快,每个请求只需要0.01ms就可以处理完了,那你觉得这一台机器部署的Java系统,可以实现每秒抗下几千并发 「理论上的并发请求数量」 这里按照数据库使用3个线程,另一个CPU核心线程给其他进程使用。 在不考虑网卡资源的情况下,理论上可以实现每秒 3 * 1s/0.01ms = 30万请求。

    2.5K20发布于 2021-09-10
  • 来自专栏犀牛饲养员的技术笔记

    记一次G1垃圾回收线上调的实践

    有个项目最近上线了,为了避免后面访问量突增引发不可预知的问题,按照惯例需要进行压测。我选取了几个请求比较频繁的接口进混合压测,发现了一个性能瓶颈,是垃圾回收配置不合理导致的。

    86130编辑于 2023-02-24
  • 来自专栏Java架构学习路线

    线大厂Java面试必问的2大类Tomcat调

    一、前言 最近整理了 Tomcat 调这块,基本上面试必问,于是就花了点时间去搜集一下 Tomcat 调都调了些什么,先记录一下调手段,更多详细的原理和实现以后用到时候再来补充记录,下面就来介绍一下 ,Tomcat 调大致分为两大类。 1、Tomcat的自身调 采用动静分离节约 Tomcat 的性能 调整 Tomcat 的线程池 调整 Tomcat 的连接器 修改 Tomcat 的运行模式 禁用 AJP 连接器 2、JVM的调 3、调 Tomcat 的连接器 Connector 打开 Tomcat 的 serve.xml,配置 Connector,参数说明如下。 找到 catalina.sh; 添加; 参数设置; JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8-server -Xms1024m

    53500发布于 2019-09-22
  • 来自专栏云深之无迹

    ROBOMASTER TT巡线.3

    我们现在为止已经获得处理好的二值化图像了,接着就是提取线的特征了。 ? 这里我们插一个小细节,就是图像的方向不对 ---- 怎么处理? 可能最牛逼的做法就是,飞机横着飞了,相对的图像就正了。 接着看这个,我们可以认为我们画的5个线里面有两条是落到轨迹里面的,那 ? 我们这里用的算法是边缘检测算法 找到目标像素点的个数 记录对应目标像素点的索引(位置) 接着去把中心白线数值输出,接着与标准中心做差 得到的误差作为指导TT控制飞行的变量 def get_line_pos 5) tl_camera.start_video_stream(display=False) send_ctrl_cmd('downvision 1') time.sleep(3)

    1.4K60发布于 2021-04-14
  • 来自专栏自动化大师

    一文搞懂2线3线,4线制变送器的原理

    对于短距离传输或特定应用场景,两线制传感器可能是一个经济实用的选择。然而,在需要更高精度和稳定性的场合,三线制或四线制传感器则可能更为合适。 模拟量传感器中的两线制、三线制、四线制主要是根据传感器的接线形式和工作原理来区分的。以下是这三种传感器的区别: 一、两线制传感器 定义:两线制传感器是指现场变送器与控制室仪表之间的联系仅用两根导线。 这两根线既是电源线,又是信号线。 工作原理:两线制传感器利用了4~20mA信号为自身提供电能。电源是从外部引入的,和负载串联在一起来驱动负载。 应用场景:在传输距离大、防爆等场合,通常使用无源的两线制传感器。 二、三线制传感器 定义:三线制传感器中,电源正端和信号输出的正端是分离的,但它们共用一个COM端。 三、四线制传感器 定义:四线制传感器具有电源两根线和信号两根线,电源和信号是分开工作的。 工作原理:四线制传感器的供电大多为AC 220V,也有供电为DC 24V的。

    2.8K11编辑于 2024-08-14
  • 来自专栏python3

    ubuntu 14.04配置3线3IP

    1、3线3IP服务器接口IP地址(vlan接口) em1.12  单联通:120.52.139.9    掩码:255.255.255.240  网关:120.52.139.1 em1.13  单电信: reserved values # 255 local 254 main 253 default 0 unspec #(增加下面联通、电信、移动路由标签) 252 cnc 251 ct 250 yd 3

    83510发布于 2020-01-08
  • 来自专栏爱写Bug

    Leetcode 498:对角线遍历Diagonal Traverse(python3java

    对角线遍历 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 示例: 输入: [  [ 1, 2, 3 ],  [ 4, 5, 6 ],  [ 7, 8, 9 ] ] 输出:  [1,2,4,7,5,3,6,8,9] 解释: [yrutdckjrp.png] 说明 (m+1,n-1),执行两次(0,1)->(1,0)->(2,-1),n赋值0得到(2,0),再次切换为索引改变方式(m-1,n+1)直到下次超出范围(2,0)->(1,1)->(0,2)->(-1,3) 然后正常切换后:(1,2)->(2,1)->(3,0),因为m>2,切换方式并(m-1,n+2) java: class Solution {     public int[] findDiagonalOrder

    1.5K50发布于 2019-06-05
  • 来自专栏一英里广度一英寸深度的学习

    java概要

    Java 实际问题 CPU彪高如何处理? 生产环境应该给应用分配多少线程合适? 不加log如何确定请求是否执行了某一行代码? 不加log如何实时查看某个方法的入参与返回值? Btrace的监控调试 tomcat,nginx,jvm GC调java代码 JVM参数jinfo,jstat统计信息 图形化工具 jmap+MAT jstack线程情况 Btrace安装与使用 Tomcat工具 tomcat 远程debug psi-probe和Tomcat-manager监控Tomcat Tomcat调 Nginx工具 Nginx性能监控与调 ngx_http_stub_status 监控连接信息 ngxtop监控请求信息、nginx-rdd图形监控 JVM内存结构 垃圾回收算法、垃圾回收器 GC日志格式与可视化日志分析工具 Tomcat的Gc调实战 Java代码层调 JVM字节码指令与 : Java heap space * Dumping heap to /home/java_pid10107.hprof

    94560发布于 2019-02-25
  • 来自专栏猿人谷

    Java性能调

    2.生成堆的dump文件  通过JMX的MBean生成当前的Heap信息,大小为一个3G(整个堆的大小)的hprof文件,如果没有启动JMX可以通过Java的jmap命令来生成该文件。   A:因为年轻代的内存无法被回收,越来越多地被Copy到年老代 三、性能调  除了上述内存泄漏外,我们还发现CPU长期不足3%,系统吞吐量不够,针对8core×16G、64bit的Linux服务器来说 3.JVM参数     在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调才能获得最佳性能。 参数配置:(服务器:Linux 64Bit,8Core×16G) JAVA_OPTS="$JAVA_OPTS -server -Xms3G -Xmx3G -Xss256k -XX:PermSize= 4.程序算法调:本次不作为重点 参考资料

    1.7K110发布于 2018-01-17
  • 来自专栏游戏杂谈

    as3绘制抛物线

    以抛物线运动为例,根据公式 y = a * x * x + b * x + c;已知曲线公通过两个点,起始点--攻击方的位置,结束点--被攻击方的位置,还要知道一个中点,就可以确定这个公式中的参数a、b 它的位置(Point)为x:(startPoint.x + (startPointx + endPoint.x) / 2),而y则等于抛物线的“幅度”。 现在就三个等式: y1 = a * x1 * x1 + b * x1 + c; y2 = a * x2 * x2 + b * x2 + c; y3 = a * x3 * x3 + b * x3 + c; 解这三个方程,可得到a、b、c分别为: b = ((y1 - y3) * (x1 * x1 - x2 * x2) - (y1 - y2) * (x1 * x1 - x3 * x3)) / ((x1 - x2) - (y1 - y2) * (x1 * x1 - x3 * x3)) / ((x1 - x3) * (x1 * x1 - x2 * x2) - (x1 - x2) * (x1 * x1 - x3

    88620发布于 2018-11-16
  • 来自专栏张恒的网络日志

    java性能调

    以下部分内容整理自《分布式Java应用:原理与实践》——林昊 随着系统自身数据量的增长,访问量增加,系统的响应通常会越来越慢,或者是新的功能在性能上无法满足修去,这个时候需要对系统进行性能调。 Linux System and NetWork performance Monitoring 中建议控制在每个CPU核上的运行队列为1-3个。 0.0 si, 0.0 st %Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 java应用的CPU调 对于java应用而言,CPU消耗严重主要体现在us 、sy两个值上。 us 当us值过高时,表示运行的应用消耗了大部分的CPU。 首先通过Linux命令找到CPU消耗严重的线程及ID,将次ID转为十六进制,之后通过kill -3 javapid 或 jstack pid | grep 'nid=ID' 找出具体信息,前面两个命令需要多次使用

    1.4K20发布于 2020-04-28
  • 来自专栏java初学

    java — JVM调

    Java中,Main函数就是栈的起始点,也是程序的起始点。     程序要运行总是有一个起点的。同C语言一样,java中的Main就是那个起点。 Java中,栈的大小通过-Xss来设置,当栈中存储数据比较多时,需要适当调大这个值,否则会出现java.lang.StackOverflowError异常。 Java对象的大小     基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。     4byte是上面部分所说的Java栈中保存引用的所需要的空间。而那8byte则是Java堆中对象的信息。 3.按系统线程划分的方式回收 ①串行收集:串行收集使用单线程处理所有垃圾回收工作,因为无需多线程交互,实现容易,而且效率比较高。

    1.2K90发布于 2018-05-14
  • 来自专栏全栈程序员必看

    jvm 调命令_java jvm调工具

    3类 **性能参数(Performance Options):**用于JVM的性能调和内存分配控制,如初始化内存大小的设置; **行为参数(Behavioral Options):**用于改变JVM的基础行为 进程的参数,然后再调整设置 真实调 java -XX:+UseG1GC xxx.jar 3 五大常用命令(一定要背下来) 3.1 JPS 查看java进程id 查看当前系统上,正在运行的java ,然后点击“确定” (3)右击该主机“31.100.39.63”,添加“JMX”[也就是通过JMX技术具体监控远端服务器哪个Java进程] (4)要想让服务器上的tomcat被连接,需要改一下 bin 5.2程序监控调 前提:java 应用程序必然是正常运行的。. 目的:减少GC 频率,减少Full GC 发现现象才去解决? 类需要同时满足下面 3 个条件才能算是 “无用的类” : 该类所有的实例都已经被回收,也就是 Java 堆中不存在该类的任何实例。 加载该类的 ClassLoader 已经被回收。

    1.4K31编辑于 2022-11-17
  • 来自专栏运维经验分享

    tomcat 9.0.4 性能调3

    tomcat9.0.4 ---- 参考了网上的一些优化参数,但是在启动中发现 有2个报错: 11-Feb-2018 15:57:23.293 警告 [main] org.apache.catalina.startup.SetAllPropertiesRule.begin [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'maxSpareThreads' to '200' did not find a matching pro

    50440发布于 2019-03-15
  • 来自专栏游戏杂谈

    as3绘制抛物线(二)

    上一篇文章,只是简单的求出了抛物线的坐标,而且也不够灵活。如果只是单纯的画线,使用as3自带的curveTo(二次贝塞尔曲线)就已经足够了。 Code: 1: package 2: { 3: import flash.display.Sprite; 4: import flash.events.Event 好在AS3的类库TweenMax已经完全支持了。 ? 31: } 32:  33: } 然后定义一个ArrowTest.as用于测试效果: 1: package 2: { 3: graphics.moveTo(arrow.x, arrow.y); 33: 34: TweenMax.to(arrow, 3,

    1.1K30发布于 2018-11-16
  • 来自专栏python3

    HP 3PAR产品线

    HP 3PAR P1000产品线   纵观HP存储阵列产品线,在EVA日落西山之际,3PAR可谓至关重要。   HP收购3PAR后停产了F-class、T-class,推出全新的 7200、7400、V400、V800。 其中V400、V800在HP整个存储产品线中定位为P1000,比传统高端存储P9500(OEM HDS VSP,XP24000升级产品)还要高。 2、管理方式    GUI          ManagementConsole,连接3PARNODE,存储管理    CLI          连接3PAR NODE,存储管理    SPOCC        连接3PAR Service Processor,存储硬、软件维护 3、软件特性    Thin Provisioning       精减置备    Thin Conversion

    1.3K20发布于 2020-01-15
  • 来自专栏全栈程序员必看

    Java 性能调工具

    Java监控工具 jcmd: 打印java进程涉及的基本类,线程和VM信息。 jconsole: 提供JVM活动的图形化视图,包括线程的使用,类的使用和GC活动。 jstack: 转储Java进程的栈信息。 jstat: 提供GC和类装载活动的信息。 jvisualvm: 监视JVM的GUI工具,可以用来剖析运行的应用,分析JVM堆转储。 打开Visual VM之后,左边导航栏会显示出当前机器所有Java进程: 点击你想监控的程序即可对该程序进行监控,Visual VM的性能监控页一共有以下几个tab页: 概述页会显示程序的基本使用情况 下面是一个频繁调用的Java程序,我们会对改程序进行采样: public class MethodTime { static java.util.Random r=new java.util.Random "); map.put("2", "C++"); map.put("3", "Delphi"); map.put("4", "C"); map.put

    84020编辑于 2022-08-05
  • 来自专栏数据人生

    Java GC参数调

    https://docs.oracle.com/cd/E40972_01/doc.70/e40973/cnf_jvmgc.htm#autoId0

    60310编辑于 2022-09-29
  • 来自专栏Java

    Java GC调详解

    Java GC调详解 在Java应用程序中,垃圾回收(Garbage Collection,GC)是管理和释放内存的重要机制。良好的GC调可以提高应用程序的性能和稳定性。 本文将深入探讨Java GC调的原理、常用调技巧以及应用场景,并提供详细的案例和代码示例。 1. GC调原理 GC调的核心原理是尽可能减少垃圾对象的产生,以及尽量降低GC的停顿时间和频率。常用的调手段包括调整堆内存大小、选择合适的GC算法、优化对象的创建和销毁等。 3. 示例代码:GC调的案例 下面是一个简单的Java代码示例,演示如何通过调整堆内存大小和选择合适的GC算法来优化GC性能: public class GCExample { public static 示例代码:Java GC调的应用场景 下面是一个简单的Java代码示例,演示如何通过对象池技术来优化大对象的创建和销毁: public class ObjectPool<T> { private

    86910编辑于 2025-01-21
领券