- 博客(80)
- 资源 (1)
- 收藏
- 关注
转载 深入理解Java:注解(Annotation)--注解处理器
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Anno
2016-02-18 16:03:55 415
转载 深入理解Java:注解(Annotation)自定义注解入门
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target,
2016-02-18 16:02:57 389
转载 深入理解Java:注解(Annotation)基本概念
什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。 Annotation(注解)是JDK5.0及以后版本引入的。它可以用于
2016-02-18 16:01:49 443
转载 共享Session问题
1.共享Session问题HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的。而如果我们把web服务器搭建成分布式的集群,然后利用LVS或Nginx做负载均衡,那么来自同一用户的Http请求将有可能被分发到两个不同的web站点中去。那么问题就来了,如何保证不同的web站点能够共享同一份session数据呢? 最简单的想法就是把ses
2015-12-11 14:38:20 685
转载 分级分布
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://baidutech.blog.51cto.com/4114344/1033683摘要为了达到“在产品发布过程中,通过及时有效的发现和控制新引入线上缺陷的影响范围,保护用户体验,提升上线质量”的目的,我们在吸收和借鉴Facebook灰度发布等技术的基础上,探索出符
2015-09-10 20:31:49 1170
转载 zookeeper 分布式锁服务
分布式锁服务在大家的项目中或许用的不多,因为大家都把排他放在数据库那一层来挡。当大量的行锁、表锁、事务充斥着数据库的时候。一般web应用很多的瓶颈都在数据库上,这里给大家介绍的是减轻数据库锁负担的一种方案,使用zookeeper分布式锁服务。zookeeper是hadoop下面的一个子项目, 用来协调跟hadoop相关的一些分布式的框架, 如hadoop, hive, pig等, 其实他们
2015-09-08 19:33:04 417
转载 内连接、左外连接、右外连接、交叉连接区别
在之前,我对MSSQL中的内连接和外连接所得出的数据集不是很清楚。这几天重新温习了一下SQL的书本,现在的思路应该是很清楚了,现在把自己的理解发出来给大家温习下。希望和我一样对SQL的连接语句不太理解的朋友能够有所帮助。(发这么菜的教程,各位大大们别笑话偶了,呵:D ) 有两个表A和表B。表A结构如下: Aid:int;标识种子,主键,自增ID Aname:varchar 数据情况,即用selec
2015-08-25 14:32:49 379
转载 spring,mybatis事务管理配置与@Transactional注解使用[转]
spring,mybatis事务管理配置与@Transactional注解使用[转]spring,mybatis事务管理配置与@Transactional注解使用概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比
2015-08-05 18:10:13 633
转载 分布式系统的事务处理
当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题:1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题。 通常,我们会通过两种手段来扩展我们的数据服务:1)数据分区:就是把数
2015-07-17 17:06:04 447
转载 JTA 深度历险 - 原理与实现
在 J2EE 应用中,事务是一个不可或缺的组件模型,它保证了用户操作的 ACID(即原子、一致、隔离、持久)属性。对于只操作单一数据源的应用,可以通过本地资源接口实现事务管理;对于跨数据源(例如多个数据库,或者数据库与 JMS)的大型应用,则必须使用全局事务 JTA (Java Transaction API)。JTA 为 J2EE 平台提供了分布式事务服务,它隔离了事务与底层的资源,实现了透明的
2015-07-17 14:54:24 466
转载 关于事务的几个概念介绍
啥是事务?有一组操作组成的可靠的独立的工作单元。 ACID是咋回事?A(原子性)事务的原子操作单元,对数据的修改,要么全部执行,要么全部不执行;C(一致性)在事务开始和完成时,数据必须保持一致状态,相关的数据规则必须应用于事务的修改,以保证数据的完整性,事务结束时,所有的内部数据结构必须正确;I(隔离性)保证事务不受外部并发操作的独立环境执行;
2015-07-17 11:35:07 1475
转载 MySQL详解--锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL
2015-07-17 11:15:26 402
转载 Spring事务的传播行为
Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked 如果遇到checked意外就不回滚。 如何改变默认规则: 1 让checked
2015-06-29 11:48:53 415
转载 深入理解mybatis原理--Mybatis数据源与连接池
《深入理解mybatis原理》 Mybatis数据源与连接池 对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题。本文将通过对MyBatis框架的数据源结构进行详尽的分析,并且深入解析MyBatis的连接池。 本文首先会讲述MyBatis的数据源的分类,然后会介绍数据源是如何加载和使用的。紧接着将分类介绍UNPOOLED、POOLED和JNDI类
2015-06-25 16:53:47 3741 1
转载 Spring3.0注解
虽然 2.0 版本发布以来,Spring 陆续提供了十多个注解,但是提供的这些注解只是为了在某些情况下简化 XML 的配置,并非要取代 XML 配置方式。这一点可以从 Spring IoC 容器的初始化类可以看出:ApplicationContext 接口的最常用的实现类是 ClassPathXmlApplicationContext 和 FileSystemXmlApplicationCon
2015-06-25 14:53:59 346
转载 Spring MVC之@RequestBody, @ResponseBody 详解
引言:接上一篇文章讲述处理@RequestMapping的方法参数绑定之后,详细介绍下@RequestBody、@ResponseBody的具体用法和使用时机;简介:@RequestBody作用: i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后
2015-06-25 14:52:46 666
转载 Springmvc json 静态过滤
该注解使用在 类名,接口头上@JsonIgnoreProperties(value={"comid"}) //希望动态过滤掉的属性 例@JsonIgnoreProperties(value={"comid"}) public interface CompanyFilter{ } @JsonIgnoreProperties(value={"comid"}) public c
2015-06-10 14:18:40 510
转载 Spring MVC中使用jackson的MixInAnnotations方法动态过滤JSON字段
一、问题的提出。项目使用Spring MVC框架,并用jackson库处理JSON和POJO的转换。在POJO转化成JSON时,希望动态的过滤掉对象的某些属性。所谓动态,是指的运行时,不同的controler方法可以针对同一POJO过滤掉不同的属性。以下是一个Controler方法的定义,使用@ResponseBody把获得的对象列表写入响应的输出流(当然,必须配置jackson的
2015-06-10 14:17:34 1054
转载 Git工作流指南
序工作流其实不是一个初级主题,背后的本质问题其实是有效的项目流程管理和高效的开发协同约定,不仅是Git或SVN等SCM工具的使用。这篇指南以大家在SVN中已经广为熟悉使用的集中式工作流作为起点,循序渐进地演进到其它高效的分布式工作流,还介绍了如何配合使用便利的Pull Request功能,体系地讲解了各种工作流的应用。行文中实践原则和操作示例并重,对于Git的资深玩家可以梳
2015-06-08 11:39:12 503
转载 MyBatis Annotation配置
MyBatis可以利用SQL映射文件来配置,也可以利用Annotation来设置。MyBatis提供的一些基本注解如下表所示。注解目标相应的XML描述@CacheNamespace类为给定的命名空间(比如类)配置缓存。属性:implemetatio
2015-05-20 20:02:29 3873
转载 mysql分页原理和高效率的mysql分页查询语句
作者: 字体:[增加 减小] 类型:转载这篇文章主要介绍了mysql分页原理和高效率的mysql分页查询语句,大家参考使用吧以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我们又该怎么做呢?第一部分:看一下分页的基本原理:复制代码
2015-05-20 16:13:54 853 1
原创 MyBatis Generator产生的Example类
MyBatis Generator产生的Example类December 26, 2013DatabaseJavaopenwaresExample类用于构造复杂的筛选条件。基本概念CriterionCriterion是最基本,最底层的Where条件,用于字段级的筛选,feild用于指代字段名字,列举如下:只有一个条件,不需要其他参考值feild IS
2015-05-19 17:11:46 596
转载 myBatis事务处理
1. myBatis单独使用时,使用SqlSession来处理事务: Java代码 public class MyBatisTxTest { private static SqlSessionFactory sqlSessionFactory; private static Reader reader; @
2015-05-18 17:52:59 5066
转载 HttpSession的线程安全问题及注意事项
HttpSession session = request.getSession();List list = session.getAttribute("productCart");myService.save(list); // 保存购物车数据到数据库这个对象会被多次使用,也会被同一个用户的多个页面使用,所以他对于系统来说是线程不安全的。 比如用户在从产品列表里
2015-05-18 16:44:49 2913
转载 Spring3.1 全annotation 配置MVC
去掉web.xml[java] view plaincopy/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Servlet3; import C
2015-05-18 11:51:05 722
转载 Hibernate与MyBatis的对比总结
最近做了一个Hibernate与MyBatis的对比总结,希望大家指出不对之处。第一章 Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis 参考资料官网:
2015-05-14 20:20:46 441
转载 mybatis3中@SelectProvider的使用技巧
mybatis3中@SelectProvider的使用技巧mybatis的原身是ibatis,现在已经脱离了apache基金会,新官网是http://www.mybatis.org/。mybatis3中增加了使用注解来配置Mapper的新特性,本篇文章主要介绍其中几个@Provider的使用方式,他们是:@SelectProvider、@UpdateProvider、@Insert
2015-05-14 15:35:14 20792 2
转载 java反射原理
java反射原理JavaHibernate虚拟机框架SQL一、预先需要掌握的知识(java虚拟机) java虚拟机的方法区: java虚拟机有一个运行时数据区,这个数据区又被分为方法区,堆区和栈区,我们这里需要了解的主要是方法区。方法区的主要作用是存储被装载的类的类型信息,当java虚拟机装载某个类型的时候,需要类装载器定位相应的class文件,然后将其读入到java虚
2015-04-02 20:01:37 472
转载 struts中Action的线程安全性分析
第一部分为什么struts2的action是线程安全的,struts1的action不是线程安全的? 先对struts1和struts2的原理做一个简单的讲解 对于struts1 ,当第一次**.do的请求过来时,在内存中的actionmapping中找到相对应的action,然后new出这个action放在缓存中,当第二 次一样的请求过来时,还是找的这个action,所以对于
2014-10-01 15:53:20 373
转载 spring JdbcTempalte 执行存储过程
1. 执行无返回值的存储过程[java] view plaincopy(1) public void deleteCheckedRecors(String rootInstId,String tableName,String primarykey,String bizguidValue)throws Exception{
2014-08-22 16:12:13 588
转载 Spring 注解@Transactional
Spring事务的传播行为在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked 如果遇到checked意外就不回滚。 如何改变默认规则: 1 让checked例
2014-08-19 15:38:50 344
转载 Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1 Cookie机制
2014-08-14 15:29:07 383
转载 Session的生命周期
以前在学习的时候没怎么注意,今天又回过头来仔细研究研究了一下Session的生命周期。 Session存储在服务器端,一般为了防止在服务器的内存中(为了高速存取),Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(
2014-08-14 15:27:40 353
转载 快速排序,堆排序和归并排序谁更快?
时间复杂度:快速排序最坏情况只有两种,并且通过随机化算法可以避免,因此这三种算法时间复杂度可以说是一样的。空间复杂度:快排O(logn),堆O(1),归并O(n)。当n比较大的时候,归并排序往往会出内存溢出错误,如普通机器n>1000万时。并且假如你能意识到cashe的存在,就能推出归并排序应该是比其他两个要慢的。关于普通快排和堆排的比较自己写了一下代码,简
2014-08-06 15:17:59 1947
转载 红黑树 avl树 二叉查找树
http://www.iteye.com/topic/614070此少侠总结的特棒,直接收藏了。我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势:(1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有
2014-08-06 15:16:47 537
转载 ArrayList、Vector和LinkedList
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就
2014-08-06 09:34:34 400
转载 比较Collection 和Collections的区别
今天翻看Java笔试题,发现有这样问题,比较Collection 和Collections的区别。在这里把二者区别记录下来。 1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Co
2014-08-06 09:34:01 659
转载 Java静态多态性和动态多态性有何区别
静态多态性指的是程序在编译时,系统就能决定调用哪个函数,如重载。 动态多态性指在运行中才能动态确定操作指针所指的对象,主要通过虚函数和重写来实现。 java 的多态机制遵循一个原则:当父类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法 概念理解起来有点抽象。还是看个例子吧。 静态多
2014-08-06 09:33:26 4240 1
转载 struts2中的constant
Java代码 "struts.i18n.encoding" value="UTF-8" /> 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理。 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 --> "struts.action.exte
2014-07-17 15:13:35 406
转载 Hibernate 配置文件precision与scale的说法
Oracle使用标准、可变长度的内部格式来存储数字。这个内部格式精度可以高达38位。 NUMBER数据类型可以有两个限定符,如: column NUMBER ( precision, scale) precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。 scale表示数字小数点右边的
2014-07-17 10:43:29 491
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人