自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lizhao007

一杯Java 一杯咖啡

  • 博客(26)
  • 收藏
  • 关注

原创 mybatis(三)-mybatis-config详解

Mybatis(三)-详解Mybatis-config.xml<?xml version="1.0" encoding="utf-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>

2016-03-18 21:11:42 1295

原创 Mybatis(二)-创建第一个应用

Mybatis(二)-第一个Mybatis程序1.Maven配置<dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency></dependencies>2.新建一个数据库表CREATE TABLE

2016-03-18 16:00:40 422

原创 Mybatis(一)-入门

Mybatis(一)Mybatis入门在进入正式之前 Mybatis中文文档地址 http://www.mybatis.org/mybatis-3/zh/index.html前言     什么是ORM,O/R Mapping,Object Relation Mapping,即对象关系映射,把对数据表映射为对象类,将在数据库中直接进行的原始操作演变为对的属性和方法的操作,间接改变数据库表的数据。

2016-03-18 14:19:43 672

原创 MySql存储引擎

存储引擎负责MySQL中数据的存储和提取。和GNU/LINUX下的各种文件系统一样,每个存储引擎都有它的优势和劣势。服务器通过API与存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明。存储引擎API包含几十个底层函数,用于执行诸如“开始一个事务”或者“根据主键提取一行记录”等操作,存储引擎不会相互通信,而只是简单地响应上层服务器的请求。InnoDBInnoDB

2016-03-29 20:27:26 441 1

原创 MySql事务详解

什么是事务?事务就是一组原子操作,事务的特点是ACID,表示atomic原子性,consistency一致性,isolation隔离性,durability持久性。原子性:一个事务必须被视为一个不可分割的最小单元,整个事务中要们全部执行,要么全部失败回滚。不可能单独执行一部分。 一致性:数据库总是从一个一致性的状态转换到另外一个一致性的状态。要么全部执行成功,要么出现一个失败全部失败,所有的状态必

2016-03-29 10:49:22 454

原创 SpringMVC总结一次完整的请求

模拟一次论坛添加评论对该评论过滤敏感词并且转发到显示评论页面的请求。 下面是具体代码:<!--web.xml--><?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/

2016-03-27 20:59:16 2126

原创 Spring-MVC异步请求之Servlet异步

在Servlet3.0的规范中新增了对异步请求的支持,SpringMVC又在此基础上对异步请求提供了方便。异步请求是在处理比较耗时的业务时先将request返回,然后另起线程处理耗时的业务,处理完后在返回给用户。   异步请求可以给我们带来很多方便,最直接的用法就是处理耗时的业务,比如,需要查询数据库,需要调用别的服务器来处理等情况下可以先将请求返回给客户端,然后启用新线程处理耗时业务。如果我们合

2016-03-27 16:52:33 5371

原创 详解spring-MVC DispatcherServlet运行

HttpServletBeanHttpServletBean主要参与了创建工作,并没有涉及请求的处理。FrameworkServlet在FrameworkServlet中重写了service,doGet,doPost(除了doHead以外的所有请求处理方法)#protected void service(HttpServletRequest request, HttpServletResponse

2016-03-27 15:29:36 528

原创 详解spring-MVC DispatcherServlet初始化

DispatcherServlet要是用过springmvc应该都知道这个的重要性,在我们的web.xml文件中会配置这个Servlet相当于我们springmvc中央处理器。   我们这里详细分析DispatcherServlet的源码,DispatcherServlet的类结构图如下:      这里有三个接口比较重要:EnvironmentCapable,EcvironmentAware

2016-03-26 19:55:16 1064

原创 Trie树

在我们海量数据处理中使用Trie树。   原理是使用字符串的公共前缀来减少时间开销,即空间换时间。优点:最大限度地减少无谓的字符串比较,查询效率比散列表高。典型应用用于统计和排序大量字符串,所以警察被搜索引擎系统用于文本词频统计。   Trie树一般有3个基本特性   1.根结点不包含字符,除根节点外每一个结点都只包含一个字符。   2.从根节点到某一节点,路径上经过的字符连接起来,为该结点

2016-03-26 15:17:28 295

原创 Servlet详解

