自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 zipkin-go学习之report-http

zipkin-go的report支持多种传播方式,比如:http,RabbitMq,kafka,log等方式。此文着重了解http-report的使用方式github地址:https://github.com/openzipkin/zipkin-go源码路径为:reporter/http/http.go1.report的创建此步主要进行report的一些初始化设置,并创建两个goroutine来处理请求发送func NewReporter(url string, opts ...Reporter

2020-12-31 15:20:50 481

原创 zipkin-go学习之httpserver

最近打算学习zipkin的使用,所以写此文记录一下zipkin在httpserver简单使用。官方github地址:https://github.com/openzipkin/zipkin-go此文根据官方示例代码进行分析,示例文件名称:example_httpserver_test.go以下为具体流程分析:1.创建NewReporterreporter := logreporter.NewReporter(log.New(os.Stderr, "", log.LstdFlags)) defer

2020-12-29 17:48:01 677

原创 java获取linux主机中英伟达GPU状态信息(通过nvidia-smi命令)

由于业务需要获取服务器显卡信息来分配资源,所以打算新增接口来响应GPU信息。 百度许久发现没有直接获取相关信息的工具包,有 oshi 包可以用来获取服务器内存,硬盘等基本信息,但是可惜不支持GPU信息获取;间间获取的方法都是通过bash执行nvidia-smi命令然后截取字符串解析。不过这种方法很不灵活,后来通过查看api,发现nvidia-smi命令可以直接输出xml格式文本,通过xml可以直观的解析GPU信息与进程信息。具体实现如下: 1. 通过 nvidia-s...

2020-11-06 16:37:39 3133 1

原创 Ubuntu 16.04.6运行GitBook书籍(Go语言圣经)

最近打算学习一下go语言,了解之后打算通过go语言圣经学习,继而了解到了GitBook,为了加深学习打算在自己的服务器上发布该书籍服务。GitBook是一个命令行工具(和Node.js库),用于使用GitHub / Git和Markdown(或AsciiDoc)构建漂亮的书。这是一个示例:学习Javascript。官方github:https://github.com/GitbookIO/gitbook部署机器为阿里云主机,系统为Ubuntu 16.04.6,接下来就开始了GitBook发布之路:

2020-05-26 11:42:50 387

原创 ProcessBuilder的使用(执行多行命令,实时获取日志)

ProcessBuilder用来创建操作系统进程,可以在指定位置,执行指定命令。这里通过process实现java执行shell,python脚本的功能。1.通过ProcessBuilder执行多行命令由于需要在命令中设置Path,试了多种方式后,使用cmd/bash封装为一整个命令实现,其中windows环境下使用cmd,linux环境下使用/bin/bash。windows代码如下:多行命令通过分号分割List<String> commandList = new Array

2020-05-11 16:04:44 8842

原创 服务性能测试和内存监控

在项目框架搭建好后,决定测试一下服务的性能,并测试一下是否存在内存泄漏等问题,所以决定开始测试之路。因为第一次搞,所以也是在摸索中前行。最后选择Jmeter作为服务性能测试工具,使用Jconsole作为内存监控工具。1.jmeter的使用下载地址:https://jmeter.apache.org/download_jmeter.cgi选择版本下载即可,顺便下载插件包,地址:https...

2020-04-26 10:17:54 558

原创 谷歌浏览器插件推荐

1.Nimbus 截屏 & 屏幕录像机---功能强大提供方便的全屏幕截屏和录制功能,并且提供了网页对截屏进行编辑具体功能列表如下:2.Charset修改网站编码,可解决由于编码引起的乱码问题,小巧简洁。3.Dark Reader一个护眼扩展程序,通过实时生成黑色主题,为每一个网站启用夜间模式。4.Custom Cursor for Chrome™ -...

2020-04-20 17:23:54 421

原创 spring初始化后获取自定义注解bean

