自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(384)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用BPF监视JVM应用程序

使用BPF监视JVM应用程序参考文章: Fast and secure JVM application monitoring with BPF magic and JVM-BPF一、Linux跟踪工具的概况X轴为信息详细程度,Y轴为易于使用情况ftrace 是一种内置机制,其已包含在Linux中。它是一种跟踪性能问题等的工具。但是,它并非设计用于Java。它不能用于跟踪许多有趣的Jav...

2020-04-22 07:29:49 1224

原创 【Linux】BCC 工具编写

【Linux】BCC 工具编写本实验参照该实验手册:linux-tracing-workshop一、 setuidsnoop查看 killsnoop.py, 这是一个简单的基于kprobe的工具,可将kprobe和kretprobe附加到该sys_kill函数. 在Enter探针中,记录了有关终止信号和目标进程的数据,在Return探针中,记录了操作结果,并将自定义结构提交给用户空间以进行显...

2020-04-09 06:26:34 1391

原创 【Linux】BCC 工具使用

【Linux】BCC 工具使用本实验参照该实验手册:linux-tracing-workshop1. 缓慢的文件I/O尝试跟踪由于I/O操作缓慢而表现出延迟的应用程序编译并运行应用程序: 首先运行以下命令来编译logger应用程序,让其在后台执行[root@rumia linux-tracing-workshop-master]$ gcc -g -fno-omit-frame-point...

2020-04-09 06:25:57 2600

原创 【Linux】BCC 工具安装

【Linux】BCC 工具安装GIT地址一、安装步骤1. 安装构建依赖项sudo yum install -y epel-releasesudo yum update -ysudo yum groupinstall -y "Development tools"sudo yum install -y elfutils-libelf-devel cmake3 git bison flex...

2020-04-04 05:30:49 9934 1

原创 【Linux】async-profiler

async-profiler本文涉及的图片取自Profiling JVM Applications in Productionasync-profiler是一个对系统性能影响很少的Java采样分析器,不会存在安全点偏差问题. 它具有特定于HotSpot的API,以收集堆栈跟踪并跟踪内存分配。探查器可与基于HotSpot JVM的OpenJDK,Oracle JDK和其他Java运行时一起使用。...

2020-03-11 08:23:29 1110

原创 【Linux】Perf

PerfPerf是内置于Linux内核源码树中的性能剖析(profiling)工具,它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析,常用于性能瓶颈的查找与热点代码的定位.一、术语硬件性能事件(Hardware event): 由 PMU硬件产生的事件, 在特定的条件下探测性能事件是否发生以及发生的次数, 比如 cache 命中软件性能事件...

2020-03-11 06:03:46 444

原创 【JAVA】JVM 调优

【JAVA】JVM 调优翻译文章:JVM Tuning: How to Prepare Your Environment for Performance Tuning当涉及到Java应用程序时,要确保它们以最高性能运行,至关重要的是缩小代码与运行它的虚拟机之间的资源差距(如果有的话)。做到这一点的方法是深入并微调Java虚拟机一、介绍1. 什么是JVM调优?成本 –考虑到您的环境,您可...

2020-03-04 06:42:48 273

翻译 【Linux】BPF学习笔记 - bpftrace开发[7]

【BPF】学习笔记 - bpftrace开发[7]bpftrace是基于BPF和BCC构建的开源跟踪程序。 与BCC一样,bpftrace附带了许多性能工具和支持文档。 但是,它也提供了高级编程语言,允许创建功能强大的单行代码和简短的工具。 bpftrace是使用自定义单行代码和简短脚本的临时工具的理想选择,而BCC是复杂工具和守护程序的理想选择BPFTRACE 组件bpftrace包含有...

2020-03-03 07:35:14 3035 1

翻译 【Linux】BPF学习笔记 - BCC工具[6]

【BPF】学习笔记 - BCC工具[6]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》BPF编译器集合(BCC)是一个开放源代码项目,其中包含用于构建BPF软件的编译器框架和库。 它是BPF的主要前端项目,受到BPF开发人员的支持. BCC还包含70多个现成的BPF性能分析和故障排除工具BCC 组件: BCC包含有关工具,手册页和示例文件的...

2020-03-02 09:33:51 1074

翻译 【Linux】BPF学习笔记 - 性能分析方法论[5]

