- 博客(115)
- 资源 (14)
- 收藏
- 关注
原创 intent
1、intent描述 intent是一个对将要进行的操作的抽象描述,主要有三种表现形式: 通过startActivity启动一个新的Activity 通过sendBroadcast将intent发送给任何对该intent感兴趣的BroadcastReceiver 通过startService或者bindService和后台的service进行交互2、in
2013-10-05 19:03:35
1230
原创 容器
1、返回一个数组 在C/C++中,不能直接返回一个数组,通常是返回一个指向数组的指针。这样维护数组的生命周期变得十分困难,并且容易造成内存泄露。 但是在JAVA中,可以直接返回一个数组。而且不用关系数组是在哪儿创建的,什么时候需要销毁。2、注意 如果一个字符串频繁地被改变,请使用StringBuffer代替String,这样会大大地提高效率。 equal
2013-10-04 22:09:40
932
原创 RTTI和反射
1、RTTI RTTI,运行时类型检查。JAVA中主要有两种方法允许我们获得运行时对象和类的信息。 传统的RTTI,假设我们在编译期和运行期已经知道了所有的类型 反射,允许在运行期获得对象的类型。2、Class对象 class TestClass {} TestClass testClass = new TestClass(); Cl
2013-10-04 21:01:52
4925
原创 内部类
1、匿名内部类 将返回值的生成和表示这个返回值的类的定义,放在一起。 例如:匿名类Test public Test getClass() { return new Test { private int i = 10; public int getValue() { return i; }
2013-10-04 16:11:23
1011
原创 接口和内部类
1、接口 接口是一个完全抽象的类,里面没有任何具体的实现方法。 接口又不仅仅是一个完全抽象的类,它可以让你创建一个能够向上转型为不止一种基类的类(使用接口的核心原因),以模拟C++中的多重继承。 接口中的方法都是public类型,数据都是public static final类型的。2、内部类 置于某个类的内部,隐藏某些代码的实现。 内部类也可
2013-09-30 14:39:44
876
原创 多态
1、多态 动态绑定、运行时绑定、后期绑定2、抽象类 如果一个类中包含一个或者多个抽象方法,则该类必须声明为抽象类(abstract class)。 从抽象类继承的类,如果没有重写抽象类中的所以抽象方法,则该类也是一个抽象类,需要abstract关键字来修饰类。3、向上转型 新类(子类)是现有类(父类)的一种类型。 将子类引用转型为父
2013-09-30 11:47:43
819
原创 JAVA-对象
1、一切都是对象,用引用控制对象引用与对象是相互独立存在的例如:String s; //定义一个引用s,s没有与任何对象关联String s = "hello" //定义一个引用s,并与对象关联2、对象的作用域{String s = new String("hello");}引用s在作用域终点处消失了,但是s所指向的String对象永远占据着内存空间
2013-09-29 10:40:35
780
原创 samba服务的配置
1、samba安装和运行 查询是否安装: rpm -qa | grep samba 没有安装则执行: yum install samba 启动: service smb start service nmb start 查看进程: ps -eaf
2012-11-29 09:46:59
1021
原创 Postfix邮件服务器架设
1、postfix服务器安装、运行与配置 安装:yum install postfix 运行:/usr/sbin/postfix start ps -eaf|grep postfix netstat -an|grep :25 配置:编辑/etc/postfix/main.cf
2012-11-28 13:59:14
1403
原创 MySQL服务器
1、安装 通常系统在成功安装之后就已经自带MySQL服务器以及客户端了。 查询MySQL及其相关文件是否安装: rpm -qa | grep perl rpm -qa | grep mysql 如果没有安装,则可以使用yum进行安装: yum -y install perl-DBI yum -y
2012-11-28 13:17:54
823
原创 DNS服务器搭建
我的Linux主机内网用的是局域网,ip为192.168.100.156,该局域网外网ip为202.114.107.159。注意:如果需要支持外网使用我们的dns服务器则需要注意以下两点。 在/etc/named.conf配置文件中使用view; 在路由器中的转发规则中的虚拟服务中添加端口映射,添加53端口,并且映射为内网ip192.168.100.156,然后生该条目生效
2012-11-15 12:35:54
1194
原创 Web服务器搭建
1、Apache安装与运行 一般情况下,系统已经安装好了。使用rpm -q httpd,如果没有安装,则使用yum -y install httpd安装。 运行:执行/usr/sbin/apachectl start即可。如果修改了配置文件记得使用/usr/sbin/apachectl restart重启apache服务。2、虚拟主机配置 修改/etc/httpd
2012-11-08 12:11:02
3108
原创 FTP服务器
1、vsftpd服务器 安装:yum -y install vsftpd 启动:/usr/sbin/vsftpd 查看进程和监听端口:ps -eaf | grep vsftpd //查看进程 netstat -an | grep :21 //查看端口 匿名用户配置:vi
2012-11-07 21:28:21
2522
原创 Linux----远程管理
1、telnet服务器 检查工作: 检查xinetd、telnet和telnet-server是否安装:rpm -q xinetd、rpm -q telnet、rpm -q telnet-server 安装工作:没有安装的话,执行yum -y install xinetd、yum -y install telnet、yum -y install telnet-server
2012-11-07 21:24:47
886
原创 Linux基础网络知识
1、ifconfig 显示网络接口参数:ifconfig 配置网络接口参数:ifconfig eth0 192.168.100.101 netmask 255.255.255.0(设置ip地址和子网掩码) ifconfig eth0:1 192.168.100.102 netmask 255.255.2
2012-11-07 21:23:33
2191
原创 输入一个正数 n,输出所有和为 n 连续正数序列。
1、输入一个正数 n,输出所有和为 n 连续正数序列 例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5、4-6 和 7-8。 分析:我们用两个数small和big分别表示序列的最小值和最大值。首先把small初始化为 1,big初始化为 2。如果从small到big的序列的和大于n的话,我们向右移动smal
2012-09-18 15:18:52
6522
原创 2012校园招聘笔试总结----更新。。。
1、指向数组的指针 int (*ptr)[5]=(int (*)[5])100; int k=(int)(ptr+1); printf("%d\n",(int)(&(*(ptr+1))[2])); //100+5*4+2*4=1282、三维数组赋值与取值 int a[3][4][5]; int *p=(int *)a;
2012-09-14 16:39:55
1508
原创 查找子字符串----KMP算法深入剖析
假设主串:a b a b c a b c a c b a b 子串:a b c a c1、一般匹配算法逐个字符的比较,匹配过程如下: 第一趟匹配 a b a b c a b c a c b a b a b c 第二趟 a b a b c a b c a c b a b a 第三趟 a b a b c a b c a c
2012-09-12 16:25:57
2948
原创 排序----归并排序
1、归并排序 原理:假设初始序列有n个记录,则可以看成是n个有序的子序列,每一个子序列的长度为1,然后两两归并,得到[n/2]个长度为2或者1的有序子序列;再两两归并......,如此重复,知道得到一个长度为n的有序序列为止。2、归并排序递归版本 递归将序列分行n个长度为1的子序列,然后递归将n各子序列排序成一个长度为n的有序序列。代码:#inclu
2012-09-12 15:05:12
792
原创 排序----希尔排序
1、希尔排序 算法思想简单描述:在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,并且对插入下一个数没有提供任何帮助。如果比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。D.L.shell于1959年在以他名字命名的排序算法中实现了这一思想。 算法先将要排序的一组数按某个增量d分成若干组,每组中记
2012-09-12 14:58:25
752
原创 图论----深度优先遍历和广度优先遍历
1、广度优先遍历 广度优先遍历从某个顶点v出发,首先访问这个结点,并将其标记为已访问过; 然后顺序访问结点v的所有未被访问的邻接点{vi,..,vj},并将其标记为已访问过; 然后将{vi,...,vj}中的每一个节点重复节点v的访问方法,直到所有结点都被访问完为止。具体代码实现时:我们可以使用一个辅助队列q,首先将顶点v入队,然后循环检测
2012-09-11 22:42:16
1654
原创 B-树、B+树、B*树的区别
1、二叉搜索树 性质:所有非叶子结点至多拥有两个儿子(Left和Right);每个结点存储一个关键字;非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树。 搜索:从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应
2012-09-11 22:41:03
32188
原创 多路查找树开篇
1、引言 以前我们所讨论的数据结构,处理数据都是在内存中。假如我们所要操作的数据集非常大,大到内存无法处理了怎么办?如数据库上千万记录的数据表、硬盘中上万个文件等。在这种情况下,对数据的处理需要不断的从硬盘等存储设备中调入或者调出内存页面。而过多的进行IO读写,显然会降低系统的效率。为了降低对外存的访问次数,我们就需要新的数据结构来处理这样的问题。2、2-3树
2012-09-11 22:40:45
4595
原创 图论----最短路径
1、Floyd算法 原理:图中任意两点之间的最短距离等于两点之间的直接距离和经过其他中间节点的距离之和的最小距离,即D[i][j] = min{ D[i][j] , D[i][k] + D[k][j] },Floyd通常用来求所有顶点到所有顶点的最短路径。代码如下:#include "stdafx.h"#include #include #pragma warn
2012-09-11 22:39:37
902
原创 图论----深度优先遍历和广度优先遍历
1、广度优先遍历原理: 广度优先遍历从某个顶点v出发,首先访问这个结点,并将其标记为已访问过; 然后顺序访问结点v的所有未被访问的邻接点{vi,..,vj},并将其标记为已访问过; 然后将{vi,...,vj}中的每一个节点重复节点v的访问方法,直到所有结点都被访问完为止。具体代码实现时: 我们可以使用一个辅助队列q,
2012-09-09 17:25:26
3714
原创 排序----快速排序
1、快速排序思想:选取基准元素,将数组分成两个子数组,其中一个数组里面的元素都比基准元素大,而另一个数组元素都比基准元素小。然后递归调用快速排序对这两个子数组进行排序。代码://快速排序//输入数组a,数组起始位置start(初始值0),结束位置end(初始值n-1)void QuickSort(int *a,int start,int end){ int i=start,
2012-09-07 23:54:56
859
原创 排序----堆排序
1、堆数据结构 堆数据结构:是一种数组对象。它可以视为一个完全二叉树,数中的每个节点和数组的每个元素一一对应。 最大根堆:堆中最大值存放在根节点中。并且以某一节点为根的子树中,各节点的值都不大于该子树根结点的值。2、维护堆的性质 我们假设某一节点A[i],以A[i]的左孩子A[LEFT[i]]和右孩子A[RIGHT[i]]为根的两棵子树都是
2012-09-07 23:28:15
774
原创 圆圈中最后剩下的数字----Joseph环
圆圈中最后剩下的数字 n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。 分析1:很容易想到用循环链表。我们可以创建一个总共有n个数字的循环链表(不带头节点),然后每次从这个列
2012-09-07 16:26:00
3491
原创 栈的push、pop序列
栈的push、pop序列 输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因为可以有如下的push和pop序列:push 1,push 2,push 3,push 4,pop,pu
2012-09-07 16:24:59
1472
原创 统计在从1到n的正整数中1出现的次数
统计在从1到n的正整数中1出现的次数1、最直观的想法,求1到n中每个整数中1出现的次数,然后相加即可。而求每个十进制整数中1出现的次数,我们先判断这个数的个位数是否是1,如果这个数大于10,除以10之后再判断个位数是否为1,循环直至求出该整数包含1的个数。代码如下:#include "stdafx.h"#include "stdlib.h"#include #include
2012-09-07 16:23:36
14218
原创 多线程经典面试题
1、基本概念 详见:线程和进程关系和区别、同步和互斥、进程间通信2、以下多线程对int型变量x的操作,哪几个不需要进行同步(D) A. x=y; B. x++; C. ++x; D. x=1; 详见:多线程二 多线程中的隐蔽问题揭秘3、多线程中栈与堆是公有的还是私有的 (C) A:栈公有, 堆私有
2012-09-05 23:17:39
64752
3
原创 探索1+2+…+n的不同求解方法?
题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。 思路:通常求1+2+…+n除了用公式n(n+1)/2之外,无外乎循环和递归两种思路。1、利用&&的短路性质,使用递归int add_fun(int n){ int sum=0; n && (sum=add_fun(n-
2012-09-05 17:52:01
2599
原创 SQL常见语句大全
----------------------------------------------------------基本--------------------------------------------------------------1、SELECT(选取) SELECT * FROM Persons WHERE firstname='Thomas' OR lastname
2012-09-05 12:48:33
1052
原创 探索Fibonacci数列的最佳求解方法
1、定义Fibonacci数列如下: / 0 n=0 f(n) = 1 n=1 \ f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的第n项。 分析:在很多C语言教科书中讲到递归函数的
2012-09-04 21:28:09
1759
原创 计算机网络基础知识 四
1、计算机网络与分布式计算机系统之间的区别与联系是什么? 两者在物理结构上是非常类似的,但是软件上有很大的差异。主要表现为: 1) 计算机网络以计算机网络通信和共享资源为主要目的,各计算机独立工作,向用户呈现分散系统。 2) 分布式系统以提高整体性能为主要目的,强调多计算机系统的整体性,各计算机协调自治工作,向用户呈现整体系统2、什么是交换?比较
2012-09-04 10:43:44
6025
原创 计算机网络基础知识 三
1、是什么原因使以太网有一个最小帧长和最大帧长? 设置最小帧长是为了区分开噪声和因发生碰撞而异常中止的短帧。 设置最大帧长是为了保证个站都能公平竞争接入到以太网。因为如果某个站发送特长的数据帧,它会长时间的占用信道,则其他的站就必须等待很长的时间才能发送数据。2、在以太网中发生了碰撞是否说明这时出现了某种故障? 以太网中发生碰撞是很正常的现象。发
2012-09-04 10:42:47
5148
原创 计算机网络基础知识 二
1、试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的? 运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务 运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信。 各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和
2012-09-04 10:42:24
7213
原创 计算机网络基础知识 一
1、 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。 电路交换电路交换就是计算机终端之间通信时,一方发起呼叫,独占一条物理线路。当交换机完成接续,对方收到发起端的信号,双方即可进行通信。在整个通信过程中双方一直占用该电路。它的特点是实时性强,时延小,交换设备成本较低。但同时也带来线路利用率低,电路接续时间长,通信效率低,不同类型终端用户之间不能通信等缺点。电路交换比较
2012-09-04 10:41:51
4607
转载 精选微软等公司数据结构+算法面试100题带答案(86-90)
86、怎样编写一个程序,把一个有序整数数组放到二叉树中? 分析:本题考察二叉搜索树的建树方法,简单的递归结构。关于树的算法设计一定要联想到递归,因为树本身就是递归的定义。而学会把递归改称非递归也是一种必要的技术。毕竟,递归会造成栈溢出,关于系统底层的程序中不到非不得以最好不要用。但是对某些数学问题,就一定要学会用递归去解决。struct BTree{ int data;
2012-09-03 15:22:33
2230
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人