Groovy在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
json -->> set 发布于:2024-11-28 14:15 处理内容信息 发布于:2024-10-23 14:26 中医脉络结果回传出参 发布于:2024-09-05 18:08 中医脉络结果回传入参 发布于:2024-09-05 18:08 中医脉络申请单查询返回 发布于:2024-09-04 17:46 中医脉络获取申请单入参 发布于:2024-09-04 16:30 这是一个groovy的基础语法 发布于:2024-07-17 09:09 groovy 测试 发布于:2024-07-16 16:07 lis获取项目 发布于:2024-05-29 11:17 通知LIS科室状态变更 发布于:2024-05-22 16:35 lis危急值上报 发布于:2024-05-21 14:23 收货需求日期 发布于:2024-04-03 18:44 成品宽表(分项目) 测试 发布于:2024-03-21 09:45 def result = [ msgCode: '' ] return result 发布于:2024-02-19 14:41 筛选存在和不存在的对象 发布于:2024-01-18 16:29 计算金蝶鉴权 发布于:2024-01-17 20:37 骨密度结果回传 发布于:2024-01-12 10:56 骨密度获取信息返回 发布于:2024-01-11 15:02 骨密度获取信息入参 发布于:2024-01-11 09:43 自动提交定金学费 发布于:2023-12-25 10:44 多条【定金/学费】合并为一条【协议收款】 发布于:2023-12-22 14:38 顾问业绩学费更新顾问业绩 发布于:2023-12-22 14:37 编辑学费更新收款的顾问业绩拆分 发布于:2023-12-22 14:36 学费编辑器效验 发布于:2023-12-22 13:35 自动生成排课明细 发布于:2023-12-12 09:13 根据排课日期生成日程 发布于:2023-12-11 10:17 排课排课效验 发布于:2023-12-11 09:13 排课排课效验 发布于:2023-12-08 15:15 线索线索分发 发布于:2023-12-07 15:32 获取钉钉花名册数据 发布于:2023-11-23 11:53 日期函数转换 发布于:2023-11-22 11:37 济南肺功能回写出参 发布于:2023-10-14 17:54 肺功能结果回传入参 发布于:2023-10-14 17:54 济南肺功能申请单出参 发布于:2024-09-04 18:04 济南肺功能获取申请单入参 发布于:2023-10-13 17:41 济南身高体重仪结果回写出餐 发布于:2023-10-09 14:48 身高体重仪结果回传入参 发布于:2023-10-09 15:34 身高体重仪信息查询返回 发布于:2024-01-11 14:32 济南获取身高体重信息 发布于:2023-10-20 15:49 新his查档返回 发布于:2023-09-11 17:20 老HIS取消计费出参 发布于:2023-09-04 19:28 老HIS取消计费入参 发布于:2023-09-04 19:28 老HIS计费返回 发布于:2023-09-04 19:28 杭州老HIS结算入参 发布于:2023-08-31 14:32 统一接口出参微脉 发布于:2023-08-25 15:00 新his查档 发布于:2023-10-17 16:40 统一接口入参微脉 发布于:2023-08-25 15:00 老his团检计费 发布于:2023-07-04 17:59 老his发票查询档案 发布于:2023-07-06 17:29 分组list,分批list 发布于:2023-06-12 12:42 [更多]
显示目录

JMX



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

JMX

JMX是defacto标准,用于监控与Java虚拟环境有任何关系的所有应用程序。鉴于Groovy直接位于Java之上,Groovy可以利用已经为Java实现的大量工作。

监视JVM

可以使用java.lang.management中提供的标准类来执行JVM的监视。以下代码示例说明如何完成此操作。

import java.lang.management.*

def os = ManagementFactory.operatingSystemMXBean 
println """OPERATING SYSTEM: 
    OS architecture = $os.arch 
    OS name = $os.name 
    OS version = $os.version 
    OS processors = $os.availableProcessors 
""" 

def rt = ManagementFactory.runtimeMXBean 
println """RUNTIME: 
       Runtime name = $rt.name 
       Runtime spec name = $rt.specName 
       Runtime vendor = $rt.specVendor 
       Runtime spec version = $rt.specVersion 
       Runtime management spec version = $rt.managementSpecVersion 
   """ 

