自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(292)
  • 资源 (12)
  • 收藏
  • 关注

原创 Session 详解

Session 对象可以使用 Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Httpsession具有如下A

2016-03-03 15:26:42 3733 5

转载 解决nginx负载均衡的session共享问题

查了一些资料,看了一些别人写的文档,总结如下,实现nginx session的共享php服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态,我们使用session无非是扩大变量的作用域,让我们在一次请求中可以随意获取session中存储的数据。详细信息查看:JSP中 Session和作用

2016-03-03 12:51:53 13132 3

转载 Spring 事务配置

要了解事务配置的所有方法,请看一下《Spring事务配置的5种方法》本文介绍两种配置方法: 一、      XML,使用tx标签配置拦截器实现事务一、      Annotation方式以下所使用环境为Spring4.0.3、Hibernate4.3.5 一、      XML,使用tx标签配置拦截器实现事务Entity类User.java,持久化类,对应数据库表userpackage com.l

2016-03-02 16:56:10 2649 3

原创 JAVA 并发编程-应用篇

提到java多线程不免有些人会头大,很多概念都是很理解但是真正到了实战的时候又是不知道如何操作了,下面就结合实际项目来说说多线程的应用。业务需求:    举例:批量插入10万条用户的相关活动优惠券    操作方式:使用固定10个大小的线程池来做,并每次处理1000条插入数据线程类:注实现Callable接口的是能得到返回值的线程类对应的业务实现类:问题在于,当我们需要使用多线程操作时,一般会先查询

2016-03-02 15:27:32 3746 4

转载 聊聊jvm内存模型及垃圾回收算法

jvm内存模型 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm)  其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。 年轻代(New):年轻代用来存放JVM刚分配的J

2016-03-01 15:16:10 4763 6

转载 JAVA 生成随机数,并根据概率、比率

