- 浏览: 64538 次
- 性别:
- 来自: 深圳
最新评论
文章列表
浅谈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 ...
让你彻底理解Synchronized
- 博客分类:
- java
参考: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 ...
Linux中的Shell开发环境搭建过程
- 博客分类:
- linux
本来已经安装了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" //当 ...
golang的函数与方法,还是有区别的
- 博客分类:
- golang
今天看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语言字符串是一个任意字节的常量序 ...
JetBrains GoLand注册码
- 博客分类:
- golang
goland注册码 jetbrainsIDE一直都不错,推荐大家使用 下载地址https://www.jetbrains.com/go 选择license server 输入 http://idea.youbbs.org 完成
参考:
https://blog.csdn.net/qq_17088237/article/details/79403548
JSONViewer - JSON数据查看工具
- 博客分类:
- tools
JSON Viewer是一款方便易用的Json格式查看器。
Json格式的数据阅读性很差,如果数据量大的话再阅读方面会十分困难,有了这软件,问题就解决了,能够快速把Json字符串排列规则的树结构。
支持对JSON字符串进行格式化显示,
支持粘贴数据并进行可视化展示以及自动格式化数据的功能。
下载请看附件。
grafana的安装与启动
- 博客分类:
- grafana
环境: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 ...