欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot四大神器之Actuator的使用小結(jié)

 更新時間:2017年11月16日 11:57:57   作者:xixicat  
這篇文章主要介紹了SpringBoot四大神器之Actuator的使用小結(jié),詳細(xì)的介紹了Actuator的使用和端點(diǎn)的使用,有興趣的可以了解一下


Spring Boot有四大神器,分別是auto-configuration、starters、cli、actuator,本文主要講actuator。actuator是spring boot提供的對應(yīng)用系統(tǒng)的自省和監(jiān)控的集成功能,可以對應(yīng)用系統(tǒng)進(jìn)行配置查看、相關(guān)功能統(tǒng)計等。

spring-boot-starter-actuator模塊的實(shí)現(xiàn)對于實(shí)施微服務(wù)的中小團(tuán)隊來說,可以有效地減少監(jiān)控系統(tǒng)在采集應(yīng)用指標(biāo)時的開發(fā)量。當(dāng)然,它也并不是萬能的,有時候我們也需要對其做一些簡單的擴(kuò)展來幫助我們實(shí)現(xiàn)自身系統(tǒng)個性化的監(jiān)控需求。下面,在本文中,我們將詳解的介紹一些關(guān)于spring-boot-starter-actuator模塊的內(nèi)容,包括它的原生提供的端點(diǎn)以及一些常用的擴(kuò)展和配置方式。

使用actuator

添加依賴

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

主要暴露的功能

HTTP方法 路徑 描述 鑒權(quán)
GET /autoconfig 查看自動配置的使用情況 true
GET /configprops 查看配置屬性,包括默認(rèn)配置 true
GET /beans 查看bean及其關(guān)系列表 true
GET /dump 打印線程棧 true
GET /env 查看所有環(huán)境變量 true
GET /env/{name} 查看具體變量值 true
GET /health 查看應(yīng)用健康指標(biāo) false
GET /info 查看應(yīng)用信息 false
GET /mappings 查看所有url映射 true
GET /metrics 查看應(yīng)用基本指標(biāo) true
GET /metrics/{name} 查看具體指標(biāo) true
POST /shutdown 關(guān)閉應(yīng)用 true
GET /trace 查看基本追蹤信息 true

/autoconfig

{
  "positiveMatches": {
    "AuditAutoConfiguration.AuditEventRepositoryConfiguration": [
      {
        "condition": "OnBeanCondition", 
        "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.AuditEventRepository; SearchStrategy: all) found no beans"
      }
    ]
  }, 
  "negativeMatches": {
    "CacheStatisticsAutoConfiguration": [
      {
        "condition": "OnBeanCondition", 
        "message": "@ConditionalOnBean (types: org.springframework.cache.CacheManager; SearchStrategy: all) found no beans"
      }
    ]
  }
}

/configprops

{
  "management.health.status.CONFIGURATION_PROPERTIES": {
    "prefix": "management.health.status", 
    "properties": {
      "order": null
    }
  }, 
  "multipart.CONFIGURATION_PROPERTIES": {
    "prefix": "multipart", 
    "properties": {
      "enabled": false, 
      "maxRequestSize": "10Mb", 
      "location": null, 
      "fileSizeThreshold": "0", 
      "maxFileSize": "1Mb"
    }
  }, 
  "environmentEndpoint": {
    "prefix": "endpoints.env", 
    "properties": {
      "id": "env", 
      "enabled": true, 
      "sensitive": true
    }
  }
}

/beans

[
  {
    "context": "application:8080", 
    "parent": null, 
    "beans": [
      {
        "bean": "appMain", 
        "scope": "singleton", 
        "type": "com.xixicat.AppMain$$EnhancerBySpringCGLIB$$29382b14", 
        "resource": "null", 
        "dependencies": [ ]
      }, 
      {
        "bean": "videoInfoMapper", 
        "scope": "singleton", 
        "type": "com.xixicat.dao.VideoInfoMapper", 
        "resource": "file [/Users/xixicat/workspace/video-uber/target/classes/com/xixicat/dao/VideoInfoMapper.class]", 
        "dependencies": [
          "sqlSessionFactory"
        ]
      }
    ]
  }
]

/dump

