JAVA基础
文章平均质量分 85
zhujyy110
这个作者很懒,什么都没留下…
展开
-
【无标题】Java过滤器,SpringMVC拦截器之间的一顺序点关系
由于最近做的项目中有一部分是接口远程调用,用到了接入权限和业务权限的鉴定,需要采用SpringMVC的拦截器,以前用Struts2的时候用过拦截器,而SpringMVC的拦截器功能之前没研究过,所以这次来稍微研究一下,得出的结论是SpringMVC的拦截器和Struts2的拦截器原理几乎是一模一样的,都是利用反射功能实现动态代理。 因为过滤器和拦截器有很多相似甚至相同的地方,因为很多时候二者都能达到相同的能力。所以也重新看了下过滤器。 过滤器和拦截器的区别,百度了一下: ①拦截器...原创 2021-12-30 13:03:17 · 161 阅读 · 0 评论 -
getRequestURI,getRequestURL的区别
test1.jsp=======================跳转到test2test2.jsp=======================String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"原创 2013-12-19 14:20:22 · 2234 阅读 · 0 评论 -
jquery.ajax提交请求并返回json数据
当我们在两个java项目之间互相调用接口时就会遇到跨域请求的问题,这次我开发系统的注册功能后台实现是调用的用户管理中心的接口,前台通过$.ajax请求并处理返回的json数据,其中注意一点就是如果出现中文的时候最好是转码传输到后台解码,要不然容易出现乱码问题。前台jsp页面的代码:[javascript] view plaincopy原创 2013-12-19 15:12:38 · 3454 阅读 · 0 评论 -
Memcache 集群
Memcach什么是MemcacheMemcache集群环境下缓存解决方案Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 Memcache是danga的一个项目,最早原创 2013-12-19 14:26:03 · 3104 阅读 · 0 评论 -
jdbc中Datetime与java.util.Date的相互转换
使用java.sql.Timestamp作为转换的类,可以保留两种类型的时分秒Java代码 // 查询时,给Datetime字段传入Date类型的参数 Date startTime = new Date(...); Date endTime = new Date(...); ps = conn.prepareStatement(sql); ps.setTime原创 2013-04-06 11:33:15 · 4316 阅读 · 0 评论 -
java 多线程实现任务分发
1:需要被执行的任务列表,2:启动的线程数.存在问题:怎样知道哪个线程执行哪些任务总共包含三个类 1:taskdistributor 任务分发器,2:待执行的任务,3:工作线程。Taskdistributor.javaimport java.util.ArrayList;import java.util.List;public class TaskDistri转载 2013-03-18 15:25:04 · 4365 阅读 · 0 评论 -
Java多线程(五)之BlockingQueue深入分析
一、概述:BlockingQueue作为线程容器,可以为线程同步提供有力的保障。二、BlockingQueue定义的常用方法1.BlockingQueue定义的常用方法如下: 抛出异常 特殊值 阻塞 超时插入 add(e) offer(e) put(e) offer(e, time, unit)移除 remove() poll() take() poll(time,原创 2013-03-05 18:13:33 · 2386 阅读 · 0 评论 -
Java多线程(三)之ConcurrentHashMap深入分析
一、Map体系Hashtable是JDK 5之前Map唯一线程安全的内置实现(Collections.synchronizedMap不算)。Hashtable继承的是Dictionary(Hashtable是其唯一公开的子类),并不继承AbstractMap或者HashMap。尽管Hashtable和HashMap的结构非常类似,但是他们之间并没有多大联系。Concurre原创 2013-03-05 18:12:10 · 2288 阅读 · 0 评论 -
Java多线程(一)之volatile深入分析
volatile 变量提供了线程的可见性,并不能保证线程安全性和原子性。什么是线程的可见性:锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后原创 2013-03-05 18:10:24 · 2402 阅读 · 0 评论 -
java多线程(四)之ConcurrentSkipListMap深入分析
一、前言concurrentHashMap与ConcurrentSkipListMap性能测试在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSkipListMap 的4倍左右。但ConcurrentSkipListMap有几个ConcurrentHashMap 不能比拟的优点:1、ConcurrentSkipListMap 的key原创 2013-03-05 18:13:01 · 2461 阅读 · 0 评论 -
Java多线程(二)之Atomic:原子变量与原子类
一、何谓Atomic? Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位。计算机中的Atomic是指不能分割成若干部分的意思。如果一段代码被认为是Atomic,则表示这段代码在执行过程中,是不能被中断的。通常来说,原子指令由硬件提供,供软件来实现原子方法(某个线程进入该方法后,就不会被中断,直到其执行完成) 在x86 平台上,CPU提供了在指令执行期间对总线加锁的手段。原创 2013-03-05 18:11:29 · 2566 阅读 · 0 评论 -
用Ant打包war的简单流程
原文简单易懂,且内容不多,推荐直接看英文,这里只是简单翻译一下,做为以后参考所用。 在这个示例里我使用Spring SimpleFormController 的例子来配合讲解war构建过程,下图所示是该应用的结构。 src里面的所有类需要编译并且放在build/classes目录下,要构建的war包需要放在dist目录。 所以,第一步,创建build/classe原创 2013-03-05 18:05:23 · 2751 阅读 · 0 评论 -
java对应javascript的escape,unescape进行解码
/*** 加码解码工具* @author lwm**/public class Encode {/** 对应javascript的escape()函数, 加码后的串可直接使用javascript的unescape()进行解码*/public static String escape(String src) { int i; char j;原创 2012-11-07 10:08:12 · 1707 阅读 · 0 评论 -
java 去html 的工具类
/** * @author somebody * @since Jan 23, 2007 1:44:31 PM * @version $Id MyblogUtil.java$ */public class HtmlUtil { /** * This method based on code from the String taglib at Apach原创 2012-11-07 10:34:16 · 737 阅读 · 0 评论 -
Redis和Memcache的比较
在项目中设计缓存框架的时候,有2个选择,一个是用原来的Memcache,还有个选择就是用Redis。基于下面的几个原因,放弃了Memcache而选择了Redis。1 Redis比Memcache提供了更丰富的API,这点是我最看中的。2 Redis支持数据的恢复操作,就是能闪回到文件中,机器重启后可以恢复数据,而Memcache是不支持的3 集群方案都是没有提供,都是需要客户端做h原创 2012-10-29 17:17:41 · 626 阅读 · 0 评论 -
java的30个学习目标
java的30个学习目标你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams.你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking,multithre转载 2012-07-28 12:01:43 · 608 阅读 · 0 评论 -
多选框实现单选
function check(obj){ var checks = document.getElementsByName("xxxx"); if(obj.checked) { for(var i=0;i checks[i].checked = false; } obj.checked原创 2012-01-15 13:34:41 · 526 阅读 · 0 评论