基础知识点
文章平均质量分 55
学战到底
这个作者很懒,什么都没留下…
展开
-
知识点总结之Java语言的优点
1、Java是纯面向对象的语言。《Java编程思想》中提到Java语言是一种“Everything is object”的语言,它能够直接反映现实生活中的对象,例如车、动物等,因此通过它编写程序更容易。2、平台无关性。Java语言可以“一次编译,到处执行”。无论是在Windows平台还是在Linux、MacOS等其他平台上对Java程序进行编译,编译后的程序在其他平台上都可以运行。由于Java原创 2016-07-13 12:26:24 · 7466 阅读 · 0 评论 -
linux中fork()函数详解(原创!!实例讲解)
linux中fork()函数详解(原创!!实例讲解) (转载) 一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给转载 2016-09-06 16:01:14 · 642 阅读 · 0 评论 -
有5个人ABCDE排队,排好后他们决定重新排队,每个人都不在原来的位置上,那么总共有多少种排法
n个人每个人都不站在原来的位置的方法数有:f(n)=n!(1/2!-1/3!+1/4!+..+(-1)^n/n!)此公式的推导过程要用到筛法公式,而且推导过程很复杂,除了竞赛高考肯定不会出现,对于n不大于4时可采用枚举法.一般只需记住n不大于5的情况即可f(2)=1,f(3)=2,f(4)=9,f(5)=44此外还有一个简单的公式f(n)={n!/e},{x}表示最接近x的整数,e为自然底原创 2016-09-05 01:23:16 · 11027 阅读 · 0 评论 -
Windows中的SAM文件
SAM文件即账号密码数据库文件。当我们登录系统的时 候,系统会自动地和Config中的SAM自动校对,如发现此次密码和用户名全与SAM文件中的加密数据符合时,你就会顺利登录;如果错误则无法登录。如果你不用管本来系统卡包含的任意账号,而且有两个操作系统的话,可以使用另外一个能访问NTFS的操作系统启动电脑,或者虽然没有安装两个系统,但可以使用其他工具来访问NTFS。然后删除C:\WINNT\原创 2016-09-04 22:59:47 · 22408 阅读 · 2 评论 -
2017年搜狐内推 面试题——谈谈面试中的算法
转自:2017年搜狐内推 面试题——谈谈面试中的算法,保存在此以学习。第一题:给你一个数组,其中有一个元素的个数大于数组总个数的一半,求出这个元素。该同学的给出了方法一:先对数组排序,然后找到中间的那个数字,一定就是我们要找的元素。如果使用快速排序的话,该算法的平均时间复杂度为O(nlogn),空间复杂度为O(1)。群友给的方法二:用HashMap 去解决,key存放元转载 2016-09-02 16:51:36 · 1470 阅读 · 0 评论 -
稳定排序与不稳定排序
首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排转载 2016-09-13 10:21:42 · 485 阅读 · 0 评论 -
面向对象与面向过程
1、(函数与数据是否分离)面向过程的程序设计是采用函数来描述对数据的操作,但又将函数与其操作的数据分离开;面向对象的程序设计方法将数据和对数据的操作封装在一起,作为一个整体来处理。2、面向过程程序设计方法是以功能为中心来设计功能模块,难于维护;而面向对象程序设计方法以数据为中心来描述系统,数据相对于功能来说具有较强的稳定性,因此更易于维护。3、面向过程的程序控制流程是由程序中设计好的顺序来原创 2016-08-21 20:50:56 · 767 阅读 · 0 评论 -
计数排序、桶排序和基数排序
转自:计数排序、桶排序、基数排序,保存在此以学习。计数排序当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排转载 2016-09-11 10:45:28 · 497 阅读 · 0 评论 -
ASCII、Unicode、Utf-8
转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同转载 2016-07-05 14:34:12 · 421 阅读 · 0 评论 -
GBK和UTF8的区别
GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。以上或许你看不懂,简单的说GBK就是中文字符集,在装有中文GBK编码电脑上能正常显示中文,而如果在国外非中文操作转载 2016-07-05 14:36:08 · 789 阅读 · 0 评论 -
知识点:面向对象与面向过程
面向对象是软件开发中主流方法之一,它是把数据及对数据的操作方法放到一起,作为一个相互依存的整体,即对象。对同类对象抽象出其共性,即类,类中的大多数数据,只能被本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。面向过程是一种以事件为中心的开发方法,就是自顶向下顺序执行,逐步求精,其程序结构是按照功能划分为若干个基本模块,这原创 2016-07-19 20:28:03 · 911 阅读 · 0 评论 -
Java与C++的异同点总结
Java与C++都是面向对象的语言,都使用了面向对象的思想(封装、继承、多态),由于面向对象由许多非常好的特性(继承、组合等),因此二者有很好的可重用性。不同点:1、Java为解释性语言,其运行过程为:程序源代码经过Java编译器编译成字节码,然后由JVM解释执行方式。而C/C++为编译型语言,源代码经过编译和链接后生成可执行的二进制代码,可直接执行。因此Java的执行速度比C/C++慢,原创 2016-07-14 15:55:20 · 18509 阅读 · 2 评论 -
32位与64位操作系统以及CPU的关系
32位和64位的区别: 从硬件看, 1、目前32位和64位是指CPU的通用寄存器位宽(数据总线的位宽),所以64位的CPU数据处理位宽是32位CPU的2倍; 2、可寻址范围扩展,32位系统支持最大内存位4G(地址总线位宽已经是32位),64位系统理论(地址总线位宽达到64位时)支持最大内存为:2^64=18446,744,073,709,551,616,约1600万TB,相当于1原创 2016-04-11 16:27:27 · 9251 阅读 · 0 评论 -
Java的浅复制和深度复制
假如说你想复制一个简单变量。很简单:[java] view plain copyint apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float,double.long)同样适用于该类情况。转载 2017-11-05 22:01:02 · 785 阅读 · 0 评论