自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 数据库事务的概念

其实有关 SQL Server 中的事务,说实话因为内容太多, 话题太广,稍微力度控制不好就超过了我目前知识能力范围,就不是三言两语能够讲清楚的。所以希望大家能够指出其中总结的不足之处,对我来说多了提高的机会,更可以帮助大家加深对事务的理解。本文涉及到的知识点:SQL Server 数据库中事务的概念ACID 原则 (加了一部分内容专门解释原子性,提到了显示事务以及 XACT_

2014-09-24 20:32:02 831

转载 某某公司试题

1. . release版本的可执行程序为什么非常大?程序一般分为Debug版本和Release版本,Debug版本用于内部调试,Release版本发行给用户使用Release和Debug有什么不同Release版称为发行版,Debug版称为调试版。Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行

2014-09-23 10:34:47 977

原创 java 泛型

java中的泛型与C++中的模板有类似之处。1、泛型

2014-09-23 09:37:02 494

原创 java——抽象类与接口

抽象类:1、抽象类只能作为

2014-09-23 09:09:43 559

转载 java 容器类使用 Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别

java 容器类使用 Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别经常会看到程序中使用了记录集,常用的有Collection、HashMap、HashSet、ArrayList,因为分不清楚它们之间的关系,所以在使用时经常会混淆,以至于不知道从何下手。在这儿作了一个小例子,希望有助于帮大家理顺思路。

2014-09-23 09:03:58 1209

转载 图(Graph)——基本概念、存储、遍历

. 图的基本概念图(Graph):G = ( V,E )V(G):顶点E(G):边(1)边:(2)权:与图的边或弧相关的个数(3)子图:如果图G(V,E)和图G‘(V’,E‘),满足:V’属于V &&  E’属于E(4)顶点的度:    无向图:与顶点相连的边数    有向图:      入度:以该顶点为头的弧的数目     

2014-09-23 08:59:06 1696

转载 图(Graph)——最小生成树、最短路径、Kruskal、Dijkstra、Floyd

4. 最小生成树4.1 生成树(1)定义:所有顶点均由边连接在一起,但不存在回路的图叫该图的生成树(2)深度优先生成树与广度优先生成树(3)    一个图可以有许多棵不同的生成树    所有生成树具有以下共同特点:           生成树的顶点个数与图的顶点个数相同           生成树是图的极小连通子图4.2 最小生成树

2014-09-23 08:58:08 2044

转载 TCP/IP笔记 四.应用层(3)——HTTP

1. URLURL(Uniform Resource Locator) 相当于一个文件名在网络范围的扩展。1.1 格式schema://host[:port#]/path/.../[?query-string][#anchor]scheme            指定低层使用的协议(例如:http, https, ftp)host        

2014-09-23 08:57:52 519

转载 TCP/IP笔记 四.应用层(2)——FTP

1. FTP(File Transfer Protocol)文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。1.1 网络环境下复制文件的复杂性:(1) 计算机存储数据的格式不同。(2) 文件的目录结构和文件命名的规定不同。(3) 对于相同的文件存取功能,操作系统使用的命令

2014-09-23 08:56:52 574

转载 TCP/IP笔记 四.应用层(1)——DNS

1. DNSDNS(Domain Name System ):域名系统,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS使用TCP与UDP端口号都是53,主要使用UDP,服务器之间备份使用TCP。2. 域名结构通常 Internet 主机域名的一般结构为

2014-09-23 08:55:24 567

转载 TCP/IP笔记 三.运输层(4)——TCP链接管理与TCP状态机

1. 建立连接三次握手(1)A 的 TCP 向 B 发出连接请求报文段,其首部中的同步比特 SYN 应置为 1,并选择序号 x,表明传送数据时的第一个数据字节的序号是 x。(2)B 的 TCP 收到连接请求报文段后,如同意,则发回确认。(3)B 在确认报文段中应将 SYN 置为 1,其确认号应为 x + 1,同时也为自己选择序号 y。(4)A 收到此报文段后

2014-09-23 08:53:36 521

转载 TCP/IP笔记 三.运输层(3)——TCP超时重传算法

TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段1. 平均往返时延RTT往返时延:一个报文段发出的时间,以及收到相应的确认报文段的时间。这两个时间之差就是报文段的往返时延平均往返时延new_RTTs = a* (old_RTTs) + (1 - a) * (新的RTT样本)      0a:

2014-09-23 08:52:38 573

转载 TCP/IP笔记 三.运输层(2)——TCP 流量控制与拥塞控制

TCP 的流量控制与拥塞控制可以说是一体的。流量控制是通过滑动窗口实现的,拥塞避免主要包含以下2个内容:(1)慢开始,拥塞避免(2)快重传,快恢复1.流量控制——滑动窗口TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节。发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限

2014-09-23 08:49:35 846

转载 TCP/IP笔记 三.运输层(1)——UDP,TCP

1. 运输层1.1 两种协议:TCP和UDP。(1)TCP:提供了一种可靠的数据传输服务,TCP是面向连接的,只有链接建立起来后才能通信。(2)UDP:是把数据直接发出去,而不管对方是不是在收信,就算是UDP无法送达,也不会产生ICMP差错报文。1.2 上下层(1)TCP,UDP不知道数据在信道中经过了哪些路由器,(2)网络层(那些路由器)不

2014-09-23 08:48:38 650

转载 TCP/IP笔记 二.网络层(3)——广播,多播,IGMP

1. 多播与广播1.1 广播一般说来ARP,或者路由协议RIP应该是以广播的形式播发的。1.2 多播多播可明显地减少网络中资源的消耗。1.2.1 特点(1) 多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。  (2) 永久组地址——由因特网号码指派管理局 IANA 负责指派。

2014-09-23 08:48:17 728

转载 TCP/IP笔记 二.网络层(2)——ICMP,RIP,OSPF,BGP

1. ICMPICMP (Internet Control Message Protocol) 作用:提高 IP 数据报交付成功的机会。1.1 特点ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP 不是高层协议,而是 IP 层的协议。ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。

2014-09-23 08:46:56 787

转载 TCP/IP笔记 二.网络层(1)——IP,子网,CIDR

1. IP1.1 配套协议IP 是 TCP/IP 体系中两个最主要的协议之一 。与 IP 协议配套使用的还有四个协议:  (1)ARP (Address Resolution Protocol)地址解析协议 (2)RARP (Reverse Address Resolution Protocol)逆地址解析协议 (3)ICMP(Internet Contro

2014-09-23 08:39:21 691

转载 TCP/IP笔记 一.综述

1. TCP/IP分层TCP/IP 是四层的体系结构:应用层、运输层、网际层和网络接口层,如下图:OSI协议是国际标准的网络协议,但是由于OSI的实用性等问题造成OSI没有流行起来。目前国际上广泛应用的是TCP/IP协议。一般情况下为了学习,通常往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,如下图:

2014-09-23 08:38:52 944

转载 Linux C 网络编程——6. IO阻塞、非阻塞、复用、信号驱动、异步驱动

在Linux中进程空间和内核空间是分开的,系统调用是在Kernel中,IO 数据会先复制到进程空间,这样进程才能访问。所以Linux I/O分为2个步骤:等待数据和复制数据1. 阻塞I/O(Blocking IO)socket的默认方式。请求IO进程(recvfrom)会一直处于阻塞状态,这种效率极低。2. 非阻塞IOrecvfrom不会阻塞

2014-09-23 08:36:45 975

转载 Linux C 网络编程——5. 并发服务器

1. 原理在Linux C 网络编程——4. 简单TCP Socket程序中实现了一个最基本的基于TCP的CS通信,这里介绍一种可以允许Server端可以同时处理多个请求(并发服务器)。原理:每次accept服务器调用fork(),创建一个子进程处理请求。2. 实现只需要修改上一篇文章中的Server.c的while循环即可

2014-09-23 08:34:09 613

转载 Linux C 网络编程——4. 简单TCP Socket程序

根据图中的流程,实现一个最简单的TCP程序。1. 客户端功能:发送一个字符串给服务器[cpp] view plaincopy/*  ============================================================================  Name        : 

2014-09-23 08:32:56 694

转载 Linux C 网络编程——2. 基础

1. 地址存储结构头文件 : netinet/in.hIPv4:[cpp] view plaincopystruct in_addr  {      in_addr_t s_addr;   //uint32  };  [cpp] view plaincopys

2014-09-23 08:30:55 448

转载 Linux C 网络编程——3. TCP套接口编程

1. 基本流程2. socket()[cpp] view plaincopy"font-size:14px">int socket(int domain, int type, int protocol);  socket()打开一个网络通讯端口,如果成功的话,就像open()一样返回一个文件描述符,应用程序可以像读写文件一样用

2014-09-23 08:29:46 636

转载 Linux C 网络编程——1. 大端序和小端序

1. 字节序数据在内存中有2种存放方式:大端序(Big-Endian):低位字节放在高位地址小端序(Little-Endian):相反x86系列则采用little endian方式存储数据如:0x12345678数据以8bit位单位,在内存中的存储如下:Big Endian   低地址                     

2014-09-23 08:28:53 508

转载 C++基础面试题

const符号常量:(1)、const char *p(2)、char const *p(3)、char * const p如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量。如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。析构函数和虚函数的用法和作用?析构函数的作用是当对象生

2014-09-23 08:25:57 415

转载 C++面试题——智能指针的原理和实现

1,你知道智能指针吗?智能指针的原理。     2,常用的智能指针。     3,智能指针的实现。  1答案:智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针。智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放,     2, 最常用的智能指针:               1)std::auto_ptr,有很多问题

2014-09-23 08:23:30 1343

转载 Android系统的智能指针实现原理分析

Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了,一旦使用不当,轻则造成内存泄漏,重则造成系统崩溃。不过系统为我们提供了智能指针,避免出现上述问题,本文将系统地分析Android系统智能指针(轻量级指针、强指针和弱指针)的实现原理。        在使用C++来编写代码的过程中,指针使用不当造成内存泄漏一般就是因为new了一个对象并且使用完之

2014-09-23 08:21:38 1383

转载 操作系统笔试题汇总

1.在下列系统中,( )是实时系统。A.计算机激光照排系统 B.航空定票系统 C.办公自动化系统 D.计算机辅助设计系统答案:B2.操作系统是一种( )。A.应用软件 B.系统软件 C.通用软件 D.工具软件答案:B3.引入多道程序的目的在于( )。 A.充分利用CPU,减少CPU等待时间 B.提高实时响应速度C.有利于代码共享,减少主、辅存信息交换量 D.充分利用

2014-09-23 08:16:48 1242

转载 Android源码学习之八—系统启动过程

Android源码数量庞大,虽然对它的学习从未停止,但是整理成这样的文字,实在是费时费力的一件事情,不过好在前文已经对其基本机制加以分析,相信以此为基础,其他的内容学习起来就没那么困难了。今天是2010年的最后一天了,回顾这一年,从手机操作系统的角度来看,我把重点放在了Android上,对Windows Phone和IPhone没有太深入研究,正好以此做一终结,把对Android源码的学习告一

2014-09-23 08:09:52 620

转载 dp,px,pt,sp 的区别 以及dp 和 px 互转

dp = dip : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt: point,是一个标准的长度单位,1pt=1/72英寸,

2014-09-23 08:08:04 498

转载 25个让Java程序员更高效的Eclipse插件

Eclipse提供了一个可扩展插件的开发系统。这就使得Eclipse在运行系统之上可以实现各种功能。这些插件也不同于其他的应用(插件的功能是最难用代码实现的)。拥有合适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序。Eclipse的插件也能帮助他们开发不同应用架构上的程序。下面列出来的是25个最好的免费Eclipse插件,可以让开发者更

2014-09-23 08:05:56 363

转载 Java开发中的23种设计模式详解

设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编

2014-09-23 08:01:58 501

转载 Java中hashmap和hashtable的区别

1、 继承和实现区别  Hashtable是基于陈旧的Dictionary类,完成了Map接口;HashMap是Java 1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)。  2、 线程安全不同  HashTable的方法是同步的,HashMap是未同步,所以在多线程场合要手动同步HashMap。

2014-09-23 07:57:51 422

转载 Android试题

1,谈谈你对Activity的理解?对于这种“你对什么什么怎么理解”的面试题,最好的回到方式就是用你自己的理解说出来,通俗中夹杂些专业术语,偶尔再蹦出几个英文。当然如果你很牛X,你可以往深了说,只要别漫无目的的说就行。围绕一条主线。这其中如果你对某一方面比较精通,你就应该往你精通的方向引。面试官可能就会顺着你的思路走了。不过现在有很多面试问Android方面的知识不多,问java方面的比较

2014-09-23 07:57:51 657

转载 java学习——java 面向 Socket 操作,TCP 和 UDP 示例

TCP/IP 参考模型 应用层-->传输层-->网络层--->物理+数据链路层  .TCP 是一种提供可靠的、端到端的字节流通讯协议 。是一种面向连接的协议。TCP连接是字节流而非报文流。UDP向应用程序提供了一种发送封装的原始ip数据报的方法、并且发送时无需建立连接。是一种不可靠的连接。网关  、 路由器 。Socket编程 。双向的网络通信连接实现数

2014-09-23 07:52:10 596

转载 java学习——序列化与 Transient 关键字

java学习——序列化与 Transient 关键字将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够

2014-09-23 07:50:06 606

原创 Java异常

Java异常1、基本概念在java程序运行时,常常会出现一些非正常的现象,这种情况称为运行错误。根据其性质可以分为错误和异常。java程序中所有抛出的异常都必须从Throwable派生而来。类Throwable有两个直接子类:Error和Exception。一般来说,常见的错误如进入死循环、内存泄露等。这种情况,程序本身无法解决,java对应的类为Error类。Error由

2014-09-22 22:55:27 471

原创 java——final、finally、finalize

final、finally、finalize1、final——是修饰符final类似于C++中得const,可以用来修改不可改变的对象,如基本类型的变量和对象变量。finalinta = 0;void fun(finalBaseb){}final方法:1、该方法可继承但不能复写;2、编译器可将其转化为inline方法publi

2014-09-22 22:54:02 446

转载 红黑树原理详解

前言:         之所以要写这篇文章,第一个目的是为了各位朋友在查看我写的源代码之前有一个可以理解理论的文章因为红黑树还是有点难的,如果不想搞懂理论,而直接看代码,那绝对是云里雾里,不知所云。第二个目的是我觉得网上虽然后不少我文章也在讲,但是我就是理解不上有点困难,在我参考了很多文章之后,认真阅读才慢慢摸透了其中的原理,所以我想用自己的方式来表达,希望有助于各位的朋友

2014-09-12 00:34:16 594

转载 sleep和wait有什么区别

sleep和wait有什么区别第一种解释:功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩.         还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()直接唤起.第二种解释:

2014-09-11 12:17:47 446

空空如也

空空如也

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

TA关注的人

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