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

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

首页 / 操作系统 / Linux

struts中Action线程安全问题

struts中Action线程安全问题

线程安全:在多线程环境下能正确执行的代码就是线程安全的,安全的意思就是能够正确执行,程序代码执行不出错误等其他异常情况实例变量:在堆中分配的,并被属于该实例的所有线程共享,所以不是线程安全的局部变量:在堆栈中分配,因为每个实例都有它自己的堆栈空间,所以是线程安全的J2EE是一个多线程的环境,服务器针对每个请求启动一个线程来处理,所以有可能会有多个线程同时访问一个Servlet实例的情况。在Struts里面也是一样的,有可能会有多个线程同时访问一个Actio...
Java线程池的原理及几类线程池的介绍

Java线程池的原理及几类线程池的介绍

刚刚研究了一下线程池,如果有不足之处,请大家不吝赐教,大家共同学习、共同交流。在什么情况下使用Java线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。 线程池工作原理:为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都...
SSH框架面试题

SSH框架面试题

Hibernate工作原理及为什么要用?原理:1. 读取并解析配置文件2. 读取并解析映射信息,创建SessionFactory3. 打开Sesssion4. 创建事务Transation5. 持久化操作6. 提交事务7. 关闭Session8. 关闭SesstionFactory为什么要用:* 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。* Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大...
Java使用反射来获取泛型信息

Java使用反射来获取泛型信息

Java通过指定类对应的Class对象,程序可以获得该类里包括的所有Field,不管该Field使用private修饰,还是使用public修饰。获得了Field对象后,就可以很容易的获得该Field的数据类型,例如,下面的代码便是获得该Field对象foeld的类型:Class<?> type = field.getType();但是通过这种方式只对普通类型的Field有效,如果该Field的类型是有泛型限制的类型,如Map<Strin...
Linux的动态定时器--时间轮

Linux的动态定时器--时间轮

Linux的定时器—有时也称为动态定时器或内核定时器—是管理内核时间的基础。定时器是一种软件功能,即允许在将来的某个时刻,函数在给定的时间间隔用完时被调用。注意的是定时器并不会周期运行,它在超时后就自行销毁,这也是定时器被称为动态定时器的一个原因。动态定时器不断地创建和销毁,而且它的运行次数也不受限制。定时器在内核代码中属于一个基础组件。要想完全弄清楚linux2.6中内核定时器的实现,得先从初始化开始。在start_kernel(void)-->i...
Linux 内核定时器 timer_list详解

Linux 内核定时器 timer_list详解

Linux内核2.4版中去掉了老版本内核中的静态定时器机制,而只留下动态定时器。相应地在timer_bh()函数中也不再通 过run_old_timers()函数来运行老式的静态定时器。动态定时器与静态定时器这二个概念是相对于Linux内核定时器机制的可扩展功能而言的,动态定时器是指内核的定时器队列是可以动态变化的,然而就定时器本身而言,二者并无本质的区别。考虑到静态定时器机制的能力有限,因此Linux内核2.4版中完全去掉了以前的静态定时器机制。7.6....
Android系统的应用开发与运行环境构建

Android系统的应用开发与运行环境构建

当我们选择基于Android系统的移动应用开发,如何构架其应用开发与运行环境呢?本文围绕这问题展开了细致的讲解。首先让我们一起想想如下问题。 P1:构建环境准备工作是什么? P2:软件安装的顺序是什么? P3:如何进行环境变量的配置以及测试软件是否成功安装? 俗语说,“工欲善其事,必先利其器”,做一件事情之前,必要而正确的准备工作尤为重要。我们在构建环境时,准备工作是下载需要的软件开发包(SDK)、集成开发环境(IDE)以及插件,具体就是JDK1.6或以上...
Android之图片异步加载并缓存到本地

Android之图片异步加载并缓存到本地

在Android项目中访问网络图片是非常普遍性的事情,如果我们每次请求都要访问网络来获取图片,会非常耗费流量,而且图片占用内存空间也比较大,图片过多且不释放的话很容易造成内存溢出。针对上面遇到的两个问题,首先耗费流量我们可以将图片第一次加载上面缓存到本地,以后如果本地有就直接从本地加载。图片过多造成内存溢出,这个是最不容易解决的,要想一些好的缓存策略,比如大图片使用LRU缓存策略或懒加载缓存策略。今天首先介绍一下本地缓存图片。首先看一下异步加载缓存本地代码...
ARM 如何实现绝对地址的跳转

ARM 如何实现绝对地址的跳转

基于 b跳转指令,ldr伪指令,ldr加载指令分析有以下场景需用到1.实现从Stepingstone中执行部分指令后,需跳转到SDRAM中执行,前提是必须先将NAND FLASH中代码copy到SDRAM,然后才能跳转到SDRAM去执行。跳转到SDRAM 需使用LDR伪指令LDR PC,=SDRAM 来实现分析:b指令是相对跳转指令,可以看到起反汇编代码是完全一样的,它依赖于当前PC寄存器的值,不管此代码链接地址如何,b指令都可以跳转到正确位置,这类指令称...
基于S3C2410 的MDK 例程移植

基于S3C2410 的MDK 例程移植

移植所关注的要点如下所示:1.分散加载文件关于散加载文件的具体内容介绍,可参考附录1“Realview MDK 中链接脚本详细解析”,这里只针对S3C2410 以及开发板的特点,给出具体的代码参考。之前提到的S3C2410 及其开发板的一些基本参数 (参考:http://www.linuxidc.com/Linux/2012-06/62484.htm),这里我们要关心的是SDRAM 和Nor Flash 的编址问题。通过阅读S3C2410 用户指南可知,地...
Realview MDK 中调试脚本的详细解析

Realview MDK 中调试脚本的详细解析

和其他集成开发环境一样,Realview MDK 中也使用了调试脚本。调试脚本除了可以初始化软硬件的调试环境以外,还可以初始化Flash 的烧写环境,甚至可以提供信号函数模拟片上外围设备。所以在使用Realview MDK 调试和烧写的过程中,到处都有调试脚本的身影。下面将分三个方面详细地研究调试脚本的编写和使用。在介绍调试脚本之前,先必须了解Realview MDK 预定义的一些常用命令和函数的用法。1. 常用预定义命令的说明及注意事项:下表是一些常用的...
<< 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 >>