`
fxly0401
  • 浏览: 144324 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
    Java 提供了语言级别的线程支持,所以在 Java 中使用多线程相对于 C,C++ 来说更简单便捷,但本文并不是介绍如何在 Java 中使用多线程来来解决诸如 Web services, Number crunching 或者 I/O processing 之类的问题。     在本文中,我 ...
1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL. 2.从数据共享来说 forward:转发页面和转发到的页面可以共享request里面的数据. redirect:不能共享数据. 3.从运用地方来说 forward:一般用于用户登陆的时候,根据角色转发到相应的模块. redirect:一般用于用户注销登陆时返回主页 ...
同步的概念:同步分为同步方法和同步块两种方式。 锁定的内容分为锁定类的某个特定实例和锁定类对象(类的所有实例) 变量分为实例变量(不带static的变量)和类变量(带static的变量) 使用同步的原因 1、在系统中对访类要使用多线程进行访问; 2、在该类中有 类变量,或者是 在类的方法中有访问公共资源(如一个外部文件的读写)。 同步锁锁定的内容是什么? 无论你将Synchronized加在方法前还是加在一个变量前,其锁定的都是一个 类对象。每一个对象都只有一个锁与之相关联。 下例中分情况的列举各种情况下的同步效果 1、Synchronized 加在方法上,(同步方法,锁定类实例) Java代码 ...
所谓守护线程,是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非守护线程结束时,程序也就终止了,同时会 ...
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.util.Random; import javax.imageio.ImageIO; public final class CodeImageGenerator { private final static int DEF_WIDTH = 60; private final ...
    java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。     一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。 java.util.Timer timer = new java.u ...
MySQL数据库存储引擎取决于MySQL在安装的时候是如何被编译的。 要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++ API自己做一个引擎。下面介绍几种数据库引擎:     ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不 支持事务处理, ...
简介       数据库范式在数据库设计中的地位一直很暧昧,教科书中对于数据库范式倒是都给出了学术性的定义,但实际应用中范式的应用却不甚乐观,这篇文章会用简单的语言和一个简单的数据库DEMO将一个不符合范式的数据库一步步从第一范式实现到第四范式。 范式的目标       应用数据库范式可以带来许多好处,但是最重要的好处归结为三点:       1.减少数据冗余(这是最主要的好处,其他好处都是由此而附带的)       2.消除异常(插入异常,更新异常,删除异常)       3.让数据组织的更加和谐…        但剑是双刃的,应用数据库范式同样也会带来弊端,这会在文章后面说到。 ...
java.lang.String不可变的字符串,对String内容的改变都要重新申请内存。 java.lang.StringBuffer是线程安全的可变字符序列。可将StringBuffer安全地用于多个线程。 java.lang.StringBuilder是非线程安全的可变字符序列。多应用于单线程,将 String ...
笔记本ubuntu系统Java开发串口程序 一、 开发环境配置 由于笔记本没有串口,并且在ubuntu下没有虚拟串口软件(我没有找到~~~),所以需要用虚拟机安装ubuntu系统,我用的是VM ware 7.0,系统是ubuntu 11.04,当然宿主系统是XP SP3。 以 ...
设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有:     一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点     二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相 ...
问题: 求一个数字数组里的最大连续数字的个数。 比如 3, 4, 4, 4, 2, 2, 3, 4  =>  return 3。此题为google的面试题。 分析: 设置两个变量:全局最大连续数字个数:maxSucc; 以及局部连续数字个数:  temp。从第二个数字开始,如果当前数字比前一个数字大1,则 temp++,遇到不满足条件的,则比较maxSucc 和 temp, 如果temp 比maxSucc 大,则更新maxSucc。 代码: [java] view plaincopy public static int maxSuccessive(int[] array) {       ...
给一个方法,比如 rand5(), 它能够等概率生成 1-5 之间的整数。 所谓等概率就是1,2,3,4,5 生产的概率均为 0.2 。现在利用rand5(), 构造一个能够等概率生成 1- 7 的方法。 这里有两个特别重要的点,一是 如果 rand5() + rand5(), 我们能够产生一个均匀分布的 1 - 10 吗? 答案是否定的。比如对于 6来讲(4+2, 2+4, 3+3),它被生成的生成的概率比1 (1+0,0+1)要大. 第二个点就是我们不可能用rand5()直接产生 1- 7 的数,不管你用加减乘除都不行。 所以,我们要构造一个更大的范围,使得范围里每一个值被生成的概率是一样的 ...
    讲解几个设计模式中的面向接口思想和基于.NET平台的分层架构中的面向接口思想,加深理解。     通过前面两篇,我想各位朋友对“面向接口编程”的思想有了一定认识,并通过第二篇的例子,获得了一定的直观印象。但 ...
来源:http://www.cnblogs.com/leoo2sk/archive/2008/04/11/1148236.html  这一篇将结合一个实例“移动存储设备模拟”来让大家对面向接口编程有个直观印象。     通过上一篇文章的讨论,我想各位朋友对“面接接口编程”有了一个大致的了 ...
Global site tag (gtag.js) - Google Analytics