自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱吃青菜的鱼

代码改变世界。

  • 博客(36)
  • 收藏
  • 关注

原创 【计算机网络面试题】

TCP/IP 1. OSI与TCP/IP各层的结构与功能,都有哪些协议。 2. TCP与UDP的区别。 3. TCP报文结构。 4. TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。 5. TCP拥塞控制。 6. TCP滑动窗口与回退N针协议。 7. Http的报文结构。 8. Http的状态码含义。 9. Http request的几种类型。 10.

2015-10-19 15:38:27 607

原创 JavaSE知识点个人总结

J2SE基础 1. 八种基本数据类型的大小,以及他们的封装类。 2. Switch能否用string做参数? 不可以 3. equals与==的区别。 equals是比较值是否相等,而==是比较引用对象是否是同一个对象 4. Object有哪些公用方法? hashCode()、clone、toString() 5. Java的四种引用,强弱软虚,用到的场景。 强引用:

2015-10-19 12:48:37 547

原创 Android下JSON解析的方式

Android下的JSON解析有很多的方法,今天学习其中的两种,第一种是轻量级,也就是数据量比较容易解析的,第二种是重量级一点的,也就是数据量比较多,而且解析比较复杂的。 在学习这两种方法之前,首先先学习如何生成JsonObject对象 生成Json数据的完整代码如下:package com.yupeibiao.jsondeom;import java.io.BufferedWriter;im

2015-08-20 16:53:46 669

原创 Java 高效并发编程初探

在学习Java的时候,多线程是一个很重要很重要的问题。 从Java的内存模型而言,多线程需要读取内存,CPU(一个CPU代表一个线程)和内存的读取的速度不是一个等级的,那么就需要一个高效的缓存线程,通过将内存上需要操作的数据复制到缓存线程上,再由缓存线程与线程进行通讯,然后缓存线程将结果返回到内存中。 但是在多线程并发操作的时候,往往带来的问题就是线程的不安全,资源的不安全,所以线程的安全非常重

2015-08-18 22:18:45 455

原创 Java内存分配和垃圾回收

最近拜读了周志明老师的深入理解Java虚拟机,也写一点皮毛的Java垃圾回收机制,可能存在一些纰漏,本人是菜鸟,哈哈。 废话不多说,直接进入正题。 Java提供了垃圾回收机制(GC)让我们可以免去很多的像C++的内存释放的问题,但是问题接着又来了,由于GC是随机的,不可避免有一些内存会浪费,那么就需要我们对Java的GC机制有着清晰的认识。 第一、怎么判断对象已经死了呢? 在Java中提供了

2015-08-15 23:09:26 647

原创 Android进程的生命周期及其进程等级分析

如果有细心注意的话,在Android的Mainifest的下面,有一个application标签,这个标签默认指定的是系统提供的application,但是其实这个application可以由我们自己指定,因为在Mainifest里面,任何一个标签都是一个对象使用,所以application自然也是一个类,也可以继承实现,然后使用我们自己的application,代码如下,由于时间紧,所以只实现几个

2015-08-15 11:12:36 653

原创 如何让两个不同的app共享数据

如果我有这样的需求,比如QQ和QQ音乐都是腾讯出品的产品,此时我已经登录QQ,那么再登录QQ音乐的时候必然是不会再次出现登录界面的,因为此时的数据已经共享了,QQ音乐可以获得QQ的数据,所以检测到的时候,就不会再起登录了。 在Android中是如何实现的? 首先在我们的AndroidMainifest中,第一级是mainifest,第二级是application,第三级是service,acti

2015-08-14 00:28:24 4075

转载 AndroidManifest.xml文件解析

本文是一篇非常详细的介绍AndroidManifest.xml文件的文章,转载自 http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html但是文中说的两个App共享的问题,除了shareduserid之外作者说是shareperfernce,本人不是很认同这个观点。一、关于AndroidManifest.xmlAndroidMani

2015-08-14 00:17:54 376

原创 解析Android下assert与raw的区别

*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。 *res/raw和assets的不同点: 1**.res/raw中的文件会被映射到R.java文件中**,访问的时候直接使用资源id即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。 2.res/

2015-08-13 23:04:03 2332

原创 Java--反射机制初探

好多天没写博客 项目刚刚上线 来写一写deom 昨晚复习了一下java的反射机制 写了一个小deom复习下反射机制 代码这东西还是写出来比较爽呀 废话不多说 反射:Java反射机制容许程序在运行时加载、探知、使用编译期间完全未知的classes。 也就是说,Java可以加载一个运行时才得知名称的class,获得其完整结构。 这个完整结构是说我们可以通过反射得到里面的任何东西,不管是

