自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

code by code

start by A snippet of code

  • 博客(42)
  • 收藏
  • 关注

原创 java agent简介&热部署SDK接入

java agent简介使得开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在JVM上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了一种虚拟机级别支持的AOP实现方式,使得开发者无需对 JDK 做任何升级和改动,就可以实现某些 AOP 的功能了使用接入:java agent使用1.1public class PreMain { … pub...

2020-11-04 14:50:00 2016 1

原创 只使用移位加减法实现乘法、除法,不使用类库、除法、乘法运算符号

package algorithm;public class MulCpu { public static int multiply(int a, int b) { int result = 0; for (; b > 0; ) { if ((b & 0x01) == 0x1) { result += a; } a <<= 1; .

2020-08-13 17:38:57 342

原创 从mysql源码看GAP LOCK死锁问题

环境篇:关于mysql源码开发环境搭建1.基础开发包安装,一般ubuntu安装完这些就OK了> sudo apt-get -y install \ libreadline-dev libreadline6 libncurses5-dev libboost-dev \ g++ openssl libssl-dev bison make cmake git && \ apt-get clean2.容器的选择,大家大可以根据自己的喜好来选择,无论是docker、W.

2020-07-17 14:06:05 327

原创 Make gcc 8.3.0 build on MacOS 10.14.4(c++ issue: '_Atomic' does not name a type )

headers-10.14.4-fix.patchdiff -ruN gcc-8.3.0-old/fixincludes/fixincl.x gcc-8.3.0/fixincludes/fixincl.x--- gcc-8.3.0-old/fixincludes/fixincl.x 2018-02-22 11:12:26.000000000 -0500+++ gcc-8.3.0/fixi...

2019-04-12 17:53:56 1942 1

原创 sql string 转 key value 形式

SELECT str_result,@key:=',key=',@i:=LOCATE(@key,str_result)+length(@key),@len:=LOCATE(',',str_result,LOCATE(@key,str_result)+1) -@i,substr(      stat_result,      @i      ,@len)FROM t_table...

2018-10-26 10:59:33 1705

原创 java 各个字节码的用法及含义

收集整理:https://wds.gitee.io/jvm-code/codeByNo.html

2018-07-10 15:04:45 845

原创 shell 使用指明参数

for i in $*do case $i in --PORT) shift; PORT=$1 shift; ;; --MASTER) shift; MASTER=$1 shift ;; --MASTERIP) shift; MASTERIP=$1 shift ;; --MASTERPORT) shift; MAS...

2018-05-17 11:20:26 225

原创 Java 自己动手写一个线程锁

