自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (13)
  • 收藏
  • 关注

原创 【Java并发编程】之一:可重入内置锁

每个Java对象都可以用做一个实现同步的锁,这些锁被称为内置锁或监视器锁。线程在进入同步代码块之前会自动获取锁,并且在推出同步代码块时会自动释放锁。获得内置锁的唯一途径就是进入由这个锁保护的同步代码块或方法。    当某个线程请求一个由其他线程持有的锁时,发出请求的线程就会阻塞。然而,由于内置锁是可重入的,因此如果摸个线程试图获得一个已经由它自己持有的锁,那么这个请求就会成功。“重入”意味着获

2013-11-28 23:32:13 21822 16

原创 Android之自定义Adapter

在ListView中经常用到适配器Adapter,android提供的三种Adapter主要有ArrayAdapter,SimpleAdapter,SimpleCursorAdapter,ArraAdapter是简单的字符串适配器,在实际项目中很少会用到(功能太有限),SimpleAdapter可以自定义ListView的每个Item的布局,一般在简单的布局中会考虑使用,而SimpleCursor

2013-11-27 17:16:32 5115

转载 Android之MVC模式

MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。一个逻辑模型可以对于多种视图模型,比如一批统计数据你可以分别用柱状图、饼图来表示。一种视图模型也可以对于多种逻辑模型。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,这与《设计模式》中的观察者模式是完

2013-11-22 15:48:53 7338 6

原创 用eclipse编写Android程序时怎样生成apk文件

APK是Android Package的缩写,即Android安装包。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。下面我们一起来看看在Android中如何生成APK文件。

2013-11-20 08:01:57 40676

原创 【Java TCP/IP Socket】Socket编程知识点总结

转载请注明出处:TCP/IP Sockets in java 读书笔记第1章:简介1、协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构、交换方式、包含的意义以及怎样对报文所包含的信息进行解析。2、TCP/IP协议族有IP协议、TCP协议和UDP协议。3、TCP协议和UDP协议使用的地址叫做端口号,用来区分同一主机上的不同应用程序。TCP协议和UDP协议也

2013-11-19 08:10:50 10017 1

原创 最近状态不太好

距离2014校招季还有不到一年时间了,越发感觉知识极度匮乏,好多书要看,好多知识要学,还要做项目。前两周学习效率总体还是不错的,看了2遍《Java TCP/IP Socket 编程》,总结了10多篇笔记,确实学到了很多东西,尤其了解了Socket套接字的一些底层的实现机制。本来打算继续看《Java 并发编程实战》,但是左思右想,还是花一周时间把Android视频实时传输项目完善下吧,毕竟老搁在这里

2013-11-18 23:56:42 4425 20

转载 几种android实时视频网络传输方案比较

以320×240大小的视频传输为例方案压缩率压缩/传输方式实时性平均流量消耗传输距离用camera的回调函数发送原始的yuv420数据0无压缩,按帧传输高(20~30 fps)很高(6.5 Mbps)近距离有线或无线用MediaRecorder对yuv420进行H26

2013-11-18 14:23:57 8078

原创 【Java TCP/IP Socket】深入剖析socket——TCP套接字的生命周期

转载请注明出处:   TCP连接的建立     新的Socket实例创建后,就立即能用于发送和接收数据。也就是说,当Socket实例返回时,它已经连接到了一个远程终端,并通过协议的底层实现完成了TCP消息或握手信息的交换。     客户端连接的建立     Socket构造函数的调用与客户端连接建立时所关联的协议事件之间的关系下图所示:          当

2013-11-17 22:25:20 11145

原创 【Java TCP/IP Socket】深入剖析socket——TCP通信中由于底层队列填满而造成的死锁问题(含代码)

转载请注明出处:     基础准备   首先需要先了解下数据传输的底层实现机制,在http://blog.csdn.net/ns_code/article/details/15813809这篇博客中有详细的介绍,在上面的博客中,我们提到了SendQ和RecvQ缓冲队列,这两个缓冲区的容量在具体实现时会受一定的限制,虽然它们使用的实际内存大小会动态地增长和收缩,但还是需要一个硬性

2013-11-16 08:19:29 9817 3

