- 博客(22)
- 资源 (1)
- 收藏
- 关注
转载 Java开发中的23种设计模式详解
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式
2016-10-30 23:24:46 220
转载 分布式锁的三种实现方式
一、zookeeper1、实现原理:基于zookeeper瞬时有序节点实现的分布式锁,其主要逻辑如下(该图来自于IBM网站)。大致思想即为:每个客户端对某个功能加锁时,在zookeeper上的与该功能对应的指定节点的目录下,生成一个唯一的瞬时有序节点。判断是否获取锁的方式很简单,只需要判断有序节点中序号最小的一个。当释放锁的时候,只需将这个瞬时节点删除即可。同时,其可以避免服务宕机
2016-10-30 23:07:32 370
转载 SpringMVC中使用Interceptor拦截器
SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间。 一、定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的。在
2016-10-30 22:24:03 152
转载 从多角度分析Hibernate 与mybatis的区别
从多角度分析Hibernate 与mybatis的区别目录概念:1.两者最大的区别:2.开发难度对比3.sql书写比较4.数据库扩展性比较5.缓存机制比较6.总结:概念:Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装。Mybatis:Myba
2016-10-30 09:25:31 259
转载 关于 tomcat 集群中 session 共享的三种方法
前两种均需要使用 memcached 或redis 存储 session ,最后一种使用 terracotta 服务器共享。建议使用 redis,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富,不只是缓存 session,还可以做其他用途,一举几得啊。 1、使用 filter 方法存储这种方法比较推荐,因为它的服务器使用范围比较多,不仅限
2016-10-28 10:15:37 181
转载 hibernate工作原理
在开始学hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装。一句不难,难道是真的不难还是眼高手低? 如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎么做的,你也可以很快上手。 这难道是学习的最终目的吗? 不是,绝对不是。我们需要了解这门技术的基本概念,它到底是什么,它是干什么的,它有什么优缺点
2016-10-26 10:19:31 146
转载 struts工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The JavaServl
2016-10-26 10:16:34 293
转载 SpringMVC工作原理
SpringMVC框架介绍 1) spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,S
2016-10-26 10:14:46 204
转载 RMI方式缓存集群/配置分布式缓存
RMI方式缓存集群/配置分布式缓存RMI 是 Java 的一种远程方法调用技术,是一种点对点的基于 Java 对象的通讯方式。EhCache 从 1.2 版本开始就支持 RMI 方式的缓存集群。在集群环境中 EhCache 所有缓存对象的键和值都必须是可序列化的,也就是必须实现 java.io.Serializable 接口,这点在其它集群方式下也是需要遵守的。
2016-10-25 18:05:34 1307
转载 EhCache 分布式下缓存对象的同步
为了提升目前开发产品的性能,项目组内考虑将一些常用的数据放入缓存,并且今后要将系统分布式部署,以达到负载均衡的目的,因此缓存同步问题就不得不需要考虑,该项目中主要用EhCache产品,EhCache的优势和劣势这里就不做介绍,网上可以搜索,单从这次项目出发,说说他在项目中的应用,Hibernate和Spring都集成了EhCache,如果您的项目中用到这两个框架,那将会大大降低开发复杂度,如果没有
2016-10-25 17:19:45 344
转载 Redis入门很简单之五【Jedis和Spring的整合】
在上一篇文章中,简单介绍了Jedis的连接池使用方式。如果和Spring进行整合的话,我们将获得更好的简洁性、灵活性,显然是一种更加优雅(graceful)的方式。 [一]. 搭建环境: 1. 在之前版本的基础之上,添加如下的依赖: spring.jar commons-logging.jar log4j-1.2.15.jar 同时添加日
2016-10-25 15:10:44 182
转载 Redis 存储字符串和对象
1 测试类import redis.clients.RedisClinet;import redis.clients.SerializeUtil;import redis.clients.jedis.Jedis;public class Test { /** * Administrator * @para
2016-10-25 14:59:45 401
转载 Java并发编程:线程池的使用
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任
2016-10-24 15:01:15 160
转载 ActiveMQ实现负载均衡+高可用部署方案 ActiveMQ
一、架构和技术介绍1、简介ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现2、activemq的特性1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp
2016-10-20 12:22:13 423
转载 JVM原理讲解和调优
一、什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而
2016-10-19 10:09:20 156
转载 Java并发编程:Lock
在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchroni
2016-10-18 17:58:10 121
转载 Java线程
Java线程:概念与原理一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe
2016-10-17 17:59:36 263
转载 JAVA调用MYSQL存储过程
版权声明:本文为博主原创文章,未经博主允许不得转载。Java调用MySQL存储过程 工程视图: 代码清单: myconn.java [c-sharp] view plain copy print?package org.apache.sh_m
2016-10-17 12:18:38 237
转载 Hibernate查询、连接池、二级缓存
hibernate查询查询概述1) Get/load主键查询2) 对象导航查询3) HQL查询, Hibernate Query language hibernate 提供的面向对象的查询语言。4) Criteria 查询, 完全面向对象的查询(Query By Criteria ,QBC)5) SQLQuery, 本地SQL查询缺点:不能跨数据库平台:
2016-10-13 17:28:24 269
转载 Jsp/Servlet整合Spring原理及源码分析
表现层和业务层整合:1. Jsp/Servlet整合spring;2. Spring MVC整合SPring;3. Struts2整合Spring;本文主要介绍Jsp/Servlet整合Spring原理及源码分析。一、整合过程 Spring&WEB整合,主要介绍的是Jsp/Servlet容器和Spring整合的过程,当然,这个过程是
2016-10-13 14:27:19 1226
转载 JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题
JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题版权声明:转载必须注明本文转自程序员杜鹏程的博客:http://blog.csdn.net/m366917我们来继续学习多线程Lock锁的使用虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,
2016-10-08 17:34:44 467
转载 浅谈mybatis
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。MyBatis让程序将主要精力放在sql
2016-10-08 16:28:30 309
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人