自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (3)
  • 收藏
  • 关注

原创 如何判断链表是否有环

背景 :   例如在一个大的系统中,如果出现两个链表相交的情况,而且释放其中一个链表所有的节点,那就会造成信息的丢失, 并且释放其中一个链表的所有节点,那就会造成信息的丢失并且与之相交的链表也会受到影响,如下图: 给出两个单链表的头指针 h1,h2(假设两个链表均不带环)  方法一:  判断第一个链表所有的节点是否在第二个链表中,这种方法时间复杂度为 O(h1)*O (h2)

2016-08-02 01:07:47 1876

转载 java 抽象类与接口的区别

抽象类:抽象类是用来捕捉子类的通用性的,不能被实例化,只能做为子类的超类,抽象类是被用来创建继承层级里子类的模板的。   首先了解一下抽象方法。抽象方法是一种特殊的方法,只声明而没有具体的实现,声明格式为:abstract void fun ();抽象方法必须由abstract修饰,如果一个类含有抽象方法则称这个类为抽象类,抽象类必须在类前用abstract修饰,抽象类中无具体的方法所以不

2016-04-05 12:52:13 502

转载 java的异常处理

java的异常处理java 异常的处理框架,是java语言健壮性的一个重要体现。java异常的概念和java异常体系:java把异常当做对象来处理,并定义了一个类 java.lang.Throwable 作为所有异常的超类,错误分为两大类Error 与 Exception。 它们的结构体系如下:    java异常体系结构:  Throwable 的两个子类,Error

2016-04-04 22:28:05 666

转载 android onSaveInstanceState方法 横坚屏切换

android onSaveInstanceState方法  1. onSaveInstanceState和onRestoreInstanceState基本作用    onSaveInstanceState是用来保存UI状态的,你可以使用它保存你所想保存的东西,在Activity杀死之前,它一般在onStop或者onPause之前触发,onRestoreInstanceState则是在on

2016-04-03 17:08:25 1204

原创 Android SurfaceView类的使用

Android提供了View进行绘图处理,View可以满足大部分绘图需求,但在某些时候,却也有心有余而力不足的地方,View是通过刷新来绘制视图,Android系统通过发出VSYNC信号来进行屏幕的重绘,刷新时间间隔为16ms。但是如果在16ms内完成所需执行的操作用户不会感觉到卡顿,而如果执行的操作逻辑太多,特别是频繁的刷新界面,就会不断的阻塞主线程,导致画面卡顿。 Android提供了Su

2016-04-02 13:57:37 856

转载 Android中的坐标以及获取坐标的方法

Android中有两种坐标系,分别为Android坐标系和视图坐标系。Android坐标系: Android坐标系中以手机屏幕左上角的顶点为坐标原点,从该点向右为x轴正方向,向下为y轴正方向,触摸事件中使用getRawX()和getRawY()方法获取的就是这个坐标系为标准下的坐标2:视图坐标   视图坐标描述的是子视图在父视图中的位置。 如上图,视图坐标系是以

2016-03-31 15:23:36 3263

转载 Lock与Synchronized的比较

从代码层角度来说:Lock是基于在语言层面实现的锁,Lock锁可以被中断,支持定时锁,虽然我们总是在一个finally块中释放锁,但是其实我们可以很随意的释放锁,如果安全的话。Synchronized是基于JVM实现的,我们称之为对象的内置锁,Java中的每一个对象都可以作为锁。对于同步方法,锁是当前实例对象。对于静态同步方法,锁是当前对象的Class对象。对于同步方法块,锁是Syncho

2016-03-26 16:13:58 1294

转载 Java并发编程:Lock

Java并发编程:Lock   在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。   也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将

2016-03-26 16:10:08 330

转载 synchronized静态同步方法与非静态同步方法,同步语句块

进行多线程编程,同步控制是非常重要的,而同步控制就涉及到了锁。       对代码进行同步控制我们可以选择同步方法,也可以选择同步块,这两种方式各有优缺点,至于具体选择什么方式,就见仁见智了,同步块不仅可以更加精确的控制对象锁,也就是控制锁的作用域,何谓锁的作用域?锁的作用域就是从锁被获取到其被释放的时间。而且可以选择要获取哪个对象的对象锁。但是如果在使用同步块机制时,如果使用过多的锁也会容易

2016-03-23 16:04:56 2180 1

转载 java 多线程之线程的状态

一个线程创建之后,总是处于其生命周期的4个状态之一中。线程的状态表明此线 程当前正在进行的活动,而线程的状态是可以通过程序来进行控制的,就是说,可以对线程进行操作来改变状态。这些操作包括启动(start)、终止(stop)、睡眠(sleep)、挂起 (suspend)、恢复(resume)、等待(wait)和通知(notify)。每一个操作都对应了一个方法,这些方法是由java.lang提供的。

