08 2016 档案
转 Join的实现原理及优化思路
摘要:前言 前面我们已经了解了MySQLQueryOptimizer的工作原理,学习了Query优化的基本原则和思路,理解了索引选择的技巧,这一节我们将围绕Query语句中使用非常频繁,且随时可能存在性能隐患的Join语句,继续我们的Query优化之旅。 Join 的实现原理 在寻找Join语句的优化思路 阅读全文
posted @ 2016-08-27 17:08 njczy2010 阅读(489) 评论(0) 推荐(0)
转 编程规范(上)
摘要:编程规范(上) 1 排版 ¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个。 说明:对于由开发工具自动生成的代码可以有不一致。 ¹1-2:相对独立的程序块之间、变量说明之后必须加空行。 示例:如下例子不符合规范。 if (!valid_ni(ni)) { ... // program code 阅读全文
posted @ 2016-08-26 15:59 njczy2010 阅读(362) 评论(0) 推荐(0)
转 C++拷贝构造函数详解
摘要:C++拷贝构造函数详解 一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: [c-sharp] view plain copy int a = 100; int b = a; [c-sharp] view plain copy [c-sharp] view pla 阅读全文
posted @ 2016-08-26 15:54 njczy2010 阅读(205) 评论(0) 推荐(0)
转 C/C++内存分配方式与存储区
摘要:C/C++内存分配方式与存储区 C/C++内存分配有三种方式:[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放 阅读全文
posted @ 2016-08-26 15:41 njczy2010 阅读(2253) 评论(0) 推荐(0)
转 C++的常量引用
摘要:C++的常量引用 如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作。对常量的引用可以用其它任何引用来初始化;但不能改变。 关于引用的初始化有两点值得注意: (1)当初始化值是一个左值(可以取得地址)时,没有任何问题; (2) 阅读全文
posted @ 2016-08-26 15:25 njczy2010 阅读(572) 评论(0) 推荐(0)
转 静态内部类和非静态内部类的区别
摘要:静态内部类和非静态内部类的区别 案例: 1 package com.devin; 2 3 public class MyMain{ 4 private static String name = "woobo"; 5 private String num = "X001"; 6 7 // 静态内部类可 阅读全文
posted @ 2016-08-26 15:15 njczy2010 阅读(436) 评论(0) 推荐(0)
转 重载、隐藏和覆盖的区别
摘要:类成员函数的重载、覆盖和隐藏区别? 答案:a.成员函数被重载的特征:(1)相同的范围(比如在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同 阅读全文
posted @ 2016-08-26 15:04 njczy2010 阅读(654) 评论(0) 推荐(0)
转 vim常用命令总结
摘要:vim常用命令总结 vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。 V 从光标当前行开始,光标经过的行都会被选中,再按一下V结束。 Ctrl + v 从光标当前位置开始,选中光 阅读全文
posted @ 2016-08-23 17:10 njczy2010 阅读(327) 评论(0) 推荐(0)
转 进程的调度方式
摘要:http://blog.csdn.net/kavensu/article/details/8075642 http://blog.csdn.net/kavensu/article/details/8075642 进程调度详细总结 进程调度详细总结 一、概念: 无论是在批处理系统还是分时系统中,用户进 阅读全文
posted @ 2016-08-23 16:57 njczy2010 阅读(1674) 评论(0) 推荐(0)
转 c++多线程编程
摘要:c++多线程编程 一直对多线程编程这一块很陌生,决定花一点时间整理一下。 os:ubuntu 10.04 c++ 1.最基础,进程同时创建5个线程,各自调用同一个函数 输入命令:g++ -o muti_thread_test_1 muti_thread_test_1.cpp -lpthread 注意 阅读全文
posted @ 2016-08-22 11:58 njczy2010 阅读(682) 评论(0) 推荐(0)
转 网络编程学习笔记一:Socket编程
摘要:题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人;但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写几个demo,但web socket需要特定的服务器支持,由于标准制定工作还没完成,所以 阅读全文
posted @ 2016-08-22 11:51 njczy2010 阅读(356) 评论(0) 推荐(0)
转 如何在C++中调用C程序
摘要:如何在C++中调用C程序? C++和C是两种完全不同的编译链接处理方式,如果直接在C++里面调用C函数,会找不到函数体,报链接错误。要解决这个问题,就要在 C++文件里面显示声明一下哪些函数是C写的,要用C的方式来处理。1.引用头文件前需要加上 extern “C”,如果引用多个,那么就如下所示ex 阅读全文
posted @ 2016-08-22 11:47 njczy2010 阅读(329) 评论(0) 推荐(0)
转 C++构造函数、析构函数、虚函数之间的关系
摘要:C++构造函数、析构函数、虚函数之间的关系 1. 如果我们定义了一个构造函数,编译器就不会再为我们生成默认构造函数了。2. 编译器生成的析构函数是非虚的,除非是一个子类,其父类有个虚析构,此时的函数虚特性来自父类。3. 有虚函数的类,几乎可以确定要有个虚析构函数。4. 如果一个类不可能是基类就不要申 阅读全文
posted @ 2016-08-22 10:43 njczy2010 阅读(473) 评论(0) 推荐(0)
转 C语言编译过程简介
摘要:C语言编译过程简介 C语言编译过程简介 刚开始接触编程的时候,只知道照书敲敲代码,一直都不知道为什么在windows平台下代码经过鼠标那样点击几下,程序的结果就会在那个黑色的屏幕上。现在找了个机会将C语言的编译原理做一下小小的总结,这样也能为以后我们进军linux编程做一些准备工作,现在这里和大家一 阅读全文
posted @ 2016-08-21 20:11 njczy2010 阅读(258) 评论(0) 推荐(0)
动态链接和静态链接的区别
摘要:动态链接和静态链接的区别 一、分别编译与链接(Linking) 大多数高级语言都支持分别编译,程序员可以显式地把程序划分为独立的模块或文件,然后每个独立部分分别编译。在编译之后,由链接器把这些独立的片段(称为编译单元)“粘接到一起”。(想想这样做有什么好处?) 在C/C++中,这些独立的编译单元包括 阅读全文
posted @ 2016-08-21 20:09 njczy2010 阅读(2047) 评论(0) 推荐(0)
转 浅谈C++中指针和引用的区别
摘要:浅谈C++中指针和引用的区别 浅谈C++中指针和引用的区别 指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。 1.指针和引用的定义和性质区别: (1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原 阅读全文
posted @ 2016-08-21 20:08 njczy2010 阅读(203) 评论(0) 推荐(0)
转 32位64位操作系统基本数据类型字节大小
摘要:http://blog.csdn.net/huyisu/article/details/17604983 int型字长问题: ① C/C++规定int字长和机器字长相同; ② 操作系统字长和机器字长未必一致; ③ 编译器根据操作系统字长来定义int字长; 由上面三点可知,在一些没有操作系统的嵌入式计 阅读全文
posted @ 2016-08-21 19:56 njczy2010 阅读(266) 评论(0) 推荐(0)
转 markdown编写规则、语法
摘要:http://www.jianshu.com/p/1e402922ee32/ http://www.jianshu.com/p/1e402922ee32/ Markdown——入门指南 字数2231 阅读307754 评论115 喜欢1350 转载请注明原作者,如果你觉得这篇文章对你有帮助或启发,也 阅读全文
posted @ 2016-08-19 11:11 njczy2010 阅读(313) 评论(0) 推荐(0)
转 redis 五种数据类型的使用场景
摘要:http://www.cnblogs.com/lori/archive/2012/05/15/2501862.html Redis学习笔记~Redis提供的五种数据结构 回到目录 分布式缓存,消息队列,替代Session呵呵(Session太不稳定了,呵呵)=Redis Redis的崛起绝非偶然,它 阅读全文
posted @ 2016-08-19 11:01 njczy2010 阅读(165) 评论(0) 推荐(0)
转 SPOOLING技术——操作系统
摘要:传送门 SPOOLING技术——操作系统 SPOOLING技术(Simultaneous Peripheral Operating On Line) 同时联机外围操作技术,它是关于慢速字符设备如何与计算机主机进行数据交换的一种技术,通常又称假脱机技术。 在多道程序环境下,利用多道程序中的一道或者两道 阅读全文
posted @ 2016-08-15 20:54 njczy2010 阅读(737) 评论(0) 推荐(0)
转 new和malloc的区别
摘要:传送门 new和malloc的区别 阅读全文
posted @ 2016-08-15 15:26 njczy2010 阅读(377) 评论(0) 推荐(0)
转 内联函数
摘要:传送门 一、什么叫inline函数? inline(小心,不是online),翻译成“内联”或“内嵌”。意指:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置。这样做的好处是省去了调用的过程,加快程序运行速度。(函数的调用过程,由于有前面所说的参数 阅读全文
posted @ 2016-08-15 15:24 njczy2010 阅读(404) 评论(0) 推荐(1)
转 C++宏定义详解
摘要:传送门 C++宏定义详解 一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或 阅读全文
posted @ 2016-08-15 15:19 njczy2010 阅读(16528) 评论(0) 推荐(1)
转 内联函数和宏定义的区别
摘要:传送门 http://www.zhihu.com/question/23121769?sort=created 用内联取代宏: 1.内联函数在运行时可调试,而宏定义不可以;2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会; 3.内联函数可以访问类的成员变量,宏定 阅读全文
posted @ 2016-08-15 15:18 njczy2010 阅读(275) 评论(0) 推荐(0)
转 C++中不能声明为虚函数的有哪些函数
摘要:传送门 C++中不能声明为虚函数的有哪些函数 常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。 1.为什么C++不支持普通函数为虚函数? 普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器 阅读全文
posted @ 2016-08-15 15:07 njczy2010 阅读(268) 评论(0) 推荐(0)
转 PV操作简单理解
摘要:传送门 PV操作简单理解 进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下: 进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作和信号量。其中信号量起到了至关重要的作用。 信号量 信号量是最早出现的用来解决进程同步与互斥问题的机 阅读全文
posted @ 2016-08-14 19:17 njczy2010 阅读(323) 评论(0) 推荐(0)
转 Python执行系统命令的方法
摘要:传送门 Python执行系统命令的方法 http://www.linux-field.com/?p=15 Python中执行系统命令常见方法有两种: 两者均需 import os (1) os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 system(comman 阅读全文
posted @ 2016-08-14 16:09 njczy2010 阅读(209) 评论(0) 推荐(0)
转 常量指针和指针常量的区别详解
摘要:传送门 常量指针和指针常量的区别详解 在C/C++中关键字const用来定义一个只读的变量或者对象,有如下优点 (1)便于类型检查,如函数的函数 fun(const int a) a的值不允许变,这样便于保护实参。 (2)功能类似与宏定义,方便参数的修改和调整。如 const int max = 1 阅读全文
posted @ 2016-08-14 10:30 njczy2010 阅读(489) 评论(0) 推荐(0)
转 python语法学习面向对象之继承
摘要:传送门 python语法学习面向对象之继承 只要涉及到面向对象,”类“是必须出现的一个代名词。 类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象是这个类的实例。 类的一些概念: 包括初始化方法__init__,可以理解为构造,self,理解为this,等等在前一篇文章中介绍过,现在就学 阅读全文
posted @ 2016-08-14 10:00 njczy2010 阅读(400) 评论(0) 推荐(0)
转 C++ 面向对象程序设计的基本特点
摘要:传送门 Miss it Miss it Miss it C++ 面向对象程序设计的基本特点 First: 抽象 面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象公共性质并加以描述的过程。 抽象的过程,也是对问题进行分析和认识的过程。 对问题的抽象应该包括两个方面:数据抽象 和 行为 阅读全文
posted @ 2016-08-14 09:32 njczy2010 阅读(1810) 评论(0) 推荐(0)
leetcode 18. 4Sum
摘要:传送门 18. 4Sum QuestionEditorial Solution My Submissions Total Accepted: 82006 Total Submissions: 333565 Difficulty: Medium Given an array S of n intege 阅读全文
posted @ 2016-08-07 09:32 njczy2010 阅读(153) 评论(0) 推荐(0)
leetcode 145. Binary Tree Postorder Traversal
摘要:传送门 145. Binary Tree Postorder Traversal QuestionEditorial Solution My Submissions Total Accepted: 106482 Total Submissions: 291244 Difficulty: Hard G 阅读全文
posted @ 2016-08-05 17:14 njczy2010 阅读(282) 评论(0) 推荐(0)
牛客 [编程题] 回文解码
摘要:传送门 [编程题] 回文解码 现在有一个字符串,你要对这个字符串进行 n 次操作,每次操作给出两个数字:(p, l) 表示当前字符串中从下标为 p 的字符开始的长度为 l 的一个子串。你要将这个子串左右翻转后插在这个子串原来位置的正后方,求最后得到的字符串是什么。字符串的下标是从 0 开始的,你可以 阅读全文
posted @ 2016-08-03 11:06 njczy2010 阅读(850) 评论(0) 推荐(0)
网易2016 实习研发工程师 [编程题]寻找第K大 and leetcode 215. Kth Largest Element in an Array
摘要:传送门 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。 测试样例: note: 注意手写快排的时候: leetcode: 传送门 215. Kth Largest Element i 阅读全文
posted @ 2016-08-01 17:34 njczy2010 阅读(188) 评论(0) 推荐(0)
网易2016 实习研发工程师 [编程题]二叉树
摘要:传送门 有一棵二叉树,树上每个点标有权值,权值各不相同,请设计一个算法算出权值最大的叶节点到权值最小的叶节点的距离。二叉树每条边的距离为1,一个节点经过多少条边到达另一个节点为这两个节点之间的距离。 给定二叉树的根节点root,请返回所求距离。 题解: 给每个节点编号(0 - total),用map 阅读全文
posted @ 2016-08-01 16:21 njczy2010 阅读(247) 评论(0) 推荐(0)