
java
zzcfrog
这个作者很懒,什么都没留下…
展开
-
ThreadLocal
通常情况下一个实例对象只会在内存中有一份。如果这个实例是ThreadLocal类型的,那内存中就会为每一个线程保存一个副本,这样每一个线程就会在操作同一个对象的时候拿到属于自己的那个副本,各个线程之间就不会互相影响了。副本是怎样保存的呢?Map(Thread,Local)。原创 2010-11-27 21:55:00 · 365 阅读 · 0 评论 -
java notify()与notfyAll()的区别
notifyAll前:在对象上休息区内休息notifyAll后:在排队等待获得对象锁。notify和notifyAll都是把某个对象上休息区内的线程唤醒,notify只能唤醒一个,但究竟是哪一个不能确定,而notifyAll则唤醒这个对象上的休息室中所有的线程.notify会由线程调度随机挑选一个正在处于WAIT状态的线程去执行,该线程接下来处于RUNNABLE状态。notifyAll会由线程调度唤醒所有在锁上等待的线程,这些线程自由竞争,其中一个线程竞争胜出,然后执行,处于RUNNABLE状态。原创 2010-11-27 21:19:00 · 906 阅读 · 0 评论 -
JAVA中的synchronized和volatile的个人理解
f原创 2010-10-15 16:58:00 · 863 阅读 · 1 评论 -
outputstream的flush()方法
outputstream的flush()方法完全是个钩子方法,什么都不干原创 2011-08-02 21:35:33 · 747 阅读 · 0 评论 -
tomcat的catalina.out日志的切分
随着Tomcat的运行,catalina.out文件会越来越大,虽然Tomcat每日会生成一个catalina.ymd.log的文件,但catalina.out主文件仍然不断增加,需要对catalina.out按日切分才好,在网上找了一下,看到一篇《rotating cata原创 2011-08-08 11:46:58 · 1128 阅读 · 0 评论 -
pom配置说明
什么是pom? pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。快速察看: 4转载 2011-09-23 11:47:31 · 486 阅读 · 0 评论 -
jvm的gc原理
由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略。本文介绍了JVM分代垃圾回收策略的目标,如何分代,以及垃圾回收的触发因素。JVM分代垃圾回收策略的基础概念为什么要分代JVM分代垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生转载 2011-12-07 18:22:06 · 777 阅读 · 0 评论 -
转载java堆栈
Java栈与堆 ----对这两个概念的不明好久,终于找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,转载 2012-01-31 11:18:00 · 353 阅读 · 0 评论 -
忘了怎么直接连mysql了,记录一下
String driver = "com.mysql.jdbc.Driver";// URL指向要访问的数据库名scutcsString url = "jdbc:mysql://127.0.0.1:3306/scutcs";// MySQL配置时的用户名String user = "root";// Java连接MySQL配置转载 2012-03-29 16:18:40 · 388 阅读 · 0 评论 -
注解的用法
本文介绍如何编写一个自定义的注解类型,以及如何应用JDK5.0 java.lang.annotation包中提供的4种注解:@Documented,@Retention,@Target,@Inherited1. 编写自定义@Todo注解经常我们在写程序时,有时候有些功能在当前的版本中并不提供,或由于某些其它原因,有些方法没有完成,而留待以后完成,我们在javadoc中用@T转载 2012-05-10 15:35:06 · 450 阅读 · 0 评论