`
文章列表

浅谈Java ClassLoader

    博客分类:
  • jdk
转载:https://www.jianshu.com/p/45c4aae5d745 Class Loaders简介 Class Loaders(类加载器)是JVM用于运行来动态加载类的,同时它们也是JRE的一部分,由于Class Loaders的存在,JVM运行Java程序的时候不需要知道底层文件或文件系统。 并不是所有的Java类都是一次性加载完的,大部分Java类在具体用到的时候才会加载。 每个Java类都有一个引用指向加载它的ClassLoader,特别的,数组类不是通过ClassLoader创建的,而是通过JVM在需要的时候自动创建的,数组类通过getClassLoade ...

java.util.ServiceLoader

    博客分类:
  • jdk
一、Java中java.util.ServiceLoader 转载:https://www.cnblogs.com/shangxiaofei/p/10548921.html https://blog.csdn.net/jjlovefj/article/details/82907400 想必大家多多少少听过spi,具体的解释我就不多说了。但是它具体是怎么实现的呢?它的原理是什么呢?下面我就围绕这两个问题来解释: 实现: 其实具体的实现类就是java.util.ServiceLoader这个类。 要想了解一个机制的原理,首先得知道它是怎么运行的,需要什么配置,才能运行起来。然后再分解来 ...
Grafana地址:https://github.com/grafana/grafana   依赖项: Go 1.10 NodeJS LTS   go是后端,NodeJS是前端的。   首先我们搭建后端环境: 1、安装GO,设置环境变量信息等。 2、后端编译要用到GCC,所以需要安装GCC   以上步骤可参考,写的非常详细。:https://studygolang.com/articles/11384?fr=sidebar    3、grafana在github上给的后端构建命令如下: Building the backend go get github.co ...
  参考:https://www.jianshu.com/p/d53bf830fa09
经常在Linux中启动关闭,或者查看Jar执行程序/或者其他可执行程序。 比较麻烦的是经常要切换目录,遇到比较坑的目录特别深,要输入老半天的目录结构。 所以就想着自己写个类似service xxx start类似的小脚本来操作,方便多了,在此记录,以备后用: #!/bin/bash #自安装程序管理,方便操作 name="Demo" home="E:\Git\jl-java\httpclient\target" jar="httpclient-0.0.1-SNAPSHOT.jar" if [ -z $1 ]; the ...
本来已经安装了Visual Studio Code,想用Visual Studio Code安装插件来做。 第1种:Visual Studio Code 1、开发工具为:Visual Studio Code 2、安装插件:Bash Beautify和ShellCheck 第2种:sublime text Visual Studio Code中,shellcheck一直没有配置成功 后来就参考这往篇文章,使用sublime text https://blog.csdn.net/gosenkle/article/details/80139913 这个还好搭建,cmder也好用。 ...
在匹配字符串时用了类似这样的语句   if[ $timeofday = "yes"]; then     echo "Good morning"     exit 0   报错的原因是:如果变量timeofday的值为空,那么就if语句就变成了if [  ="yes" ],这不是一个合法的条件。为了避免出现这种情况,我们必须给变量加上引号if [ "$timeofdat"="yes" ],这样即使是空变量也提供了合法的测试条件,,if [  " "=" ...
最近在写一个调URL程序时,使用了HttpClient,但是我的调用是多个线程的,因此我就在想,HttpClient是每次都需要创建,还是可以重用,带着这个问题,就去官网上溜了一圈,果然没有失望。仅此作为笔记,以备后用。 1.HttpClient是否可重用 文档为Http client 4.5的:章节为:1.2.1-1.2.2 http://hc.apache.org/httpcomponents-client-4.5.x/tutorial/html/fundamentals.html#d5e217 1.2.1. HttpClient thread safety HttpClien ...
在Java SE5时代,Instrument只提供了premain一种方式,即在真正的应用程序(包含main方法的程序)main方法启动前启动一个代理程序。而且JDK5之后又提供了类似的新特性,大家百度上找吧。  第1步:DEMO APP 我有一个读文件的,或者是发送URL的请求,例如我想知道读这文件,或者URL请求的耗时情况。 这里有个前提就是无代码侵入。 代码:   package jl.demo; import java.io.File; import java.io.IOException; import org.apache.commons.io.File ...
包的导入语法      在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下:      import(          "fmt"      )     然后在代码里面可以通过如下的方式调用       fmt.Println("hello world")            上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块:       相对路径     import   "./model"  //当 ...
今天看grafana代理的时候,发现函数前面还有参数一样的东西,这和学的东西不一样啊,太让人不淡定了,只能百度一下了。 func (proxy *DataSourceProxy) HandleRequest() { if err := proxy.validateRequest(); err != nil { proxy.ctx.JsonApiErr(403, err.Error(), nil) return }   如下来自网络:   在刚接触GO语言时候,我相信你也会有这种困惑,为什么有的函数名前面有输入参数,而一些却没有,它们是否有差别?确实有差别,没有输 ...
  看到grafana的源码,有个反引号,就查下具体的含义: type jwtToken struct { ExpiresOn time.Time `json:"-"` ExpiresOnString string `json:"expires_on"` AccessToken string `json:"access_token"` }     结论写在最前:在Go语言中不倾向于使用单引号来表示字符串,请根据需要使用双引号或反引号。 一个Go语言字符串是一个任意字节的常量序 ...
goland注册码 jetbrainsIDE一直都不错,推荐大家使用 下载地址https://www.jetbrains.com/go 选择license server 输入 http://idea.youbbs.org 完成   参考: https://blog.csdn.net/qq_17088237/article/details/79403548
JSON Viewer是一款方便易用的Json格式查看器。 Json格式的数据阅读性很差,如果数据量大的话再阅读方面会十分困难,有了这软件,问题就解决了,能够快速把Json字符串排列规则的树结构。 支持对JSON字符串进行格式化显示, 支持粘贴数据并进行可视化展示以及自动格式化数据的功能。 下载请看附件。
环境:CentOS7.2 1、下载与安装   官方URL:https://grafana.com/grafana/download   执行如下命令: Redhat & Centos(64 Bit)   wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.1-1.x86_64.rpm sudo yum localinstall grafana-5.2.1-1.x86_64.rpm    2、启动   官方URL:http://docs.grafan ...
Global site tag (gtag.js) - Google Analytics