[
  {
    "threadName": "Signal Dispatcher", 
    "threadId": 4, 
    "blockedTime": -1, 
    "blockedCount": 0, 
    "waitedTime": -1, 
    "waitedCount": 0, 
    "lockName": null, 
    "lockOwnerId": -1, 
    "lockOwnerName": null, 
    "inNative": false, 
    "suspended": false, 
    "threadState": "RUNNABLE", 
    "stackTrace": [ ], 
    "lockedMonitors": [ ], 
    "lockedSynchronizers": [ ], 
    "lockInfo": null
  }, 
  {
    "threadName": "Reference Handler", 
    "threadId": 2, 
    "blockedTime": -1, 
    "blockedCount": 217, 
    "waitedTime": -1, 
    "waitedCount": 9, 
    "lockName": "java.lang.ref.Reference$Lock@45de945", 
    "lockOwnerId": -1, 
    "lockOwnerName": null, 
    "inNative": false, 
    "suspended": false, 
    "threadState": "WAITING", 
    "stackTrace": [
      {
        "methodName": "wait", 
        "fileName": "Object.java", 
        "lineNumber": -2, 
        "className": "java.lang.Object", 
        "nativeMethod": true
      }, 
      {
        "methodName": "wait", 
        "fileName": "Object.java", 
        "lineNumber": 503, 
        "className": "java.lang.Object", 
        "nativeMethod": false
      }, 
      {
        "methodName": "run", 
        "fileName": "Reference.java", 
        "lineNumber": 133, 
        "className": "java.lang.ref.Reference$ReferenceHandler", 
        "nativeMethod": false
      }
    ], 
    "lockedMonitors": [ ], 
    "lockedSynchronizers": [ ], 
    "lockInfo": {
      "className": "java.lang.ref.Reference$Lock", 
      "identityHashCode": 73263429
    }
  }
]

/env

