自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (14)
  • 收藏
  • 关注

原创 多线程程序设计23个要点

1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区。 2.线程的状态有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'几个状态,'Ready' 表示线程正在等待CPU分配允许运行的时间。...

2010-12-19 10:17:29 58

原创 Java多线程(12):使用Synchronized块同步变量

我们可以通过synchronized块来同步特定的静态或非静态方法。要想实现这种需求必须为这些特性的方法定义一个类变量,然后将这些方法的代码用synchronized块括起来,并将这个类变量作为参数传入synchronized块。下面的代码演示了如何同步特定的类方法: 001 package mythread; 002 003 public class SyncThr...

2010-12-19 10:10:21 69

原创 Java多线程(11):使用Synchronized块同步方法

synchronized关键字有两种用法。第一种就是在《使用Synchronized关键字同步类方法》一文中所介绍的直接用在方法的定义中。另外一种就是synchronized块。我们不仅可以通过synchronized块来同步一个对象变量。也可以使用synchronized块来同步类中的静态方法和非静态方法。 synchronized块的语法如下:public void...

2010-12-19 10:09:41 73

原创 Java多线程(10):使用Synchronized关键字同步类方法

要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,代码如下:public synchronized void run(){ } 从上面的代码可以看出,只要在void和public之间加上synchronized关键字,就可以使run方法同步,也就是说,对于同一个Java类的对象实例,run方法同时只能被一个线程...

2010-12-19 10:08:07 90

原创 Java多线程(9):为什么要进行数据同步

Java中的变量分为两类:局部变量和类变量。局部变量是指在方法内定义的变量,如在run方法中定义的变量。对于这些变量来说,并不存在线程之间共享的问题。因此,它们不需要进行数据同步。类变量是在类中定义的变量,作用域是整个类。这类变量可以被多个线程共享。因此,我们需要对这类变量进行数据同步。 数据同步就是指在同一时间,只能由一个线程来访问被同步的类变量,当前线程访问完这些变量后,其他...

2010-12-19 10:06:56 128

原创 Java多线程(8):从线程返回数据的两种方法

从线程中返回数据和向线程传递数据类似。也可以通过类成员以及回调函数来返回数据。但类成员在返回数据和传递数据时有一些区别,下面让我们来看看它们区别在哪。 一、通过类变量和方法返回数据 使用这种方法返回数据需要在调用start方法后才能通过类变量或方法得到数据。让我们先来看看例程2-13会得到什么结果。package mythread;public clas...

2010-12-19 10:01:12 230

原创 Java多线程(7):向线程传递数据的三种方法

在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和 return语句来返回数据。本文就以上原因介绍了几种用于向线程传递数据的方法,在下一篇文章中将介绍从线程中返回数据的方...

2010-12-19 10:00:42 86

原创 Java多线程(6):慎重使用volatile关键字

volatile关键字相信了解Java多线程的读者都很清楚它的作用。volatile关键字用于声明简单类型变量,如int、float、boolean等数据类型。如果这些简单数据类型声明为volatile,对它们的操作就会变成原子级别的。但这有一定的限制。例如,下面的例子中的n就不是原子级别的:package mythread;public class JoinThread ex...

2010-12-19 09:59:54 68

原创 Java多线程(5):join方法的使用

在上面的例子中多次使用到了Thread类的join方法。我想大家可能已经猜出来join方法的功能是什么了。对,join方法的功能就是使异步执行的线程变成同步执行。也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到start方法后面的某条语句时,这个线程一定...

2010-12-19 09:59:13 61

原创 Java多线程(4):线程的生命周期

与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。 // 开始线程 public void start( ); public void run( ); // 挂起和唤醒线程 public void resum...

2010-12-19 09:58:02 66

原创 Java多线程(3):使用Runnable接口创建线程

实现Runnable接口的类必须使用Thread类的实例才能创建线程。通过Runnable接口创建线程分为两步: 1. 将实现Runnable接口的类实例化。 2. 建立一个Thread对象,并将第一步实例化后的对象作为参数传入Thread类的构造方法。 最后通过Thread类的start方法建立线程。 下面的代码演示了如何使用Runnabl...

2010-12-19 09:53:11 77

原创 Java多线程(2):用Thread类创建线程

