- 浏览: 8900 次
最新评论
文章列表
一、类介绍
java.util.concurrent类CountDownLatch
public class CountDownLatch extends Object
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。给定一个数来初始化CountDownLatch ...
String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。
String类的包含如下定义:
[java]view
plaincopy
/**Thevalueisusedforcharacterstorage.*/
- 2014-10-27 15:34
- 浏览 515
- 评论(0)
1.嵌套的输入流
DataInputStream din = new DataInputStream(new BufferedInputStream(new FileInputStream("1.dat")));
这里 需要从一个文件中读入数据,数据是数字类型,FileInputStream 没有读入数字类型的方法,也没有缓存机制,DataInputStream没有从文件中读数据的方法,
因此可以用重重嵌套构造一个新的构造器。
2.文本操作
PrintWriter 和BufferedReader(new FileReader("2.txt&qu ...
- 2014-10-20 15:52
- 浏览 415
- 评论(0)
1.使用synchronized关键字时,在方法中一个块上使用比在整个方法上使用,对象不加锁的时间更长,线程运行效率更好
持续更新。。。
- 2014-10-11 21:16
- 浏览 347
- 评论(0)
每个Java对象都可以用做一个实现同步的锁,这些锁被称为内置锁或监视器锁。线程在进入同步代码块之前会自动获取锁,并且在退出同步代码块时会自动释放锁。获得内置锁的唯一途径就是进入由这个锁保护的同步代码块或方法。
当某个线程请求一个由其他线程持有的锁时,发出请求的线程就会阻塞。然而,由于内置锁是可重入的,因此如果摸个线程试图获得一个已经由它自己持有的锁,那么这个请求就会成功。“重入”意味着获取锁的操作的粒度是“线程”,而不是调用。重入的一种实现方法是,为每个锁关联一个获取计数值和一个所有者线程。当计数值为0时,这个锁就被认为是没有被任何线程所持有,当线程请求一个未被持有的锁时,JVM将记 ...
- 2014-10-10 20:07
- 浏览 437
- 评论(0)
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。
t.join(); //使调用线程 t 在此之前执行完毕。
t.join(1000); //等待 t 线程,等待时间是1000毫秒
先上一段JDK中代码:
Java代码
/**
*Waitsatmost<code>millis</code>millisecondsforthisthreadto
*die.Atimeoutof<code>0 ...
- 2014-10-10 11:29
- 浏览 567
- 评论(0)
HttpSessionListener :
Session创建事件发生在每次一个新的session创建的时候,类似地Session失效事件发生在每次一个Session失效的时候。
这个接口也只包含两个方法,分别对应于Session的创建和失效:
# public void sessionCreated(HttpSessionEvent se);
# public void sessionDestroyed(HttpSessionEvent se);
我的web应用上想知道到底有多少用户在使用?
在网站中经常需要进行在线人数的统计。过去的一般做法是结合登录 ...
- 2014-09-23 16:06
- 浏览 346
- 评论(0)
代理的最大作用,就是在已知源代码的情况下,在不改变原来代码的条件下,增加自己的逻辑。
比如说控制权限,增加日志等。此例就以增加日志来说明动态代码的基本用法。
JDK的动态代码必须要基于接口,所以被代理的对象必须要实现某一个或多个接口。
1.接口
有一个动物接口,有两个方法吃和睡。很简单吧
interface Animal {
void eat();
void sleep();
}
2.真实的类。即后面的被代理对象。
cat类,实现了animal接口
class Cat implements Animal {
@Override
public voi ...
- 2014-08-03 21:15
- 浏览 335
- 评论(0)
spring AOP默认是使用AspectJ的注解,
joinpoint 连接点,就是切面程序要切到原程序的哪个地方
pointcut 连接点的集合,一类连接点
aspect 切面,代表下面的程序是切面程序,
advice 建议,是切面上的逻辑
在写的逻辑需要有前后顺序时,不要依赖AOP注解的前后顺序
- 2014-07-16 09:50
- 浏览 510
- 评论(0)
web应用中的session和cookie机制相信大家已经再熟悉不过了,cookie是一种存在于客户端上的用于保存用户浏览数据的小文件。session存在于服务器中,可以用来区分用户和保存用户信息。session会根据客户端的请求给不同客户端分配一个唯一的sessionId,用来区分session。例如用户登录之后,给用户创建一个session,并在session中保存该用户的相关信息,即可以避免用户的id在网络上传输,又可以保证区分每一个用户。
web中实现session的机制有两种:
1.通过cookie来实现
所谓通过cookie来实现,说白了就是在创建了session之后,把s ...
- 2014-04-05 16:26
- 浏览 2012
- 评论(0)
使用get向服务器发送请求时,url后面有汉字会有乱码,在tomcat的server.xml中加入
useBodyEncodingForURI="true" URIEncoding="UTF-8" 可以解决乱码问题
乱码问题,根本解决之道是要保证源代码、数据库、tomcat三者的编码一致
tomcat:上面已经说了
数据库:如果是mysql,找到my.ini文件,找到其中 “default-character-..”的地方,将编码改成为utf8(如果你使用的都是utf8),
重启mysql服务。
若在linux下,在
/etc/ ...
- 2014-03-30 22:11
- 浏览 494
- 评论(0)
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上, ...
- 2014-03-29 09:49
- 浏览 597
- 评论(0)
请参考博文: http://blog.sina.com.cn/s/blog_7575ed8b01013dij.html
- 2014-03-23 19:14
- 浏览 442
- 评论(0)
hibernate生成表时,有的表可以生成,有的却不可以。
原因:不能生成的表中有字段“desc”或“describe”等和hibernate关键字冲突的字段,因此不能生成,只要换个字段名就好了。
- 2014-03-21 21:28
- 浏览 344
- 评论(0)
前提:导入需要的2个jar文件,jcommon-版本号.jar,jfreechart-版本号.jar。可以去官网下载:http://sourceforge.net/projects/jfreechart/files/
注意:下载的Jfreechart版本不要太高,新版本对中文的显示会出问题,我自己后来下的是1.0.10的版本。
实例一:比较简单的application版本的饼图
package com.test.jfreechart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.Ch ...
- 2013-05-26 09:38
- 浏览 360
- 评论(0)