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

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java单例模式(Singleton)

Java单例模式(Singleton)

单例模式主要用于:有一些对象我们只需要一个,比如:线程池、缓存、对话框、处理偏好设置、注册表对象、日志对象以及配置文件对象、数据库连接对象等等。单例模式常用于管理共享资源,例如:数据库连接或者线程池。Java Singleton模式就为我们提供了这样实现的可能。使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利Java垃圾回收(garbagecollection)。这些对象只能有一个实例,如果制造出多个实例,就会导致很多问题如:程...
Java单例模式实例---读取配置文件

Java单例模式实例---读取配置文件

因为配置文件里的信息都是一样的,不论哪个用户要登录系统访问连接数据库,都是要读取配置文件的,这样每次如果都要实例化读取配置文件的类,这样就会非常浪费系统资源。因此使用单例模式:只要实例化一次之后,有了一个对象,之后就不再需要实例化了。为了配置文件修改的方便将配置文件的信息单独放到一个xml文件中。<?xmlversion="1.0"encoding="UTF-8"?><config><!--根元素配置文件--><d...
Android中实现Launcher功能之添加快捷方式

Android中实现Launcher功能之添加快捷方式

前言: 最近一直在看Launcher模块,经过差不多两个月学习,终于摸透了Launcher的一些主要功能实现,目前继续还处于摸索状态。未看Launcher时,于我而言,只能膜拜,以为所有功能都是它实现的 ;入门后,才发现,Launcher的很多功能只是集成了框架/应用程序提供的功能。很多陌生的东西,只有接触了才感叹:“oh ,原来是这样的!”今天先给大家分享下Launcher如何实现添加快捷方式(Shortcut) ,后续会慢慢增加其他方面的功能,帮助大家...
Android中View绘制流程以及invalidate()等相关方法分析

Android中View绘制流程以及invalidate()等相关方法分析

整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为根据之前 设置的状态,判断是否需要重新计算视图大小(measure)、是否重新需要安置视图的位置(layout)、以及是否需要重绘(draw),其框架过程如下: 接下来温习一下整个View树的结构,对每个具体View对象的操作,其实就是个递归的实现。 本文相关代码下载免费下载地址在 http://linux.linuxi...
Android中通知的使用-----Notification详解

Android中通知的使用-----Notification详解

Notification —— 通知,是一种让你的应用程序在不使用Activity的情况下警示用户。它是看不见的程序组件(Broadcast Receiver,Service和不活跃的Activity)警示用户有需要注意的事件发生的最好途径。 Notification 是由NotificationManager(系统服务)统一管理的。 一般来说,一个Notification应该传送的消息包括: 1 、一个状态条图标 2、在拉伸的状态栏窗口中显示额外的信息和...
编译运行在omap4430平台的Android 4.0.3注意事项

编译运行在omap4430平台的Android 4.0.3注意事项

1.Android源码的版本android源码的版本一定要是android-4.0.3的master分支,经过验证android-4.0.1源码不能在pandaboard开发板上正常运行。2.开发机编译器版本开发主机上编译器的版本最好采用gcc-4.4.6版本,如果开发机的linux版本为Ubuntu11.10,它自带的编译器版本为gcc-4.6.1,编译android-4.0.3会出现很多错误,通过修改源码也可以正确编译出目标文件,但是考虑到androi...
Android 网页登录 POST 请求 保存 COOKIE

Android 网页登录 POST 请求 保存 COOKIE

做的一个是要登录自己的图书馆账号,用于查看自己所借阅的书籍,看了一下图书馆的代码,发现是POST用户名和密码,而在代码实现主要有两个难点:一、保存账号密码 二、保存Cookie那么 ,第一个可以使用之前提到过的Sharedpreference ,每次就直接从sharedpreference里获取账号名和密码就可以了,不需要每次都输入第二个怎么获得服务器的cookie呢,知道这次的session id通过Httpclient 中的getcookiestore...
Android 颜色选择器(ColorPicker)

Android 颜色选择器(ColorPicker)

