自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 收藏
  • 关注

转载 条件变量

条件变量(1) 条件变量是锁?  不是锁, 但是条件变量能够阻塞线程,调用阻塞函数开始阻塞  使用条件变量+互斥量    互斥量: 保护一块共享数据----> 保护数据    条件变量: 引起阻塞, 生产者和消费者模型----> 阻塞线程(2) 条件变量的两个动作  条件不满足: 阻塞线程  条件满足: 通知阻塞的线程开始工作(3) 条件变量的类型:pthread_cond_t cond;(4) 主要函数:初始化一个条件变量int pthread_cond_ini.

2020-11-25 11:38:33 197

原创 四、JavaSE学习之Java语言基本语法及规范

1、标识符表示类名的标识符,每个单词的首字母大写。表示方法和变量的标识符,第一个单词小写,从第二个单词开始首字母大写——驼峰原则。注意⚠️:Java采用的是Unicode国际字符集,因此,上述字母的含义不仅仅是英文,还包括汉字等,但是不建议大家使用汉字来定义标识符。2、变量变量的本质是代表一个“可操作的存储空间”。Java是一种强类型的语言,每个变量必须声明其数据类型...

2020-01-27 21:07:52 293

原创 java学习知识汇总

今年开始学习编程新技能,平时工作用语言是c,主要做设备驱动方向的工作,之前工作前学习过面向对象的c++语言,现在接触java感觉很亲切,希望自己可以好好坚持学习。 这个栏目主要是为了方便自己复习做的简单记录,学习资源大部分是从网络和书本上获得。因为有一些编程基础,所以笔记做的不是那种事无巨细的类型,主要是自己对java知识的盲点,下面是自己整理的链接方便查看(随着学习进度不定期更...

2020-01-27 20:50:04 254

原创 三、JavaSE学习之Java的入门知识须知

1、特性和优势跨平台/可移植安全性面向对象简单性(C++语言的简化版)高性能分布式多线程健壮性2、Java应用程序的运行机制Java语言是编译型和解释型两种类型的结合。它首先是利用文本编辑器编写java源程序,源文件后缀名为.java,再利用编译器将程序编译成字节码文件,字节码文件的后缀名为.class;最后再利用虚拟机(解释器)解释执行。...

2020-01-27 20:36:36 211

原创 二、JavaSE学习之Eclipse实用操作

1、先从官网下载eclipse安装包https://www.eclipse.org/downloads/2、Eclipse基本配置设置字体,大小等,XML/workspace/JSP等编码格式为utf-83、、巨实用快捷键(1)设置实体类Alt+shift+R->select All->ok,生成Get,Set方法Alt+shift+C+回车 ...

2020-01-27 20:33:37 142

原创 一、JavaSE学习之Java环境搭建

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。SE(JavaSE),standard edition,标准版,是我们通常用的一个版本,从J...

2020-01-27 20:29:02 196

转载 为什么const对象只能调用const成员函数,而不能调用非const成员函数?

参考:http://www.cnblogs.com/cplinux/articles/5553716.html在c++中,我们可以用const来定义一个const对象,const对象是不可以调用类中的非const成员函数,这是为什么呢?下面是我总结的一些原理。假设有一个类,名字为test代码如下: 1 class test{2   int i;3 pub

2016-10-07 11:49:26 5187 1

转载 深入理解C++枚举类型enum

参考:http://blog.csdn.net/weiwenhp/article/details/8476767http://blog.csdn.net/mtfxabc/article/details/6492423http://blog.csdn.net/lanxuezaipiao/article/details/41647333#comments为啥需要枚举类型

2016-10-07 11:04:49 7721 1

转载 为什么快速排序比堆排序要快?

今天作算法排序实验,发现相同的数据规模,快速排序比堆排序的效率高很多,并且随着数据规模的扩大,二者的差距不断扩大,快速排序的优势越来越明显。快速排序的时间复杂度近似线性增长,堆排序则要大很多。究其原因,应该有以下几个方面:        在堆排序(小根堆)的时候,每次总是将最小的元素移除,然后将最后的元素放到堆顶,再让其自我调整。这样一来,有很多比较将是被浪费的,因为被拿到堆顶的那个元素几乎肯

2016-10-03 21:23:36 6680 1

转载 C++智能指针简单剖析

导读最近在补看《C++ Primer Plus》第六版,这的确是本好书,其中关于智能指针的章节解析的非常清晰,一解我以前的多处困惑。C++面试过程中,很多面试官都喜欢问智能指针相关的问题,比如你知道哪些智能指针?shared_ptr的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。这说明智能指针不仅是面试官爱问的题材,

2016-10-03 21:16:19 322

原创 计算机网络基础面试题笔记

1. 电路交换与分组交换的区别?优劣对比。电路交换:由于电路交换在通信之前要在通信双方之间建立一条被双方独占的物理通路(由通信双方之间的交换设备和链路逐段连接而成)。因而有以下优缺点。  优点:  ①由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。  ②通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。  ③双方通信时按发送顺序传送数据,不存在失序

2016-09-30 10:54:00 19756 2

原创 操作系统常见面试题

1.     进程的有哪几种状态,状态转换图,及导致转换的事件。(1)进程的五状态模型:运行态:该进程正在执行。就绪态:进程已经做好了准备,只要有机会就开始执行。阻塞态(等待态):进程在某些事情发生前不能执行,等待阻塞进程的事件完成。新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中,通常是进程控制块已经创建但是还没有加载到内存中的进程。退出态:操作系统从可执行

2016-09-29 21:29:55 29010

转载 海量数据面试题整理

出处:http://www.educity.cn/wenda/389464.html1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?  方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。  s 遍历文件a,对

2016-09-28 22:27:22 398

转载 fopen()函数的使用

出处:矮人狙击手

2016-09-28 20:45:33 401

转载 通过结构体成员的地址获取结构体变量的地址

出处:http://blog.csdn.net/zhanshen2015/article/details/51500757C 语言的结构体可以将不同类型的对象聚合到一个对象中,在内存中,编译器按照成员列表顺序分别为每个结构体变量成员分配内存,但由于 C 的内存对齐机制以及不同机器间的差异,各个成员之间可能会有间隙,所以不能简单的通过成员类型所占的字长来推断其它成员或结构体对象的地址。

2016-09-28 19:32:47 6102

转载 C++封装、继承、多态

转自:http://blog.csdn.net/ruyue_ruyue/article/details/8211809C++封装继承多态总结面向对象的三个基本特征面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!

2016-09-24 20:34:02 405

转载 类的静态成员变量

招银科技电话面试的时候,面试官问了我类的保护静态成员的初始化应该在类内还是类外,这个当时确实回答的不是很肯定,故在网上搜索到了这篇文章,觉得博主写的很清晰,谢谢分享。出处:http://www.cnblogs.com/iceqq/archive/2009/05/03/1448147.htmlps:保护属性和私有性质在类内的权限是类似的,这个知识点还是应该明确了解和学习的,虽然是一个简单的知

2016-09-22 22:00:24 469

转载 数据库索引的实现原理

转自:http://blog.csdn.net/kennyrose/article/details/7532032说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用

2016-09-21 16:56:45 412

转载 线程通信与进程通信的区别

之前自己也总结过,但是没有那么言简意赅,转载过来参考下,谢谢分享出处:http://www.cnblogs.com/xh0102/p/5710074.html每个进程有自己的地址空间。两个进程中的地址即使值相同,实际指向的位置也不同。进程间通信一般通过操作系统的公共区进行。同一进程中的线程因属同一地址空间,可直接通信。不仅是系统内部独立运行的实体,而且是独立竞争资源的实体。

2016-09-21 15:30:48 557

转载 new与malloc的区别,以及内存分配浅析

本来只是想找一个系统的new和malloc的区别的文章,看到了这篇文章涉及其中的内存分配的分析,作为一个小白,觉得还是挺有深度的,转载过来看看,出处:http://www.cnblogs.com/huhuuu/archive/2013/11/19/3432371.html以下是原文:从函数声明上可以看出。malloc 和 new 至少有两个不同: new 返回指定类型的指针,并且可

2016-09-21 15:15:16 491

转载 电子邮件的传输过程

出处:http://blog.csdn.net/xh16319/article/details/8145389

2016-09-21 14:58:50 880

转载 应用层常用协议

一、应用层常用协议1 DNS:域名系统DNS是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。现在顶级域名TLD分为三大类:国家顶级域名nTLD;通用顶级域名gTLD;基础结构域名域名服务器分为四种类型:根域名服务器;顶级域名服务器;本地域名服务器;权限域名服务器。2FTP:文件传输协议FTP是因特网上使用得最广泛的文件传送协议。FTP

2016-09-21 12:50:36 24725

转载 Socket通信原理和实践

[+]我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?

2016-09-21 11:01:54 560

转载 三种快排及四种优化方式

出处:http://blog.csdn.net/hacker00011000/article/details/521761001、快速排序的基本思想: 快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。2、快速排序的三个步骤: (1)选择基准:在待排

2016-09-19 19:57:13 536

转载 TCP三次握手及其背后的缺陷

概述总结一下TCP中3次握手过程,以及其原生的缺陷 引起的SYN Flood的介绍【1】TCP三次握手【2】SYN Flood1、TCP连接建立——三次握手几个概念:【1】seq:序号,占4个字节,范围[0,4284967296],由于TCP是面向字节流的,在一个1个TCP连接中传送字节流中国的每一个字节都按照顺序编号,此外序号是循环使用

2016-09-19 19:20:47 765

转载 SQL的注入式攻击方式和避免方法

出处:http://www.cnblogs.com/xyd21c/archive/2010/12/09/1901140.html感谢分享SQL 注入是一种攻击方式,在这种攻击方式中,恶意代码被插入到字符串中,然后将该字符串传递到 SQL Server 的实例以进行分析和执行。任何构成 SQL 语句的过程都应进行注入漏洞检查,因为 SQL Server 将执行其接收到的所有语法有效的查询

2016-09-18 09:34:12 12233

转载 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,Sql 代码 : select id from t where num is null;可以在 num 上设置默认值 0,确保表中 num 列没有 null 值

2016-09-17 15:19:48 381

转载 重写、覆盖、重载、多态几个概念的区别分析

出处:http://blog.csdn.net/baggio7095586/article/details/6149261override->重写(=覆盖)、overload->重载、polymorphism -> 多态 override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。 重写(覆盖)的规则:    1

2016-09-16 21:07:42 325

转载 深入理解C++中public、protected及private用法

出处:http://blog.csdn.net/linraise/article/details/42673353深入理解C++中public、protected及private用法这篇文章主要介绍了C++中public、protected及private用法,对于C++面向对象程序设计来说是非常重要的概念,需要的朋友可以参考下初学C++的朋

2016-09-16 20:41:09 344

转载 构造函数、析构函数抛出异常的问题

出处:http://www.cnblogs.com/fly1988happy/archive/2012/04/11/2442765.html1. 抛出异常1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为: throw 表达式;如果在try语句块的程序段中(包括在其中调用的

2016-09-11 18:21:40 266

转载 我们用一个等臂天平来称物体的质量,如果我们要称的物体质量范围在1到40克(整数),请问我们最少需要几块砝码可以完成这项物体质量的称量?

出处:http://blog.csdn.net/zdavb/article/details/49720695这道题我是这么考虑的,这个问题实际上是求a1,a2,a3,a4,a5,,,经过+-运算能够得到1-40的所有数。为了使满足条件的组中元素最少,那么元素间应该尽可能的稀疏。。从1开始:缺少1,+1 2:缺2,但是前面最大可能满足的元素为1,所以下个砝码可以为3(

2016-09-11 17:26:32 719

转载 c结构体中的 柔性数组

出处:http://blog.csdn.net/stand1210/article/details/52459372开发C代码时,经常见到如下类型的结构体定义:12345typedefstruct list_t{structlist_t *next;structlist_t

2016-09-11 17:23:27 355

转载 linux硬链接和软链接的区别

出处:http://www.cnblogs.com/ylan2009/p/4287929.html1.原理上:硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没

2016-09-11 17:21:52 257

转载 浅谈HTTP中Get与Post的区别

出处:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.htmlHttp定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的

2016-09-11 17:20:25 297

原创 操作系统读书笔记(6)

内存管理在单道程序设计系统中,内存被划分为两个部分:一部分供操作系统使用(驻留监控程序、内核),一部分供当前正在执行的程序使用。在多道程序设计系统中,必须在内存中进一步细分出“用户”的部分,以满足多个进程的要求。细分的任务由操作系统动态完成,这称为内存管理。1、内存管理的关键术语页:一个固定长度的数据块,储存在二级存储器中(如磁盘),数据页可以临时复制入内存中的页框中。

2016-08-08 16:14:42 724

转载 一步一图一代码,一定要让你真正彻底明白红黑树

一步一图一代码,一定要让你真正彻底明白红黑树 作者:July   二零一一年一月九日-----------------------------本文参考:I、  The Art of Computer Programming Volume III、 Introduction to Algorithms, Second EditionIII、The Annota

2016-08-07 15:42:46 370

原创 操作系统读书笔记(5)

这部分主要是复习并发:死锁和饥饿1、可重用资源  可消耗资源可重用资源是指一次只能供一个进程安全地使用,并且不会由于使用而耗尽的资源。进程得到资源,后来又释放这些资源单元,供其他进程再次使用。可重用资源例子包括:处理器、I/O通道、内存和外存、设备以及诸如文件、数据库和信号量之类的数据结构。可消耗资源是指可以被创建(生产)和销毁(消耗)的资源。当消费进程得到一个

2016-07-24 11:14:45 1803

原创 查漏补缺——顺序容器(C++ Primer)

顺序容器为程序员提供了控制元素存储和访问顺序的能力,这种顺序不依赖与元素的值,而是与元素加入容器时的位置相对应。1、顺序容器类型vector  可变大小数组,支持快速随机访问,在尾部之外的位置插入元素或删除元素可能很慢deque 双端队列,支持快速随机访问,在头、尾部位置插入、删除速度很快list 双向链表,只支持顺序访问,在list中任何位置进行插入、删除操作速度都很快f

2016-07-19 17:19:38 1309

原创 操作系统读书笔记(4)

首先,了解和并发有关的关键术语:原子操作:一个或多个指令的序列,对外不可分割;即没有其他进程可以看见其中间状态或中断此操作临界区:是一段代码,在这段代码中进程将访问共享资源,当另一个进程已经在这段代码中运行时,这个进程就不能在这段代码中执行死锁:两个或两个以上的进程因其中的每个进程都在等待其他进程做完某些事情而不能继续执行,这样的情形叫做死锁活锁:两个或两个以上的进程为了响应其他进

2016-07-16 22:35:00 652

转载 归并排序

目录要点    归并排序的基本思想算法分析    归并排序算法的性能    时间复杂度    空间复杂度    算法稳定性    归并排序和堆排序、快速排序的比较完整参考代码    Java版本参考资料相关阅读回到顶部要点归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,

2016-07-15 19:54:18 305

空空如也

空空如也

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

TA关注的人

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