做一个翻宝程序,通过返回数字0-5来判断中奖情况,012345,这几个数字的出现的概率是0出现最高,1出现比0少,2出现比1少,依次下去 /** * JAVA 返回随机数,并根据概率、比率 * @author zhanglei * */ public class MathRandom { /**

2016-03-01 10:07:02 15168 8

原创 MyBatis 模糊匹配

s

2016-02-29 16:46:02 4248 5

原创 策略模式实战之优惠方式

对象图:优惠计算所用的对象模型

2016-02-29 16:02:33 4800 3

转载 MyBatis之ResultMap简介,关联对象

MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。当提

2016-02-29 13:15:45 5806 2

转载 Memcache介绍

面临的问题对于高并发高访问的 Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产品需求设计上,却忽视了程序整体性能,可扩 展性等方面的考虑,结果眼看着访问量一天天网上爬,可突然发现有一天网站因为访问量过大而崩溃了,到时候哭都来

2016-02-28 20:53:20 2256 2

原创 java 内存数据存储

最近在学习的过程中,越发觉得基础知识的重要性,so 恶补一下直接上图上示例:图一:图二:图三: String s1 = "china";   String s2 = "china";   String ss1= new String("china");   String ss2 = new String("china");   int i =1;

2016-01-09 20:37:56 4699 8

转载 javaEE开发中使用session同步和token机制来防止并发重复提交

通常在普通的操作当中,我们不需要处理重复提交的,而且有很多方法来防止重复提交。比如在登陆过程中,通过使用redirect,可以让用户登陆之上重定向到后台首页界面,当用户刷新界面时就不会触发重复提交了。或者使用token,隐藏在表单中,当提交时进行token验证,验证失败也不让提交。这都是一般的做法。我们这次碰到的问题是重复提交本身就是一个错误,重复提交会导致一些相关数据的逻辑不再正确。重复提交--

2016-01-09 16:10:49 8095 5

转载 数据库SQL优化大总结之 百万级数据库优化方案

1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库.备注、描述、评论之类的可以设置为 NULL

2016-01-03 17:31:13 2596 1

转载 Java经典问题:传值与传引用?

第一部分:Java到底是传值还是传引用?相信很少有人能完全回答正确。通常的说法是:对于基本数据类型(整型、浮点型、字符型、布尔型等),传值;对于引用类型(对象、数组),传引用。基本类型传值,所有人都不会对此有疑义;问题出在引用类型上。为引入正题,不妨先看看下面的例子,你能正确给出程序的运行结果嘛?/** * @(#)Swap.java * * * @author

2016-01-03 15:24:23 2508 2

原创 Linux系列-Xshell连接本地VMware安装的Linux虚拟机

一、安装VMwareWorkstation并安装RedHat虚拟机,这里安装步骤省略,网络的资料很多,大侠们不如百度或者谷歌一下,大把的资料。 二、打开本地电脑的“网络连接”,你会发现多出了2个网络适配器:VMnet1和VMnet8,下面我们将在VMwareWorkstation中将这2个网络适配器移除。             三、选择“编辑”--“虚拟网络编辑器”,打开虚拟网卡编辑器对话框,将

2016-01-02 12:52:14 36114 4

原创 Linux系列-安装常用软件

JDK安装:一、下载JDK二、安装①复制到/usr/java/路径下[plain] view plaincopy#mkdir /usr/java/  #cp jdk-7u25-linux-x64.rpm /usr/java/  ②添加可执行权限,并安装[plain] view plaincopy# cd /usr/java/  # chmod +x jdk-7u25-linux-x64.rpm

2016-01-01 16:15:31 3117 3

转载 HTTP 1.1与HTTP 1.0的比较

HTTP 1.1与HTTP 1.0的比较一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明

2015-12-20 20:56:38 1710 1

原创 Spring 并发访问的线程安全性问题

首先对于Spring的IOC来说,对象是由Spring来帮我们管理,也就是在Spring启动的时候,在Spring容器中,由Spring给我们创建的,Spring会帮我们维护,一般都是单例的,也就是一个对象。spring生成对象默认是单例的。通过scope属性可以更改为多例。 下面我们来一个网上的例子:package test; import java.util.Date;impor

2015-12-20 15:42:23 34994 8

原创 MyBatis学习总结(六)——动态SQL

MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。MyBatis中用于实现动态SQL的元素主要有: ifchoose(when,otherwise)foreachwheresettrim下面我们主要说 where set trim 这三个标签1,where标签 SELECT * from STUDENT_TBL ST

2015-12-06 15:13:29 2785 4

转载 MySQL命令大全

1、连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MY

2015-12-02 21:20:07 1476 3

原创 Spring MVC @ModelAttribute 详解

1.@ModelAttribute注释void返回值的方法@Controllerpublic class HelloModelController { @ModelAttribute public void populateModel(@RequestParam String abc, Model model) { model.addAttribu

2015-11-23 17:13:41 46429 18

转载 Spring MVC 中@RequestMapping 6个基本用法小结

小结下spring mvc中的@RequestMapping的用法。1)最基本的,方法级别上应用,例如:@RequestMapping(value="/departments")public String simplePattern(){ System.out.println("simplePattern method was called"); return "someResult"

2015-11-23 12:42:17 2341 3

原创 JAVA 重定向与转发

一、调用方式我们知道,在servlet中调用转发、重定向的语句如下:request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jspresponse.sendRedirect("new.jsp");   //重定向到new.jsp在jsp页面中你也会看到通过下面的方式实现转发:当然也可以在jsp页面

2015-11-22 15:14:04 6959 7

原创 Junit4 单元测试

最近公司一直在鼓励写单元测试,故最近自己也整理了些比较常用的单元测试用法,在这里跟大家分享!以下便是我们经常写的一个测试类,那么其中的一些内容我们是否完全都理解呢,下面我来给大家介绍下:package com.lyancafe.csr.bo;import static org.mockito.Mockito.mock;import static org.mockito.Mockito.tim

2015-11-15 20:32:21 3660 2

原创 MySQL优化--索引

一、什么是索引?  索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询 时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上 已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描

2015-10-31 15:02:22 2356 6

转载 MyBatis学习总结(五)——实现关联表查询

一、一对一关联 1.1、提出需求  根据班级id查询班级信息(带老师的信息)1.2、创建表和数据  创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。CREATE TABLE teacher( t_id INT PRIMARY KEY AUTO_INCREMENT, t_name VARCHAR(20));CREATE

2015-10-31 14:30:59 2760 3

转载 MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突

在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。一、准备演示需要使用的表和数据CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), order_price FLO

2015-09-23 18:53:23 2057 3

转载 MyBatis学习总结(三)——优化MyBatis配置文件中的配置

一、连接数据库的配置单独放在一个properties文件中  之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下:

2015-09-22 22:53:12 3134 5

转载 MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作。本文中使用到的测试环境是上一篇博文中的测试环境。一、使用MyBatis对表执行CRUD操作——基于XML的实现1、定义sql映射xml文件  userMapper.xml文

2015-09-22 22:19:59 2396 4

转载 MyBatis学习总结(一)——MyBatis快速入门

一、Mybatis介绍    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。二、mybatis快速入门2.1、准

2015-09-22 20:02:15 2959 7

转载 NoSQL架构实践——以NoSQL为辅

原文地址:http://www.infoq.com/cn/news/2011/02/nosql-architecture-practice/前面《为什么要使用NoSQL》和《关系数据库还是NoSQL数据库》两篇从大体上介绍了为什么要用NoSQL,何时该用NoSQL。经常有朋友遇到困惑,看到NoSQL的介绍,觉得很好,但是却不知道如何正式用到自己的项目中。很大的原因就是思维固定在MySQL中了,他们

2015-09-09 14:08:17 4242 2

原创 【HashMap】深入原理解析

equals与== 1,基本数据类型(byte,short,char,int,long,float,double,boolean)使用== 对比的是值是否相等2,复合数据类型== 对比的是内存中存放的地址object中的equals初始行为是比较内存中的地址,但在一些类库中被覆盖掉了如(String,Integer,Date等) 故对于复合数据类型使用equals进行比较,未进行覆写的比较的是内存

2015-08-16 16:50:56 2907 9

转载 【I/O模型】两种高性能IO设计模式(二)

在传统的网络服务设计模式中,有两种比较经典的模式:一种是 多线程,一种是 线程池。对于多线程模式,也就说来了client,服务器就会新建一个线程来处理该client的读写事件,如下图所示: 这种模式虽然处理起来简单方便,但是由于服务器为每个client的连接都采用一个线程去处理,使得资源占用非常大。因此,当连接数量达到上限时,再有用户请求连接,直接会导致资源瓶颈,严重的可能会直接导致服务器崩溃。因

2015-08-15 10:09:14 3636 2

原创 【I/O模型】几种IO模型浅析(一)

基本概念的学习: 同步&&异步   同步:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行;   异步:如果有多个任务或者事件发生,这些事件可以并发地执行,一个事件或者任务的执行不会导致整个流程的暂时等待。   这就是同步和异步。举个简单的例子,假如有一个任务包括两个子任务A和B,对于同步来说,当A在执行的过程

2015-08-15 09:14:18 10828 5

原创 【NoSql】Redis实践篇-安全性与主从复制配置(二)

一:安全性 为redis设置密码:设置客户端连接后进行任何其他指定前需要实用的密码。 警告:因为redis速度非常快,所以在一台较好的服务器下,一个外部用户可以在一秒钟进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。 修改密码的方法: 只需要在redis的配置文件redis.conf中开启requirepass就可以了,比如我设置我的访问密码是hejingyuanre

2015-08-13 16:12:02 2900 3

原创 【NoSql】Redis实践篇-简单demo实现(一)

Redis是一个key-value存储系统。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用      Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和ha

2015-08-13 08:25:14 6482 3

原创 【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(二)

Dubbo与Zookeeper、Spring整合使用 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。 一:单机模式安装zookeeper 下载zookeeper注册中心,下载地址:http://www.apache.org/dyn/closer.cgi/zookeep

2015-08-10 21:31:29 136934 27

原创 【Dubbo实战】基础学习篇(一)

Dubbo的简介 是什么? Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000多个服务提供30多亿次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 产生背景 (1)当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。此时需要一个服务

2015-08-10 21:30:39 10731 5

转载 数据库锁

1 前言 数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。 2 锁的种类 共享锁(Shared lock)。 例1:------------------------

2015-08-07 20:19:57 1839 3

原创 【Nginx-反向代理服务器】实践篇(三)之Tomcat+Nginx搭建集群

继前面的博客,本篇博客来实践操作体会一下 Nginx配置过程如下: (1)到Nginx官网下载Nginx的Windows版本:点击打开链接(这里我们使用nginx/Windows-1.4.7版本进行实验)(2)解压到磁盘任意目录,例如这里我解压到虚拟机1中:C:\software\nginx-1.4.7(3)启动、停止和重新加载服务:通过cmd以守护进程方式启动nginx.exe:start ng

2015-08-03 21:14:32 22623 6

Spring线程池demo

Spring 线程池 demo

2016-05-25

session共享 tomcat+nginx+memcache

tomcat+nginx+memcache+session 所需jar包,包括memcache等安装包

2016-03-12

CXF Spring 整合

Web Service学习-CXF与Spring整合为JavaEE应用发布WebService(三)

2015-07-31

CXF WebService带有拦截器

Web Service学习-CXF开发Web Service的权限控制(二)

2015-07-30

CXF开发Web Service实例demo

Web Service学习-CXF开发Web Service实例demo(一)

2015-07-30

Spring Web Flow

SpringWeb Flow 中的这个 <action-state> 是专为执行业务逻辑而设的 state 。如果某个应用的业务逻辑代码既不适合放在transition 中由客户端来触发,也不适合放在 Spring Web Flow 自定义的切入点,那么就可以考虑添加<action-state> 元素专用于该业务逻辑的执行。更倾向于触发某个事件来执行。

2015-07-02

Spring Web Flow CartApp4

CartApp3 demo仅仅介绍了简单的页面跳转,接下来我们要实现与业务逻辑相关的功能。 业务的逻辑涉及到数据的获取、传递、保存,相关的业务功能函数的调用等内容,这些功能的实现都可用 Java 代码来完成,但定义 Spring Web Flow 的语法与 Java 是无关的,这就要求 Spring Web Flow 提供与 Java 代码的整合机制。

2015-06-16

Spring Web Flow CartApp3

Spring Web Flow 的目标是成为管理Web应用页面流程的最佳方案。当你的应用需要复杂的导航控制,例如向导,在一个比较大的事务过程中去指导用户经过一连串的步骤的时候,SWF将会是一个功能强大的控制器。

2015-06-15

activiti外置表单demo

activiti外置表单demo实现 运行方式: 1,修改连接的数据库 2,初始化用户,初始化脚本在src/resources目录下 3,访问地址http://localhost:8080/activitiDemo 4,登录后,需要部署流程才可以使用,流程文件在diagrams文件夹下,打成压缩包上传即可。

2015-06-08

Spring IOC实现原理demo

Spring容器的原理 其实就是通过解析xml文件 通过反射创建出我们所需要的bean 再将这些bean挨个放到集合中 然后对外提供一个getBean 方法 以便我们获得这bean

2015-03-10

Eclipse搭建SSH架构

Eclipse搭建ssh框架,详细的搭建过程,逐步的整合过程!

2014-11-13

2012电算化题

2012年最新电算化试题,抓住机遇,相信自己肯定行!

2012-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除