在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过 Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。Thread类的构造方法被重载了八次,构造方法如下:public Thread( );public Thread(Runnable target...

2010-12-19 09:52:02 87

原创 Java多线程:线程简介

一、线程概述 线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。 进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包...

2010-12-19 09:50:48 73

原创 spring数据源c3p0配置

传智播客学习笔记-spring数据源c3p0配置 2009-05-21 15:57把spring安装目录lib\c3p0下的c3p0-0.9.1.2.jar放置在类路径下 com.mysql.jdbc.Driver jdbc:mysql://192.168.3.110:3306/DBName?useUnicode=true&charact...

2010-12-11 13:11:56 78

原创 Spring与Hibernate整合--事务的探讨

class PersonDaoImpl extends HibernateDaoSupport{ public void save(Person person) throws Exception { //下面这行代码能看到回卷事务的效果 this.getHibernateTemplate().save(person); //下面这行代码没有回卷的效果了,在sprin...

2010-12-11 13:09:55 82

原创 使用Spirng1

使用Spirng需要的jar包dist\spring.jarlib\jakarta-commons\commons-logging.jar如果使用了切面编程(AOP),还需要下列jar文件lib/aspectj/aspectjweaver.jar和aspectjrt.jarlib/cglib/cglib-nodep-2.1_3.jar如果使用了JSR-250中的注解,如@R...

2010-12-11 13:09:05 123

原创 hibernate映射2

* inverse此属性表示 "是否放弃维护关联关系",在one-to-many和many-to-many中使用,默认值是"false"。 维护关联关系是指在Java里两个对象关联时,对数据库表中的数据产生影响。在一对多/多对一中,是指设置外键列的值;在多对多中是指在中间表是增减记录。设置inverse=true表示放弃维护关联关系,即由对方来维护。在使用时要注意: ...

2010-12-11 13:07:51 83

原创 hibernate映射

集合映射如果实体类有一个集合类型的属性,就需要一张额外的表,即所谓的集合表,这个表有一个外键引用实体类对应的表的主键。根据集合中存放的元素类型可以分为两种:1,值类型集合,元素是可识别的数据库类型,如基本数据类型或字符串类型等;2,实体类型集合,元素是其他的实体。** 对集合做映射时一般需要指定:1)集合表的表名,在相应元素中使用属性table指定;2)集合外...

2010-12-11 13:07:03 90

原创 Hibernate笔记1

映射文件(hbm.xml): 是配置对象与数据库表的对应关系。是站在对象的位置上进行配置的。* hibernate-mapping元素, package:指定一个包前缀,如果在映射文档中没有指定全限定的类名,就使用这个作为包名。auto-import:指定是否可以在查询语言中使用非全限定名(仅限于本映射文件中的类),默认为true。Java是面向对象语言,对象模型,其主要概念有...

2010-12-11 13:06:35 59

原创 设置响应头字段的些许应用

禁止浏览器缓存当前文档内容只要增加如下的响应头字段:response.setDateHeader("Expires",0);response.setHeader("Cache-Control","no-cache");response.setHeader("Pragma","no-cache");不是所有的浏览器都能完全支持上面的三个响应头,因此最好是同时使用上面三...

2010-12-11 13:04:18 99

原创 Oracle--SQL基本语法

A[PPEND] text添加文本 C[HANGE] / old / new 文本替换C[HANGE] / text / 删除掉该文本CL[EAR] BUFF[ER] 清除缓冲区DEL 删除最后一行 DEL n 删除第n行DEL m n 删除第m到n行I[NPUT] 添加文本I[NPUT] text 向最后一...

2010-12-11 13:03:07 74

原创 权限管理

权限管理系统权限Oracle把权限进行了细分,在Oracle 9i系统中,可用的系统权限共有116个,主要的系统权限如下所示:CREATE PROCEDURECREATE ROLECREATE SEQUENCECREATE SESSIONCREATE TABLECREATE TABLESPACECREATE TRIGGERCREATE USERCRE...

2010-12-11 13:02:12 162

原创 角色管理

角色管理角色定义 角色是将系统权限分配给用户的中间的类用户或权限装载容器,可以给某些角色一定的权限,当某个用户需要一定权限时,把一个具有和他所要的权限相同的角色赋予他就可,这样省时高效。一、建立角色 1、格式:Create Role 角色名 [Not Identified |Identified By 口令 |Externally] ...

2010-12-11 13:01:40 157

原创 权限管理

权限管理一、授权 1、方式:通过授予权限的命令实现对用户或角色权限的授予。 2、格式:Grant [系统特权名] [角色] To [用户名列表] [Public] [with Admin Option] 3、说明: (1)系统特权名:指表中所给出的特权名; (2)角色:具有相应权限的一种代号...

2010-12-11 13:01:00 86

原创 Oracle数据库用户

Oracle数据库用户 l1、三个常用的系统用户:Scott(一个数据库的普通用户)Connect scott/tigerManager(数据库管理员)Connect system/mangaerSys(数据库对象的拥有者权限最高)Connect sys/change_on_install as sysdba;每个想使用Oracle的用户都必须得到一个合...

2010-12-11 13:00:40 105

原创 Validator框架与struts应用

1.Validator框架的使用在struts中除了自己定义validate校验方法以外,还可以使用一个功能十分强大的框架帮我们实现校验步骤,那就是Validator框架。Validator框架是一个完整的架构,struts只是引用它而已。但是使用起来还是非常便利的。首先与struts一同导入的jar包中就有一个commons-validator的jar包。所以我们不需要再去另...

2010-12-11 12:59:05 98

原创 struts文件上传

struts实现文件上传比较简单,只要使用标签就可以了。但是要注意的是要在标签内设置enctype属性为"multipart/form-data"。这样提交的html内容会多部分提交,上传文件的数据信息也会被解析了。具体机制就不深究了。实现真正的文件上传功能当然不是一个标签就可以搞定的。标签发送的数据包括有文件名,文件大小,以及文件的数据。为了测试方便,在业务实体中定义的相关文件类的类型是...

2010-12-11 12:58:22 79

原创 struts的转换器

struts的转换器在传递表单数据的时候会遇到这种情况。在formbeen中或者实体类中定义的类型是Date,Integer等对象类型。那么类型为String类型的传递进去的时候无法完成数据转换。这就需要使用struts的转换器。转换器的使用要先定义一个converter,只要实现Converter接口,并在convert方法中做好处理,就能完成一个converter。例如下面是一个日...

2010-12-11 12:57:26 78

原创 ajax开发应用

ajax在很多程序员的眼里是一个很复杂或陌生的字眼,其实, AX并不复杂,自从AJAX技术出来后,天花乱坠的框架纷纷出台,搞得技术开发人员无从下手,baidu google里也有很多例子,大都是非常复杂。   其实就web开发而言,AJAX技术只是一个配合,完全没有必要本末倒置,是一种页面优化的技术,也就是说,如何去优化我们的web页面才是AJAX的重头戏。下面我举个很简单的例子,可以满足...

2010-12-11 12:56:50 170

原创 Ajax 及其入门基础(二)

注意Ajax本身是一种浏览器端技术,它和Web服务器端采用什么脚本书写代码是没有关系的。比如我们把Client.htm的语句send_request(‘server.php’, username)换为send_request(‘server.asp’, username),再相对应的建立server.asp文件,内容为: 做了这样的改变后,在浏览器端,用户看到的效果...

2010-12-11 12:54:35 81

原创 Ajax 及其入门基础(一)

一、细说Ajax的原理 这个可以从 C/S 和 B/S 的原理说起。Windows操作系统的诞生,为单机通信提供了很大的支持,程序设计也从早期DOS的单任务单用户向网络的分布式应用过度。C/S提供的客户/服务器编程模式为网络应用提供了一个有效的通信手段。浏览器与Web服务器之间的请求/ 服务,就是一个典型的C/S应用。 有人说,怎么是C/S?这应该是B/S呀!其实是这样...

2010-12-11 12:53:46 132

原创 正则表达式

整理资料如下:\\ 反斜杠\t 间隔 ('\u0009')\n 换行 ('\u000A')\r 回车 ('\u000D')\d 数字 等价于[0-9]\D 非数字 等价于[^0-9]\s 空白符号 [\t\n\x0B\f\r]\S 非空白符号 [^\t\n\x0B\f\r]\w 单独字符 [a-zA-Z_0-9]\W 非单独字符 [^a-zA-Z_0-9...

2010-12-11 12:39:05 80

原创 应该懂的基础问题

问题一:我声明了什么!   String s = "Hello world!";   许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。   这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前...

2010-12-11 12:14:04 75

原创 Java中的堆栈

Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的...

2010-12-11 10:59:13 102

原创 Java Socket 的一个实例程序

Java通过TCP协议的通信的编程都是通过Socket ,不会很难,一般通用的就是下面这个小例子。大概就能了解Socket的编程方法了。import java.io.*;import java.net.*;public class EchoServer { public static void main(String[] args) { try { Serve...

2010-12-11 10:58:22 118

原创 Java IO 小结

什么是数据流----------数据流是指所有的数据通信通道在java中有关流的操作使用java.io.*出于安全的考虑,小应用不能实现文件I/O流标准输入输出----------System类管理标准输入输出流和错误流 System.out: 把输出送到缺省的显示(通常是显示器)System.in: 从标准输入获取输入(通常是键盘)System.err: 把错误信...

2010-12-11 10:51:44 70

google-play-service lib jar (eclipse)

google play service lib 最新jar,适合eclipse开发google 的jar

2017-04-27

eclipse svn插件

eclipse myeclipse svn插件 将对应文件放入eclipse对应目录

2017-03-16

表盘体重选择器

表盘体重选择器

2017-02-16

google-play-service-firebase9.2.0

firebase9.2.0

2017-01-06

OpenExplorer

OpenExplorer eclipse插件 放入dropins重启eclipse,就可以eclipse中打开对应文件的目录

2015-06-23

eclipseJs插件

eclipseJs插件 jsdt-2.2.0

2015-05-14

eclipse-maven插件

eclipse-maven插件,将文件放入对应路径下,简单快捷绿色

2015-05-13

eclipse添加tomcat插件

eclipse添加tomcat插件,将jar放入eclipse->dropins 简单快捷

2015-05-13

angular.min

angular.min.js 插件,仅供参考

2015-04-09

win7 桌面小摆钟

win7 win7桌面小工具 win7桌面钟

2011-06-07

圣诞给朋友送祝福的软件

一款很温馨的游戏,适合圣诞的时候发给朋友祝福

2011-06-07

j2ee精华学习笔记

j2ee学习一些精华的笔记记录,有条理,有重点...

2010-12-11

ssh三大框架集成步骤

一个详细的将SSH集成的简单步骤....

2010-12-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除