关闭

简单东西-jQuery解析xml数据

CSDN的ask频道看到一个问题,使用jQuery的ajax请求返回xml格式的数据,并对其进行解析。但是我测试了提问者的代码,结果是解析xml的find方法没有查到结果。查看了jQuery的find的API,其实这是个很简单的API运用问题,理解了find的用法,就很容易明白错误所在了。find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。     问...
阅读(667) 评论(0)

JavaEE-stuts2返回json数据简单实现

CSDN的ASK频道,看到关于struts2返回json数据的问题,整理了下struts2的简单demo,完成JSON数据的展示。     Action定义 public class ValidateAction extends ActionSupport { private static final long serialVersionUID = 1L; private String u...
阅读(879) 评论(0)

java基础-Reader的reset重置到文件首部

今天在CSDN问答频道看到一个问题,需要把一个BufferedReader读取完成之后,重新回到文件首部再读一遍。我想的是重新再new一个BufferedReader,后来查了下API发现有一个reset方法可以用,但是它要结合mark一起用。 import java.io.File; import java.io.FileNotFoundException; import java.io.Fi...
阅读(2113) 评论(1)

java并发-线程饥饿死锁测试

线程饥饿死锁      《Java并发编程实践》中对线程饥饿死锁的解释是这样的:在使用线程池执行任务时,如果任务依赖于其他任务,那么就可能产生死锁问题。在单线程的Executor中,若果一个任务将另一个任务提交到同一个Executor,并且等待这个被提交的任务的结果,那么这必定会导致死锁。第一个任务在工作队列中,并等待第二个任务的结果;而第二个任务则处于等待队列中,等待第一个任务执行完成后被执行...
阅读(1458) 评论(0)

java并发-协作对象之间死锁测试

在协作对象之间可能存在多个锁获取的情况,但是这些获取多个锁的操作并不像在LeftRightDeadLock或transferMoney中那么明显,这两个锁并不一定必须在同一个方法中被获取。如果在持有锁时调用某个外部方法,那么这就需要警惕死锁问题,因为在这个外部方法中可能会获取其他锁,或者阻塞时间过长,导致其他线程无法及时获取当前被持有的锁。     《java并发编程实践》中出租车调度例子中,涉...
阅读(890) 评论(0)

java并发-锁顺序死锁问题

初次接触死锁的概念是大学的一门课程《操作系统原理》中描述的“哲学家进餐”问题。操作系统中,由于各个进程共享系统资源而可能出现死锁问题。同样java多线程环境下,也存在资源共享导致的死锁问题。当一组java线程发生死锁时,程序有可能就此阻塞,而无法正常结束。Java应用程序中,我们使用加锁机制来确保线程的安全,但是如果过度地使用加锁,可能导致锁顺序死锁问题。        整理《java并发编程实...
阅读(1862) 评论(0)

项目开发-iBatis事务源码之事务提交和回滚

接上篇继续事务的提交和结束流程如下。    commitTransaction       SqlMapClientImpl的commitTransaction操作,类似startTransaction,是最终由SqlMapExecutorDelege的commitTransaction完成的。 /** * Commit the transaction on a sessi...
阅读(1902) 评论(0)

项目开发-iBatis事务源码之SQL执行

SQL执行流程,以插入为例。    SqlMapClientImpl的insert public Object insert(String id, Object param) throws SQLException { return getLocalSqlMapSession().insert(id, param); }   SqlMapSessionImpl的insert...
阅读(1033) 评论(0)

项目开发-iBatis事务源码之开启新事务

iBatis事务源码流程整理如下。    iBatis的事务使用...
阅读(664) 评论(0)

项目开发-iBatis事务结构

阅读iBatis源码时,对事务相关的代码,没太关注,导致今天项目技术演练时对同事的疑问,解释不清楚。自己都不清楚的东西,怎么可能向别人解释清楚呢?所以,就干脆继续看iBatis源码,完整跟踪事务的处理流程。重新分析代码,发现iBatis原来使用了代理模式,同时理解了iBatis的线程安全的保证机制及事务控制流程。    顶层类图     线程安全的保证         iBatis的Sq...
阅读(703) 评论(0)

java基础-ThreadLocal变量和普通变量的区别

java提供了ThreadLocal这个类型,具有该类型的成员变量,每个使用到该变量的线程都保留一份该属性的备份数据,在线程内部对该属性的操作都是自己备份的数据,所以声明为ThreadLocal类型的成员变量都是线程安全的。       简单测试了一下ThreadLocal类型的成员和普通成员的区别,在多线程环境,每个线程都会存有一个ThreadLocal的值,而普通成员则是线程共享的。 im...
阅读(1706) 评论(0)

项目开发-iBatis源码阅读

近日工作内容是技术调研,研究iBatis使用方法及源码,源码阅读中总是能看到很多设计模式的影子,整理下来,获益匪浅。      ibatis client包结构             设计原则学习        1)  接口定义:上图中顶层接口定义的功能职责单一,聚在一个接口中,共同支撑一个功能。        2)  好莱坞原则:SqlMapClient的实现类,是顶层调用者,Sql...
阅读(774) 评论(0)

java基础-finally块对return变量的影响分析

java语句的try-catch-finally执行过程中,finally语句块中如果操作了return语句的变量,它对方法的返回值是没有影响的,通过javap分析生成的字节码可以知道,在正常代码块执行完成后,会将需要返回的值存储到单独的局部变量中,而finally操作的局部变量仍然是返回值最初存入的局部变量。由于返回值做了备份,finally对原局部变量的重定向(如果是引用类型),或者修改(基础...
阅读(866) 评论(0)

项目开发-dtree.js源码分析

最近项目开发中使用到了树形展示插件dtree.js,这个简单、小巧的树形结构插件,让我很惊叹:它太小了,总共代码还不到四百行,这与我以前使用的zTree相比,代码量简直是两个数量级的。而且dtree.js的界面风格我很喜欢,浅色的图标,除了能满足基本树形展示的需要,还很容易扩展(是的,它的代码很简洁),通过简单的扩展就能支持复选框、单选框等操作。         阅读dtree.js的源码,其核...
阅读(1099) 评论(0)

项目开发-树形层级结构中的数量统计

项目开发中,有一 菜单的树形结构展示时,需要统计各个菜单下记录的总数,通常如果树形结构的深度为2(只有两级菜单的话),使用for循环统计没有问题,但是如果树形菜单的深度没有限制,就不能通过两次for循环来实现统计了,只能借助递归来统计了,使用一个全局map记录每次统计的值。简单实现如下:        具有层级结构的元素Source类,省略getter/setter: public class...
阅读(1494) 评论(0)
138条 共10页首页 上一页 ... 6 7 8 9 10 ... 下一页 尾页