因为画图板中需要使用颜色选择器. 去查了下api demo, 发现有现成的ColorPickerDialog, 但是功能比较简单, 主要是无法选择黑色和白色. 之后也去网上找了下, 倒是发现了几个, 但是用着感觉不太好.就想着自己重写个好了. 先上图 1.测试界面 2. 调色板对话框 3. 选择颜色 4.改变字体颜色调色板对话框 ColorPickerDialog.java Java代码 packagecom.dwood.paintdemo; impo...
Java 中关于信号的处理在Linux下的实现

Java 中关于信号的处理在Linux下的实现

Linux 的线程和信号基于 NPTL 的线程库,多线程应用中的每个线程有自己独特的线程 ID,并共享同一个进程ID。应用程序可以通过调用 kill(getpid(),signo) 将信号发送到进程,如果进程中当前正在执行的线程没有阻碍此信号,则会被中断,线号处理函数会在此线程的上下文背景中执行。应用程序也可以通过调用 pthread_kill(pthread_t thread, int sig)将信号发送给指定的线程,则线号处理函数会在此指定线程的上下文...
Linux内核信号处理机制介绍

Linux内核信号处理机制介绍

本文简单介绍下Linux信号处理机制,为介绍二进制翻译下信号处理机制做一个铺垫。本文主要参考书目《Linux内核源代码情景分析》《独辟蹊径品内核:Linux内核源代码导读》首先,先说一下什么是信号。信号本质上是在软件层次上对中断机制的一种模拟,其主要有以下几种来源:程序错误:除零,非法内存访问… 外部信号:终端Ctrl-C产生SGINT信号,定时器到期产生SIGALRM… 显式请求:kill函数允许进程发送任何信号给其他进程或进程组。 在Linux下,可以...
Java 工具(jmap,jstack)在Linux上的源码分析(一)流程图

Java 工具(jmap,jstack)在Linux上的源码分析(一)流程图

在我们常用的Jstack, Jmap 用于分析java虚拟机的状态的工具,通过起另一个虚拟机通过运行sun.tools包下的java文件,去跟踪另一个虚拟机的状态。相关阅读:http://www.linuxidc.com/Linux/2012-01/51213.htm与 http://www.linuxidc.com/Linux/2012-01/51216.htm如果让你设计一个跟踪另一个进程的方法,你也通常会考虑这几种常用的方式。第一种,就是通知被跟踪的...
JVM Thread stop 的源码分析

JVM Thread stop 的源码分析

在JVM, Thread.stop 是被阻止的方法,看原语义“该方法具有固有的不安全性。用 Thread.stop 来终止线程将释放它已经锁定的所有监视器(作为沿堆栈向上传播的未检查ThreadDeath异常的一个自然后果)。如果以前受这些监视器保护的任何对象都处于一种不一致的状态,则损坏的对象将对其他线程可见,这有可能导致任意的行为。stop的许多使用都应由只修改某些变量以指示目标线程应该停止运行的代码来取代。目标线程应定期检查该变量,并且如果该变量指示...
Java 中自旋锁的实现

Java 中自旋锁的实现

Java中初始是使用mutex互斥锁,因为互斥锁是会线程等待挂起,而对获取锁后的操作时间比较短暂的应用场景来说,这样的锁会让竞争锁的线程不停的park,unpark 的操作,这样的系统的调用性能是非常糟糕的,为了提高锁的性能,java 在6 默认使用了自旋锁。在Linux中本身就已经提供了自旋锁的系统调用,在glibc-2.9中就有它的比较简单的实现方法intpthread_spin_lock(lock)pthread_spinlock_t*lock;{a...
Java 工具(jmap,jstack)在Linux上的源码分析(四)safe point

Java 工具(jmap,jstack)在Linux上的源码分析(四)safe point

safe point 顾明思意,就是安全点,当需要jvm做一些操作的时候,需要把当前正在运行的线程进入一个安全点的状态(也可以说停止状态),这样才能做一些安全的操作,比如线程的dump,堆栈的信息。在jvm里面通常vm_thread(我们一直在谈论的做一些属于vm 份内事情的线程) 和cms_thread(内存回收的线程)做的操作,是需要将其他的线程通过调用SafepointSynchronize::begin 和 SafepointSynchronize...
<< 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 >>