目的是通过注解将特定类的信息(如接口编号)与类关联,之后可通过接口编号获取对应bean来执行对应逻辑。1.新建注解类:@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Servicepublic @interface ServiceCode {...

2020-04-01 11:27:41 1848

原创 Windows单电脑部署Consul集群

1.下载Consul-windows版本。下载地址:https://www.consul.io/downloads.html选择对应的windows版本即可。2.准备配置文件,其中包括三个server和一个client,注意其中node_name 需唯一,ui指定是否启动可视化页面,server区分server与clientserver1:{ "datacenter"...

2020-03-24 16:42:58 808 2

原创 SpringMVC原理(请求流程分析)

SpringMVC最主要的类为DispatcherServlet,包名为org.springframework.web.servlet。该类继承于FrameworkServlet,FrameworkServlet的类图如下:即本质上FrameworkServlet也是一个Servlet,特别的是这个Servlet对应的URI为*,所有的context path下的请求都会在这个Serv...

2020-03-02 16:46:35 171

原创 了解jdk源码-atomic和locks包

1.原子操作类包路径:java.util.concurrent.atomic基础类其中包括:布尔类型-AtomicBoolean,整形类型-AtomicInteger,浮点类型-AtomicLong,引用类型-AtomicReference。其主要理念:由volatile修饰value保证可见性和有序性,使用unsafe进行CAS操作实现原子性操作。其中主要方法getAndS...

2020-02-26 15:12:30 194

原创 Python3.8版本 Twisted-19.10.0-cp38-cp38-win_amd64.whl 文件分享(安装Scrapy报错)

在使用python3.8安装Scrapy时,由于无依赖包twisted报错,离线下载其依赖时由于网络十分缓慢,百度发现无3.8版本分享,特意下载后分享。百度网盘分享链接:链接:https://pan.baidu.com/s/1MeH8uzeaLCMfLFN66AUkJg提取码:nshj如果失效,可以在评论区提醒,我看到之后会更新资源。...

2020-02-23 11:49:37 7209 24

原创 git的简单使用

1.下载代码git clone ssh://git@服务器ip:端口/项目路径.git2.进入创建的项目文件夹cd 项目名3.切换分支git checkout 分支(我使用的项目一般都是dev)4.更新代码git pull5.创建自己的分支git remote add 账号 ssh://git@ip:端口/账号/工程名.git               地址是...

2018-11-05 16:29:05 122

原创 nginx基本使用方法

1.下载链接  http://nginx.org/en/download.html2.解压后修改conf下的nginx.conf来适应自己的服务器events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream...

2018-01-29 11:03:11 401

原创 Spring-MVC中的上传和下载

1.配置pom.xml commons-fileupload commons-fileupload 1.3.1 commons-io commons-io 2.4 2.配置MultipartResolvername="multipartResolv

2018-01-29 10:42:47 125

原创 Spring-MVC基础(1)

1.核心组件:               1.DispatcherServlet: 前端控制器,用来过滤客户端发送过来,想要进行逻辑处理的请求。2.Controller/Headler: 控制器/处理器。开发人员自定义,用来处理用户请求的,并且处理完成之后返回给用户指定视图的对象。3.HandlerMapping: 处理器映射器。DispatcherServlet接收到客户端请求

2018-01-29 10:17:56 174

原创 Spring的基本使用配置

1.在web.xml中配置spring容器的监听器和配置文件的路径。 <!--ContextLoaderListener实现ServletContextListener监听器接口,而ServletContextListener只负责监 听Web容器的启动和关闭的事件。RequestContextFilter实现ServletRequestListener监听器接口,该监听器 监听HTTP

2018-01-29 09:51:41 188

原创 Spring----AOP

1.Advice 分为四种: Before Advice,需要extends BeforeAdvice。重写void before(Method m, Object[] args, Object target) throws Throwable;After advice,需要extends Advice。重写void afterReturning(Object returnValue, Meth

2017-11-11 10:30:07 179

原创 Spring动态代理中有什么方法不会被代理探究

JDK代理中 会代理对象中的所有方法,对于Object中继承的方法,会代理toString方法,但是不会代理equals,hashCode,getClass方法。 原因在于在Spring中的JdkDynamicAopProxy类中的invoke方法执行时会判断 if ((!this.equalsDefined) && (AopUtils.isEqualsMethod(method)))

2017-11-11 09:58:14 1792

原创 Spring---IOC(控制反转+依赖注入)

1.setter方式注入(依赖于无参构造器) A。基本类型public class HelloBean {private String name;private int age;public String sayHello(){return "hello "+name +",your age is" + age;}.............}配置文件applicationConte

2017-11-11 09:16:56 163

原创 Servlet总结(2)

1.servlet中的服务器内部跳转和客户端重定向 服务器内部跳转:String url = "/hello.html"; request.getRequestDispatcher(url).forward(request, response);特点:需要使用request对象来完成,不会改变浏览器地址栏。客户端重定向:String url = "hello.html";

2017-10-26 10:16:40 211

原创 Java Servlet总结(1)

1.软件tomcat tomcat路径作用: backup–配置文件的简单备份 bin–可执行文件的放置,如启动和停止tomcat,以.sh结尾的代表Linux下的命令;以.bat结尾的代表Windows下的命令 conf–配置文件,context.xml可以用来配置数据源之类的东西。logging文件记录tomcat服务器运行的日志记录。server.xml可以设置域名、端口号、IP、请求

2017-10-26 09:39:50 236

原创 java总结

java的优点 跨平台特性(java程序编译为字节码文件在JVM中运行)垃圾回收机制注释 单行注释 //多行注释 /* */文档性注释 /* /标识符(类,方法和变量的名字) 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头区分大小写没有长度限制保留字–goto,const(不是关键字但是不能当作标识符

2017-10-10 11:22:56 204

原创 Mybatis基础

Mybatis是简化和实现了 Java 数据持久化层(persistence layer)的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互。要使用这个框架首先就要导入mybatis的架包,而mybatis底层是封装JDBC的方法,所以还需要导入Jdbc的架包,当导入了架包,就可以开始mybaits的配置了。 首先是一个mybatis的配置文件,类型为下 注意:

2017-09-23 16:59:53 278

原创 JDBC基础

1.注册驱动,用来让虚拟机和数据库进行交流,jdbc中会有一个池,里面存放所有的驱动,但是默认池中是空的,所以需要先注册一个关于oracle的驱动放置到池中,然后才能得到这个驱动来完成虚拟机与数据库的交流,注册驱动有三种方法:a,在oracle.jdbc.driver.OracleDriver 静态代码块 能完成注册驱动Class.forName("oracle.jdbc.driver.Oracl

2017-09-23 10:53:48 277

原创 SQL--基础语句2

列名 数据类型 默认值 约束 create table customer( id number(7) primary key, name char(25) not null, phone varchar2(20) unique )删除表 drop table customer主键约束可以写在列后,也可以写在所有列之后。列级约束和表级约束 primary

2017-09-13 11:56:49 202

原创 SQL---基础语句select

SQL语句分类: 数据查询语言 Date Query Language,DQL.负责数据查询而不会对数据本身进行修改的语句,核心指令是select,辅助指令from,where,group by和order by. 数据定义语言 Date Definition Language,DDL.负责数据结构定义与数据库定义的语言,由create,alter,drop三个语法组成. 数据操纵语言

2017-09-13 11:50:46 223

原创 XML---解析

本文介绍三种xml文件的解析方法,Dom解析,SAX解析,Dom4j解析。 1.Dom解析 Dom解析是javax下的一种xml解析方法 解析过程如下:package parseXML;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.

2017-09-13 11:26:54 240

原创 XML--语法

1.文档声明: XML文件的后缀为.xml XML文件要求文件有一个头部声明:<?xml version="1.0" encoding="UTF-8"?>表示当前文件是xml文件,版本为1.0,编码方式为UTF-82.元素: 每个xml文件必须有且只有一个根元素,根元素是一个完全包括文件中所有其他元素的元素。 xml元素是指文件中出现的标签,一个标签分为开始标签和结束标签,有两种书写形式:

2017-09-13 11:08:31 211

转载 java异常捕获的一点感悟

感谢原作者的分享:http://blog.csdn.net/salerzhang/article/details/46581457下面的代码时Thinking in java中的一个题目。问会输出什么? class Annoyance extends Exception {} class Sneeze extends Annoyance {} class Human { public sta

2017-08-24 20:01:53 198

原创 java-----I/O流

按照不同分类,大致可以分为输入流,输出流;字节流,字符流;包装流,基本流。 其中输入流大致可以看做InputStream,基本方法为read(),read(byte []),read(byte [],int off ,int len). 需要特别注意:read()返回下一个数据字节;如果到达流的末尾,则返回 -1。 read(byte [])返回读

2017-08-20 16:01:34 254

原创 java-----建立对象时代码执行顺序

如果之前没有进行类加载 1.类加载,(java -cp xx.xx.xx,Class.forName/load) 同时初始化类中静态的属性(赋默认值) 2.执行静态代码块(只执行一次,属于类) //如果之前做过类加载,从第三步开始执行 3.分配内存空间,同时初始化非静态的属性(赋默认值) 4.调用父类构造器 5.父类构造器执行完后,如果自己声明属性的同时有显示的赋值,那么进行显示赋值把

2017-08-20 15:21:29 229

转载 java-----内部类

Java内部类详解  说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:  一.内部类基础  二.深入理解内部类  三.内部类的使用场景和好处  四.常见的与内部类相关的笔试面试题  若有不正之处,请多谅解并欢迎批评指正。  请尊重作者劳

2017-08-20 15:15:14 248

原创 java-----基础(2)

数组:数组的建立有四步,声明(类型,名字)—-创建(开辟内存空间)——赋值(必须符合类型)—–使用 注意数组是一个对象;数组的初始容量为0。 数组复制 system.arraycopy(maArray,0,hold,0,myArray.length) 数组的遍历 foreach在传递基本数据类型时,传递的是数据值。而在传递引用类型时,传递的是该引用,即该数据的存放地址。值传递和引用

2017-08-12 13:06:17 203

原创 java ---基础(1)

java的优点:摆脱了平台的限制,实现了“一次编写,到处运行”。 提供一个相对安全的内存管理和访问机制。(垃圾回收,代码安全验证) 完善的应用程序接口,无数的第三方类库,快速开发。 标识符:类,方法,变量的名字都是标识符。 可以字符和下滑线”_”和”$”开头。

2017-08-12 12:44:55 197

原创 线程 -----基础

进程是操作系统分配资源的最小单元,而进程是由很多线程组成的,其中线程拿到CPU资源执行的时间间隔叫时间片,以纳秒为单位。线程是程序执行流的最小单元。 线程有新建状态,可运行状态,运行状态,阻塞状态,死亡状态。 新建状态就是实例化了线程,但是还没有开始运行,也就是没有start(); 可运行状态指线程开始运行但没有拿到Cpu执行权在等待CPU执行权的状态 运行状态指线程开始运行并拿到CPU执行

2017-08-11 16:38:26 248

原创 反射 ---基础

反射是在只知道类的名字和路径的情况下,通过反射获取类中的属性,构造器,方法,并创建该类的对象,使用其中的方法。 反射可以分为 步:创建字符串(内容为类的路径)———- String s=”com.reflection.Test” 使用Class.forName得到该类的类——— Class c =Class.fo

2017-08-11 13:11:51 190

原创 集合-----Map (3)

Map称为键值对,也叫映射。主要存储时分为key和value,其中key就相当于数组的下标,用来查找和定位value,key值不可重复,无序,每个key只能映射一个value。而value可以重复,map中对value不关心。 Map可以分为Hashmap,Hashtable和TreeMap。Hashmap默认容量为16,允许使用 null 值和 null 键。HashMap 的实例有两个参数影响

2017-08-11 11:07:13 192

原创 集合---List (2)

List可以分为ArrayList,LinkedList,Vector等分支。List的特性是可重复数据,有序。ArrayList的底层实现是数组,默认容量为10,当需要扩容时,会变为原来容量的1.5倍。因为是数组实现,ArrayList适合查找数据。/** * Default initial capacity. 默认容量为10 */

2017-08-11 10:30:21 251

原创 集合---- Set (1)

集合分为两大类:单值集合和键值对。 其中单值集合分为Set和List 。 键值对则为Map。 Set的特性为不可重复,无序。List的特性为可重复,有序。 1.Set有HsahSet,TreeSet等分支,两者都是不可重复的,为了确保无重复数据,在存入时,HashSet和TreeSet都会先使用HashCode来查看两者是否有相同哈希值,如果哈希值相等,则使用Equals方法比较。这样的方

2017-08-11 10:05:11 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除