2015-08-13 11:16:25 779

原创 数据结构与算法(5、链表的拼接)

今天复习一下链表的拼接,从2个链表的拼接开始 例如有一个链表A,一个链表B,A和B已经排序好,现在的需求是将链表A和链表B的元素按照排好序,然后形成新的链表C。 首先规划一下思路: 1、判断是否是空链表,如果是空链表,就返回另外一个链表 (第一个function isEmpty()判断是否是空链表) 2、如果不是空链表,那么让A和B的第一个元素进行比较,如果A的第一个元素(取链

2015-07-22 22:12:31 1237

原创 数据结构与算法(4、约瑟夫环问题到循环链表)

首先先解释约瑟夫环问题,这个问题,背景其实挺残酷的,来自于一场自杀游戏,举个现实的例子,如果你有4个朋友,但是只能给一个人带饭,那么做这样的游戏,4个人围成一个环,你说从1开始数,数到2,就淘汰掉2,剩下的继续围成一个环,在继续这个游戏,直到剩下一个为止。 表达能力有限,直接百度百科! 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编

2015-07-21 21:52:00 995

原创 数据结构与算法(3 Reverse链表)

首先个人理解数组和链表的异同点: 1:数组是一个有固定容量的容器,在内存中是一个一个排列着,有自己的固定长度,虽然可以生成动态数组,但是不建议,因为消耗内存。所以如果想从数组中插入或者删除一个元素的时候,就显得资源消耗比较大,因为每插入一个,数组就要向后移动插入位置之后的每一个位置。所以数组在插入删除中效率是比较低的,然后数组可以通过index索引,直接查到数组的对应索引的元素。 2:链表跟数组

2015-07-20 13:27:31 1340

原创 数据结构与算法(2、从Reverse到大O表示法)

接上面的问题,如何从实现一个数组的翻转,其实很简单 1、定义一个头,一个尾 2、判断条件:头是否大于尾 3、交换元素值 4、头,尾更向中间靠拢 代码如下://关键代码public static void reverseArray(int arr[]){int left=0;int right=arr.length-1;while(left<right){ int temp=a

2015-06-03 23:27:51 789

原创 数据结构与算法(1、数组和链表)

1、数组和链表 对于数组和链表而言,数组的每一个元素都有其对应的下标,例如int array[]={1,2,3};//array[1]=2;/*数组可以根据角标去查找元素,所以查找效率比较高,但是数组的增删非常不方便,因为需要移动大量的元素去实现增删*/链表:链表是弥补了数组的不足同时也有自己的缺点 链表的增删比较容易,但是失去了角标只能通过头结点一个一个去遍历//链表的创建//结构体

2015-06-03 23:08:58 496

原创 Android多线程机制解析

为何要使用多线程? 线程安全、经典的卖票问题 线程耗时、耗时的操作不能在主线程中运行 耗时的操作 ANR,比如IO操作,也就是网络操作,文件操作,数据库操作等等 如何与主线程交互 可以使用runOnUiThread,Handler,AsyncTask Handler解析: Handler机制包含MessageQueue,Looper 在Hnalder在sendMessage()后,

2015-05-15 16:14:28 516

原创 自定义View之组合自定义控件

今晚是几分焦虑的学习呀,想着第一次面试在周六,想多学点知识,但是发现好像其实自己的基础都学完了,在找多点进阶的学,离题了,恩,好的,入正题,如何在安卓中使用自定义View控件,并且实现动态的实现,接口回调机制等。 这篇文章仅仅是组合控件,不涉及自定义View的绘制。开始!!! 1、首先在values下新建一个attrs的xml文件,指定自定义控件的各种属性 代码如下:<?xml version

2015-05-12 01:44:15 465

原创 使用Fragment实现微信界面的点击切换

之前我们使用ViewPager实现了滑动和点击事件,如果单单实现点击,不实现滑动,可以考虑使用Fragment进行替代 1、设置布局文件 2、初始化界面 寻找控件,初始化显示界面 3、增加点击事件package com.imooc.tab02;import android.os.Bundle;import android.support.v4.app.Fragment;import an

2015-05-11 11:32:41 1164

原创 ViewPage滑动页面(1)

本博客是观看immoc上面的视频解说然后自己整理得到的,源码也是imooc上面的,谢谢。 第一种完成的方法:(使用传统的xml文件,重量级) 1、设置布局,其中需要注意的是ViewPager是在v4的包中,所以标签应该注明是v4包中的ViewPager的class文件,如下格式 <android.support.v4.view.ViewPager android:id="@+id

2015-05-11 09:04:38 478

转载 Android 程序无法运行ADB server didn't ACK问题

究其源就是adb server没启动经过分析整理如下:[html] view plaincopy C:\Users\xxxx>adb nodaemon server cannot bind ‘tcp:5037’ 原来adb server 端口绑定失败继续查看到底是哪个端口给占用了 [html] view plaincopy C:\Users\xxxxxx>netstat -ano | fi

2015-05-05 00:44:02 455

原创 安卓开发小练手之手机卫士开发(4)——手机防盗设置界面

我们有4个手机防盗的界面,第一个是显示功能,第二个是输入自己的手机号码,这个手机号码可以用来判断是否被换卡,当换卡的时候我们可以报警等,第三个界面是输入用户设置的安全号码,这个号码可以用于当手机丢失的时候软件后台检测手机号码并且检测号码里面的内容,进行操作。 第一个设置界面: 简单的布局,显示有什么功能即可。布局代码如下:<?xml version="1.0" encoding="utf-8"?

2015-05-04 00:03:51 600

原创 安卓开发小练手之手机卫士开发(3)——手机防盗界面的开启

刚才完成主界面的设定之后,我们现在开始进行第一个功能,手机防盗的实现,首先是进入手机防盗的设置界面,方便我们保存用户设定的安全号码,密码,以及后台服务的开启,监听等等。 思路: 1、首先我们在加载界面的时候,我们应该在加载之前完成判断,如果用户进行没有进行手机防盗的基本设置,我们开启的是引导用户进行手机防盗的基本设置的界面,如果用户已经进行手机防盗的设置,我们进行的是校验手机防盗密码,出现用户

2015-04-29 21:27:51 769

原创 安卓开发小练手之手机卫士开发(2)——主界面

前面说完Splash界面,接下来就是主界面,可以使用ListView或者GridView进行加载,其实ListView就是一种特殊的GridView,因为GrideView可以指定一行中可以放置多少个,现在我们采用一行三列的方式,首先还是老规矩,新建Activity,注册,new布局文件 第一步,先从布局文件开始 布局文件我们做的很简单,只有一个标题栏,然后就是一个GridView,指定高度宽度

2015-04-29 21:09:20 708

原创 安卓开发小练手之手机卫士开发(1)——Splash界面

闲来没事情干的时候,自己参考了金山手机卫士,进行了一番改动,现在形成自己的App,定名为大白手机卫士,其实也不清楚很多的东西,都是一点一点的慢慢的学,现在写下来,以后也能有个复习吧。 开发的第一个是Splash界面,Splash界面是软件在启动的时候进行的一个界面,当界面加载的时候,可以进行如下的操作: 1、判断当前是否存在最新的版本,如果有的话,可以跳出对话框 2、可以加载数据,例如拷贝数据

2015-04-27 23:03:45 550

转载 Java中的反射

Java中的反射 要想了解反射,首先的先了解类的加载类的加载: 当程序员要使用某个类时,如果该类还未加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。加载就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象。连接验证 是否有正确的内部结构,并和其他类协调一致准备 负责为类的静态成员分配内存,并设置默认初始化值解析

2015-04-26 20:59:41 354

原创 安卓与互联网连接之HTTTP请求

一般而言有3个API可以实现与互联网的通信,第一是URL,第二是URLConnection,第三是HttpURLConnection的方式。 接下来的内容是HttpURLConnection的GET或者POST请求的实现。 1、get请求 代码如下: 手写代码,未经校验,请慎重使用//通过url获取HttpURLConnection对象//path是提交给服务器的内容,格式是服务器+?+

2015-04-02 17:32:41 930

原创 TCP/IP知识总结面试题之Socket服务

1、如何新建一个客户端Socket服务//new出一个对象即可//指定链接的IP地址,端口号Socket socket =new Socket("www.baidu.com",1000);2、写出Socket连接服务器与服务器进行交互的代码//新建Socket服务,将数据发送给服务端Socket socket =new Socket("www.baidu.com",1000);//得到写入流

2015-04-01 20:44:54 5109

转载 阿里巴巴面试——重男轻女概率题

重男轻女概率题 引言: 这是一个比较经典的概率题目,在华工研究生入学复试的时候就考过,据说中科院的也比较喜欢问这个问题,前些天在阿里巴巴的笔试题上也见到了这道题。在百度上找到的答案也是各种各样,所以结合自己的分析,照着自己的理解把证明过程写出来,如果有不正确的地方欢迎指正。 问:有这样一个重男轻女的国家,他们每对夫妇如果生出女孩就继续生直到生出男孩为止就不再继续,平均每户人家有几个女孩

2015-04-01 14:19:56 757

原创 安卓的文件存储

前两天为了参加腾讯的面试,耽搁这个博客几天没有更新,结果还没出来,希望我能好运。 接下来继续复习安卓的文件存储,也就是安卓的IO。 安卓的文件存储有三种方式,第一种方式是使用shredPreferences,在shredPreferences中,文件的保存形式是XML文件的形式,文件保存的位置是\data\data\<包名>\shred_Prefs,保存的方式是使用键值对的形式,也就是key-v

2015-03-31 17:34:58 608

原创 BroadcastReceiver

顾名思义,BroadcastReceiver是广播的意思,是一种可以接受系统各应用程序发出来的广播,进而尽行相应的接收操作的一种全局监听器。 调用BroadcastReceiver的步骤是: 1、自定义广播,在主清单文件中进行相应的配置 2、通过意图启动广播 3、自定义广播类继承BroadcastReceiver,并且复写onReceiver()方法 广播和Activity的区别:在使用意

2015-03-28 09:56:45 414

原创 浅谈如何静态创建Fragment

在安卓3.0版本之后,安卓推出了fragment,可以这样理解,fragment是一种轻量级的Activity。 静态创建Activity,静态创建Fragment实际上是大同小异的。 我们先比较一下: Activity:首先创建一个xml文件,然后创建与之对应的java文件,通过设置让两者关联,最后在主清单中进行注册。 Fragment:首先我们同样需要注册一个xml文件,然后创建与之对应

2015-03-27 21:35:28 1312

原创 安卓四大组件之一————————Activity

1、Activity的生命周期 onCreate():用户创建的时候的一个小点 onStart():从一个小点到获得焦点的过程 onResume():获得焦点,可以定焦 onPause():后台 onStop() onRestart():如果执行上面的stop之后又活过来了 onDestory():销毁 一般而言,Activi

2015-03-27 17:34:14 610

原创 安卓常用UI控件的属性

1、 android:gravity :确定一个控件或者组件里面的内容在控件中的位置 android:layout_gravity:确定一个大布局中的小布局的位置 2、android:layout_gravity :使用原则: 一般我们可以这样理解,android:layout_gravity应该随着布局文件的改变而改变,举个例子而言,在LinearLayout中,如

2015-03-27 16:58:20 507

原创 handler与异步任务

不知道为什么,刚才写的安卓下的事件监听会待审核,好吧,只是为了记录下我的学习状态而已 接下来说说安卓下的线程安全的问题 安卓的主线程是不允许用户将耗时的事情放在主线程中进行处理的,因为这样容易造成线程的不安全 线程安全:在java中,线程的安全就是指,例如有两个线程同时在操作同一个ArrayList的时候,我们都 知道,在add方法的时候,分两步,第一步是增加数据,第二步是增加元素的个数,那

2015-03-26 22:56:20 566

原创 基于安卓下的事件回调机制

之前我们写过基于监听的事件处理机制,实际上,安卓下还有一种就是基于事件的回调机制,与事件的监听机制不同: 1、回调机制是通过子类继承父类,然后复写方法 2、回调机制应该在xml配置文件中把包名,完全路径写进去,不然系统会报错 3、回调机制与监听机制最大的不同就是,监听机制的事件源和事件处理是分开的,类似与MVC模式,而回调机制是事件源和事件处理是一起的,因此不需要分开,自己会处理,当返回值是f

2015-03-26 22:26:22 560

原创 安卓下的事件监听

使用了很久的安卓的事件监听,今天在准备面试的时候也做一个小小的总结吧,常用的安卓事件监听主要有4种方式 第一种方式是直接绑定标签的方式,比如说我们在布局文件中增加一个onclick=”click” 那么我们在主界面通过可以这样进行事件监听的实现 经验之谈 关于Toast的,其实在第一个传入上下文的时候,最好将当前的Activity的名.this的方式,不然很容易写成class,当然,这是我的

2015-03-26 21:41:49 640

空空如也

空空如也

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

TA关注的人

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