- 博客(124)
- 资源 (9)
- 问答 (2)
- 收藏
- 关注
原创 如果学习开源框架
当我们在学习一个开源框架时,成熟的开源框架一般都会非常庞大,各个模块、包之间会有依赖关系,而如果只是修改开源包的话,始终觉得不能真正地从根本上理解、实现一个开源框架。如果自己去模仿着写一个的话,也会非常痛苦,因为想实现模块A,但是写着写着,发现模块A依赖了太多其他模块的东西,导致无法继续模仿下去。有一个技巧可以解决上述问题,我们把开源包用IDE打开,然后去除想要学习的模块A,以及依赖模块A的包...
2018-09-29 21:26:24
419
1
原创 guava concurrent学习(一):AbstractFuture
一、内部类分析1、Waiter用于将多个等待的线程串起来,内部有成员变量thread与next,组成等待此future完成的链表,最重要的方法是unpark如下:void unpark() { // releaseWaiters方法会调用这里。 // This is racy with removeWaiter. The consequence of the race is ...
2018-09-28 21:53:28
1899
原创 java asm GeneratorAdapter生成子类并加载
加载器:package com.zz4955.asm.generatoradaptor;public class MyClassLoader extends ClassLoader { public Class defineClass(String name, byte[] b) { return defineClass(name, b, 0, b.length...
2018-08-09 17:56:35
1347
原创 Netty ByteBuf 转 String
public String convertByteBufToString(ByteBuf buf) { String str; if(buf.hasArray()) { // 处理堆缓冲区 str = new String(buf.array(), buf.arrayOffset() + buf.readerIndex(), buf.readableBytes()...
2018-07-12 23:32:00
9587
2
原创 jmeter导入jmx文件报错:missing class com.thoughtworks.xstream.converters.ConversionException
参考博客:jmeter导入jmx文件报错:missing class com.thoughtworks.xstream.converters.ConversionException如果还不行,就把jpgc-json-2.6.zip里的文件放到lib\ext下。
2018-06-04 19:20:46
3944
原创 Springboot 之 使用POI操作excel
为了方便地使用poi操作excel,在这里,使用类BubbleSheet对Poi中的Sheet进行封装,BubbleSheet类如下所示:import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFPalette;import org.apache.poi.hssf.us...
2018-05-07 17:15:56
1776
原创 mac升级失败、开不了机恢复资料的方法
参考这里的方法:MacBook Pro 系统故障,无法启动,如果拷贝硬盘里的数据?我的做法: 先是通过磁盘工具挂载Macintosh HD磁盘(一开始系统不会自动挂载),然后是通过终端,用nc命令将数据传到类unix系统上(因为也要使用nc建立服务器端)。之所以不直接在终端里拷到移动硬盘里,是因为移动硬盘在mac上挂载为只读模式。 ...
2018-04-18 10:41:50
11993
原创 java中的&& & || |
有的博客把按位&称为非短路逻辑与,把按位|称为非短路逻辑或,其实仅仅是效果上等同而已,是按位&与按位|的巧妙运行,并不是java本身存在这样的操作,真 & 真 ===》 真真 & 假 ===》 假假 & 真 ===》 假假 & 假 ===》 假从效果上可以发现,按位&可称为非短路逻辑与,不论第一个判断表达式结果如何,第二个判断表示式都会被求值,而前后两个判断表达式结
2018-01-03 20:28:00
495
原创 编程随想
面向对象,每个人都是面向对象的高手,不懂手机内部原理,依然把手机玩的很溜;我们会使用那么多软件,却不知道软件是如何实现的。这个世界都是面向对象的。这个世界又是面向过程的,你要过完这一生,得先经过出生、成长、衰老、死亡。这个世界存在函数式吗?是的,特定自然规律在作用范围内,给定一个输入,必定能得到预计的输出。人是不可靠的,这世界也存在偶然,要不然,世界就是函数式的了,或许也会少很多乐
2017-11-01 18:04:35
15667
原创 memcmp的问题
#include#includestruct A{ int a; char str[8]; int b;};struct B{ int a; char str[8]; short b; short c;};int main(){ //返回0,但是不一样。 A a1; B b1; memset(&a1,0,sizeof(a1)); a1.a=1; memcpy
2017-10-10 17:34:41
1838
原创 CHECK_NOTNULL template
#include using namespace std;#define CHECK_NOTNULL(val) \ CheckNotNull(__FILE__, __LINE__, "'" #val "' Must be non NULL", (val))template T* CheckNotNull(const char* file, int line, const cha
2017-09-02 16:14:26
2332
原创 继承、向上转型、向下转型时虚函数调用规则
#include using namespace std;class A{public: virtual void print(){ cout<<"virtual A print"<<endl; } void fun(){ cout<<"non-virtual A fun"<<endl; }};class B:publi
2017-09-01 11:58:32
883
原创 LRU算法 C++实现
整体思路:一个循环队列同时使用节点的计数来标记节点的新旧信息,如果有新节点加入时,就把最旧的节点清空,将新节点加入。具体画一下图比较好理解。#include #include #include #include using namespace std;static const int LEN = 5;int main(){ vector vires(LEN,-1);//
2017-09-01 09:15:11
3003
原创 python wechat_sdk SSLError
在用wechat_sdk开发微信公众号时,出现了以下错误:SSLError: HTTPSConnectionPool(host='api.weixin.qq.com', port=443): Max retries exceeded with url最开始以为是代码写的不对的问题,最后想起来,之前更新了一次requests包,我把requests包改回低版本就没问题了。相关链接:S
2017-08-28 11:05:08
2319
1
原创 深入理解红黑树
对于红黑树的原理与算法,推荐大家看这个博客:红黑树(一)之 原理和算法详细介绍在这里,我想写一些自己的体会,在变色、旋转过程中,是如何使树满足红黑树的规则的。请结合上面那个博客阅读。插入情况1:插入情况2:插入情况3:删除的情况(4种):
2017-08-26 08:30:30
432
原创 传递类的成员函数给thread
#include #include using namespace std;class love{public: void saylove(string name); static void sayloveyou();};void love::saylove(string name){ cout<<"I love "<<name<<"!"<<endl;}
2017-08-17 19:30:56
3133
1
原创 矩阵链乘法
#include #include using namespace std;void print(vector &vcname, vector> &virecord, int b, int e){//包含e if(b==e) cout<<vcname[b]; else{ /* cout<<"("; print(
2017-07-23 11:37:12
360
原创 BFPRT实现
这里自己实现了一下BFPRT算法,并与别人的实现版本进行效率对比,以及与C++标准库中的sort排序后选取top-k进行效率对比。发现,C语言版本的效率更高一些,在数据量不是海量数据时,sort的速度竟然比BFPRT要快。//// BFPRT.cpp// NowCoder//// Created by soybeanmilk on 2017/7/22.// Copyright
2017-07-22 16:52:33
412
原创 全排列
/*#include #include using namespace std;vector vib;vector vires;void dfs(vector &vi,int ct){ if(ct>=vi.size()){ for(auto ieh: vires) cout<<ieh<<" "; cout<<endl;
2017-07-20 19:10:50
319
转载 最小堆
原博客:白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇/* 说明: 1、堆数组的下标从0开始; 2、下标为i的父结点的下标为(i-1)/2,其子节点为2*i+1以及2*i+2; 3、最后一个叶子节点(下标为i-1)的父节点为(n-1-1)/2即n/2-1. */#include #include using namespace std;void M
2017-07-20 14:51:36
437
转载 快速排序
原博客:白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇#include #include using namespace std;int partition(vector &vi,int start,int end){//包含end int temp=vi[start]; while(start<end){ while(end>
2017-07-20 11:38:43
254
转载 归并排序
原博客:白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇#include #include using namespace std;void merge(vector &vi, int start, int mid, int end, vector &vitp){ int k=0;//注意:这个k每次调用merge时都从0开始 int i=sta
2017-07-20 10:39:54
350
转载 直接选择排序
原博客:白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇#include #include using namespace std;void directselectsort(vector &vi){ if(vi.size()<=1) return ; int n=vi.size(); for(int i=0;i<n-1;++i){//当选择
2017-07-20 10:38:07
242
转载 shell排序及两种优化
原博客:白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇#include #include using namespace std;void shellsort(vector &vi){ if(vi.size()<=1) return ; int n=vi.size(); for(int step=n/2;step>0;step/=2){
2017-07-20 09:14:03
639
转载 插入排序及2种优化
原文:白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇#include #include using namespace std;void insertsort(vector &vi){ if(vi.size()<=1) return ; int n=vi.size(); for(int i=1;i<n;i++){ int
2017-07-20 00:45:36
288
转载 冒泡排序及2种优化方法
原博客:白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇#include #include //#include //size_tusing namespace std;void bubble(vector &vi){ if(vi.size()==0) return ; int n=vi.size();//还是不要用size_t了,要不然,(s
2017-07-19 23:41:48
415
原创 24点游戏
参考链接:速算24点上面的链接里的代码是不允许计算中出现小数,这也是题目的要求,所以,那个代码对于“5 5 5 1”这个组合是没法计算出正确结果的。我把程序改为能计算"5 5 5 1"之类的需要出现小数的情况,以及能输出相应的表达式,这里只输出一种可能的表达式。/*题目规定整个计算过程中都不能出现小数,所以下面的代码能过。但是对于5,5,5,1是不能得到正确结果的,原因在于这里用的
2017-07-19 10:09:09
379
原创 二叉搜索树
#include #include using namespace std;typedef struct node{ int data; struct node* lchild; struct node* rchild;} Node,*pNode;void insert_sbt(pNode &T, int data){ if(T==NULL){
2017-07-18 14:23:17
183
原创 ubuntu 锐捷客户端提示认证网卡存在多个IP地址的解决方法
ubuntu下用锐捷登录时提示:检测到您的认证网卡上设置有多个ip,请只保留一下ip,再进行认证解决方法:删除网卡上的ip地址:ip addr del [ip地址] dev [网卡名]
2017-07-03 22:24:10
4381
原创 matplotlib subplots 设置总图的标题
matplotlib subplots 设置总图的标题 :fig.suptitle(dname,fontsize=16,x=0.53,y=1.05,)
2017-07-01 13:26:23
13634
1
原创 matplotlib subplots 设置每个子图的x轴的标号
matplotlib subplots 设置每个子图的x轴的标号,需要使用ax0.set_xticklabels(['a','b','c'...])
2017-07-01 12:19:49
8213
1
原创 matplotlib subplots 调整子图间矩
在matplotlib中,用subplots画子图时,有时候需要调整子图间矩,包括子图与边框的间矩,子图间上下间矩,子图间左右间矩,可以使用fig.tight_layout()函数:Help on method tight_layout in module matplotlib.figure:tight_layout(renderer=None, pad=1.08, h_pad=Non
2017-07-01 12:17:23
12785
原创 Insert Interval
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).You may assume that the intervals were initially sorted according to their start times.E
2017-06-27 16:32:18
288
原创 C++ split函数
#include#include#includeusing namespace std;vector split(string s,char token){ istringstream iss(s); string word; vector vs; while(getline(iss,word,token)){ vs.push_back(w
2017-06-22 18:47:50
4161
原创 遍历一遍找到第一个出现一次的字符
题目描述找出字符串中第一个只出现一次的字符 输入描述:输入一个非空字符串输出描述:输出第一个只出现一次的字符,如果不存在输出-1输入例子:asdfasdfo输出例子:o使用map记录字符出现的次数,使用vector记录只出现一次的元素及其次序,在删除重复的元素的同时保持先后次序,最终返回v
2017-06-22 13:48:14
613
原创 成绩排序
题目描述查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter
2017-06-22 00:55:06
407
原创 矩阵乘法计算量估算
编写程序计算不同的计算顺序需要进行的乘法次数 输入描述:输入多行,先输入要计算乘法的矩阵个数n,每个矩阵的行数,列数,总共2n的数,最后输入要计算的法则输出描述:输出需要进行的乘法次数输入例子:350 1010 2020 5(A(BC))输出例子:3500//3 50 10 1
2017-06-22 00:05:23
2430
原创 火车进站 一个入栈序列的所有出栈顺序
题目描述给定一个正整数N代表火车数量,0输入描述:有多组测试用例,每一组第一行输入一个正整数N(0输出描述:输出以字典序从小到大排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行,具体见sample。输入例子:31 2 3输出例子:1 2 31 3 22 1 32 3 13 2 1#inclu
2017-06-21 19:40:52
3228
原创 KMP算法思考
参考链接:KMP 算法(1):如何理解 KMP KMP算法详解//// kmp.cpp// algorithm//// Created by soybeanmilk on 2017/6/11.// Copyright © 2017年 soybeanmilk. All rights reserved.//#include #include using names
2017-06-12 00:49:58
296
原创 xcode8 疯狂ios讲义 连连看小游戏
在照着《疯狂ios讲义》的源码写连连看小游戏游戏时,写完发现界面跟原程序不一样,而且View.bottom = Superview.Bottom以及View.top = Superview.Top设置不了,拖动时只能设置成Top Layout Guide的bottom与top。解决办法:1、对于界面不对,需要删除LaunchScreen.storyboard,以及在Info.plist里删
2017-05-29 22:34:53
1279
concurrent 摘自guava concurrent
2018-09-28
achartengine-1.1.0-0.jar
2017-10-30
《淘宝技术这十年》完整版 带批注.pdf
2017-10-16
Netty.in.Action.2015.12.pdf
2017-09-03
用sbt构造好的Intellij版的spark工程
2016-07-23
c语言百例 cpp文件
2012-01-05
javafx让小球从上次静止的位置开始运行?
2016-02-23
Python如何实现多线程与多进程的配合工作?
2015-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人