2016-03-20 09:16:54 407

原创 程序国际化及动态处理文本

一:程序国际化 国际化程序的理解:  I18N :国际化程序 同一套程序代码可以在各个语言环境下进行使用。 各个语言环境下,只是语言显示的不同,那么具体的程序操作本身都是一样的,国际化就是完成这样一个功能。 Locale类:Locale对象表示了特定的地理,政治和文化区域,需要Locale类来执行其任务的操作称为语言环境敏感的操作,使用Locale为用户量身定制信息。 

2016-03-17 19:28:16 1362

转载 java设计模式之代理模式 (静态&动态)

为其他对象提供一个代理控制对某个对象的访问,代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理类和委托类要实现相同的接口,因为代理真正实现的还是委托类的方法。使用场景:  如果需要委托类处理某一业务,就可以在代理类中统一处理然后调用具体的实现类。  主题接口:/*         代理模式---------主题接口 */pu

2016-03-15 20:16:57 431

原创 java设计模式之工厂模式

工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽起来,达到提高灵活型的目的。   (1)简单工厂模式:属于类的创新模式,又叫静态工厂模式,是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类: 实现如下:1: 新建一个娃娃接口 // 娃娃接口 (扩展其他信息比较方便)interface Doll {// 获取娃娃的信息pub

2016-03-15 20:13:41 797

原创 java设计模式之 观察者模式