原创 【Java TCP/IP Socket】深入剖析socket——数据传输的底层实现

转载请注明出处:    底层数据结构    如果不理解套接字的具体实现所关联的数据结构和底层协议的工作细节,就很难抓住网络编程的精妙之处,对于TCP套接字来说,更是如此。套接字所关联的底层的数据结构集包含了特定Socket实例所关联的信息。比附,套接字结构除其他信息外还包含:    1、该套接字所关联的本地和远程互联网地址和端口号。    2、一个FIFO(First Im

2013-11-15 09:02:00 23729 1

原创 【Java TCP/IP Socket】基于NIO的TCP通信(含代码)

NIO主要原理及使用    NIO采取通道(Channel)和缓冲区(Buffer)来传输和保存数据,它是非阻塞式的I/O,即在等待连接、读写数据(这些都是在一线程以客户端的程序中会阻塞线程的操作)的时候,程序也可以做其他事情,以实现线程的异步操作。   考虑一个即时消息服务器,可能有上千个客户端同时连接到服务器,但是在任何时刻只有非常少量的消息需要读取和分发(如果采用线程池或者一线程一客

2013-11-15 09:00:52 22448 4

原创 【Java TCP/IP Socket】Java NIO Socket VS 标准IO Socket

简介    Java  NIO从JDK1.4引入,它提供了与标准IO完全不同的工作方式。NIO包(java.nio.*)引入了四个关键的抽象数据类型,它们共同解决传统的I/O类中的一些问题。    1、 Buffer:它是包含数据且用于读写的线形表结构。其中还提供了一个特殊类用于内存映射文件的I/O操作。    2、 Charset:它提供Unicode字符串影射到字节序列以及逆影

2013-11-12 08:08:08 7669 4

翻译 JAVA NIO Introduction

原文地址:http://tutorials.jenkov.com/java-nio/index.html    Java NIO (New IO) 是一个可供选择的 Java API (从Java 1.4引入),它可以替代标准的java IO API。它提供了一种与标准IO不同的工作方式。    Java NIO:Channels and Buffers(通道和缓冲区)在标准的

2013-11-11 22:16:11 2956

原创 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)

问题的引出    在第一章《基本套接字》中,作者给出了一个TCP Socket通信的例子——反馈服务器,即服务器端直接把从客户端接收到的数据原原本本地反馈回去,示例程序当然运行无误。     书上客户端代码如下:import java.net.Socket;import java.net.SocketException;import java.io.IOException;i

2013-11-10 18:35:32 24962 13

原创 【Java TCP/IP Socket】基于线程池的TCP服务器(含代码)

了解线程池     在http://blog.csdn.net/ns_code/article/details/14105457(读书笔记一:TCP Socket)这篇博文中,服务器端采用的实现方式是:一个客户端对应一个线程。但是,每个新线程都会消耗系统资源:创建一个线程会占用CPU周期,而且每个线程都会建立自己的数据结构(如,栈),也要消耗系统内存,另外,当一个线程阻塞时,JVM将保存其

2013-11-08 08:23:38 25171 5

原创 【Java TCP/IP Socket】构建和解析自定义协议消息(含代码)

在传输消息时,用Java内置的方法和工具确实很用,如:对象序列化,RMI远程调用等。但有时候,针对要传输的特定类型的数据,实现自己的方法可能更简单、容易或有效。下面给出一个实现了自定义构建和解析协议消息的Demo(书上例子)。     该例子是一个简单的投票协议。这里,一个客户端向服务器发送一个请求消息,消息中包含了一个候选人的ID,范围在0~1000。程序支持两种请求:一种是查询请求

2013-11-07 18:33:48 21468 11

原创 【Java TCP/IP Socket】应用程序协议中消息的成帧与解析(含代码)

程序间达成的某种包含了信息交换的形式和意义的共识称为协议,用来实现特定应用程序的协议叫做应用程序协议。大部分应用程序协议是根据由字段序列组成的离散信息定义的,其中每个字段中都包含了一段以位序列编码(即二进制字节编码,也可以使用基于文本编码的方式,但常用协议如:TCP、UDP、HTTP等在传输数据时,都是以位序列编码的)的特定信息。应用程序协议中明确定义了信息的发送者应该如何排列和解释这些位序列,同

2013-11-07 08:13:49 14726 4

原创 帮你理清Java中字符与字节的编码关系

在 GB 2312 编码或 GBK 编码中,一个英文字母字符存储需要1个字节,一个汉字字符存储需要2个字节。 在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节。在UTF-16编码中,一个英文字母字符或一个汉字字符存储 都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。在UTF-32编码中,世界上任何字符的存储都需要4个字节。    我的

2013-11-06 08:14:16 18126 10

原创 【Java TCP/IP Socket】UDP Socket(含代码)

UDP协议提供的服务不同于TCP协议的端到端服务,它是面向非连接的,属不可靠协议,UDP套接字在使用前不需要进行连接。实际上,UDP协议只实现了两个功能:    1)在IP协议的基础上添加了端口;    2)对传输过程中可能产生的数据错误进行了检测,并抛弃已经损坏的数据。    Java通过DatagramPacket类和DatagramSocket类来使用UDP套接字,客户端和服务器

