自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 线程之间共享哪些资源

同一进程间的线程究竟共享哪些资源呢,而又各自独享哪些资源呢? 共享的资源有: 一个。堆由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此新出来的都是共享的(16位平台上分全局堆和局部堆,局部堆是独享的) 湾 全局变量它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的...

2019-04-01 18:46:44 928 0

转载 进程和线程、协程的区别

现在多进程多线程已经是老生常谈了,协程也在最近几年流行起来。python中有协程库gevent,py web框架tornado中也用了gevent封装好的协程。本文主要介绍进程、线程和协程三者之间的区别。 一、概念   1、进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,...

2019-04-01 17:51:45 136 0

转载 Kubeflow 入门——为 Kubernetes 打造的组件化、可移植、可扩展的机器学习堆栈

Kubeflow 入门——为 Kubernetes 打造的组件化、可移植、可扩展的机器学习堆栈 【编者的话】本文来自 Kubeflow 项目的产品经理 David Aronchick 和首席工程师 Jeremy Lewi,主要讲了他们新的开源项目——Kubeflow 的一些入门知识,Kubefl...

2018-12-28 11:07:27 533 0

转载 高并发系统之降级特技

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。之前已经有一些文章介绍过缓存和限流了。本文将详细聊聊降级。当访问量剧增、服务出现问题(如响应时间慢或不响应)或非核心服务影响到核心流程的性能时,仍然需要保证服务还是可用的,即使是有损服务。系统可以根据一些关键数据进行自动降级,也可以配置开...

2018-01-27 14:51:03 434 0

转载 Class.forName()用法详解

主要功能 Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类, 也就是说JVM会执行该类的静态代码段 下面,通过解答以下三个问题的来详细讲解下Class.forName()的用法。 一.什么时...

2018-01-25 14:26:26 435 0

转载 JSON解析

1.JSON解析      (1).解析Object之一: 1 {"url":"http://www.cnblogs.com/qianxudetianxia"}   解析方法: 1 2 JS...

2018-01-03 18:33:39 1193 0

转载 java中classpath解释

对于classpath作用的解释在《Thinking in Java》中有如下解释:    Java 解释器的工作程序如下:   首先,它找到环境变量CLASSPATH(将Java 或者具有Java 解释能力的工具——如浏览器——安装到机器中时,通过操作系统进行设定)。CLASSPATH 包含...

2017-12-25 20:34:27 510 0

转载 对Java Serializable(序列化)的理解和总结

1、序列化是干什么的?        简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2...

2017-12-07 17:32:46 315 0

转载 Map集合中value()、keySet()和entrySet()以及性能的分析

在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。 keySet():迭代后只能通过get()取...

2017-12-05 10:18:12 271 0

转载 keyset与entryset

1、基本概述 SetMap.EntryK,V>> entrySet()  返回此映射中包含的映射关系的 set 视图。 SetK>              keySet()      返回此映射中包含的键的 set 视图。 2、效率分析 对于ke...

2017-12-05 10:15:03 122 0

转载 C++标准转换运算符const_cast

前面讲了C++继承并扩展C语言的传统类型转换方式,最后留下了一些关于指针和引用上的转换问题,没有做详细地讲述。C++相比于C是一门面向对象的语言,面向对象最大的特点之一就是具有“多态性(Polymorphism)”。 要想很好的使用多态性,就免不了要使用指针和引用,也免不了会碰到转换的问题,...

2017-11-21 20:57:03 165 0

转载 nohup /dev/null 2>&1 含义详解

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。 该命令的一般形式为:nohup command & l...

2017-11-21 19:16:39 936 0

转载 C++关键字this

