自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (1)
  • 收藏
  • 关注

原创 论文阅读-2004-jeffrey-mapreduce

1. Research Objective实现一个基于普通主机集群的高可扩展性的分布式编程框架,使用者不需要去考虑计算的并行,系统的容错,数据的分发,负载平衡等问题,专注于业务本身。2. Programming model计算任务的输入是一个键值对的集,输出是另一个键值对的集,用户将将计算任务抽象成map和reduce两个阶段。map阶段,map函数接受一个键值对的输入,输出键值对的集合作为中间结果,mapreduce库负责将所有具有相同键的值进行聚合,reduce阶段的输入reduce阶段,re

2021-05-05 16:29:04 227

原创 Clion查看数组指针对应数组的全部元素

在Clion中使用GDB进行debug,当使用new方式产生一个数组并赋值给指针时,在debug中只能看到这个数组的第一个元素值,也即这个指针对应地址的值。可以通过在evaluate中进行一个强制转换获得实际的完整数组内容(MyType[size])*MyTypeArray参考内容:stackoverflow...

2021-03-24 10:44:26 1525 1

原创 通过Alfred的workflow自动化C++环境配置

在上一篇文章Mac上使用docker环境进行C++开发的实践

2021-03-04 11:56:38 341

原创 Mac上使用docker环境进行C++开发的实践

背景最近换上了mbp作为开发工具,在mbp上默认的c++环境是clang+LLVM那一套工具链,虽然说是相比gnu更加先进,但是因为我的代码经常需要在linux服务器和本机上跑,而clang和gnu的编译器在编译器参数,api支持等方面还是存在一定差异,最简单的libc++和libstdc++的标准库的不同就能浪费大量的时间在上面做兼容。我想了如下几个方案,并最终采用了docker的方案。把整个mac的编译环境改成gnu那一套,问题:可能导致mac上一些需要编译的工具出现潜在问题写代码的时候就考虑c

2020-11-12 12:29:19 1944

原创 github支持Latex渲染

github原生不支持Latex渲染, 论文笔记等在github下查看非常不好看. 查找资料后, 选择了MathJax Plugin for Github这个插件.但是这个插件在自动安装过程中, 出现报错Could not load extension icon 'icon16.png', 查找相关的issue后, 解决方案如下:通过git工具clone对应的git仓库 git clone [email protected]:orsharir/github-mathjax.git打开chrome, 按照c

2020-10-09 13:16:39 1234

原创 JDK1.8 锁的实现与原理(二) 同步结构的基类AQS

存在状态依赖性的类在并发操作时就会有同步问题, 保证这种类的线程安全的一种方式就是将状态操纵委派给另一个线程安全的状态维护类. AbstractQueueSynchonizer就是在JUC包中, 多种同步容器依赖的底层状态维护类.AQS的成员方法与使用在本系列的第一篇文章中, 我们自己实现了一个锁类, 这个锁类有两个组成部分, 一个原子性的状态成员, 和一个线程安全的等待队列, 这两个成员也正是大多数同步类的基本框架. AQS维护了一个volatile int state和一个FIFO的等待队列, 其中

2020-05-21 16:22:56 258

原创 Java并发: ThreadLoal与内存泄露