{
 profiles: [],
 server.ports: {
  local.server.port: 8080
 },
 servletContextInitParams: {},
 systemProperties: {
  java.runtime.name: "Java(TM) SE Runtime Environment",
   sun.boot.library.path: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib",
   java.vm.version: "24.79-b02",
   gopherProxySet: "false",
   maven.multiModuleProjectDirectory: "/Users/xixicat/workspace/video-uber",
   java.vm.vendor: "Oracle Corporation",
   java.vendor.url: "http://java.oracle.com/",
   guice.disable.misplaced.annotation.check: "true",
   path.separator: ":",
   java.vm.name: "Java HotSpot(TM) 64-Bit Server VM",
   file.encoding.pkg: "sun.io",
   user.country: "CN",
   sun.java.launcher: "SUN_STANDARD",
   sun.os.patch.level: "unknown",
   PID: "763",
   java.vm.specification.name: "Java Virtual Machine Specification",
   user.dir: "/Users/xixicat/workspace/video-uber",
   java.runtime.version: "1.7.0_79-b15",
   java.awt.graphicsenv: "sun.awt.CGraphicsEnvironment",
   java.endorsed.dirs: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/endorsed",
   os.arch: "x86_64",
   java.io.tmpdir: "/var/folders/tl/xkf4nr61033gd6lk5d3llz080000gn/T/",
   line.separator: " ",
   java.vm.specification.vendor: "Oracle Corporation",
   os.name: "Mac OS X",
   classworlds.conf: "/Users/xixicat/devtool/maven-3.3.3/bin/m2.conf",
   sun.jnu.encoding: "UTF-8",
   spring.beaninfo.ignore: "true",
   java.library.path: "/Users/xixicat/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.",
   java.specification.name: "Java Platform API Specification",
   java.class.version: "51.0",
   sun.management.compiler: "HotSpot 64-Bit Tiered Compilers",
   os.version: "10.10.5",
   user.home: "/Users/xixicat",
   user.timezone: "Asia/Shanghai",
   java.awt.printerjob: "sun.lwawt.macosx.CPrinterJob",
   file.encoding: "UTF-8",
   java.specification.version: "1.7",
   java.class.path: "/Users/xixicat/devtool/maven-3.3.3/boot/plexus-classworlds-2.5.2.jar",
   user.name: "xixicat",
   java.vm.specification.version: "1.7",
   sun.java.command: "org.codehaus.plexus.classworlds.launcher.Launcher spring-boot:run",
   java.home: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre",
   sun.arch.data.model: "64",
   user.language: "zh",
   java.specification.vendor: "Oracle Corporation",
   awt.toolkit: "sun.lwawt.macosx.LWCToolkit",
   java.vm.info: "mixed mode",
   java.version: "1.7.0_79",
   java.ext.dirs: "/Users/xixicat/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java",
   sun.boot.class.path: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/classes",
   java.awt.headless: "true",
   java.vendor: "Oracle Corporation",
   maven.home: "/Users/xixicat/devtool/maven-3.3.3",
   file.separator: "/",
   LOG_EXCEPTION_CONVERSION_WORD: "%wEx",
   java.vendor.url.bug: "http://bugreport.sun.com/bugreport/",
   sun.io.unicode.encoding: "UnicodeBig",
   sun.cpu.endian: "little",
   sun.cpu.isalist: ""
 },
 systemEnvironment: {
  TERM: "xterm-256color",
  ZSH: "/Users/xixicat/.oh-my-zsh",
  GVM_BROKER_SERVICE: "http://release.gvm.io",
  GRIFFON_HOME: "/Users/xixicat/.gvm/griffon/current",
  JAVA_MAIN_CLASS_763: "org.codehaus.plexus.classworlds.launcher.Launcher",
  JAVA_HOME: "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home",
  SHLVL: "1",
  MAVEN_CMD_LINE_ARGS: " spring-boot:run",
  __CF_USER_TEXT_ENCODING: "0x1F5:0x19:0x34",
  GROOVY_HOME: "/Users/xixicat/.gvm/groovy/current",
  XPC_FLAGS: "0x0",
  GVM_INIT: "true",
  JBAKE_HOME: "/Users/xixicat/.gvm/jbake/current",
  PWD: "/Users/xixicat/workspace/video-uber",
  GVM_DIR: "/Users/xixicat/.gvm",
  GVM_VERSION: "2.4.3",
  MAVEN_PROJECTBASEDIR: "/Users/xixicat/workspace/video-uber",
  LOGNAME: "xixicat",
  SSH_AUTH_SOCK: "/private/tmp/com.apple.launchd.93xr1duECQ/Listeners",
  SPRINGBOOT_HOME: "/Users/xixicat/.gvm/springboot/current",
  GAIDEN_HOME: "/Users/xixicat/.gvm/gaiden/current",
  LAZYBONES_HOME: "/Users/xixicat/.gvm/lazybones/current",
  OLDPWD: "/Users/xixicat/workspace/video-uber",
  SHELL: "/bin/zsh",
  JBOSSFORGE_HOME: "/Users/xixicat/.gvm/jbossforge/current",
  LC_CTYPE: "zh_CN.UTF-8",
  TMPDIR: "/var/folders/tl/xkf4nr61033gd6lk5d3llz080000gn/T/",
  GVM_SERVICE: "http://api.gvmtool.net",
  GVM_PLATFORM: "Darwin",
  CLASSPATH: ".:/Users/xixicat/.m2/repository/co/paralleluniverse/quasar-core/0.7.2/quasar-core-0.7.2.jar",
  GLIDE_HOME: "/Users/xixicat/.gvm/glide/current",
  PATH: "/Users/xixicat/.gvm/vertx/current/bin:/Users/xixicat/.gvm/springboot/current/bin:/Users/xixicat/.gvm/lazybones/current/bin:/Users/xixicat/.gvm/jbossforge/current/bin:/Users/xixicat/.gvm/jbake/current/bin:/Users/xixicat/.gvm/groovyserv/current/bin:/Users/xixicat/.gvm/groovy/current/bin:/Users/xixicat/.gvm/griffon/current/bin:/Users/xixicat/.gvm/grails/current/bin:/Users/xixicat/.gvm/gradle/current/bin:/Users/xixicat/.gvm/glide/current/bin:/Users/xixicat/.gvm/gaiden/current/bin:/Users/xixicat/.gvm/crash/current/bin:/Users/xixicat/.gvm/asciidoctorj/current/bin:/Users/xixicat/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/Users/xixicat/devtool/maven-3.3.3/bin:/Users/xixicat/devtool/gradle-2.6/bin:/Users/xixicat/devtool/android-sdk/platform-tools",
  GRADLE_HOME: "/Users/xixicat/.gvm/gradle/current",
  GROOVYSERV_HOME: "/Users/xixicat/.gvm/groovyserv/current",
  GRAILS_HOME: "/Users/xixicat/.gvm/grails/current",
  USER: "xixicat",
  LESS: "-R",
  PAGER: "less",
  HOME: "/Users/xixicat",
  CRASH_HOME: "/Users/xixicat/.gvm/crash/current",
  XPC_SERVICE_NAME: "0",
  VERTX_HOME: "/Users/xixicat/.gvm/vertx/current",
  GVM_BROADCAST_SERVICE: "http://cast.gvm.io",
  Apple_PubSub_Socket_Render: "/private/tmp/com.apple.launchd.y6fNwP8Sk6/Render",
  LSCOLORS: "Gxfxcxdxbxegedabagacad",
  ASCIIDOCTORJ_HOME: "/Users/xixicat/.gvm/asciidoctorj/current"
 },
 applicationConfig: [classpath: /application.properties]: {
  pool.acquireIncrement: "1",
  pool.minPoolSize: "5",
  pool.initialPoolSize: "1",
  database.username: "root",
  pool.maxIdleTime: "60",
  database.url: "jdbc:mysql://127.0.0.1:3307/video_uber?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull",
  spring.jackson.dateFormat: "yyyy-MM-dd'T'HH:mm:ss",
  database.slave.username: "root",
  spring.jackson.serialization.write - dates - as - timestamps: "false",
  pool.idleTimeout: "30000",
  database.slave.url: "jdbc:mysql://127.0.0.1:3307/demo?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull",
  server.port: "8080",
  database.slave.password: "******",
  database.password: "******",
  database.driverClassName: "com.mysql.jdbc.Driver",
  pool.maxPoolSize: "50",
  database.dataSourceClassName: "com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
 }
}