this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子: void Date::setMonth( int mn ) { month = mn; // 这三句是等价的 this->month = mn; (*th...

2017-11-17 14:53:49 231 0

转载 sql语句中as的用法和作用

sql语句中as的用法和作用 最近做项目中,偶然发现在SQL语句中出现了as这个词,一直以来没怎么关注是什么意思,毕竟影响不大,今天有空,就在网上查了一些资料,大概有了一些的了解 我们的Sql语句在很多数据库中都是通用的,比如像Mysql数据库 Access数据库. Oracle数...

2017-11-06 12:08:56 4906 0

转载 C++中endl的本质是什么

1. endl的本质 自从在C语言的教科书中利用Hello world程序作为学习的起点之后,很多程序设计语言的教科书都沿用了这个做法。我们写过的第一个C++程序可能就是这样的。 #include using namespace std; int main(){ cout"...

2017-11-05 21:16:14 11451 3

转载 C++中endl、“\n”和‘\n’的区别

\n” “\n” 表示一个字符串,只有一个数据是回车符 ‘\n’ ‘\n’ 表示一个字符,两者在输出上是一样的! endl 在c++中,终端输出换行时,用cout 与 “\n”都可以,这是初级的认识。但二者有小小的区别,用endl时会刷新缓冲区,使得栈中的东西刷新一次...

2017-11-05 21:05:12 814 0

转载 linux 后台运行命令 nohup命令

普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止。 要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦;另一种方法是仍然用普通方法编程,然后用nohup命令启动程序:  nohup &  则控制台lo...

2017-11-05 20:42:49 1683 0

转载 标准输入/输出和重定向

1. 标准输入与输出 我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和 标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输...

2017-11-05 19:55:40 1794 0

转载 Xargs用法详解

简介 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的 find /sbin -perm +700 |ls -l 这样才是正确的 find /sbin -perm +700 |xargs ls -l  ...

2017-11-05 19:46:37 159 0

转载 文件IO---标准输入、标准输出和标准错误

文件IO---标准输入、标准输出和标准错误 (1) 每个进程都会默认打开3个文件描述符,即0、1、2。其中0代表标准输入流、1代表标准输出流、2代表标准错误流。通常标准输入流对应着键盘的设备文件、标准输出流和错误流对应着显示器的设备文件。在编程中通常使用宏STDIN_FILENO、STDO...

2017-11-05 12:46:17 2880 0

转载 搜索引擎正排和倒排

正排索引(正向索引) 正排表是以文档的ID为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档。 正排表结构如图1所示,这种组织方法在建立索引的时候结构比较简单,建立比较方便且易于维护;因为索引是基于文档建立的,若是有新的文档加入,直接为该文档...

2017-10-31 12:02:55 449 0

转载 STL中序列容器的选择

在STL中基本容器有: vector、list、deque、set、map set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问 set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少 map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使...

2017-09-27 10:55:26 205 0

转载 多线程还是多进程的选择及区别

鱼还是熊掌:浅谈多进程多线程的选择 关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。   经常在网络上看到有的XDJM问...

2017-09-25 16:57:13 679 0

转载 C++和双重检查锁定模式(DCLP)的风险

多线程其实就是指两个任务一前一后或者同时发生。 1 简介 当你在网上搜索设计模式的相关资料时,你一定会找到最常被提及的一个模式:单例模式(Singleton)。然而,当你尝试在项目中使用单例模式时,一定会遇到一个很重要的限制:若使用传统的实现方法(我们会在下文解释如何实现),单例模式是...

2017-09-25 16:55:44 257 0

转载 存储系统的那些事

存储系统从其与生俱来的使命来说,就难以摆脱复杂系统的魔咒。无论是从单机时代的文件系统,还是后来C/S或B/S结构下数据库这样的存储中间件兴起,还是如今炙手可热的云存储服务来说,存储都很复杂,而且是越来越复杂。 存储为什么会复杂,要从什么是存储谈起。存储这个词非常平凡,存储 + 计算(操作)就构成...

2017-08-31 21:22:45 171 0

转载 两个有序数组的中位数

[LeetCode] Median of Two Sorted Arrays 两个有序数组的中位数   There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the me...

2017-08-26 13:55:20 257 0

转载 在一个int数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数

题目的意思很简单,比如说有数组[1,6,9,2,1,5,15,20],那么满足上述条件的元素为1,15,20。 分析1. 暴力的方法就是从左到右进行遍历,到达某个数字后,在从0开始遍历到当前下标,找出最大的,再从当前下标遍历到尾,找出最小的,然后根据题意比较一下,这个算法为O(n^...

2017-08-25 12:07:27 1196 0

转载 判断一棵树是否是二叉查找树

转载:http://blog.csdn.net/guoyuguang0/article/details/51018249 判断一棵树是否是二叉查找树  利用该节点对应的最大值和最小值来判断该节点是否符合二叉查找树的性质。 public boolean isValidBST(Tre...

2017-08-24 21:34:30 327 0

转载 循环有序数组中的二分查找 Search in a rotated sorted array

版权声明: GNU General Public License. https://github.com/lucky521 二分查找是必须要掌握的技能,适用于有序的、顺序的存储结构。 1、可以用它来查找某一个数 2、可以用于查找某一个范围。如《二分查找有序数组中某个数的所...

2017-08-24 18:17:25 612 0

转载 QUIC和TCP--为什么多线程下载比单线程快

作者:henrystark henrystark@126.com Blog: http://henrystark.blog.chinaunix.net/ 日期:20140626 本文遵循CC协议:署名-非商业性使用-禁止演绎 2.5(https://creativecommons.org/lice...

2017-08-23 22:26:23 1928 0

原创 linux 工具篇

记录,学习使用 http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/index.html

2017-08-21 15:23:39 210 0

转载 pmap学习:系统测试中怎么确定内存泄露(memory leak)

性能测试的一项重要工作就是检查有没有内存泄露。Linux下通过top/free/pmap/ps,会提供许多关于内存分配的信息,如top里面的VIRT,RSS,SWAP,VSZ,RES,SHR等等,到底哪些参数能够用来检测memory leak呢?虽然baidu,google很方便,但是一直没有找...

2017-08-21 14:29:24 4187 1

转载 内存泄漏的问题如何解决(linux)

内存泄漏的问题,在百度是遇到最多的,阿里相对少点。与内存泄漏斗争了很久,我总结下常用的一些有效测试方法吧。   1、valgrind,这是非常好用的工具,虽然参数很多,输出结果较多,但是只要认真看下,就很容易发现问题,报告是很详细的,不要被吓倒。valgrind检测的内存泄漏是非常准的,可以精确...

2017-08-21 12:00:20 412 0

转载 一个 Linux 上分析死锁的简单方法

简介        死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当...

2017-08-21 11:47:39 647 0

转载 如何使用strace+pstack利器分析程序性能

引言 有时我们需要对程序进行优化、减少程序响应时间。除了一段段地对代码进行时间复杂度分析,我们还有更便捷的方法吗? 若能直接找到影响程序运行时间的函数调用,再有针对地对相关函数进行代码分析和优化,那相比漫无目的地看代码,效率就高多了。 将strace和pstack工具结合起来使用...

2017-08-21 10:57:51 197 0

转载 一种定位内存泄露的方法(Linux)

本文是《一种定位内存泄露的方法(Solaris)》对应的Linux版本,调试器使用gdb。主要介绍实例部分。其他请见《一种定位内存泄露的方法(Solaris)》。 实例: 模拟new失败的程序: #include class ABC { public: ...

2017-08-21 10:45:41 317 0

转载 Linux进程内存分析和内存泄漏定位

在Linux产品开发过程中,通常需要注意系统内存使用量,和评估单一进程的内存使用情况,便于我们选取合适的机器配置,来部署我们的产品。 linux本身提供了一些工具方便我们达成这些需求,查看进程实时资源top工具,更详细的进程内存堆栈情况,pmap工具,Linux进程运行时状态信息也会保存在p...

2017-08-21 10:35:10 1595 0

转载 Linux下 /proc/maps 文件分析

/proc//maps 查看进程的虚拟地址空间是如何使用的。 该文件有6列,分别为: 地址:库在进程里地址范围 权限:虚拟内存的权限,r=读,w=写,x=,s=共享,p=私有; 偏移量:库在进程里地址范围 设备:映像文件的主设备号和次设备号; 节点:映像文件的节点号; 路径: 映像...

2017-08-21 10:24:38 1140 0

转载 linux 内存查看方法:meminfo\maps\smaps\status 文件解析

Linux 下面查看内存有多种渠道,比如通过命令 ps ,top,free 等,比如通过/proc系统,一般需要比较详细和精确地知道整机内存/某个进程内存的使用情况,最好通过/proc 系统,下面介绍/proc系统下内存相关的几个文件   单个进程的内存查看  cat /proc/...

2017-08-21 09:54:11 1109 0

转载 Linux下定位内存泄漏-查看内存空间

查看程序内存空间两种方法 一、查看/proc/{pid}/maps文件 #cat /proc/568/maps 00008000-0036a000 r-xp 00000000 00:0e 236        /home/hik/hicore 00372000-003a5000 rw-p 0...

2017-08-21 09:46:03 4138 0

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