2013-11-04 21:00:04 44085 16

原创 【Java TCP/IP Socket】TCP Socket(含代码)

协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构、交换方式、包含的意义以及怎样对报文所包含的信息进行解析,TCP/IP协议族有IP协议、TCP协议和UDP协议。    Java为TCP协议提供了两个类:Socket类和ServerSocket类。一个Socket实例代表了TCP连接的一个客户端,而一个ServerSocket实例代表了TCP连接的一个服务器端,一般在TCP

2013-11-03 17:03:02 78081 20

字典树求公共前缀字符串数目

字典树求具有公共前缀的字符串数目, 对应的博客地址:http://blog.csdn.net/ns_code/article/details/21183495

2014-03-13

哈希表相关操作实现

哈希表相关操作实现。对应讲解的博客地址:http://blog.csdn.net/ns_code/article/details/20763801

2014-03-08

九大内部排序算法打包下载

源码包括:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序、计数排序、基数排序等,没有实现桶排序。 每一种排序算法在我的博客中都有对应的讲解.

2014-03-05

优化冒泡排序和选择排序

冒泡排序和选择排序均用两种方法实现,原始方法和在原始方法上的改进和优化,对应博客地址:http://blog.csdn.net/ns_code/article/details/20065107

2014-02-27

插入排序和希尔排序的多种实现方法

插入排序采用三种方法实现,希尔排序根据插入排序采用的方法不同,也有三种,但是又通过改进得到一种最为简介的实现方式。所有方法的实现在博客中:http://blog.csdn.net/ns_code/article/details/20043459中有详细的讲述

2014-02-27

模式匹配—BF算法和KMP算法

模式匹配—从BF算法优化到KMP算法,含有详细注释,对应的讲述该算法的博文地址:http://blog.csdn.net/ns_code/article/details/19286279

2014-02-19

两种遍历方法实现赫夫曼编码

对之前的代码做了些改进,并增加了一种无栈非递归求赫夫曼编码的方法。加入了更详细的注释。。

2014-02-15

赫夫曼树的构建及赫夫曼编码(C语言源代码,代码中含详细注释)

C语言实现赫夫曼树的构建及赫夫曼编码的源代码,配合我的CSDN博客:http://blog.csdn.net/ns_code/article/details/19174553中的讲解,帮助你掌握Huffman编码的算法实现

2014-02-15

百度2014校园招聘笔试题

百度2014校园招聘深圳站移动软件研发岗笔试题

2013-10-05

Matlab 实例程序百例

很多实用的程序,可以拿来现用,或者稍作修改来用。很好,很实用。。。。。

2010-06-01

大学生职业生涯规划书

本人作品,可以作为模板,曾获校级十佳规划之星,并吧被推选为省级参赛作品,但因时间关系,最终放弃省赛。。

2010-06-01

简易洗衣机设计—基于Multism

实现了实验要求的全部功能,并提供了详细的论文和仿真电路图

2010-05-22

2009年全国大学生数学建模竞赛A题论文

本论文只含有论文内容,不含该题目的数据,数据可以自行在官网上下载

2010-05-22

空空如也

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

TA关注的人

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