- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 Linux 常用命令(转)
玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理Li
2015-10-12 13:18:42 1908 1
原创 TCP/IP协议全解析
TCP/IP 是用于因特网 (Internet) 的通信协议。TCP/IP 是供已连接因特网的计算机进行通信的通信协议。TCP/IP 指传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol)。TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准
2015-07-04 10:07:35 1219
原创 用c实现的简单linux shell
直接上代码吧!注释写的很清晰。首先头文件:// 头文件#include #include #include #include #include #include #include #include #include #include #include #define MAX_PROMPT 1024//提示符最大长度#define MAXLINE 4096
2015-06-25 20:10:53 977
原创 Apriori算法简介
Apriori算法Apriori算法步骤:1.Apriori算法:使用候选项集找频繁项集2.由频繁项集产生关联规则例:设A=足球服,B=足球鞋, C=足球。某网上商城的销售情况如下:客户号客户商品数量C1李鸣足球服A10C1
2016-04-20 09:28:40 1432
原创 Adb connection Error:远程主机强迫关闭了一个现有的连接
自从用Android Studio开发之后就发现谷歌的更新频率很高,经常更新!作为一个不更新就心里不爽的程序员,当然是第一时间更新了。可是这一更新,更新出问题了,最近总是无缘无故的出现这个错误:Adb connection Error:远程主机强迫关闭了一个现有的连接在网上找了各种办法均无济于事。碰到这种问题真的很无语,最后终于找到解决法案:如图,只要将这俩个包更新到最新版就没问题了,个人
2016-03-31 19:34:42 468
原创 Sublime实用快捷键(初学者)
1. ctrl+方向键 按单词移动2. ctrl+shift + 方向键 按单词选取3. ctrl + F3 查找选定的或光标所在单词4. F3 查找特定的单词(一般查找的流程是先ctrl+F3,再F3)5. ctrl + shift + p 打开Command Palette6. ctrl + R 定位文件中出现的符号7. ctrl + G
2016-01-03 17:13:41 456
原创 Java 线程池的原理与实现
最近在学习线程池、内存控制等关于提高程序运行性能方面的编程技术,在网上看到有一哥们写得不错,故和大家一起分享。[分享]Java 线程池的原理与实现这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会
2015-10-11 17:00:45 700
原创 Java多线程面试问题集锦(转)
问题:进程和线程的区别解答:一个进程对应一个程序的执行,而一个线程则是进程执行过程中的一个单独的执行序列,一个进程可以包含多个线程。线程有时候也被称为轻量级进程.一个Java虚拟机的实例运行在一个单独的进程中,不同的线程共享Java虚拟机进程所属的堆内存。这也是为什么不同的线程可以访问同一个对象。线程彼此共享堆内存并保有他们自己独自的栈空间。这也是为什么当一个线程调用一个方法时,他的局
2015-10-06 20:21:30 444
原创 Java程序员面试中的多线程问题(转)
0、Java中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个Java线程在修改一个共享变量时,另外一个线程正在使用或者更新同一个变量,这样容易导致程序出现错误的结果。 1、解释实现多线程的几种方法?一Java线程可以实现Runnable接口或者继承Thread类来实现,当你打算多重继承时,优先选择实现Runnable。
2015-10-06 19:18:19 475
原创 进程间通信方式
进程间通信的方法主要有以下几种:管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。
2015-10-05 16:48:17 581
原创 数据库性能优化的方法(转)
如今,互联网上关于数据库优化方面的文章很多,但是有的写的似是而非,有的不切实际,对一个数据库来说,只能做到更优,不可能最优,并且由于实际需求不同,优化方案还是有所差异的,根据实际需要关心的方面(速度、存储空间、可维护性、可拓展性)来优化数据库,而这些方面往往又是相互矛盾的。一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优,也不单单是开发阶段的事情,而是在整个软件生命周期都
2015-10-05 16:04:20 721
原创 中国电信IT研发中心一面总结
中国电信it研发中心17薪,还是很诱人的,早上刚面完,赶紧总结一下吧!就贴一下自己不知道的问题,以作警示。1.java中volatile关键字的作用?当时也没答出来,下来查的资料。这个关键字并不能实现线程同步。贴个链接吧:点击打开链接2.java中,final关键字修饰形参有什么用?在网上查了资料好像也没有说的特别清楚的,有大神解释吗?3.java中,sychroniz
2015-09-25 16:28:17 11394
原创 归并排序 java语言实现
package sort;import java.util.Random;public class MergeSort { @SuppressWarnings("unused") public boolean initTestArray(int[] testArray) {// 初始化testArray if (testArray == null) return fals
2015-08-02 11:30:59 793
原创 eclipse 配置 sublime主题风格
话不多说:help->install software 输入 http://eclipse-color-theme.github.com/update然后一路next accept 装完插件,然后会提示重启eclipse,重启完就离成功不远了。window-->preferences如图:选择sublime text2点ok 最终效果:
2015-07-25 15:33:47 3314 1
原创 快速排序java语言实现
快速排序是很重要的排序算法,但是我在学的时候发现网上没有特别好的例子所以自己动手写了一个。自己动手丰衣足食。package sort;import java.util.Random;public class QuickSort { @SuppressWarnings("unused") public boolean initTestArray(int[] testArr
2015-07-25 15:10:27 638
原创 用一个for循环实现打印乘法口诀表
循环体内定义两个变量,一个控制列,一个控制行;for(int i=0,j=0;j<9;i++){ System.out.println(j+"*"+i+"="+i*j); if(i==j){ i=0; j++; System.out.println(); }}
2015-07-05 15:29:09 4466
原创 JDBC 的编程步骤和事务
JDBC 是一种用于执行SQL的java API ,它是专门为java程序员访问数据库而准备的。JDBC常用的API有Connection和Statement。JDBC由API和SPI俩部分组成。JDBC操作数据库的编程步骤://第一步,注册驱动程序Class.forNmae("数据库驱动的完整类名");//第二步,获取一个数据库的完整类名Connection conn=Dr
2015-07-05 09:24:28 4473
原创 Think In java 笔记一
今天起要读这本书了,以前都没有认真读过书,是时候改变自己了;现在觉得不是写不出代码,而是没有想法,没有架构,要做一个大神不是写多少代码,而是要能做出一个好的架构,代码写起来容易,架构做起来难啊;现在在写这些字的时候都不能确定自己能不能把这本书都完! 希望自己能读完吧!第一章读不下去,都是大段大段的理论,几乎没有例子;所以直接第二章了。第二章 一切都是对象正式用java设计之前
2015-07-04 17:15:37 896
原创 java中的应用和c++中的指针的区别
传值还是传引用?基本类型数据传值,对象类型传引用。1、类型:引用其值为地址的数据元素,java封装了的地址可以转成字符串查看,c++指针是一个装地址的变量,可以认为是int。2、所占内存:引用声明时没有实体,不占空间。c++指针如果声明之后用到才会赋值,否则不会分配内存3、初始值:引用初始值为null,c++指针是int,如不初始化则值不定4、引用不可计算,指针可以计算5、
2015-06-30 21:31:30 592
原创 JDK和JRE的区别
JDK和JRE是java开发和运行的工具,其中JDK包含了JRE,但是JRE可以单独安装。JDK是java开发工具,它不仅提供了java程序运行所需的JRE,还提供了一系列的编译、运行等工具,如javac、java、javaw等。JRE只是java程序的运行环境,它最核心的是JVM及核心类库。
2015-06-30 20:46:37 725
原创 各种排序算法之比较
1.时间复杂度 时间复杂度为O(n^2)的排序算法:插入排序、冒泡排序、选择排序 时间复杂度为O(nlogn)的排序算法:堆排序、归并排序、快速排序 希尔排序介于这两者之间2.算法稳定性 稳定的排序算法:插入排序、冒泡排序、归并排序和基数排序 不稳定的排序算法:选择排序、快速排序、希尔排序、堆排序
2015-06-29 21:49:17 976
原创 排序算法之插入排序
void InsertSort(DataList& L){ DataType temp;int i,j; for(i=1;i<=L.n-1;i++){ if(L.elem[i].key<L.elm[i-1].key){ temp=L.elm[i]; for(j=i-1;j>=0&&temp.key<L.elm[j].key;j--) L.elm[j+1]=L.elm[j
2015-06-29 21:22:28 497
原创 折半查找
1.折半查找的非递归算法int BinarySearch(SeqList &L,DataType x){ int high=L.n-1,low=0,mid; while(low<=high){ mid=(low+high)/2; if(x.key>L.data[mid].key) low=mid+1; else if(x.key<L.data[mid].key
2015-06-28 10:08:29 793
原创 排序算法之选择排序
void select_sort(int a[],int len){ int i,j,max,k; for(i=0;i<len;i++) { max=a[i]; k=i; for(j=i;j<len;j++) { if(a[j]<max) { max=a[j]; k=j; } } a[k]=a[i]; a[i]=max; }
2015-06-27 20:36:27 417
原创 排序算法之冒泡排序
冒泡排序:冒泡排序的的优点是好理解,稳定,再就是空间复杂度低,不需要额外开辟数组元素的临时保存控件,当然了,编写起来也容易。其算法很简单,就是比较数组相邻的两个值,把大的像泡泡一样“冒”到数组后面去,一共要执行N的平方除以2这么多次的比较和交换的操作(N为数组元素),其复杂度为Ο(n²),如图:main(){ int a[5]; int i;
2015-06-27 20:30:23 490
原创 排序算法之快速排序
int AdjustArray(int s[], int l, int r) //返回调整后基准数的位置{ int i = l, j = r; int x = s[l]; //s[l]即s[i]就是第一个坑 while (i < j) { // 从右向左找小于x的数来填s[i] while(i = x) j--; if(i < j) { s[i] =
2015-06-27 20:26:27 489
原创 快速排序
int Partition(int *A,int low,int hight){ int key=A[low]; while(low<high){ while(low=key) --high; swap(A[low],A[high]); wh
2015-06-27 16:35:00 436
原创 c中的static变量
当一个进程的全局变量被声明为static之后,它的中文名叫静态全局变量。静态全局变量和其他的全局变量的存储地点并没有区别,但是它只在定义它的源文件内有效,其他源文件无法访问它。static局部变量中文名叫静态局部变量。它与普通的局部变量比起来有如下几个区别:1)位置:静态局部变量被编译器放在全局存储区,所以它虽然是局部的,但是在程序的整个生命周期中存在。2)访问权限:静态局部变量只能被其作用域内的变
2015-06-27 14:53:19 801
原创 c++中的静态成员
c++中,提出静态成员的目的是为了解决数据共享问题,一个给定类的每个对象都有类中定义的所有数据的副本,如果在类中将数据成员用static修饰,则这个类成员只要一个副本,并且它被这个类的所有对象所共享。与类的其他成员一样,静态成员包含静态数据成员和静态成员函数。静态方法不能访问普通数据成员。静态方法直接用类名访问而不需要实例化,在实例化之前普通数据成员是不存在的。
2015-06-27 14:44:28 415
原创 c++中的构造函数和析构函数
析构函数用来释放在类的构造函数中或整个生命期中获得的资源。 在一个类中可以有多个构造函数和一个析构函数。 构造函数允许重载,析构函数不允许重载。 析构函数自动调用。
2015-06-27 14:36:43 412
转载 面试总结二
重点内容此贴为转载,原帖地址:http://blog.csdn.net/derrantcm/article/details/46658823114、java中实现多态的机制是什么答:重写,重载。方法的重写Overriding和重载Overloading是Java多态性的不同表现。 重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果
2015-06-27 09:55:23 1555
原创 宏定义
以下程序#include#define SUB(a) (a)-(a)main(){int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}运行后的结果是:d=SUB(a+b)*c=SUB(2+3)*5=(2+3)-(2+3)*5=5-25=-20以下程序# include#define
2015-06-27 08:58:33 484 1
原创 指针的定义
用变量a给出下面的定义:a.一个整形数。b.一个指向整形数的指针c.一个指向指针的指针,它指向的指针是一个整形数d.一个有10个整形数的数组。e.一个有10个指针的数组,该指针指向一个整形数f.一个指向有10个整形数的的数组的指针。g.一个指向函数的指针,该函数有一个整形参数并返回一个整形数h.一个有10个指针的数组,该指针指向一个函数,改函数有一个整形参数并返回一
2015-06-26 15:49:32 585 2
原创 实习面试题目总结一
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 finally—在异常处
2015-06-22 20:06:24 620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人