详解ServletServlet表示一个服务器应用,是J2EE标准的一部分,在Servlet中制定了java处理web的标准。Servlet接口既然Servlet是一套规范,那么肯定就会有他的接口。Servlet接口定义如下:public interface Servlet {void init(ServletConfig var1) throws ServletException;Servlet

2016-03-26 12:02:25 493

原创 ReentrantLock详解

ReentrantLock是java1.5之后新增加的可重入锁,他也可以定时,公平。 在ReentrantLock中维护了一个Sync的对象,这就是我们重点需要分析的对象。 在ReentrantLock的lock中有如下代码public void lock() { sync.lock(); }继续进入sync.lock()的方法abstract void lock();一

2016-03-26 12:01:13 459 1

原创 数据库优化

在大数据时代,数据都是被存储在数据库中,我们这里有一些对数据库优化的方法:   1。数据分区   在我们海量数据中,其中一种重要的方式就是如何有效地存储并降低需要处理的数据规模,所以可以对海量数据进行分区操作提高效率,例如按年份分区,按年进行分区。分区后我们可以减小磁盘I/O,减小了系统负荷,而且还可以将日志,索引也放到不同的分区下。   2。数据分表   我们可以对不同类型的数据比如id奇

2016-03-25 16:06:38 299

原创 数据处理之Hash

Hash我们一般称为散列,它是以一种映射关系,即给定一个数据元素,其关键字为key,按一个确定的散列函数计算出hash(key),把hash(key)作为关键字Key对应元素的存储地址。   hash函数一般应具备以下几点:   1.运算应该尽可能简单   2.函数的值域必须在散列表的范围内。   3.尽可能的减少冲突。   通常我们有以下几种方法:   1。直接寻址法-无冲突   使

2016-03-25 15:30:16 499

原创 海量数据top K问题

在很多的大规模数据处理中,经常会遇到的一类问题就是在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这种问题被称为top K问题,例如在搜索引擎中,统计搜索搜索最热门的10个查询词或者统计下载率中下载最多的东西。   对于top K类 问题一般有两种方法:   1.分治+Trie树   2.hash+小顶堆   举例说明:有1亿个浮点数,如何找出其中最大的10000

2016-03-25 14:16:58 1076

原创 海量数据排序问题

问题:对于有9亿条不重复的11位整数对这个文件进行排序? 问题转换:一个移动公司的一个任务需要把9亿个11位电话号码进行排序? 对于转换之前的问题我们可能认为实用性不大,但是转换之后变成电话号码了这就有实用性了。   对于一些小伙伴来说可能一上来就马上思考把所有数据导入到内存中,然后使用我们常用的快速排序,归并排序等,最后将排序好的数据存入文件 。但是对于9亿条数据对于java来说一个int

2016-03-25 11:15:34 1044

原创 Mybatis(十一)注解配置SQL映射器(二)

有时候我们需要根据输入条件动态地构建SQL语句。Mybatis提供了各种注解比如InsertProvider等来构建SQL语句。@SelectProvider创建一个SqlProvider类,以及提供Sql的方法。public class TutorDynaSqlProvider{public String findTutorByIdSql(int tutorId){retur

2016-03-20 14:53:28 325

原创 Mybatis(十)-注解配置SQL映射器(一)

注解配置SQL映射(一)Mybatis对于大部分的基于XML的映射器元素提供了对应的基于注解的配置项。然而某些情况下,基于注解配置还不能支持基于XML的一些元素。映射语句  在Mybatis中提供了多种注解支持不同类型的语句比如@Select,@Insert,@Update,@Delete。@Insert@Insert("INSERT INTO STUDENTS(STU

2016-03-20 14:23:27 395

原创 Mybatis(九)-缓存

缓存一级缓存  将从数据库中加载的数据缓存到内存中,是很多应用程序为了提高性能而采取的一贯做法。Mybatis对通过映射的SELECT语句加载的查询结果提供了内建的一级缓存。默认情况下:启用一级缓存。只要在同一个SqlSession接口对象调用了相同的SELECT语句,都会直接从缓存中返回,而不是查询数据库。二级缓存  我们可以在SQL映射器XML配置文件中使用元素添加全局

2016-03-20 13:32:44 344

原创 Mybatis(八)-一动态SQL

动态SQL有时候,静态的SQL语句并不能满足应用程序的需求。我们可以根据一些条件,来动态地创建SQL语句。例如,在web应用程序中,有可能有一些搜索界面,需要输入一个或多个选项,然后根据这些已经选择的条件去执行检索操作。实现这种类型的搜索功能我们需要动态的构建SQL语句。如果用户提供了任何输入条件,我们需要将那个条件添加到SQL语句的WHERE子句中。  MyBatis 通过使用,

2016-03-19 17:41:25 490

原创 Mybatis(七)- 一对一映射

一对一映射举个例子来说我们的Student和我们的Address是一对一的关系<select id="selectStudentWithAddress" parameterType="int"resultMap="StudentWithAddressResult">SELECT STUD_ID, NAME, EMAIL, A.ADDR_ID, STREET, CIT

2016-03-19 16:50:26 293

原创 Mybatis(六)-结果集映射

ResultMap一个最简单的ResultMap    子元素被用来将一个resultset列映射到JavaBean的一个属性中。元素和元素功能相同,不过它被用来映射到唯一标识属性。用来区分和比较对象。在我们的语句中,我们使用了resultMap属性,而不是resultType。在使用

2016-03-19 15:40:09 600

原创 Mybatis(五)-Mapper.xml

映射语句INSERT一个 INSERT SQL 语句可以在元素在映射器 XML 配置文件中配置,如下所示:INSERT INTO STUDENTS(STUD_ID,NAME,EMAIL, PHONE)VALUES(#{studId},#{name},#{email},#{phone})这里我们使用一个 ID insertStudent,可以在名空间 com.mybatis3.ma

2016-03-19 14:55:11 495

原创 Mybatis(四)-用API来配置MyBatis

使用API来配置我们的MyBatis在Mybatis(三)中我们详细讲解了mybatis-config.xml的各种元素,环境,别名,类型转换器。当然我们仅要会XML中配置他们我们也需要掌握代码的部分。在没有xml情况下如何创建一个SqlSessionFactory?  在这里我们需要用Java API创建一个SqlSessionFactory,代码如下:private stati

2016-03-19 11:34:56 748

原创 对于给定指定包名获取所有类

对于给定指定包名获取所有的类 对于一个IOC框架来说,这个功能是最基本,但是对于初学者来说确实不好来完成。接下来我会先贴代码,然后根据代码分析。/** * 对于制定包名的加载类 * author:Lizhao * Date:15/12/16 * version:1.0 * * @param pacckageName * * @return */public static S

2016-03-06 16:44:30 344

转载 Tomcat启动分析

1 - Tomcat Server的组成部分1.1 - ServerA Server element represents the entire Catalina servlet container. (Singleton)1.2 - ServiceA Service element represents the combination of one or more Connect

2016-03-01 19:17:06 331

空空如也

空空如也

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

TA关注的人

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