【BPF】学习笔记 - 性能分析方法论[5]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》一、工作负载建议执行工作负载特征的步骤:谁造成了负载: PID,进程名称,UID,IP地址…为什么称负载: 代码路径,堆栈跟踪,火焰图负载是多少: IOPS,吞吐量,类型负载如何随时间变化: 每个时间间隔的摘要示例: 这表明在跟踪时,名为"...

2020-03-02 07:29:33 771

原创 【机器学习】逻辑回归

逻辑回归分类问题在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;之前我们也谈到了肿瘤分类问题的例子,区别一个肿瘤是恶性的还是良性的。我们从二元的分类问题开始讨论。我们将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(pos...

2020-03-01 08:49:54 210

原创 【机器学习】线性回归

线性回归一、单变量线性回归1. 假设函数(Hypothesis Function)因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题: hθ(x)=θ0+θ1xh_\theta(x) = \theta_0 + \theta_1xhθ​(x)=θ0​+θ1​x假设有以下的训练集, 我们假设θ0=2θ_0=2θ0​=2 和 θ1=2θ_1=2θ1​=2, 则假设函数为 y=2+...

2020-03-01 08:45:39 238

翻译 【Linux】BPF学习笔记 - 调试技术[4]

【BPF】学习笔记 - 调试技术[4]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》一、 KPROBESkprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。它可以在生产环境中实时进行此操作,无需重新重启系统或以任何特殊模式运行内核。这意味着我们可以在内核的绝大多数指定函数中动态的插入探测点(动态...

2020-03-01 08:36:13 1330

翻译 【Linux】BPF学习笔记 - 堆栈跟踪[3]

【BPF】学习笔记 - 堆栈跟踪[3]一、简介堆栈跟踪,也称为堆栈回溯跟踪或调用跟踪,是显示代码流的一系列函数. 堆栈跟踪可以用于了解导致事件的代码路径, 以及对内核和用户代码进行性能分析(profiling)以观察执行时间.举例说明: func_a() -> func_b() -> func_c()二、堆栈遍历BPF提供了用于记录堆栈跟踪的特殊映射类型,并且可以使用基于帧...

2020-03-01 06:32:16 1129

翻译 【Linux】BPF学习笔记 - 技术背景[2]

【BPF】学习笔记 - 技术背景[2]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》一、CLASSICAL BPF (BPF)用户使用针对BPF虚拟机的指令集(也称为BPF字节码)定义过滤器表达式, 然后传递给内核以供解释器执行. 这使得过滤可以在内核级别进行,而无需将每个数据包复制到用户级别的进程中, 提升了tcpdump使用的数据包筛选的...

2020-03-01 03:41:15 2154

翻译 【Linux】BPF学习笔记 - 基本概念 [1]

【BPF】学习笔记 - 基本概念 [1]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》一、介绍数据包筛选器(BPF) 是一种内核执行引擎,用于处理虚拟指令集,并且最近进行了扩展(又称eBPF),这使BPF变成了通用执行引擎,可用于多种用途,包括创建高级性能分析工具。这是一种在各种内核和应用程序事件上运行小型程序的方法。 如果您熟悉JavaS...

2020-02-29 06:50:53 1491

原创 【数据库】数据库管理系统(Database Management Systems)

数据库管理系统(Database Management Systems)数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性一、DMBS抽象层次(DBMS abstraction levels)物理层(physical schema): 详细描述复杂的底层数据结构逻辑层(log...

2020-02-21 06:54:31 6559

原创 【数据库】关系数据库(Relational Databases)

关系数据库(Relational Databases)关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据Relational Query LanguagesTuple Relational Calculus (TRC)Relational Algebra (RA)SQL举例说明:零、名词概念1. 基数 和 参数数cardin...

2020-02-21 06:49:26 1734

原创 【其他】RDF与SPARQL

RDF(Resource Description Framework)RDF在线验证器RDF(资源描述框架)是描述网络资源的 W3C 标准<?xml version="1.0"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:si="http://www.runoob.co...

2020-02-21 06:44:58 487

原创 【其他】XML及Schema

XML一、XMLXML document 描述了 structure and data.has internal representation of a tree: DOM tree or infosetis divided into smaller pieces called elements1. 基本原则XML 有着严格的错误处理(XML has draconian erro...

2020-02-21 06:43:41 243

原创 Kattis - battleship【模拟】

题目链接:Kattis-battleship题目大意:这道题目意思真的好坑。。两个军队作战,互相射击对方的船,输入m,n,k,然后分别输入两个军队的地图。#表示该坐标上为船,_表示该坐标上为水。(两幅地图不相关)给出k个射击坐标,A先开始射击:如果A射击到B船,则继续射击。直到子弹用完 or B方无船 or A射击到水面-->则换B射击注意: B方无船,A停止射击。为了公平,A,B的回合次数一样,

2020-02-21 06:33:41 1202

原创 缓存设计

缓存设计参考文章:redis缓存穿透,瞬间并发,缓存雪崩的解决方法缓存处理流程:先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果名称说明缓存穿透查询缓存和数据库中都没有的数据缓存雪崩查询缓存中没有但数据库中有的数据(一般是缓存时间到期)缓存击穿缓存中数据大批量到过期时间,而查询数...

2019-01-14 20:04:39 270

原创 【区块链】分布式共识协议

分布式共识协议一、概述总结:私有链:封闭生态的存储系统,采用PAXOS、RAFT最佳联盟链:半公开半开放特性,采用拜占庭容错的PBFT算法比较合适公有链:POW、POS、DPOS是比较适合的高安全性的协议二、开放式POW工作量证明,通过竞争记账的方式解决去中心化的记账系统的一致性问题, 即以每个节点的计算能力即“算力”来竞争记账权的机制。1. 区块头如下图所示,区块...

2019-01-09 20:45:39 6921

原创 【第三方服务】腾讯云短信org.json冲突

腾讯云短信org.json冲突错误:Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.json.JSONObject.put(Ljava/lang/String;Ljava/util/Collection;)Lorg/json/JSONObject;原因:包依赖冲突问题,qcl...

2018-09-14 19:03:32 2616

原创 持续集成 Gitlab-CI 【Maven】【部署至服务器】

持续集成 Gitlab-CI概念定义原则业界普遍认同的持续集成的原则包括:需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有 git、svn 等;开发人员必须及时向版本控制库中提交代码,也必须经常性地从版本控制库中更新代码到本地;需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每...

2018-08-27 15:44:26 10888 1

原创 springboot maven 配置多环境部署

springboot maven 配置多环境部署参考文章:here1. 环境配置文件spring boot允许你通过命名约定按照一定的格式 application-{profile}.properties来定义多个配置文件将各环境配置文件放在/src/main/resources/目录下,例如:application-demo.properties2. POM文件配置...

2018-08-22 10:51:32 294

原创 nginx配置和使用

nginx配置和使用参考文章:here1. 安装命令: brew install nginx2. 启动命令:nginx效果:在浏览器输入 http://localhost:8080/ 就能看到nginx在本计算机搭建的服务器,”Welcome to nginx!”3. 配置文件可以通过where nginx 查看 文件目录:/usr/local/etc/n...

2018-08-22 10:12:36 234

原创 【第三方服务】网易云对象存储使用笔记

网易云对象存储使用笔记官方文档:here 实际上官方文档写的已经很清楚了,这里再简单记录一下,需要注意的是:网易云桶中文件名(key值) 需要文件后缀,如果不带文件后缀,文件下载无法打开一、网易云对象存储 网易对象存储为用户提供基于互联网的数据存取服务,通过使用 NOS,用户可以随时通过网络将文本、图片、音视频等各类文件存储到 NOS 系统中,并随时可以通过网络进行安...

2018-08-21 15:10:25 1584

原创 【第三方服务】微信公众平台授权登录

微信公众平台授权登录一. 基本配置1.注册 认证服务号才拥有登陆授权权限a. 获取公众平台微信公众平台,获取公众账号,进入微信公众平台测试账号,获得appID和appsecret微信公众平台测试账号b. 配置IP白名单(正式) 在IP白名单内的IP地址作为来源,获取access_token接口才可调用成功2.配置回调函数 修改...

2018-07-25 21:11:12 2253 1

原创 【区块链】智能合约字符串拼接

智能合约字符串拼接string是数组,solidity不支持动态扩容,只能写个for循环一个个加,此处采用的做法是转成bytesfunction stringAdd(string a, string b) returns(string){ bytes memory _a = bytes(a); bytes memory _b = bytes(b); bytes ...

2018-07-13 14:33:36 1434 2

原创 【Java】 使用POI对Excel进行读写操作

使用POI对Excel进行读写操作参考地址:here and here1 . 下载JAR包并导入下载地址:herea. 新建lib文件夹,将poi-3.17.jar以及poi-ooxml-3.17放进入 b. 在Maven中加入&lt;dependency&gt; &lt;groupId&gt;org.apache.poi&lt;/groupId&gt; &l...

2018-04-26 17:20:07 624

原创 【Java】通过httpClient同步异步发送请求

异步和同步概念: 同步:发送一个请求,需要等待返回结果,然后才能发送下一个请求 异步:发送一个请求,不需要等待返回结果,随时可以发送下一个请求Java 同步 GET 方法 private void sendRequest() throws Exception{ String path ="/statistic/info"; CloseableHttpClient h...

2018-04-19 13:28:17 20613

原创 【Java】通过Maven打可执行jar包

通过Maven打可执行jar包 方法:利用maven-shade-plugin : 用于把多个jar包,打成1个jar包首先工程中需要有一个包含main函数类修改maven 的 pom.xml 文件&lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;groupId&gt;org.apach...

2018-04-19 13:23:20 501

原创 【区块链】记录合约开发中遇到的坑

记录合约开发中遇到的坑一、 交易没有被广播问题:合约在在线编译器remix上能够正常读写数据,在本地私有链上却失败数据写不进去,也没有任何错误提示。例如:&gt; bikeshared.userRentStart.sendTransaction("0x34ecdbb13d4e58d5c7aa749feaf5c0f660a3d896",1, {from:user1})===...

2018-03-29 17:19:57 3570 2

原创 【区块链】利用Node.js开发与合约交互的Web界面

利用Node.js开发与合约交互的Web界面参考地址:here and here零、在私有链上部署合约// 本文中用到的MetaCoin合约pragma solidity ^0.4.2;contract MetaCoin { mapping (address =&gt; uint) balances; event Transfer(address index...

2018-03-11 16:10:37 8426 2

原创 【区块链】以太坊 web3j for java 使用 - 部署和调用合约 <3>

web3j 部署合约环境:mac os &amp;amp; android studio官网:here以太坊 web3j for java 配置和使用&amp;lt;1&amp;gt;: here以太坊 web3j for java 使用 - 为用户创建凭证credentials &amp;lt;2&amp;gt;:here一、编译合约solc &amp;lt;contract&amp;gt;.sol --bin --abi --optimize -o

2017-11-29 17:53:30 24333 12

原创 【区块链】以太坊 web3j for java 使用 - 为用户创建凭证credentials <2>

为用户创建凭证credentials &lt;2&gt;环境:mac os &amp; android studio参考:here一、初始工作查看上一篇文章:here二、创建credentialsString filePath = Environment.getExternalStorageDirectory().toString() + "/Picture...

2017-11-28 02:34:05 10815 3

原创 【区块链】以太坊 web3j for java 配置和使用 <1>

以太坊 web3j for java 配置和使用 &lt;1&gt;官网:here环境: mac &amp; android studio一、 导入包在app/build.gradle中:compile 'org.web3j:core:3.0.1-android'即: dependencies { compile fileTree(include: ...

2017-11-25 12:12:22 13533 2

原创 【区块链】Android通过Geth RPC接口实现接入以太坊私有链

Android通过Geth RPC接口实现接入以太坊私有链环境:mac os & android studio一、启动私有链搭建方法见 here启动并设定RPC端口:geth --identity "linoy" --rpc --rpcport "8080" --rpccorsdomain "*" --datadir "./" --port "30303" --nodiscover --rpcapi

2017-11-12 21:56:42 8492 12

原创 Xcode 引 boost 库 - 利用homebrew

Xcode 引 boost 库a. 安装homebrewb. 下载boostbrew install boostc. 查看安装路径brew --cached. 进入到homebrew目录可以看到一个boost的压缩包,解压并进入boost_1_65_0文件夹例如我的目录:/Users/pro/Library/Caches/Homebrewe. 执行boostrap.shf. 上一步执行成功后

2017-10-04 22:07:11 1400 1

空空如也

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

TA关注的人

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