def mem = ManagementFactory.memoryMXBean 
def heapUsage = mem.heapMemoryUsage 
def nonHeapUsage = mem.nonHeapMemoryUsage 

println """MEMORY: 
   HEAP STORAGE: 
          Memory committed = $heapUsage.committed 
          Memory init = $heapUsage.init 
          Memory max = $heapUsage.max 
          Memory used = $heapUsage.used NON-HEAP STORAGE: 
          Non-heap memory committed = $nonHeapUsage.committed 
          Non-heap memory init = $nonHeapUsage.init 
          Non-heap memory max = $nonHeapUsage.max 
          Non-heap memory used = $nonHeapUsage.used 
   """

println "GARBAGE COLLECTION:" 
ManagementFactory.garbageCollectorMXBeans.each { gc ->
   println "    name = $gc.name"
   println "        collection count = $gc.collectionCount"
   println "        collection time = $gc.collectionTime"
   String[] mpoolNames =   gc.memoryPoolNames

   mpoolNames.each { 
      mpoolName -> println "        mpool name = $mpoolName"
   } 
}

当代码执行时,输出将根据运行代码的系统而变化。下面给出了输出的样本。

OPERATING SYSTEM: 
   OS architecture = x86 
   OS name = Windows 7 
   OS version = 6.1 
   OS processors = 4

RUNTIME: 
   Runtime name = 5144@Babuli-PC 
   Runtime spec name = Java Virtual Machine Specification 
   Runtime vendor = Oracle Corporation 
   Runtime spec version = 1.7 
   Runtime management spec version = 1.2

MEMORY: 
   HEAP STORAGE: 
      Memory committed = 16252928 
      Memory init = 16777216 
      Memory max = 259522560 
      Memory used = 7355840

NON-HEAP STORAGE: 
   Non-heap memory committed = 37715968 
   Non-heap memory init = 35815424 
   Non-heap memory max = 123731968 
   Non-heap memory used = 18532232 

GARBAGE COLLECTION: 
   name = Copy 
   collection count = 15 
   collection time = 47 
   mpool name = Eden Space 
   mpool name = Survivor Space

   name = MarkSweepCompact 
      collection count = 0 
      collection time = 0 

      mpool name = Eden Space 
      mpool name = Survivor Space 
      mpool name = Tenured Gen 
      mpool name = Perm Gen 
      mpool name = Perm Gen [shared-ro] 
      mpool name = Perm Gen [shared-rw]

监控Tomcat

为了监视tomcat,在启动tomcat时应设置以下参数 -

set JAVA_OPTS = -Dcom.sun.management.jmxremote 
Dcom.sun.management.jmxremote.port = 9004

-Dcom.sun.management.jmxremote.authenticate=false 
Dcom.sun.management.jmxremote.ssl = false

以下代码使用JMX发现正在运行的Tomcat中的可用MBean,确定哪些是Web模块并提取每个Web模块的处理时间。

import groovy.swing.SwingBuilder

import javax.management.ObjectName 
import javax.management.remote.JMXConnectorFactory as JmxFactory 
import javax.management.remote.JMXServiceURL as JmxUrl 
import javax.swing.WindowConstants as WC 

import org.jfree.chart.ChartFactory 
import org.jfree.data.category.DefaultCategoryDataset as Dataset 
import org.jfree.chart.plot.PlotOrientation as Orientation 

def serverUrl = 'service:jmx:rmi:///jndi/rmi://localhost:9004/jmxrmi' 
def server = JmxFactory.connect(new JmxUrl(serverUrl)).MBeanServerConnection 
def serverInfo = new GroovyMBean(server, 'Catalina:type = Server').serverInfo 
println "Connected to: $serverInfo" 

def query = new ObjectName('Catalina:*') 
String[] allNames = server.queryNames(query, null) 

def modules = allNames.findAll { name -> 
   name.contains('j2eeType=WebModule') 
}.collect{ new GroovyMBean(server, it) }

println "Found ${modules.size()} web modules. Processing ..." 
def dataset = new Dataset() 

modules.each { m ->
   println m.name()
   dataset.addValue m.processingTime, 0, m.path 
}
由JSRUN为你提供的Groovy在线运行、在线编译工具
        JSRUN提供的Groovy 在线运行,Groovy 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout