- 浏览: 253336 次
- 性别:
- 来自: 湖南
文章分类
- 全部博客 (194)
- java (23)
- 数据结构和算法 (5)
- oracle (7)
- sql server (1)
- mysql (5)
- Ajax (5)
- JSTL (7)
- jsp (20)
- 组件 (11)
- C++可视化 (0)
- javascript (14)
- c/c++ (0)
- XML (6)
- 只是扩宽 (0)
- 设计模式 (3)
- 正则表达式 (3)
- 心情和感悟 (4)
- ACM (3)
- HTML/css (9)
- 软件破解 (2)
- spring (1)
- struts (15)
- hibernate (10)
- Servlet (2)
- sql (2)
- 面试题 (1)
- struts2 (22)
- Unix/Linux (0)
- javamail (1)
- svn (1)
- 异常 (3)
- EJB (3)
- jquery (2)
- android (1)
最新评论
-
lianlupengUestc:
From my testing (Struts2 versio ...
struts2 注解 -
yulongxiang:
非常感谢!!!!!!!
使用动态ActionForm(转)
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * 采用ThreadLocal封装Connection * @author Administrator * */ public class ConnectionManager { private static ThreadLocal<Connection> connectionHolder = new ThreadLocal<Connection>(); public static Connection getConnection(){ Connection conn = connectionHolder.get(); //如果当前线程中没有绑定相应的Connection if(conn == null){ try { JdbcConfig jdbcConfig = XmlConfigReader.getInstance().getJdbcConfig(); Class.forName(jdbcConfig.getDirverName()); conn = DriverManager.getConnection(jdbcConfig.getUrl(), jdbcConfig.getUserName(), jdbcConfig.getPassword()); //将Connection设置到线程变量中 connectionHolder.set(conn); } catch (ClassNotFoundException e) { e.printStackTrace(); throw new ApplicationException("系统错误,请联系系统管理员!"); } catch (SQLException e) { e.printStackTrace(); throw new ApplicationException("系统错误,请联系系统管理员!"); } } return conn; } public static void closeConnection(){ Connection conn = connectionHolder.get(); if(conn != null){ try { conn.close(); //从ThreadLocal 中清除Connection connectionHolder.remove(); } catch (SQLException e) { e.printStackTrace(); } } } }
发表评论
-
LTS 轻量级分布式任务调度框架(Light Task Schedule)
2015-03-07 09:53 8696LTS 轻量级分布式任务调度框架(Light Task Sch ... -
LTS 轻量级分布式任务调度框架(Light Task Schedule)
2015-03-07 09:52 0<div class="iteye-blog- ... -
Struts2.1 处理未知Action 和访问不存在的页面
2011-10-18 12:13 1369你可以配置个默认action,当请求的action不存在时,他 ... -
getRequestDispatcher()与sendRedirect()的区别
2011-09-28 00:49 1086getRequestDispatcher()与sendRedi ... -
java单例模式的几种写法
2011-07-05 19:52 1469private static final UserSe ... -
图片中文路径 不能显示处理
2011-04-09 22:33 1588在html页面中,引用了带汉字的图片,形如<img sr ... -
带html标签的中英文字符串截取之完整性
2011-04-05 23:50 1763需求一: 数据库中存储有一段带html标签的文字,如: & ... -
java清除html格式
2011-04-05 23:42 906s = s.replaceAll("(\\<\ ... -
jbpm步骤
2011-03-13 15:41 672理解JBPM(java Business Proces ... -
内部类
2010-09-20 13:21 959package InnerClass; //内部类可以继 ... -
Java的特点
2010-09-19 22:08 814Java是一种简单、动态、 ... -
初识JUnit
2010-09-19 00:09 1074package com.hugui.juint4; ... -
PropertiesEditor插件
2010-09-16 15:20 1338PropertiesEditor插件是一个资源文件编码转换插件 ... -
java对国际化的支持
2010-09-01 00:17 10491.缺省的Locale是由操作系统决定的 2.Locale是由 ... -
java中hashcode()和equals()的详解【转】
2010-08-31 18:30 8021. 首先equals()和hashcode() ... -
关于SimpleDateFormat
2010-08-30 23:39 804首先说明一下关键的参数 G 年代标志符 y 年 M ... -
Java中精确计算的一个类用BigDecimal
2010-08-30 23:38 1033/* * * 如果需要精确计算,非要用St ... -
如何去掉JFrame上的最大化最小化和关闭按钮 【转】
2010-08-30 23:36 1305关键字: 去掉jframe上的 ... -
InvocationTargetException
2010-08-30 23:32 2917InvocationTargetException 是一种包装 ... -
Class.forName()
2010-08-30 23:30 857在Java开发特别是数据库开发中,经常会用到Class.for ...
相关推荐
如果在一个类的两个方法都使用`synchronized`,并且调用这些方法的线程持有相同的对象引用,那么这两个方法不能同时执行。 2. **ThreadLocal** ThreadLocal是一种线程局部变量,它为每个线程都创建了一个独立的...
设计目的和场景:使用Spring Aop拦截程序,基本上都是同一个小异,不想日后每个项目都柏林都写一份这样的Aop拦截处理日志的代码,甚至可以进行代码入侵。重要的业务接口埋点,我想知道一些相对重要的请求方法的请求...
例如,当`ThreadLocal`不再使用时,应该调用`remove()`方法清除其在`ThreadLocalMap`中的条目,以防止孤儿条目占用内存。另外,`ThreadLocal`不适合用于存储全局状态或持久状态,因为它仅在当前线程的生命周期内有效...
在`Consumer`线程的`run()`方法中,使用了`while`循环和`queue.isEmpty()`来检查队列是否为空。如果队列为空,`Consumer`会调用`wait()`方法,使得线程进入等待状态,释放锁,等待被唤醒。而当生产者在添加字符到...
在执行数据库操作的方法中,你可以使用`ThreadLocal`获取或初始化连接,然后在方法结束时释放连接。这样可以确保每个线程都有自己的连接,并且在操作完成后及时关闭。 ```java public class JdbcUtil { private ...
总的来说,掌握StringBuilder的高性能用法,包括合理设置初始容量、利用StringBundler的优化策略以及重用StringBuilder实例,能够显著提升程序的运行效率。同时,理解并规避String的不可变性带来的性能损耗,是每个...
Java定时器Timer使用方法详解 Java中的定时器Timer是使用Timer类和TimerTask类来实现的,Timer类负责计划任务的功能,而TimerTask类则是封装要执行的任务的类。下面将详细介绍Java定时器Timer的使用方法。 一、...
5. **使用和关闭连接**:在业务逻辑中,使用`getConnection()`方法获取连接,完成操作后,通过`closeConnection()`方法关闭连接并从ThreadLocal中移除,确保线程安全。 配置C3P0连接池时,可以根据应用的实际情况...
在多核计算机上优化程序时,一个不错的起点是考虑程序是否可以被分割成可以在多个核心上并行执行的部分。如果解决方案可以被视作是针对大数据集中的每个元素执行的计算密集型操作,那么它就是利用.NET Framework 4中...
它有两种使用方式:修饰方法或代码块。当一个线程进入同步块或方法时,其他试图进入的线程会被阻塞,直到该线程退出。虽然相比Lock接口,它的功能相对简单,但使用方便且易于理解。 3. **Join方法**: `join()`...
3. ScheduledThreadPool:支持定时和周期性执行任务,适用于计划任务,如示例所示,可以使用schedule和scheduleAtFixedRate方法来安排任务。 二、ThreadLocal ThreadLocal是Java提供的一种线程局部变量,每个线程...
#### 一、MAT工具简介与使用方法 MAT(Memory Analyzer Tool)是一款由Eclipse基金会提供的免费内存分析工具,主要用于Java应用的堆内存分析,特别是针对那些产生了dump文件的应用程序。通过MAT,开发人员可以有效...
【Java 同步方法】是Java编程中...总之,理解和优化Java同步方法的使用,是提高多线程应用程序性能和可伸缩性的核心。通过精细调整同步策略,可以有效地减少争用,提升并发性能,从而让程序在高负载环境下表现更佳。
使用线程的经验:设置名称、响应中断、使用ThreadLocal - **设置线程名称**:在Java中启动线程时,建议给线程命名,这有助于诊断和监控。可以使用`setName()`方法或在构造函数中直接设定名称。 示例代码: ```...
线程的终止方式有自然终止、Stop()方法(已过期不建议使用)、Suspend()挂起与resume()唤醒(同样已过期不建议使用)、以及使用interrupt()进行中断。 线程的优先级可以通过设置Thread类的priority属性来调整,范围...
7. **并发编程**:掌握synchronized、volatile、ThreadLocal等并发工具的使用,遵循线程安全的最佳实践,避免死锁、活锁和饥饿现象。 8. **性能优化**:合理使用数据结构和算法,避免过度优化,使用StringBuilder...
在Java开发中,AOP(Aspect Oriented Programming,面向切面编程)是一种设计模式,它允许程序员定义“切面”,这些切面可以在程序执行的不同点(称为“连接点”)自动插入,例如在方法调用之前或之后。这种技术常...
在Java编程语言中,线程(Thread)是执行单元,它允许程序同时执行多个任务。在"JAVA thread"这个主题中,我们主要关注的是如何在Java中创建...通过编写像"龟兔赛跑"这样的小程序,我们可以更好地理解和实践这些概念。
变量名和方法名使用小驼峰式(如methodName),常量全大写并用下划线分隔(如CONSTANT_NAME)。避免使用缩写,除非它们是广泛接受的行业标准。 2. **注释规范**:良好的注释能帮助他人理解代码意图。Javadoc用于类...