- 浏览: 36931 次
- 性别:
- 来自: 济南
最新评论
文章列表
package com.test.fanxing;
import java.lang.reflect.Method;
import java.util.ArrayList;
public class FanxingTest {
public static void main(String[] args) {
ArrayList list1 = new ArrayList();
ArrayList<String> list2 = new ArrayList<String>();
list2.add("hello");
// li ...
- 2015-09-02 15:41
- 浏览 293
- 评论(0)
每一个线程自顾自的做自己的工作固然好。但是线程之间经常会相互影响(竞争或者合作),比如多个线程需要同时操作一个资源(比如一个对象)。这个时候,如果不进行同步,就可能会引发难以预料的错误。
举一个《thinking in java》第四版中的例子。有一个EvenGenerator类,它的next()方法用来生成偶数。如下:
public class EvenGenerator {
private int currentValue = 0;
private boolean cancled = false;
public int next() {
++curren ...
- 2015-08-31 17:47
- 浏览 404
- 评论(0)
线程池产生原因:
创建很多线程造成的两个问题:
1.构建一个新的线程会涉及到与操作系统的交互,会消耗一定的系统资源,当使用完这些新创建的线程后,线程就会被销毁,然后当我们再创建的时候就会再次消耗系统 ...
- 2015-08-30 21:22
- 浏览 307
- 评论(0)
两台计算机进行通信的基本前提:
(1)IP地址:
每台计算机都有自己独一无二的IP地址,根据IP地址判断与哪台计算机进行通信。 (2)端口号:
每个应用程序都有自己专属的端口,根据端口号判断与计算机中的哪个应用程序进行通信。
说明:
<1>用于区分不同应用程序
<2>端口号的范围:0-65535,其中0-1023是为系统保留的端口号
<3>常用的协议的端口号:
http:80
ftp:21
telnet:23
<4>IP地址+端口号=Socket,Socket是TCP和UDP通信的基础 (3)协议:
好比是两个计算机通信的 ...
- 2015-08-30 17:32
- 浏览 455
- 评论(0)
10进制转换成16进制:Integer.toHexString(int i)
10进制转换成8进制:Integer.toOctalString(int i)
10进制转换成2进制:Integer.toBinaryString(int i)
16进制转换成10进制:Integer.valueOf(“”,16).toString()
8进制转换成10进制:Integer.valueOf(“”,8).toString()
2进制转换成10进制:Integer.valueOf(“”,2).toString()
<script type="text/java ...
- 2015-08-13 14:24
- 浏览 347
- 评论(0)
对象的序列化,反序列化
对象的序列化:
就是将Object转换成byte序列
对象的反序列化:
将byte序列转换成Object
序列化流,反序列化流
序列化流(ObjectOutputStream),是字节的过滤流—>主要方法:writeObject()
反序列化流(ObjectInputStream)—>主要方法:readObject()
序列化接口(Serializable)
对象必须实现序列化接口,才能进行序列化,否则将出现异常
这个接口,没有任何方法,只是一个标准。
基本的对象序列化的操作:
student实体类:
package com.t ...
- 2015-08-13 11:36
- 浏览 367
- 评论(0)
字符流:
文本和文本文件的区别:
文本:
java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码)。
文件:
文件是byte byte byte…的数据序列。
文本文件:
文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果。
字符流(Reader,Writer)
操作的是文本文件。对于mp3,二进制文件是字节文件不适合用字符流读取,因为读取出来的是char,没有意义。
字符的处理,一次处理一个字符
字符的底层仍然是基本的字节序列
字符流(字节字符转换流)的基本实现:
Input ...
- 2015-08-10 20:05
- 浏览 273
- 评论(0)
IO流:
包括字节流和字符流。
在这里解释一下我对于流的理解,其实流就相当于一个用来运输字节或者字符的管道,一开始会把所有的数据存放到流中,然后我们再从流中取出数据(进行读取或者写出操作),每读或者写一次就会从管道中把读或者写的数据取出来,管道中就没有了你刚才读到或者写出的数据了。比如:
FileInputStream fis = new FileInputStream(String filename);
就会把文件名为filename的文件内容全部存放到管道中去,然后我们进行fis.read(),就会从管道中读取出内容,读到的内容就会从管道中消失。
字节流:
(1)I ...
- 2015-08-09 13:55
- 浏览 313
- 评论(0)
文件编码
UTF-8编码:中文占用3个字节,英文占用1个字节
GBK编码:中文占用2个字节,英文占用1个字节
UTF-16BE编码:中文占用2个字节,英文占用两个字节
注意:其中UTF-16BE编码是java的双字节编码采用的编码方式。Java里使用的是UTF-16BE 方式来存储数据的。eg:String 字符串就是采用UTF-16BE编码。
package com.test.test;
/**
* 使用三种编码方式打印同一个字符串,查看每种编码方式所占用字节多少的区别
*
*/
public class Test {
public static void m ...
- 2015-08-06 13:58
- 浏览 384
- 评论(0)
线程的创建方式有两种:
implements Runnable和extends Thread。 继承Thread类:
package com.test.threadtest;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
...
- 2015-08-04 19:23
- 浏览 253
- 评论(0)
回调的解释:
回调在实现具有通用性质的应用架构是非常常见:对于一个具有通用性质的程序架构来说,程序架构完成整个应用的通用功能,流程,但在某个特定的点上,需要一段业务相关的代码—通用的程序架构无法实现这段代码,那么程序架构会在这个点上留一个”空“。
以上是参考书中的说法,按照个人理解说的话,其实就是:别人写好了一个程序中的方法(这个方法中的内容以及业务是程序员根据自己的需求来写的),以及调用该方法的一些业务逻辑,在这些业务逻辑中触发该方法的时机就是回调。
在特定的某个点上留空可以用如下这两种方式实现:
1.以接口的形式存在:该接口由开发者实现,实现该 ...
- 2015-07-31 16:16
- 浏览 507
- 评论(0)
以解决这两个问题为例:
问题一:有两个Activity(A和B),从A跳转到B,同时B需要A中的数据:
效果图:
代码:
MainActivity类:
package com.test.bundletest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button ...
- 2015-07-31 10:14
- 浏览 285
- 评论(0)
1、Activity的生命周期
情形一、一个单独的Activity的正常的生命过程是这样的:onCreate->onStart->onPause->onStop->onDestroy。例如:运行一个Activity,进行了一些简单操作(不涉及页面的跳转等),然后按返回键结束。
情形二、有两个Activity(a和b),一开始显示a,然后由a启动b,然后在由b回到a,这时候a的生命过程应该是怎么样的呢(a被b完全遮盖)?
a经历的过程为onCreate->onStart->onResume->onPause->onStop->onR ...
- 2015-07-30 14:52
- 浏览 450
- 评论(0)
问题描述:
今天在学习android中实现断点续传的下载时,找不到自己刚刚下载的文件的位置了,郁闷毁了。
我设置的文件下载的路径:
打印结果:
然后我就根据这个路径在DDMS中查找,查询结果贴图:
在storage/emulated/目录下根本就没有发现/0,这个文件夹。
解决办法:
在解决之前先看一下咱们在Google自带的模拟器中或者真机中查找SDcard中的文件的查找方法。 Google模拟器或者真机:
是找到mnt/sdcard文件夹,然后再根据sdcard的Info查找到对应的文件,如图: 真正sdcard的目录:/stora ...
- 2015-07-29 17:22
- 浏览 374
- 评论(0)
首先看一下Intent的官方的API。
传递一些基本类型数据的方法如下:
putExtra(String name, int value)
putExtra(String name, String value)
putExtra(String name, float value)
putExtra(String name, double value)
putExtra(String name, long value)
putExtra(String name, boolean value)
putExtra(String name, byte value)
putExtra(Stri ...
- 2015-07-27 18:33
- 浏览 559
- 评论(0)