自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Prometheus(二) 报警处理

一、 自定义Prometheus告警规则1.1 告警简介groups:- name: example rules: - alert: HighErrorRate expr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5 for: 10m labels: severity: page annotations: summary: High request latency

2020-09-22 15:54:31 1189

原创 Prometheus(一) 探索PromQL

一、数据结构http_request_total{status="200", method="GET"}@1434417560938 => 94355指标名称(metric) 标签 时间戳 值1.1 指标类型Counter(计数器)只增不减,一般带有后缀 _totalrate(http_requests_total[5m]) // 请求增长率topk(10, http_requests_total) // 访问量前10的http地址Gauge(仪表盘)可

2020-09-22 15:15:56 391

原创 MySQL:创建高性能索引

1 索引类型B-Tree索引如果不是按照索引的最左列开始查找,则无法使用索引哈希索引哈希索引基于哈希表实现,只有精确匹配索引所有列才有效。哈希表保存指向每个数据行的指针。空间数据索引全文索引2 索引的优点大大减少了服务器需要扫描的数据量避免排序和临时表将随机IO变为顺序IO3 索引策略独立的列:查询的索引列不能是表达式的一部分,也不能是函数的参数 where id + 3 = 5前缀索引聚簇索引 聚簇表示数据行和相邻的键值放在一起提高了IO密

2020-07-17 15:52:59 161

原创 单元测试学习

一、Junit51.1 Maven<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.6.2</version> <scope>test</scope></dependency>1.2注解学习@Te

2020-07-17 15:52:08 155

原创 MySQL:Schema与数据类型优化

1 基本数据类型简单,尽量避免NULL1.1 整数类型类型tinyintsmallintmediumintintbigint-unsigned空间816343264不变范围-2(N-1) ~2(N-1) -1----0~2Nint(11)指定位数,对于大多数应用没有意义;不会限制合法范围,只是规定了一些交互工具显示字符的个数。1.2 实数类型float, decimal1.3 字符串类型varchar 变长字符串char 定

2020-07-07 18:48:16 97

原创 Java内存模型

1 内存模型保证从Java语言到JVM执行class文件的标准1.1 jvm内存结构java虚拟机运行时数据区线程公共 : 方法区和堆线程私有 : 虚拟机栈、本地方法栈、程序计数器1.2 java 对象模型对象本身的存储模型包含 mark word 、对象头、实例数据1.2 java内存模型 (Java Memory Model JMM)1.2.1 为什么需要JMM是一组...

2020-05-04 11:48:33 127

原创 多线程详解

1 多线程1.1 实现多线程方式继承多线程和实现Runnable接口。1.2 启动线程start(),run()只是调用方法;start()重复调用将会抛出异常

2020-04-30 10:48:20 132

原创 SpringBoot学习之路(二) 理解SpringApplication

1 SpringApplication的基本使用1.1 SpringApplication运行SpringApplication.run(DiveInSpringBootApplication.class, args)1.2 自定义SpringApplication通过SpringApplication API调整、SpringApplicationBuilder写法更加简洁Spring...

2020-04-09 22:20:40 184

原创 SpringBoot学习之路(一)自动装配