public class CasTip { private static Unsafe unsafe = UnsafeObject.getUnsafe(); int lock = 0; static long offset; static { try { offset = unsafe.objectFieldOffset(CasTip.class.getDeclaredFiel...

2018-04-23 15:17:05 257

原创 RocksDB sst 文件组成格式

Footer 存储了index/meta_index的offset,还存了magic标识Metaindex 存储了 [meta block: filter] .、[meta block: properties] [meta block: compression dictionary]、[meta block: range deletion tombstone]、 [metaindex block]...

2018-04-23 15:09:45 4466

原创 myrocks 优化数值存储方面

数值压缩存储方面CREATE TABLE t1(a INT, b VARCHAR(20), c char(5), d int, pk INT AUTO_INCREMENT, PRIMARY KEY(pk) comment 'cf_1', unique key idx2(b) comment 'cf_2‘) engine= rocksdb; INSERT INTO t1 (pk,a,b,c) VAL...

2018-04-19 15:55:05 386

原创 myrocks store format 举例

create table coltypes(c1 int not null,c2 int,c3 char(10) not null,c4 char(10),c5 varchar(10) not null,c6 varchar(10),c7 blob not null,c8 blob,primary key c1) comment="ttl_duration=

2017-12-14 14:53:38 443

原创 go 使用lib 调用 c++ 方法(c 调用形式)

lib.cpp file (这里面你可以写 c++ 代码 ,但是go 需要调用的,你需要写成 红色标记的方式导出)extern "C" int start(void);int start()//int argc, char **argv{ return;}lib.hint start(void);package main/*#include "lib.

2017-10-27 18:22:39 1543

原创 myrocks 的事务

myrocks 支持两种事务 一种是Rdb_writebatch_impl 另一种 是 Rdb_transaction_impl前一种 将 将 一次batch 作为一次事务提交,而后一种 是 rocksdb 内置的事务了而myrocks对事务的选择,可以从源码里看出 如果跳过 tx_api 并且是 在主从同步 使用 Rdb_writebatch_impl ,或者 在 master

2017-10-19 15:30:20 353

原创 myrocks 的 pk 的生成原理(k/v)

rocksdb 是一种key/value 存储的 ,那么 在一条数据 发生存储的时候,又是怎么计算 key值的第一步 先 存入当前key的 index_number(这个num 是rocksdb 自增计算的 存储在rocksdb内,key/value存储 和其他数据一样)index_number 可以range delete之类的操作 rdb_netbuf_store_i

2017-10-19 15:17:27 702

原创 mysql 与 engine 之间桥梁

我们都知道 c++ 是一种动态编译,静态执行的 语言 ,所以我们很好奇,为什么 mysql 可以做到 动态加入 engine的能力,翻开 MySQL 源码cmake/plugin.cmake IF(ARG_MANDATORY) SET (mysql_mandatory_plugins "${mysql_mandatory_plugins} bu

2017-10-19 14:59:20 281

原创 myrocks proc init梳理

void native_procedure_init() { TABLE_LIST tables; MEM_ROOT mem; READ_RECORD read_record_info; TABLE *table; int error; DBUG_ENTER("native_procedure_init");#ifdef HAVE_PSI_INTERFACE ini

2017-10-17 15:31:33 329

原创 myrocks ttl的使用

const char *const RDB_TTL_DURATION_QUALIFIER = "ttl_duration";/* Qualifier name for a custom per partition ttl duration.*/const char *const RDB_TTL_COL_QUALIFIER = "ttl_col";从 myrocks 源码中

2017-10-17 10:49:54 351

原创 go get -insecure 修改URL(uses insecure protocol)

git config --global url."git@${url}:".insteadOf "http://${url}/"go get -v -insecure '${url}${project}'

2017-10-10 16:27:36 5440

原创 myrocks build 镜像

git clone https://github.com/facebook/mysql-5.6.git cp Dockerfile start .sh my.cnf mysql-5.6/mysql_buildcd mysql-5.6 && docker build -fmysql_build/Dockerfile --tag ${tag_mysql} .

2017-09-30 14:56:50 347

转载 在Java中直接调用js代码

JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码。在Java中直接调用js代码不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert” is not defined。 package com.sinaapp.manjushri; import javax.script.ScriptEng

2017-09-15 16:54:20 1542

原创 用nodejs 写一个 jvm

知识背景:我们大家都听过 Java 常量池,其实他里面就存了 class 相关信息,比如 这个类的包名,那么 当 执行到 这一句的时候,要加载类的时候,我们就可以 去做我们自己事,比如 调用js 处理这些事情,而当一些计算型的事情我们同样可以这么做,也就是 说我们 只要,把Java基础库写完,就可以用node 跑 class这思想就是指令解析,有点类似Java,这里我贴一点代码

2017-09-14 13:58:12 733

原创 docker网络配置方法总结

docker网络配置方法总结时间 2014-11-18 18:18:03  CSDN博客原文  http://blog.csdn.net/feiskyer/article/details/41245463主题 Dockerdocker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP

2017-09-12 15:43:15 424

原创 yacc 入门 demo

看了 mysql parse 着手看了看 yyparseinclude.h#ifndef MAIN_HPP#define MAIN_HPP#include #include #include using namespace std;#define YYSTYPE string#endiflex.l%{#include "include.h

2017-09-12 11:10:19 1367

原创 MySQL 读取 frm 源码

MySQL 底层实现

2017-09-07 15:30:51 1302

原创 MySQL 源码导读 5.7

mysql 主要脉络 (看c/c++ 建议使用QT)文件 函数1.sql->mysqld.cc(这是整个MySQL的入口) mysqld_socket_acceptor->connection_event_loop();2.sql/conn_handler->connection_handler_manager.ccm_connectio

2017-09-05 16:41:18 1914 1

原创 docker aliases

# docker aliasesalias dockertls='export DOCKER_TLS="--tlsverify --tlskey=$HOME/docker/.certs/key.pem --tlscacert=$HOME/docker/.certs/ca.pem --tlscert=$HOME/docker/.certs/cert.pem"'alias dockertls1='

2017-08-30 10:30:35 1438

原创 Go char 与string 的拼接 数据加密

package resourceimport ( "crypto/sha1" "encoding/base64" "io")func Encode(encStr string) string { b := make([]byte, 0) sha := sha1.New() io.WriteString(sha, encStr) b64 := base64.StdEnco

2017-08-18 14:00:25 870

原创 go 正则的使用

package utilsimport ( "fmt" "regexp" "strings")func FilterEnv(s string, env map[string]interface{}) string { reg := regexp.MustCompile("\\$\\{(.+?)\\}") var getVal = func(key string) interf

2017-08-18 13:54:36 306

原创 go http 请求封装

package resourceimport ( "encoding/json" "fmt" "io/ioutil" "net/http" uri "net/url" "strings")func Get(url string, query map[string]string) (result string, err error) { str := "" i := 0

2017-08-18 13:53:33 915

原创 go 生成随机字符串

func GetRandomString(l int) string { str := "0123456789abcdefghijklmnopqrstuvwxyz" bytes := []byte(str) result := []byte{} r := rand.New(rand.NewSource(time.Now().UnixNano())) for i := 0; i < l;

2017-08-18 13:52:08 20428

原创 TensorFlow 文本识别

import pandas as pdimport numpy as npimport tensorflow as tffrom collections import Counterfrom sklearn.datasets import fetch_20newsgroupsHow TensorFlow worksimport tensorflow as tfmy

2017-07-24 22:32:21 4412

原创 arduino 控制8*8点阵

int x[] = {18,17,16,15,14,13,12,11};int y[] = {6,7,8,9,5,4,3,2};void setup(){ for(int i=0;i<=7;i++){ pinMode(y[i],OUTPUT);//定义小灯接口为输出接口 } for(int i=0;i<=7;i++) pinMode(x[i],OUTPUT);

2017-06-16 16:11:04 12664

原创 selenium+phantomjs 爬虫 获取中国移动,电信,联通通话记录

主要获取中国电信,中国移动,联通通话记录 提取征信维度,使用selenium+phantomjs完成对网站数据的爬取,由于phantomjs不符合 分布式爬取要求,所以自己动手重构了phantomjs的源码http://git.oschina.net/wds/contact有任何问题欢迎 留言 QQ:948993066

2017-06-12 15:22:36 17528 2

原创 从汇编 认识锁的概念

我们都知道 所有语言 都将转化为 汇编语句才能被 机器所执行,比如mv ax,bx我们可以认为这条语句具备 原子性,那这和我们认识的锁又有什么关系呢,我们都知道 进程间切换都是靠时间片 ,也就是时间中断,当一个时间片 中断过来时,我们 会从我们的进程表 拿出一个 优先级高的(一般这么设计)执行,并压入堆栈 cs,ip,代码段,指针,在保护模式下,这个cs,ip又有点不同,那我这个保证

2017-06-08 10:25:14 1732

原创 K8S 的搭建步骤

#启动etcdsudo docker run -d --net=host --name=etcd1 -v /etc/kubernetes/ssl:/etc/kubernetes/ssl -v /var/etcd/data/:/var/etcd/data/ gcr.io/google_containers/etcd:3.0.17 /usr/local/bin/etcd --data-dir=/v

2017-06-08 10:01:11 1452

原创 go vender 的环境搭建和使用

Firstgo get -u github.com/kardianos/govendor 编译 一个 govendor 然后 添加到 path 环境变量Quick Start# 设置你的工程cd "my project in GOPATH"govendor init# 加入存在的 GOPATH 文件到vendor.govendor add +external

2017-06-08 09:52:17 6653

原创 selenium 拦截网站非ajax数据,爬虫处理js

WebDriver driver = new MyPhantomJSDriver(sessionId, 48105); driver.findElement(By.name("username")).sendKeys(name); driver.findElement(By.name("idcard")).sendKeys(idCard); driver.findElement(By.

2017-04-16 15:16:37 1977

原创 最简单的汇编 happy new year

汇编 简单入门 assembly:org 0100h jmp LABEL_BEGIN[SECTION .s16]LABEL_BEGIN: mov ax, cs mov ds, ax mov es, ax xor esi, esi xor edi, edi

2017-04-14 19:05:44 817

原创 selenium 拦截网站数据,爬虫处理js

((RemoteWebDriver) driver).executeScript( "window.getJSON=$.getJSON;$.getJSON=function(){ window.funObj=arguments[2]; var myFun=function(data){ window.myData=data;} ; window.getJSON(arguments[0],

2017-04-13 23:01:31 3649

原创 ruby 解决 php aes 与 ruby aes zero 算法不用的问题

gemfile 加如下代码gem"ruby-mcrypt"使用require 'mcrypt'module Crypt def self.append_features(base) super base.extend(AesBase64) end module AesBase64 # require 'openssl' # r

2017-04-13 22:51:50 586

空空如也

空空如也

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

TA关注的人

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