定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象,这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。观察者的实现: Subject (被观察的对象接口) ---- 规定ConcreateSubject的统一接口。 ---每个Subject可以有多个ObserverConcreateSubject (具体被观

2016-03-15 20:04:13 314

转载 java hashCode的介绍

在java集合中,判断对象是否相等的规则是:  (1)判断两个对象的hashCode是否相等,如果不相等,则认为两个对象也不相等。如果相等转入(2)  (2):判断两个对象的equals运算是否相等,如果不相等则认为两个对象也不想等,如果相等认为两个对象相等。 ============================================================ 

2016-03-13 16:41:53 335

原创 java 内省机制

javaBean :  Bean 为符合某种规范的组件,也就是java类,对于组件来说,关键在于要具有“能够被IDE构建工具侦测其属性和事件”的能力。JavaBean 的命名规则:1:对于一个xxx 的属性,通常要写两个getXxx()和setXxx(),任何浏览这些方法的工具,都会把set或get后面的第一个字母转换成为小写。2:对于布尔型属性,可以商用以上set和get的方式,

2016-03-13 11:48:05 507

原创 java读取properties 配置文件信息

配置文件如下:dog=com.xiyou.neixing.Dogdog.name=\u5c0f\u767ddog.age =3注: 由于java默认的编码方式为Unicode编码字符文件,如果输入的是中文读出来就会是乱码。因此可以使用java提供的native2ascii.exe工具,其在jdk/bin下可以找到。将要准换的内容输入即可。 获取配置文件中的信

2016-03-13 11:31:51 446

原创 java枚举的使用

Java 枚举枚举是限定可能值的一种手段,使用枚举可以降低程序出错的几率,并可以提高代码的可读性与可维护性,java枚举并不是简单常量的集合,而是一个对象,其本质依然是类,所以java枚举除了提供了一系列相关值外,还提供了一些额外的功能,甚至还可以根据需求自行添加一些功能,使用enum关键字定义的枚举,实际上就相当于定义一个类,此类继承了Enum类而已。使用如下:定义枚举需要使用关

2016-03-12 18:45:50 392

转载 正则表达式的使用

正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。  正

2016-03-12 11:52:05 317

原创 简析ARP解析过程

ARP是一种能够实现IP地址到物理地址的转化协议,以目标地址为线索用来定义下一位应该接收数据分包的网络设备对应的MAC地址,如果目标主机不在同一个数据链路层的话,可以通过ARP查找下一跳路由器的MAC地址,ARP只识用于IPV4. IpV6可以使用ICMPV6替代。ARP工作过程:ARP借助ARP请求包和响应包来确定MAC地址。例如:处在同一链路上的主机A 向B发送一个IP请求包,且互

2016-03-06 10:38:36 8437

转载 滑动窗口协议

滑动窗口协议,是传输层协议,该协议允许发送方在停止并等待确认前发送多个数据分组,由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输。 TCP 滑动窗口,用来暂存两台计算机要传的数据分组,每台运行TCP协议的计算机有两个滑动窗口,一个用于数据发送一个用于数据接收。上模型图:1:首先是AB之间三次握手建立TCP连接, 在报文的交互过程中,A将自己缓冲区大小(窗

2016-03-05 08:53:54 769

转载 TCP协议三次握手四次挥手过程

TCP协议是传输控制协议,是以=一个面向连接,在运用此协议进行数据传输的时候会进行连接工作 ,(三次握手)当传输完毕后,双方都会通知彼此释放连接(四次挥手)。TCP标志位:SYN (建立联机) ACK (确认)PUSH (传送)FIN (结束)RST (重置)URG (紧急)Sequence number (顺序号码)Acknowledge number (确认

2016-03-04 15:47:56 678

原创 计算机网络----- TCP协议

IP协议提供一种使计算机发送数据和接收数据的方法,但将数据从信源地址传送到目的地址,必须通过TCP协议解决数据包丢失或顺序传递的问题。TCP 通过检验和,序列号,确认应答,重发机制,连接管理,以及窗口控制等机制实现可靠性传输。一:通过序列号与确认应答提高可靠性:TCP中,当发送端的数据到达接收端,接收端主机会返回一个以收到的消息通知,这个消息叫做确认应答(ACK)TCP通过确认应答实现

2016-03-03 21:58:39 640

原创 DNS及其解析过程

网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名DNS:DNS 又称域名系统,其主要功能就是将人易于记忆的域名与不容易记忆的IP地址相互转换。DNS命名用于TCP/IP网络,用来通过用户的名称定位计算机的服务,当用户在应用程序中输入域名的时候,DNS服务可以将此名称解析为

2016-02-22 13:58:53 668

原创 MAC地址与IP地址

MAC 地址:为媒体访问控制,或称为物理地址、硬件地址,用于识别数据链路中互连的节点。MAC 地址与IP地址,两者之间分工合作,完成通信。MAC 地址长48 比特,在使用网卡的情况下,MAC地址一般会被烧入到ROM,因此任何一 个网卡的MAC地址都是唯一的,在全世界都不会有重复。MAC地址的的格式:  3—24 每个NIC厂商识别码,每一个NIC厂商都有特定的唯一识别数字。 2

2016-02-21 21:04:31 1393

原创 网络通信值传输方式的分类

网络通信值传输方式有如下:         一:面向有连接与面向无连接。面向连接型的,在发送数据前,需要在收发主机之间连接一条通信线路。面向无连接类型则不需要建立任何连接,发送端可以在任何时候自由发送信息。电路交换与分组交换 目前网络通信方式大致分为两种 电话交换和分组交换,电话交换主要使用电话网,分组交换:Tcp/IP 则是采用分组交换的技术分组交换技术:互联

2016-02-21 08:32:09 1106

翻译 网络构成元素的总结

网卡:计算机与外界局域网的连接是通过网卡(NIC) 实现的。其还有帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能网卡上装有处理器与存储器(RAM和ROM)网卡和局域网之间的通信是通过电缆或双绞线传输的,网卡与计算机之间的通信则是通过主板上I/O总线传输的,由于网络上的数据率和计算机总线上的数据率并不相同,因此在网卡中必须装有对数据进行缓存的存储芯片在安装网

2016-02-21 08:29:36 1033

原创 计算机网络-------OSI七层参考模型

协议的分层:通信协议设计指标的OSI参考模型。在这一模型中,每个分层都接收有它下一层所提供的特定服务。上下层之间进行交互时所遵循的约定叫做“接口”,同一层之间的交互遵循的约定的协议叫做“协议”。OSI参考模型:作用:通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输。七层模型: 各个分层的作用:7:应用层

2016-02-21 08:25:06 1965

原创 java解析xml之DOM解析

DOM(Document Object Model,文档对象模型),Android 完全支持DOM 解析,利用DOM 中的对象,可以对XML 文档进行读取、搜索、修改、添加和删除等操作。使用DOM 对XML 文件进行操作时,首先要解析文件,将文件分为独立的元素、属性和注释等,然后以节点树的形式在内存中对XML 文件进行表示,就可以通过节点树访问文档的内容,并根据需要修改文档——这就是DOM的工

2016-02-19 18:18:48 383

原创 java解析xml之PULL解析

除了可以使用SAX的方式解析XML外,也可以是用java自带的PULL来解析文件。PULL 解析器的运行方式和sax解析器很相似,它提供了类似的事件。如开始元素和结束元素,使用parser.next ()可以进行下一个元素,并且触发相应的事件,事件将作为代码被发送,因此可以使用一个switch来对事件进项选择,然后进行选择,然后进行响应的处理,当开始解析元素的时候,调用parser.nex

2016-02-19 17:45:34 743

原创 java解析xml 之SAX 解析方式原理

Java 对xml 数据的解析HTTP 网络传输中的数据组织方式有三种:1:HTML 方式2:XML方式3:JSON 方式XML :称为可扩展标记语言,他与HTML 一样,都是通用标记语言,XML是Internet环境中跨平台的,依赖与于内容技术,是目前处理结构化文档信息的有力工具,可扩展标记语言是一种简单的数据存储语言,使用一系列简单的标记描述数据。非常适合万维网的传输。

2016-02-19 17:13:42 1101

原创 Java String.trim () 函数的使用

Java String.trim () 函数的使用java.lang.String.trim  ()方法返回一个字符串副本,并忽略(去除)开头和结尾的空格。实例代码如下: String s = " hello,world "; String s2 ="hello,world"; System.out.println(s.equals(s2)); System.out.pri

2016-02-19 11:20:24 472

原创 Android 云平台之Bmob的使用

对于Android 开发的小伙伴来说,开发一个具有网络功能的应用不是一件容易的事,不仅需要服务器,还需要掌握一门服务器开发语言,没开发一款应用吗就必须开发维护对应的服务器程序,这对于移动开发者来说,确实难度比较大。如何解决这个问题呢???那么可以使用Bmob来解决这一问题,Bmob 是一个开发云存储的移动应用软件,给应用软件添加一个安全灵活的后台管理系统, 方便浏览终端保存的各种细信息,使用非

2016-01-25 19:23:54 2334

原创 Android 内核之Android与Linux的关系

Android 与Linux的关系1:Android采用Linux作为内核2:Android对linux内核作了修改,已适应其在移动设备上的应用。Android继承于LinuxAndroid是在Linux的内核基础上运行的,提供的核心系统服务包括安全,内存管理,进程管理,网络组和驱动模型等内容,内核部分相当于一个介于硬件层和系统中其他软件组之间的一个抽象层次,但严格上不算是linu

2016-01-18 21:43:37 2178

原创 android实现首次启动引导

在Android应用中, 当我们首次使用某一个应用的时候,都会给我们有一个引导页,显示该软件的功能等一些信息,让用户能够大概了解该软的基本情况。实现该功能可以使用ViewPager来实现,实现过程:效果如下:一 二: 实现过如下:布局 如下的ImageView为引导页中的小圆点    xmlns:tools="http://schemas.andro

2016-01-18 09:26:49 2744

原创 Android UI 基础之ViewPager的使用

ViewPager是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包括了只有只有在Android 3.0 以上可以使用的api,而ViewPager就是其中之一,我们使用ViewPager可以完场很多事情,从最简单的导航,到页面菜单等, 其用发与ListView用法类似,也许要一个适配器  PageAdapter。ViewPager实现页面切换:效果如下:  ViewPa

2016-01-18 09:19:08 388

原创 Android UI 基础之 Menu使用大全

Android UI基础之Menu 的使用在Android中一共有三种类型的菜单,它们分别是1:Options menu and action bar (菜单在标题栏)2:Context menu (上下文菜单)3:Popup menu (弹出式菜单)Options menu and action bar 的实现如下:效果图如下: 点击生成图标效果如下: 对

2016-01-17 16:29:15 572

原创 Android UI基础之ViewFillper实现屏幕切换

ViewFillper 的简单使用在Android程序设计中,有时需要实现屏幕切换的动画效果,这时可以使用ImageSwitcher实现, 但是其比较单一, 而ViewFillper 则比较灵活。可以将文本与视图同时显示。屏幕切换指的是在同一个Activity内屏幕间的切换,最常见的情况就是在一个FrameLayout内有多个页面,比如系统设置页面,或一个个性化设置页面。ViewFil

2016-01-16 08:34:45 670

原创 Android UI之ImageSwitcher && TextSwitcher 实现图文翻页

ImageViewSwitch是Android中控制图片展示效果的一个控件,如:幻灯片效果ImageViewSwitcher 粗略的理解就是ImageView的选择器。ImageView的原理,ImageViewSwitcher有两个View ,ImageView,当左右滑动的时候,就在这两个ImageView之间来回切换显示图片,在使用ImageViewSwitcher 时需要注册工

2016-01-15 20:05:37 453

原创 Android UI基础之 ExpanableListView 的实现

ExpandableListView 组件是Android组件中比较常用的组件,当点击一个父item 的时候将其自item显示出来,例如QQ 中的好友列表就是如此实现的,使用ExpandableListView 组件的关键就是设置其的Adapter,这个Adapter必须继承自BaseExpanableListAdapter,因此使用ExpandableListView的核心技术就是使用BaseE

2016-01-15 15:55:28 1749

javaSAX方式解析xml文档

java从服务器读取xml文件并以SAX方式解析附带(服务器与解析源码)

2016-02-19

Bmob实现便签

这个Demo是基于Bmob实现的一个便签,包括基本的增删改查,只是一个简单的案例,想研究的童鞋,可以自己扩展,优化。

2016-01-26

ListView自定义,优化,分页的实现

ListView自定义,优化,分页的实现

2016-01-15

空空如也

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

TA关注的人

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