本系列文章主要为了记录学习SpringBoot的知识点,基本来自慕课网小马哥视频Spring Boot2.0深度实践之核心技术篇1 Spring模式注解自动装配任何被 @Component 标准的组件均为组件扫描的候选对象1.1 装配方式<context:component-scan>方式,即传统配置xml方式@CompoentScan方式@ComponentScan(...

2020-04-06 15:51:24 124

原创 Git学习之路

一、版本控制系统VCSvcs最基本功能就是在文件的修改历程中保留修改历史,可以方便地撤销之前对文件的修改操作。版本控制、主动提交、中央仓库这三个要素构成了版本控制系统。1. 分布式版本控制系统分布式和中央式的区别在于,分布式VCS除了中央仓库之外还有本地仓库。...

2020-03-24 10:59:52 143

原创 Java正则表达式

一、概述Java.util.regex包中只有三个类 Matcher、Pattern、PatternSyntaxException二、简单使用import java.util.regex.Pattern;public class Test { public static void main(String[] args) { String content = "I ...

2019-12-03 13:08:57 209

原创 深入理解JVM二(拓展篇): 虚拟机性能监控与调优

一、JDK的命令行工具jps(jvm Process Status) : 虚拟机进程状况工具,列出正在运行的虚拟机进程,并显示执行主类名及唯一ID(LVMID)jps [options] [hostid-q 只输出ID,省略主类的名称-m 输出虚拟机进程启动时传递给主类main()函数的参数-l 输出主类的全名,如果是jar包,输出Jar路径-v 输出JVM启动时JVM参数j...

2019-10-16 19:04:07 177

原创 部署JavaWeb项目

一、软件与硬件环境spring mvc ssm,前端是饿了么框架Ubuntu 16.04 32位 1核 1GB 腾讯云服务器二、后台部署2.1 安装ftp参考自链接用于本地主机与云服务器传输文件安装 apt-get install vsftpd ftp备份配置文件 cp /etc/vsftpd.conf /etc/vsftpd_bk.conf修改配置文件 sudo vim /...

2019-05-29 19:38:55 399

原创 为什么使用超算中心服务器单节点多GPU训练反而更慢

注:pytorch训练图像算法因为没有申请多个CPU核心导致CPU加载数据等问题成为瓶颈!!!!!!以此博客纪念逝去的两天光阴。可以通过topwatch -n 1 nvidia-smi等查看硬件信息一开始发现并没有怎么利用CPU资源以为不是CPU的问题,其实不然。。。一开始我以为是cuda没装好我以为是cudnn没装好我以为是磁盘文件加载慢我以为是torch版本太低我以为是b...

2019-04-17 20:14:47 3158 7

原创 Redis

转载一、简介redis就是一个数据库,不过是在内存中的,存取速度快,被广泛用于缓存,分布式锁,支持事务,集群。高性能,高并发。1.1 为什么用redis缓存分为本地缓存和分布式缓存,以java为例,使用自带的map或者guava实现的是本地缓存,最主要特点是轻量和快速,声明周期随着jvm的销毁而结束。redis或memcached被称为分布式缓存,缓存具有一致性,缺点是要保持redis...

2019-03-27 10:45:11 183

原创 深入理解JVM三:虚拟机执行子系统

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言的一大步一、无关性的基石实现语言无关性的基础仍然是虚拟机和字节码存储格式,Java虚拟机不和包括Java在内的任何语言绑定,它只与Class语言这种特定的二进制文件格式所关联。任一门功能性语言都可以表示为一个能被Java虚拟机所接受的有效的Class文件。1.1 Class类文件的结构Class文件是一组以8位字节...

2019-03-25 20:00:33 232

原创 深入理解JVM五:线程安全与锁优化

并发处理的广泛应用使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因。一、线程安全当多个线程访问一个对象时,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以得到正确的结果,那这个对象时线程安全的。·1.1Java语言中的线程安全不可变final修饰的不可变对象(如果是一个对象,则需要...

2019-03-13 16:28:33 157

原创 深入理解JVM四:Java内存模式与线程

并发处理的广泛应用是人类充分利用计算机运算能力的最有力武器。一、概述计算机的运算速度与它的存储和通信子系统速度出具太大,容易浪费。一个服务端同时对多个客户端提供服务则是另一个并发应用场景。二、硬件的效率与一致性如果存在一个计算任务依赖另外一个计算任务的中间结果,其顺序性并不能靠代码的先后顺序来保正——因为指令重排序优化三、Java内存模型Java虚拟机规范试图定义一种Java内存模型...

2019-03-06 21:50:28 220

原创 深入理解JVM二:垃圾收集器与内存分配策略

一、概述垃圾收集器(Garbage Collection, GC), 大部分人把这项技术当做Java语言的伴生产物,实际上,GC的历史更加久远。在Java语言中,线程隔离的三个区域内的内存分配和回收都具备确定性,不需要过多考虑回收的问题,因为会随着线程的结束而回收。Java堆和方法区则不一样,GC关注的也是这部分内存...

2019-02-24 15:58:30 200

原创 深入理解JVM一:Java内存区域与内存溢出异常

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人想出来一、运行时数据区域数据区分为两大类由所有线程共享的数据区:方法区和堆线程隔离的数据区:虚拟机栈,本地方法栈,程序计数器1.1 程序计数器程序计数器是一块小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。由于Java虚拟机的多线程是通过线程轮流并分配处理器执行时间的方式来实...

2019-02-21 14:36:20 167

原创 设计模式

策略模式策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。多用组合,少用继承针对接口编程,不针对实现编程接口绑定实现类观察者模式观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。出版社 + 订阅者 = 观察者模式为了交互对象之间的松耦合设计而努力松耦合的设计之所以能让我们建...

2019-01-12 16:36:29 99

原创 JAVA笔记八:并发

多线程在较低的层次上拓展了多任务的概念:一个程序同时执行多个任务。多进程与多线程本质区别在于每个进程拥有自己的一整套变量,而线程则共享数据。一、线程多线程Thread(Runnable target)void start()//创建新线程应该调用该方法void run()中断线程中断线程并不意味着终止线程Runnable r = () -&amp;amp;amp;amp;amp;amp;gt; { try{ wh...

2019-01-10 10:48:14 200

原创 JAVA笔记七:集合

一、Java集合框架1.将集合的接口与实现分离2.Collection接口pubilc interface Collection&amp;amp;amp;amp;amp;lt;E&amp;amp;amp;amp;amp;gt;{ boolean add(E element); Iterator&amp;amp;amp;amp;amp;lt;E&amp;amp;amp;amp;amp;gt; iterator();}public interface Iterato

2018-12-19 11:17:22 137

原创 JAVA笔记六:泛型程序设计

一、简单泛型类1.1 为什么要使用泛型程序设计泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。使得程序具有更好的可读性和安全性。1.2 定义简单泛型类一个泛型类就是具有一个或多个类型变量的类。public class Pair&amp;amp;amp;amp;lt;T, U&amp;amp;amp;amp;gt;{...}private T first;//类型变量使用大写形式且比较短,使用变量E表示集合的元素类型,K和V分别表示表的...

2018-12-07 19:31:10 222

原创 JAVA笔记五:异常、断言、日志

一、异常1、异常分类异常对象都是派生于Throwable的一个实例。Java中异常层次结构如下图所示1.1 ErrorError类层次结构描述了Java运行时系统的内部错误和资源耗尽错误。应用程序不应该抛出这种类型的对象。1.2 Exception在设计Java程序时,需要关注Exception层次结构:1.2.1 RuntimeException由程序错误导致的异常属于Runt...

2018-12-04 16:27:51 177

原创 JAVA笔记四:接口、lambda表达式与内部类

一、接口1.接口不是类,而是对类的一组需求描述java.lang.Comparable&amp;amp;amp;amp;amp;lt;T&amp;amp;amp;amp;amp;gt;1.0int compareTo(T other) //小于other则返回负值,相等返回0,大于返回正值。java.util.Arrays 1.2static void sort(Object[] a)//数组中的元素必须属于实现了Comparable接口的类。java.lan...

2018-11-26 11:58:17 265

原创 JAVA笔记三:继承

超类与子类继承格式public class Manager extends Emplyee{...}调用同名超类方法super.getSalary()

2018-11-07 11:28:44 165

原创 JAVA笔记二:对象与类

一、 对象类之间关系:依赖、聚合、继承。对象与对象变量(c++指针)更改器方法与访问器方法(不修改对象)java.time.LocalDate 8static LocalTime now()static LocalTime of(int year, int month, int day)int get Year()int getMonthValue()int getDayOf...

2018-10-27 14:30:00 131

原创 JAVA笔记一:基础知识

基础知识一、注释1. //2. /* */3. /**XXXX自动生成文档*/二、JAVA数据类型

2018-10-24 16:47:20 283

原创 LeetCode——动态规划——股票最大收益

股票最大收益一、问题描述给出每天股票的价格,设计一个算法计算出最大收益。可以最多买卖两个回合。而且卖出之后才能再买。二、样例// 1Input : [3, 3, 5, 0, 0, 3, 1, 4]Output : 6Explanation : 0-3, 1-4// 2Input : [1, 2, 3, 4, 5]Output : 4Explanation : 1-5//...

2018-10-11 19:40:43 6505

原创 最长合法括号

Longest Valid Parentheses 最长合法括号一、问题描述给一个只由’(‘和’)'组成的字符串,找出其中最长的连续合法子串长度。(来源Leetcode)样例Input:(()Output:2Input: )()())Output: 4Input: ((())Output: 4二、解决方案很明显,可以用动态规划,我也是这么想的。1. 我的方案构建dp...

2018-09-23 16:28:40 1722 3

原创 循环序列模型——05.序列模型第一周课程笔记

一、为什么使用序列模型能处理非固定大小输入的问题,例如语音识别,DNA序列分析,机器翻译这种是一串序列的问题。二、 数学符号表示以自然语言处理为例: x: Harry Potter and Hermione Granger invented a new spell. 以这句话为输入x,希望得到一个相同长度的y,判断每个单词是否表示人名。 首先需要构建一个按字母排序的单词词典,当然...

2018-09-03 10:30:45 170

原创 使用Git工具

主要记录本人学习git工具过程一、Hello world进入github官网,点击read the guide,即学习入门hello world。 主要是学习如何在网页上操作,如何创建仓库,创建分支,对比分支,然后合并分支。二、工具使用2.1 安装git工具本人使用的是Anaconda,因此直接在Prompt中,输入conda install git2.2...

2018-09-02 21:25:24 140

转载 python-logging模块的简单使用:如何同时输出到控制台和本地日志文件

本文简单记录logging模块使用方法。参考博客 提供两种记录日志的方式:使用logging提供的模块级别的函数使用logging模块的四大组件一、简单使用——函数下面是常用函数logging.debug()logging.info()logging.warning()logging.error()logging.critical() #输出函数,级别从低到高逐...

2018-08-26 17:49:53 16997 1

原创 Tensorboard简单使用

Tensorboard 类似于日志文件,还有画图等功能。主要记录个人学习使用Tensorboard的过程与心得。简单使用本人使用的是环境是 windows10,Anaconda3(python 3.6),Tensorflow-gpu-1.8.0, Tensorboard-1.8.0 1、程序样例import tensorflow as tfimport numpy as np...

2018-08-25 17:30:35 399

原创 动态规划

广泛用于求解组合优化问题 使用这种技术的算法,不是递归调用自身,但是问题的基础解通常是用递归函数的形式来说明的。最长公共子序列问题问题描述有两个长度分别为n和m的字符串A和B,确定A和B中最长公共子序列的长度。这里,A=a1a2⋯anA=a1a2⋯anA = a_1a_2\cdots a_n的子序列是一个形式为ai1ai2...aikai1ai2...aika_{i_1}a_{i_2...

2018-08-21 15:32:33 671 2

原创 回溯法

回溯法(内容摘自《算法设计技巧与分析》)基本特征: 1.节点是用深度优先搜索的方法生成的 2.不需要存储整颗搜索树,只需要存储根到当前活动节点的路径经典回溯问题——3着色问题问题描述给出一个无向图 G = (V, E),需要用三种颜色之一为V中的每个顶点着色,三种颜色分别为1,2和3,使得没有两个邻接的顶点有同样的颜色问题解决一般回溯问题有两种解法:递归和...

2018-08-20 21:12:32 1191

原创 TFrecord:write&read

参考了这位仁兄的博客概述在训练卷积神经网络时,将图片提前处理好并缓存在磁盘上,通过中间文件随机调用访问可以明显提高训练速度,并且可以减少重复处理图片的工作。write通过tf.train.Example Protocol Buffer 下面代码源于本人写的一个函数def create_tfrecord(result, sess): &quot;&quot;&quot; create t...

2018-06-02 21:38:16 280

原创 Tensorflow-tf.data 如何构建数据通道

Tensorflow.data在训练的时候多次迭代,如果每次获取输入数据都通过磁盘读入原始图片(文本),这将会导致做很多无用功。方法之一便是先将数据预处理好,然后将整个数据集中保到易读入的内存中或者本地磁盘,训练的时候就不用每次都要处理图片数据了。很明显Tensorflow便有这种接口,我们一起来学习如何使用到我们的训练的网络中吧!注:本文档仅作记录本人学习和参考用,大部分内容来源Tens...

2018-05-27 20:43:55 2113

原创 YOLO : You Only Look Once

YOLO迄今为止已经有三个版本,YOLOv1,YOLOv2, YOLO9000YOLOv1CVPR2016经典文章,目标识别速度贼快,但定位有一定误差。对比R-CNN系列算法,YOLO是一步到位,同时给出位置信息和类别信息。概述将图片resize固定大小,分成s * s 个栅格(grid cell);滑动窗口滑动每一个栅格,对每一个栅格生成2个bounding box,每个bo...

2018-05-17 20:46:27 196

空空如也

空空如也

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

TA关注的人

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