Java并发中提供了ThreadLocal类用于存放线程本地的对象, 顾名思义每个线程都会有一个独立的实例, 线程之间相互不会影响, 由此保证了线程安全. 我们来看一个例子public class TestThreadLocal { public static void main(String[] args) throws InterruptedException { T...

2020-04-17 00:44:17 215

原创 一个跨专业选手的后端java实习面经 已拿阿里美团字节offer

说在前面先说下自己基本情况,我是本科土木, 保研本校计算机, 保研的时候因为跨专业所以被调成了专硕, 总共两年, 所以只读了半年就要准备找工作. [跨保相关的经验, 我最后有链接] 我们实验室基本都是做的纵向课题, 并且专硕学硕的培养计划是一致的, 接触横向的机会并不多. 考虑到做算法两年时间(实际上只有一年)很难有竞争力, 并且这两年算法的内卷比较严重的情况, 我开始了自己的自学研发的道路....

2020-04-16 10:45:59 1021

原创 MyBatis基础(三) 底层调用JDBC--源码分析

系列内容回顾:MyBatis基础(一) MyBatis入门与基本框架MyBatis基础(二) 代理对象的生成–源码分析前面的文章分析了Mybatis是如何在给定接口的情况下, 代替我们生成代理对象的, 这篇文章接着带大家来学习Mybatis.在之前提到, 无论是用代理生成Dao类还是自己手写Dao类, 都是用工厂方法获得一个SqlSession, 然后调用其select, update...

2020-04-13 16:41:42 1226

原创 四阶段法-出行分布计算 底特律法

底特律法计算未来出行分布% trans_planning 计算未来出行量分布function main()clc;clear;confirm = 0;while confirm == 0 inner = 0; % 是否使用算例标识 e = input('确定本次计算使用误差精度(推荐0.03):'); OD = input('请输入当前交通量方阵(输入1使...

2020-04-05 23:42:00 2843 3

原创 JDK1.8 Collection知识点与代码分析--TreeMap

本期系列文章的其他文章JDK1.8 Collection知识点与代码分析–整体框架JDK1.8 Collection知识点与代码分析–ArrayList&LinkedListJDK1.8 Collection知识点与代码分析–HashMapJDK1.8 Collection知识点与代码分析–LinkedHashMapJDK1.8 Collection知识点与代码分析–HashSe...

2020-04-05 11:45:35 131

原创 MyBatis基础(二) 代理对象的生成--源码分析

为保证连贯性, 建议先查看MyBatis(一)整体思路这个部分的源码比较多, 先谈思路. 假设我们自己要实现一个和MyBatis相似的功能, 给一个接口和一个方法-sql语句映射关系的xml, 生成一个代理类完成dao的工作, 应该怎么做?首先实现工具上, 有两种能用的工具, 一个是JDK动态代理, 另一个是CGLib动态代理, 两者的区别是JDK动态代理通过反射实现, 只能生成接口中声明的...

2020-04-02 15:09:42 302

原创 论文阅读-2017-Vidal-NEARP

文章概况关键技术: 记忆结构, 双向动态规划, 下界估计, 邻域空间结构的设计解决思路: 模式选择的最优化在邻域评价过程通过dp完成突出贡献: 对于带有最优方向选择的一个服务序列(例如ARP的情形)上进行的经典邻域操作, 提出O(1)时间复杂度的评价方法; 将最优方向的选择一般化为一个service的mode的最优选择, 进而将成果应用到Ejection chains和其他两种元启发式搜索...

2020-03-30 23:06:19 310 1

原创 MyBatis基础(一) MyBatis入门与基本框架

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录.简单说, MyBatis的目的是只需要程序员配置...

2020-03-29 16:40:05 278

原创 JVM的内存结构(一) 运行时数据区

学习Java的过程, 一个绕不过去的桩便是Java虚拟机JVM. JVM的存在赋予了Java的一次编写跨平台部署强大特性, 程序员编写的Java代码通过编译后形成字节码, 直接由虚拟机执行, 程序员也只需要和JVM打交道, JVM负责下层操作系统和硬件架构的差异性. 而掌握Java的执行和对Java性能进行分析调优的前提, 都是对JVM内部的结构, 逻辑, 设计思想的了解.本文带大家一起梳理一下...

2020-03-28 23:19:15 300

原创 1021 Deepest Root (25 分)c++实现【已AC】

#include<iostream>#include<set>#include<vector>#include<cstdio>using namespace std;const int maxn = 10005;set<int> G[maxn];bool marked[maxn]{ 0 };int component = ...

2020-03-24 21:31:06 138

原创 JDK1.8 Collection知识点与代码分析--HashSet&TreeSet

在HashMap的分析文章中, 笔者曾提到, HashSet是在HashMap上进行了简单的封装, 所以本文就来看下具体的封装细节.(其实细节也很少)HashSet的有两个成员变量如下 private transient HashMap<E,Object> map; // Dummy value to associate with an Object in the back...

2020-03-15 23:29:43 137

原创 mySQL中的锁与事务模型

今天的文章先从一条SQL语句讲起, 在商超系统或者购物系统的下单部分, 可以通过在事务中执行以下这条语句, 来避免商品的超卖// 若库存足够, 从商品库存减去3, 否则失败update items set num = num - 3 where id = xxx and num > 3; 这条语句能够正确的避免超卖发生这一点是可以肯定的, 但是这条语句有一个让我非常难以理解的地方....

2020-03-13 16:23:36 323

原创 JDK1.8 Collection知识点与代码分析--LinkedHashMap

文章目录ConstructorEntry添加和删除putValremoveNode按照访问顺序排序将最久没有访问的节点删除LinkedHashMap 手写LRU上一篇文章笔者对Collection包中非常重要的一个类HashMap进行了分析和总结, 如果你对HashMap的知识点有模糊, 建议先读一读JDK1.8 Collection知识点与代码分析–HashMap但是HashMap存在一些问题...

2020-02-24 16:57:13 159

原创 JDK1.8 Collection知识点与代码分析--整体框架

Java中的Collection包是JDK中非常重要的一个包, 也是面试中考察的重点, 本文自顶向下的对Collection包的常用数据结构之间的关系结构到Collection包中的常用类的实现原理的知识点进行一定的整理, 供自己和大家复习使用.Collection包的整体结构Collection自身是一个接口, 是对集合这一概念的抽象, 提供的常用API有:add(Object obj...

2020-02-23 21:08:31 186

原创 JDK1.8 Collection知识点与代码分析--HashMap

HashMap在了解HashMap之前, 首先谈一谈经常和它一起出现的HashTable.Hashtable 是早期 Java 类库提供的一个哈希表实现,本身是同步的,不支持 null 键和值,由于同步导致的性能开销,所以已经很少被推荐使用. TreeMap是基于红黑树实现的Map类, 其put,get操作的时间复杂度在O(logN), 但是它的键值存储是有序的, 顺序与compareTo或Co...

2020-02-23 21:02:33 135

原创 Java继承中重写equals和hashCode的注意事项

equals方法: 继承中该方法存在以下的问题: 如果子类能够拥有相等的概念, 则覆盖该方法时应该采用getClass方法; 如果由超类决定相等的概念, 那么就可以使用instanceof进行检测, 这样可以在不同的子类之间进行相等的比较.具体的重写流程:显式参数使用Object, 命名为otherObject, 稍后可能会进行转换检测是否是同一对象第一步判断null第二步, 判断是...

2020-02-22 16:38:37 1471

原创 读写者问题(读者优先, 写者优先)--基于管程的Java实现

使用Java实现了读优先和写优先的读写者问题, 使用管程的方式(封装成类)控制互斥和同步读者优先import java.util.concurrent.locks.*;public class ProducerAndConsumer { public static void main(final String[] args) { final fileRW f = n...

2020-02-16 00:13:58 2867

原创 JDK1.8 锁的实现与原理(一) 自己实现一个锁

文章目录Java中的锁机制一个并发操作的Demo用atomic实现并发控制(无阻塞)用lock实现并发控制自己写一个实现`Lock`接口的类简述CAS无锁机制Java中的锁机制在学习Java的并发编程中, 锁机制是一个重点和难点, 在Java中并发常用到的锁相关的主要是synchronized关键字和java.util.concurrent.locks类, 两者的区别包括synchroni...

2020-02-15 01:37:38 1585

原创 Ubuntu通过apt安装mysql遇到的问题及解决方案

在Ubuntu18.04上通过apt-get install 安装mysql-server 5.7之后, 不会出现设置密码的过程, 需要自己修改查找初始密码并创建新用户vim /etc/mysql/debian.cnf #查看初始账户和密码mysql -u debian-sys-maint<初始账户> -p # 之后输入密码mysql> update mysql.u...

2020-01-18 23:44:23 526

原创 论文阅读-AKS_CoRR_2011

作者年份近似比Hoogeveen199153\frac{5}{3}35​An, Kleinberg, Shmoys20121+52\frac{1+\sqrt{5}}{2}21+5​​Sebo201385\frac{8}{5}58​Rico Zenklusen20191.5Title: Improving Christofides’s A...

2019-12-12 15:56:41 596

原创 论文阅读-Hoogeveen_1991_OR-Letters

作者年份近似比Hoogeveen199153\frac{5}{3}35​An, Kleinberg, Shmoys20121+52\frac{1+\sqrt{5}}{2}21+5​​Sebo201385\frac{8}{5}58​Rico Zenklusen20191.5Title: Analysis of Christofides’ ...

2019-12-12 15:49:20 490

原创 论文阅读-Click Chain Model in Web Search

论文出处: WWW 2009论文作者: Fan Guo, Chao Liu, Christos Faloutsos等概括能够增量计算的基于Bayes的click model, 核心是Bayes公式中的"证据"函数的计算, 以及模型中用户行为相关的参数的估计.模型发展 cascade model - DCM&UCM - CCMIntroductionclick model提供了一...

2019-12-08 17:00:03 274

原创 论文阅读-2020ICRL-Neural execution of graph algorithms

概括使用GNN训练除能够用于多个图算法的算法执行器, 证明了GNN在图结构的输入上的强大表示能力.将传统图算法(BFS, Bell-Ford, Prim)中算法执行的每一步的决策作为标签,上一步决策后的图信息作为输入, 预测算法在当前时间步的决策, 网络最终能够学习到传统算法的选择策略.文章的动机: 目标是增强GNN的更新规则中的算法可解释性, 增强这种归纳性的认知。这种认知对于例如发现新颖...

2019-12-01 10:50:02 608

原创 Flask中的Context上下文的原理

Flask中的上下文的概念是Flask中非常精妙的一个设计, 通过上下文将请求和应用中需要的内容, 封装起来并且使得内容做到线程隔离. 理解这个机制首先从本地线程讲起.本地线程import threadingmydata = threading.local()mydata.number = 42print(mydata.number)log = []def f(): m...

2019-10-05 16:09:57 182

原创 numba使用心得

最近写作业时, 发现numpy实在太慢了, 然后发现了对numpy进行加速的几种方法pypy: 适合原生python书写的程序, 对第三方库不是很友好cython: 需要换用非原生语言编写, 比较麻烦numba: 对numpy等数值运算的加速有奇效numba 基础numba基础Jit加速原生代码Tipsjit的加速有两种模式, lazy模式和eager模式, lazy模...

2019-09-15 21:41:45 943

原创 Java访问标识符--protected和无访问标识符区别

访问控制符声明为protect的成员可以被同一包或者子类访问, 默认访问控制符的成员可以被同一个包访问.更详细的说, protected的规则如下:包内可见,并对子类可见.若子类和父类不在同一个包, 子类中子类实例可以访问从父类继承来的protected方法, 而不能访问父类实例的protected方法引申: 若和父类不在同一个包中, 子类不能访问其他子类的父类protected方法...

2019-08-21 23:18:51 646

原创 Pytorch快速教程

张量Tensor是pytorch中最基本的数据类型, 相当于numpy中的ndarray, 是具有追踪运算, 自动求导功能的多维数组.1. 创建x = torch.rand(5, 3) # 随机二维数组x = torch.empty(5, 3) # 创建二维数组但不进行初始化x = torch.zeros(5, 3) # 创建全零的二维数组x = torch.tensor([1...

2019-07-19 13:50:57 661

原创 由::tolower函数引发的关于该函数和命名空间知识点的回顾

在使用std提供的函数对string进行大小写转换的时候, 一种常用的解决方案是:transform(str.begin(), str.end(), str.begin(), ::tolower);其中::tolower不能够写成tolower,否则会报错, 这是因为在std命名空间存在该函数的两个重载, 分别位于cctype和locale头文件中, gcc在这种情形下不能够正确推导所使用的...

2019-06-01 12:41:17 560 1

原创 正则表达式快速笔记

元字符速查技术点懒惰匹配在+,*后加上?构成懒惰匹配, 总是在匹配到第一个符合项时停止位置匹配单词边界: 为了匹配完整单词, 使用\b在单词的前后进行限制, \b的含义是一个非单词字符和一个单词字符(字母数字下划线)的边界, \B取反字符串边界: 用^和$表示字符串的开始位置与结束位置. 有的正则表达式实现支持通过(?m)特殊字符实现按行匹配, 通过该特殊字符使得$以换行符为结...

2019-04-18 16:21:09 186

原创 pandas 快速教程

pandas和numpy的区别numpy对数据进行了序列化, pandas在numpy的基础上对数据进行了字典化.在pandas中, 一维数据的创建(带有字典型索引的ndarray)import pandas as pdimport numpy as nparray = pd.Series(data, index, dtype, name, copy)# data 可以是array-...

2019-03-24 10:38:23 143

转载 ML神器:sklearn的快速使用

  传统的机器学习任务从开始到建模的一般流程是:获取数据 -&amp;gt; 数据预处理 -&amp;gt; 训练建模 -&amp;gt; 模型评估 -&amp;gt; 预测,分类。本文我们将依据传统机器学习的流程,看看在每一步流程中都有哪些常用的函数以及它们的用法是怎么样的。希望你看完这篇文章可以最为快速的开始你的学习任务。1. 获取数据1.1 导入sklearn数据集  sklearn中包含了大量的优质的数据集,在你学...

2019-03-14 16:54:35 140

原创 1067 Sort with Swap(0, i) (25 分)【已AC】

题目题目链接: 1067 Sort with Swap(0, i)题目大意是只用sort(0, x)的方式,对一个[0, …, N-1]的序列进行排序. 其中sort(0, x)的意思是调换序列中的0和x元素的位置.例如:原序列:{4, 0, 2, 1, 3} Swap(0, 1) =&amp;gt; {4, 1, 2, 0, 3} // 0和1位置调换Swap(0, 3) =&amp;gt; {4,...

2019-03-10 15:59:01 345

原创 endnote 批量修改notes,research notes等列

作为一个刚刚入门的科研狗, 少不了使用Endnote, 在使用过程中发现下载导入的参考条目的notes部分经常附带有其他无用的信息,和已经备注过了的条目混在一起很难看出来哪些是看过一遍的。就像下图这样中文资料里好像很难找到相关的如何批量修改notes的方法,特地记录一下,方便自己和大家。版本: Endnote X9 中科大版将需要修改的多个条目全部选中在Reference工具栏...

2019-02-28 18:37:43 3628 1

原创 Ubuntu18.04解决gnome-tweak-tool安装后shell主题提示user-theme extension没有启用的问题

换用Ubuntu18之后,桌面又回到了gnome,因此找到了gnome-tweak-tool对桌面进行美化。1. 安装gnome-tweak-toolsudo apt-get install gnome-tweak-tool安装之后在拓展中可以开启ubuntu dock 和ubuntu appindicators但并没有网上所说的添加拓展的链接,主题设置中也在shell theme位置也...

2019-02-25 09:55:17 30695 8

交通流分配_元胞自动机_matlab实现

2016年全国数模竞赛B题第二问,基于matlab的元胞自动机实现

2017-08-26

空空如也

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

TA关注的人

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