- 博客(254)
- 资源 (8)
- 收藏
- 关注
转载 volatile解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模
2015-09-25 19:43:52
1452
转载 浏览器缓存详细原理
为什么使用浏览器缓存缓存存在的内容缓存协商缓存协商的简单演示缓存相关的header缓存相关header之间的关系用户的不同操作用户不同操作对应浏览器的不同处理方式测试环境与线上环境取js方式不同导致的问题 为什么使用本地缓存对于一些比较少变化的文件,如js、css等,可以在第一次请求之后将这些文件先放在本地,在下次再去请求这些文件的时候就可以不用再去请求,直接使用本地的就可以了,
2015-05-12 17:41:33
1684
转载 JUnit4详细使用及进阶
JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以用来和public、static等关键字一样来修饰类名、方法名、变量名。修饰的作用描述这个数据是做什么用的,差不多和publ
2015-04-15 16:33:49
737
转载 Java单元测试Junit
相关代码下载链接: http://download.youkuaiyun.com/detail/stevenhu_223/4884357 在有些时候,我们需要对我们自己编写的代码进行单元测试(好处是,减少后期维护的精力和费用),这是一
2015-04-15 15:40:10
478
转载 linux查看系统连接数、并发数
tomcat 6的Connector配置如下 Xml代码 Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="80
2015-03-31 16:09:12
3083
转载 memcached介绍及安装
一. memcached 是什么?memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database lo
2015-03-30 17:10:11
492
转载 安装和使用memcached
如何将 memcached 融入到您的环境中?在开始安装和使用 using memcached 之前,我们需要了解如何将 memcached 融入到您的环境中。虽然在任何地方都可以使用 memcached,但我发现需要在数据库层中执行几个经常性查询时,memcached 往往能发挥最大的效用。我经常会在数据库和应用服务器之间设置一系列 memcached 实例,并采用一种简单的模式来读取和
2015-03-26 17:34:54
331
转载 foobar
代码例子中常见的foo bar到底是什么意思? 这个问题,在维基百科上有很好的回答。译文:术语foobar, foo, bar, baz 和qux经常在计算机编程或计算机相关的文档中被用作占位符的名字。当变量,函数,或命令本身不太重要的时候,foobar, foo,bar, baz 和qux就被用来充当这些实体的名字,这样做的目的仅仅是阐述一个概念,说明一个想法。这些术语本
2015-03-26 17:02:49
1366
转载 代码质量检查
代码质量概述 怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍。也请有过代码质量相关经验的朋友提出宝贵的意见。 代码质量所涉及的5个方面,编码标准、代码重复、代码覆盖率、依赖项分析、复杂度分析。这5方面很大程序上决定了一份代码的质量高低。我们分别来看一下这5方面:
2014-09-26 19:25:32
3185
转载 大型网站架构演化
前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解
2014-09-26 19:02:52
662
转载 web安全之CSRF
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取
2014-09-26 14:34:02
398
转载 web安全测试之XSS
XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的. 比如获取用户的Cookie,导航到恶意网站,携带木马等。作为测试人员,需要了解XSS的原理,攻击场景,如何修复。 才能有效的防止XSS的发生。
2014-09-26 10:42:01
444
转载 事务隔离级别&悲观锁乐观锁
悲观锁和乐观锁——《POJOs in Action》读书笔记(一)1 事务隔离事务隔离是数据库提供的功能。SQL Server通过SET TRANSACTION ISOLATION LEVEL语句设置事务隔离级别:SET TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTE
2014-08-22 11:23:18
1893
转载 Java的Log系统介绍和切换
Java的log系统比较繁杂。在这里梳理一下。本文只涉及log系统介绍和处理log系统之间的切换。不涉及如何配置和使用。 具体的log系统Log4j:准确的说是log4j 1.x版。是之前使用最广泛的log系统。Logback:Log4j的作者另立炉灶写的新版log,比起log4j性能更好。具体的对比可以参考http://www.oschina.net/transl
2014-08-19 17:45:32
716
转载 awk使用说明
Awk是一种处理结构数据并输出格式化结果的编程语言, Awk 是其作者 "Aho,Weinberger,Kernighan" 的简称。Awk通常被用来进行格式扫描和处理。通过扫描一个或多个文件中的行,查看是否匹配指定的正则表达式,并执行相关的操作。Awk的主要特性包含:1. Awk以记录和字段的方式来查看文本文件2. 和其他编程语言一样,Awk 包含变量、条件和循环
2014-08-18 16:47:58
480
转载 Linux中重定向及管道
Linux中重定向及管道1重定向1.1 重定向符号> 输出重定向到一个文件或设备 覆盖原来的文件>! 输出重定向到一个文件或设备 强制覆盖原来的文件>> 输出重定向到一个文件或设备 追加原来的文件1.2标准错误重定向符号2> 将一个标准
2014-08-08 15:25:29
408
转载 grep命令
1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数。-I:不区分大 小写(
2014-08-06 16:29:32
1314
转载 servlet中文乱码问题
一、常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立;2.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码;3.getBytes() 是通过平台默认字符集进行编码; 二、中文乱码出现 在学习任何一门技术时,经常会有初学者遇到中文
2014-07-31 16:56:17
523
转载 Servlet 3.0 详解
Servlet 3.0 新特性概览 1.Servlet、Filter、Listener无需在web.xml中进行配置,可以通过Annotation进行配置;2.模块化编程,即将各个Servlet模块化,将配置文件也分开配置。3.Servlet异步处理,应对复杂业务处理;4.异步Listener,对于异步处理的创建、完成等进行监听;5. 文件上传API
2014-07-31 15:43:15
596
转载 serialVersionUID详解
Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。 Eclipse中The serializable class XXXXXX d
2014-07-30 10:34:56
576
转载 win7小技巧
平常在使用系统中,我们经常会通过一些快捷键来切换窗口1 Ait+Tab这个是大家都知道的切换的快捷方式,按照你使用的顺序切换。 2 Win+Tab效果更佳,有3D效果的切换。在不知道那个窗口是你想要的,用这个查找效果很好。 3 先按住Ctrl键,在你想要切换的程序上点下,然后再按Ait+Tab键切换。效果是比如你要在几个QQ窗口里面切换,这个效果很好。试用于你打
2014-07-28 10:55:25
429
转载 ClassLoader详解
ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象。 1.1 几个相关概念ClassLoader负责载入系统的所有Resources(Class,文件,来自网络的字节流等),通过ClassLoader从而将资源载入JVM 每个class都有一个reference,指向自己的Cl
2014-07-23 17:13:27
863
转载 拦截器实现原理
拦截器(interceptor)是Struts2最强大的特性之一,也可以说是struts2的核心,拦截器可以让你在Action和result被执行之前或之后进行一些处理。同时,拦截器也可以让你将通用的代码模块化并作为可重用的类。Struts2中的很多特性都是由拦截器来完成的。拦截是AOP(Aspect Objected Programing:面向切面编程)的一种实现策略。在Webwork的中文
2014-07-01 13:50:54
1510
转载 AOP和IoC实现原理
用过spring的朋友都知道spring的强大和高深,都觉得深不可测,其实当你真正花些时间读一读源码就知道它的一些技术实现其实是建立在一些最基本的技术之上而已;例如AOP(面向方面编程)的实现是建立在CGLib提供的类代理和jdk提供的接口代理,IOC(控制反转)的实现建立在工厂模式、java反射机制和jdk的操作XML的DOM解析方式. 下面来对spring源码中的基本技术进
2014-07-01 09:39:53
11388
1
转载 java静态代理和动态代理(JDK&cglib)
java静态代理 动态代理(JDK和cglib)JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法
2014-07-01 09:35:35
751
转载 Annotation入门
一. 最常见的annotation@Override:用在方法之上,用来告诉别人这一个方法是改写父类的@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上.@SuppressWarnings:暂时把一些警告信息消息关闭@Entity:表示该类是可持久化的类 二. 设计一个自己的Annotation
2014-06-29 23:20:53
465
转载 Java回调机制详解
java回调机制:软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。 同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回 调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种
2014-06-27 11:46:32
735
转载 Eclipse+Maven创建webapp项目
Eclipse+Maven创建webapp项目1、开启eclipse,右键new——》other,如下图找到maven project2、选择maven project,显示创建maven项目的窗口,勾选如图所示,Create a simple project3、输入maven项目的基本信息,如下图所示:4、完成maven项目的创建,生成相应
2014-06-27 10:34:01
480
转载 jQuery获取input值
jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text
2014-06-19 20:53:16
6574
转载 全国性网站如何自动定位城市
1、全国性的网站如何自动定位城市,并网友访问网站先检查cookie,如果cookie有记录,则转向cookie对应的分站;如果第一次访问网站则检查访问者的ip所对应的城市,如果查询到自动转向对应的分站并将网址写入到cookie;如果没有查到,则转到城市选择的页面。比如 访问者是北京,则自动跳转到 bj.abc.com
2014-06-19 10:46:38
1429
转载 url编码问题详解escape,encodeURI,encodeURIComponent
1、后台处理方式String str = java.net.URLDecoder.decode(str, "UTF-8");2、前台处理方式如下:JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURICom
2014-06-19 09:45:03
782
转载 escape()、encodeURI()、encodeURIComponent()区别详解
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。下面简单介绍一下它们的区别1 escape()函数定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串
2014-06-18 10:44:17
258
转载 ConcurrentHashMap原理分析
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅
2014-05-05 15:41:49
700
转载 JAVA监听器原理
Java 最新的事件处理方法是基于授权事件模型事件源生成事件并将其发送至一个或多个监听器监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。事件:在授权事件模型中,事件是一个描述事件源状态改变的对象 。 通过鼠标、键盘与 GUI 界面直接或间接交互都会生成事件。 如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一
2014-05-05 15:40:00
15286
转载 80端口被占用
要解决这个问题,您可以进行以下任一项操作: (见下图演示)在IIS管理器中更改网站绑定端口为除80端口外的其它端口。停止正在使用80端口的应用程序,然后从IIS管理器中启动网站。故障排除:要想知道某个端口被哪个应用程序占用了,有两种方法:1.Netstat命令1)“运行”中输
2014-03-18 17:05:01
115
转载 html乱码问题
在网页中,中文乱码的问题时常出现。以前我遇到乱码问题时,就是不停的尝试不同的编码方式,直到成功。昨天项目又遇到了这个问题,我于是做了简单的测试。 html文件是有编码方式的,比如"UTF-8"、"GBK"等等。这些在记事本中或许看不出来,但是在eclipse中,可以设置html文件的编码方式,以下的图片中会有说明。 测试一: 以"UTF-8"方式保存htm
2014-03-17 15:01:35
2700
转载 Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1 Cookie机制
2014-02-11 10:25:31
461
原创 Java中函数参数不固定的问题
如何声明一个函数,既能接收单个参数,又可以接收多个参数呢?多个参数的个数是不固定的。需要使用int ... params的方式,java会自动把他转化为数组的方式,反编译可以看出来。如果有单个参数的方法,又有不定参数的方法,现在传递单个参数,那么系统会自动调用单个参数的方法。如果有数组参数的方法,又有不定参数的方法,那么编译将发生错误。package com.lu.
2013-12-25 16:48:01
3856
转载 Job单线程运行的方案
防止job并行运行的几种解决方案 一、JOB State 在通过MethodInvokingJobDetailFactoryBean在运行中动态生成的Job,配置的xml文件有个concurrent属性,表示job是否可以并行运行:如果一个job的业务处理发费的时间超过了job的启动的间隔时间(repeatInterval),这个属性非常有用。如果为false,那么,在这种情况下,当前jo
2013-12-20 17:09:25
523
转载 当try和finally都包含return时
在Java中当try、finally语句中包含return语句时,执行情况到底是怎样的,finally中的代码是否执行,大家众说纷纭,有的说会执行,有的说不会执行,到底哪种说法正确,现在通过下面的例子加以说明: 第一种情况:try中包含return语句,finally中不包含 Java代码 public class TestTry {
2013-12-09 12:06:19
603
PHP5中文手册
2012-01-10
JVM详解及调优
2011-10-17
Java虚拟机详解
2011-10-17
Struts-Spring-JDK-MySql-的API
2011-10-14
Java编程思想第四版高清中文版
2011-10-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人