/health

{
 status: "UP",
 diskSpace: {
  status: "UP",
  total: 249779191808,
  free: 193741590528,
  threshold: 10485760
 },
 db: {
  status: "UP",
  database: "MySQL",
  hello: 1
 }
}

/info

需要自己在application.properties里頭添加信息,比如

info:
 contact:
  email: xixicat@gmail.com
  phone: 0755-82890987

然后請求就可以出來了

{
 "contact": {
   "phone": "0755-82890987",
   "email": "xixicat@gmail.com"
 }
}

/mappings

   {
    {
     [/metrics || /metrics.json], methods = [GET], produces = [application / json]
    }: {
     bean: "endpointHandlerMapping",
     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    }, {
     [/beans || /beans.json], methods = [GET], produces = [application / json]
    }: {
     bean: "endpointHandlerMapping",
     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    }, {
     [/health || /health.json], produces = [application / json]
    }: {
     bean: "endpointHandlerMapping",
     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(java.security.Principal)"
    }, {
     [/info || /info.json], methods = [GET], produces = [application / json]
    }: {
     bean: "endpointHandlerMapping",
     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    }, {
     [/trace || /trace.json], methods = [GET], produces = [application / json]
    }: {
     bean: "endpointHandlerMapping",
     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    }, {
     [/autoconfig || /autoconfig.json], methods = [GET], produces = [application / json]
    }: {
     bean: "endpointHandlerMapping",
     method: "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    }
   }

/metrics

{
mem: 499404,
mem.free: 257591,
processors: 8,
instance.uptime: 4284997,
uptime: 4294909,
systemload.average: 1.84521484375,
heap.committed: 437248,
heap.init: 262144,
heap.used: 179656,
heap: 3728384,
nonheap.committed: 62848,
nonheap.init: 24000,
nonheap.used: 62156,
nonheap: 133120,
threads.peak: 18,
threads.daemon: 6,
threads.totalStarted: 176,
threads: 16,
classes: 10294,
classes.loaded: 10294,
classes.unloaded: 0,
gc.ps_scavenge.count: 11,
gc.ps_scavenge.time: 405,
gc.ps_marksweep.count: 0,
gc.ps_marksweep.time: 0,
datasource.primary.active: 0,
datasource.primary.usage: 0,
counter.status.200.autoconfig: 1,
counter.status.200.beans: 1,
counter.status.200.configprops: 1,
counter.status.200.dump: 1,
counter.status.200.env: 1,
counter.status.200.health: 1,
counter.status.200.info: 1,
counter.status.200.mappings: 1,
gauge.response.autoconfig: 81,
gauge.response.beans: 15,
gauge.response.configprops: 105,
gauge.response.dump: 76,
gauge.response.env: 4,
gauge.response.health: 43,
gauge.response.info: 1,
gauge.response.mappings: 4
}

/shutdown

要真正生效,得配置文件開啟

endpoints.shutdown.enabled: true

/trace

記錄最近100個請求的信息

[{
 "timestamp": 1452955704922,
 "info": {
  "method": "GET",
  "path": "/metrics",
  "headers": {
   "request": {
    "Accept - Encoding": "gzip, deflate, sdch",
     "Upgrade - Insecure - Requests": "1",
     "Accept - Language": "zh-CN,zh;q=0.8,en;q=0.6",
     "User - Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36",
     "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
     "Connection": "keep-alive",
     "Host": "localhost:8080"
   },
   "response": {
    "Content - Type": "application/json; charset=UTF-8",
     "X - Application - Context": "application:8080",
     "Date": "Sat, 16 Jan 2016 14:48:24 GMT",
     "status": "200"
   }
  }
 }
}, {
 "timestamp": 1452951489549,
 "info": {
  "method": "GET",
  "path": "/autoconfig",
  "headers": {
   "request": {
    "Accept - Encoding": "gzip, deflate, sdch",
     "Upgrade - Insecure - Requests": "1",
     "Accept - Language": "zh-CN,zh;q=0.8,en;q=0.6",
     "User - Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36",
     "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
     "Connection": "keep-alive",
     "Host": "localhost:8080"
   },
   "response": {
    "Content - Type": "application/json; charset=UTF-8",
     "X - Application - Context": "application:8080",
     "Date": "Sat, 16 Jan 2016 13:38:09 GMT",
     "status": "200"
   }
  }
 }
}]

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中try catch 的基本用法示例

    Java中try catch 的基本用法示例

    這篇文章主要給大家介紹了關(guān)于Java中try catch 的基本用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • java項(xiàng)目啟動失敗的問題及解決

    java項(xiàng)目啟動失敗的問題及解決

    這篇文章主要介紹了java項(xiàng)目啟動失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Java多線程中關(guān)于join方法的使用實(shí)例解析

    Java多線程中關(guān)于join方法的使用實(shí)例解析

    本文通過實(shí)例代碼給大家實(shí)例介紹了Java多線程中關(guān)于join方法的使用,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2017-01-01
  • Java中Builder模式的實(shí)現(xiàn)詳解

    Java中Builder模式的實(shí)現(xiàn)詳解

    在設(shè)計模式中對Builder模式的定義是用于構(gòu)建復(fù)雜對象的一種模式,所構(gòu)建的對象往往需要多步初始化或賦值才能完成。下面這篇文章主要給大家介紹了在Java各個版本中Builder模式實(shí)現(xiàn)的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考學(xué)習(xí)。
    2017-05-05
  • Java網(wǎng)絡(luò)編程之TCP程序設(shè)計

    Java網(wǎng)絡(luò)編程之TCP程序設(shè)計

    這篇文章主要為大家詳細(xì)介紹了Java網(wǎng)絡(luò)編程之TCP程序設(shè)計,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 關(guān)于maven下載慢的問題

    關(guān)于maven下載慢的問題

    這篇文章主要介紹了關(guān)于maven下載慢的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • java根據(jù)圖片中綠色像素點(diǎn)的多少進(jìn)行排序

    java根據(jù)圖片中綠色像素點(diǎn)的多少進(jìn)行排序

    這篇文章主要介紹了java根據(jù)圖片中綠色像素點(diǎn)的多少進(jìn)行排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • macOS中搭建Java8開發(fā)環(huán)境(基于Intel?x86?64-bit)

    macOS中搭建Java8開發(fā)環(huán)境(基于Intel?x86?64-bit)

    這篇文章主要介紹了macOS中搭建Java8開發(fā)環(huán)境(基于Intel?x86?64-bit)?的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Spring Boot 靜態(tài)資源處理

    Spring Boot 靜態(tài)資源處理

    今天小編就為大家分享一篇關(guān)于Spring Boot 靜態(tài)資源處理,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • logback 配置詳解(推薦)

    logback 配置詳解(推薦)

    這篇文章主要介紹了logback 配置詳解(推薦),詳細(xì)的介紹了logback的組成使用和配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論