`
huihui920823
  • 浏览: 36931 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论
文章列表
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 ...
每一个线程自顾自的做自己的工作固然好。但是线程之间经常会相互影响(竞争或者合作),比如多个线程需要同时操作一个资源(比如一个对象)。这个时候,如果不进行同步,就可能会引发难以预料的错误。 举一个《thinking in java》第四版中的例子。有一个EvenGenerator类,它的next()方法用来生成偶数。如下: public class EvenGenerator { private int currentValue = 0; private boolean cancled = false; public int next() { ++curren ...
线程池产生原因: 创建很多线程造成的两个问题: 1.构建一个新的线程会涉及到与操作系统的交互,会消耗一定的系统资源,当使用完这些新创建的线程后,线程就会被销毁,然后当我们再创建的时候就会再次消耗系统 ...
两台计算机进行通信的基本前提: (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)协议: 好比是两个计算机通信的 ...
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 ...
对象的序列化,反序列化 对象的序列化: 就是将Object转换成byte序列 对象的反序列化: 将byte序列转换成Object 序列化流,反序列化流 序列化流(ObjectOutputStream),是字节的过滤流—>主要方法:writeObject() 反序列化流(ObjectInputStream)—>主要方法:readObject() 序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准。 基本的对象序列化的操作: student实体类: package com.t ...
字符流: 文本和文本文件的区别: 文本: java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码)。 文件: 文件是byte byte byte…的数据序列。 文本文件: 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果。 字符流(Reader,Writer) 操作的是文本文件。对于mp3,二进制文件是字节文件不适合用字符流读取,因为读取出来的是char,没有意义。 字符的处理,一次处理一个字符 字符的底层仍然是基本的字节序列 字符流(字节字符转换流)的基本实现: Input ...
IO流: 包括字节流和字符流。 在这里解释一下我对于流的理解,其实流就相当于一个用来运输字节或者字符的管道,一开始会把所有的数据存放到流中,然后我们再从流中取出数据(进行读取或者写出操作),每读或者写一次就会从管道中把读或者写的数据取出来,管道中就没有了你刚才读到或者写出的数据了。比如: FileInputStream fis = new FileInputStream(String filename); 就会把文件名为filename的文件内容全部存放到管道中去,然后我们进行fis.read(),就会从管道中读取出内容,读到的内容就会从管道中消失。 字节流: (1)I ...
文件编码 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 ...
线程的创建方式有两种: 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) { ...
回调的解释: 回调在实现具有通用性质的应用架构是非常常见:对于一个具有通用性质的程序架构来说,程序架构完成整个应用的通用功能,流程,但在某个特定的点上,需要一段业务相关的代码—通用的程序架构无法实现这段代码,那么程序架构会在这个点上留一个”空“。 以上是参考书中的说法,按照个人理解说的话,其实就是:别人写好了一个程序中的方法(这个方法中的内容以及业务是程序员根据自己的需求来写的),以及调用该方法的一些业务逻辑,在这些业务逻辑中触发该方法的时机就是回调。 在特定的某个点上留空可以用如下这两种方式实现: 1.以接口的形式存在:该接口由开发者实现,实现该 ...
以解决这两个问题为例: 问题一:有两个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 ...
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 ...
问题描述: 今天在学习android中实现断点续传的下载时,找不到自己刚刚下载的文件的位置了,郁闷毁了。 我设置的文件下载的路径: 打印结果: 然后我就根据这个路径在DDMS中查找,查询结果贴图: 在storage/emulated/目录下根本就没有发现/0,这个文件夹。 解决办法: 在解决之前先看一下咱们在Google自带的模拟器中或者真机中查找SDcard中的文件的查找方法。 Google模拟器或者真机: 是找到mnt/sdcard文件夹,然后再根据sdcard的Info查找到对应的文件,如图: 真正sdcard的目录:/stora ...
首先看一下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 ...
Global site tag (gtag.js) - Google Analytics