Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

深入Java克隆

深入Java克隆

重新学习了一遍java中的克隆,感觉原来学的太肤浅了,好多特性没有了解到。重新总结一遍:1.java中的克隆对应设计模式中的prototype pattern。2.如果一个对象想要被克隆,需要实现java.lang.Cloneable接口,这个接口和java.io.Serializable接口相似,都是不包含任何方法的接口,用来进行标志。3.实现Cloneable接口后,需要覆盖Object类中的clone方法,是Object中的一个native方法,需要...
Java克隆中String的特殊性

Java克隆中String的特殊性

之前仔细研究过java中克隆的相关知识,http://www.linuxidc.com/Linux/2011-10/44935.htm,但是还有一些考虑不全的地方。String不是基本数据类型,但是在深复制的时候并没有进行单独的复制,也就是说违反了深复制,仅仅复制了引用,而String没有实现cloneable接口,也就是说只能复制引用。那么在修改克隆之后的对象之后,会不会将原来的值也改变了?答案肯定是不会改变,因为String是在内存中不可以被改变的对象...
Android结束系统中其他进程

Android结束系统中其他进程

虽然Google赞成应用程序不完全退出这一理论,认为Android完全有能力在内存不足的情况下自动释放一些内存,但是广大的用户并不能完全支持这种理论,于是便诞生了任务管理器,用来结束进程。这里写一下我的结束进程的方式,可能还有缺陷~intstart=0,end=0;ActivityManageractivityManager=(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE...
Android自定义TabHost扩展控件TabView

Android自定义TabHost扩展控件TabView

最近项目中需要实现TabHost,鉴于TabHost不能实现想要的功能,所以决定自定义一个控件,用于替代TabHost,实现拖拽,Tab之间的替换等功能.刚整合了一份简单的代码,第一次发表文章,写的不好的地方,望见谅.废话补多少,贴代码.代码实现共2个类,TabView和TabTabView的绘制方法.@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas);canvas.transla...
USB设备主机侧驱动

USB设备主机侧驱动

从主机侧的观点去看,在linux驱动中,USB驱动处于最底层的是USB主机控制器硬件,在其上运行的是USB主机控制器驱动,主机控制器之上为usb核心层,再上层为usb设备驱动层。因此在主机侧的层次结构中,要实现的usb驱动包括两类:usb主机控制器驱动和usb设备驱动。前者控制插入其中的usb设备,后者控制usb设备如何与主机通信。下面看看Linux下mini2440的主机侧的主机控制器驱动。mini2440的主机控制器是OHCI规格的。通过虚拟平台的方式...
在Android下编译C

在Android下编译C

以前根本没有接触过Android,对Android感觉老好奇了,在公司经历几天简单的不知所云的培训就被拉去进项目了——悲催!啥都不会。总算把项目熬完了结果是啥都没学到,净给自己增加压力了。今天刚好学习了下在Android下编译C模块,记录一下。我的Android源码目录是:/home/grj/android_kernel_workspace/Android-2.3.4,以下简称:$(android_src)。helloworld太经典了,我也使用这个例子来...
Android使用JNI实现Java与C之间传递数据

Android使用JNI实现Java与C之间传递数据

介绍Java如何将数据传递给C和C回调Java的方法。 java传递数据给C,在C代码中进行处理数据,处理完数据后返回给java。C的回调是Java传递数据给C,C需要用到Java中的某个方法,就需要调用java的方法。 Android中使用JNI七个步骤:1.创建一个android工程2.JAVA代码中写声明native 方法 public native String helloFromJNI();3.用javah工具生成头文件4. 创建jni目录,引入...
Android实现多任务多线程支持断点续传的下载软件

Android实现多任务多线程支持断点续传的下载软件

多任务多线程下载并不麻烦,只要思路清晰,逻辑清晰正确,是很好实现的。我最后遇到的纠结问题是数据库的操作上,我是拿数据库来存储下载信息的,所以在数据库的关闭上遇到了麻烦。上面那个版本是建立在前面N个demo的基础之上的,在这里我写下来的唯一目的就是能够以一个清晰的思路写清楚,同时让大家看明白。运行效果图:一、首先是数据库,数据库五个字段:任务的ID:_id线程ID:thread_id线程下载的起始位置:start_pos这个线程下载的结束位置:end_pos...
<< 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 >>