- 博客(113)
- 资源 (6)
- 问答 (3)
- 收藏
- 关注
原创 MySQL查询处理——逻辑查询处理和物理查询处理
对于查询处理,可将其分为逻辑查询处理和物理查询处理。逻辑查询处理表示执行查询应该产生什么样的结果,而物理查询代表MySQL数据库是如何得到结果的。逻辑查询处理MySQL真正的执行顺序如下:(8)SELECT (9)DISTINCT<select_list>(1)FROM <left_table>(3)<join_type>JOIN<right_table>(2) ON <join_co
2016-10-18 14:47:09 4368
原创 MySQL优化之——高效插入0-N这N个整数
插入0-N这N个整数,首先,创建一个表和一个存储过程:#创建一个存数据的表CREATE TABLE tb_nums (a INT NOT NULL PRIMARY KEY) ENGINE = INNODB;#创建存储过程CREATE PROCEDURE pCreateNums (x INT UNSIGNED)BEGINDECLARE s INT UNSIGNED DEFAULT (1);TRU
2016-10-17 16:18:21 1101
原创 MySQL数据类型
类型属性UNSIGNED UNSIGNED属性就是将数字类型无符号化。ZEROFILL 如果宽度小于设定的宽度,则自动填充0。时间和日期类型 类型 所占空间 说明 DATETIME 8字节 日期范围:1000-01-01 00:00:00 到 9999-12-31 23:59:59 DATE 3字节 日期范围:1000-01-01 到 9999-12-31
2016-10-17 15:30:30 526
原创 MySQL存储引擎及其面向的数据库应用
MySQL数据库中一些常用的存储引擎及面向的数据库应用:InnoDB存储引擎支持事务,设计目标主要是联机事务处理(OLTP)的应用。 特点是:行锁设计、支持外键、并支持类似Orcale的非锁定表,即默认读取操作不会产生锁。是MySQL5.5.8版本依赖默认的存储引擎。InnoDB通过使用多版本并发控制(MVCC)来获得高并发,并且实现了SQL标准的四种隔离级别,默认是Repeatable,同时使用
2016-10-17 14:25:04 538
原创 排序算法——快速排序
快速排序又称划分交换排序,快速排序使用分治法策略来把一个序列分为两个子序列。递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了/*伪代码:method quicksort(list list): if list.size<2 return list let pivot=list(0) let lower=new list let h
2016-10-15 12:47:32 774
原创 排序算法——归并排序
归并排序,采用的是分治法,各层的分治递归可同时进行。 关于排序原理,我们可以先看一个小动画(图片来自:维基百科)。 归并排序(Mergesort)时间空间复杂度(图片来自:程序师) 看一下归并排序的伪代码:伪代码:method mergersort(List list) if list.size < 2 return list let middleIndex=list
2016-10-15 12:26:12 622
原创 排序算法——冒泡排序
重复的走访要排序的数列,一次比较两个元素,如果遇到顺序错误就把他们交换过来,重复直到没有需要交换的,就说明已经排好序了。流程:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
2016-10-10 21:36:30 620
原创 半数集问题和半数集单集问题
问题描述: 给定一个自然数n,由n 开始可以依次产生半数集set(n)中的数如下。 (1) n∈set(n); (2) 在n 的左边加上一个自然数,但该自然数不能超过最近添加的数的一半; (3) 按此规则进行处理,直到不能再添加自然数为止。 例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6 个元素。 注意半数集是多重集。其实很容易想到使用递归实现,算
2016-10-06 12:18:52 5653 1
原创 众数问题
问题描述:给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数,多重集合S中重数最大的元素称为众数。 例如:S={1,2,2,3,5}.多重集S的众数是2,其重数是3.解法:import java.util.*;/** * DateTime: 2016/10/6 07:50 * 功能:众数问题 * 思路: */public class Topic2_1 { pu
2016-10-06 11:27:52 1480
原创 Spring4的AOP与IOC
Spring介绍 Spring是为了解决企业应用程序维护复杂性而创建的。Spring框架的解决方法就是采用分层架构,分层架构允许程序员选择使用哪一个组件,同时为J2EE应用程序开发提供集成环境。 Spring框架就是实现了AOP功能的IOC容器,在IOC容器的基础上加上AOP不仅可以做到紧耦合开发,还具有AOP功能。Spring架构Test模块:Test测试模块支持对Spring组件在JUni
2016-09-24 21:20:22 1353
原创 Json、Ajax、Jquery
JSON介绍 JSON是Javascript面向对象语法的一个子集,由于JSON是JavaScript的一个子集,因此他可以清晰的运用在此语言当中,JSON的全称是:JavaScript Object Notation,是一种轻量级的数据交换格式。JSON是完全独立的语言,它使用标准的语法格式,来与其他各种编程语言进行数据交换。JSON主要创建两种数据对象由JSON格式字符串创建转化成JavaS
2016-09-24 19:18:16 910
原创 Mybatis核心对象的生命周期与封装
SqlSessionFactoryBuider对象 SqlSessionFactoryBuider对象可以被JVM虚拟机所实例化、使用或者销毁。一旦使用SqlSessionFactoryBuider创建SqlSessionFactory对象后,SqlSessionFactoryBuider类就不需要存在了,也就是说不需要保持此对象的状态,可以随意的任由JVM销毁。因此SqlSessionFacto
2016-09-24 16:53:47 2683
原创 信息摘要算法——MessageDigest类
MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。 MessageDigest 对象开始被初始化。该对象通过使用 update 方法处理数据。任何时候都可以调用 reset 方法重置摘要。一旦所有需要更新的数据都已经被更新了,应该调用 digest 方法之一完成哈希计算。 对于给定
2016-09-17 17:38:06 2815
原创 Spring事务管理-<tx:advice>标签
首先先看一下代码: <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <tx:advice id="
2016-09-15 20:00:04 4025
原创 Boostrap基础——JavaScript插件
Boostrap提供了12种JavaScript插件,包括:动画过渡 Transition模态 Modal下拉菜单 Dropdown滚动侦测 Scrollspy选项卡 Tab提示框 Tooltip弹出框 Popover警告框 Alert按钮 Button折叠 Collapse旋转轮播 Carousel自动定位浮标 Affix模态弹窗<div class="modal sho
2016-09-08 15:05:21 967
原创 Boostrap基础排版
h1 h2 h3 标题<span class="h1">Bootstrap权威指南</span><br> <span class="h2">Bootstrap权威指南</span><br> <span class="h3">Bootstrap权威指南</span><br> <span class="h4">Bootstrap权威指南</span><br>.lead 页面主题
2016-09-06 21:04:15 834
原创 Mybatis动态SQL——if、choose、where、set、trim、foreach标记实例
动态SQL就是动态的生成SQL。if标记假设有这样一种需求:查询用户,当用户名不等于“admin”的时候,我们还需要密码为123456。数据库中的数据为: MyBatisConfig.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.
2016-09-06 14:03:19 1237
原创 Mybatis的查询操作之resultType和resultMap
resultType和resultMap只能有一个成立,resultMap解决复杂查询是的映射问题。比如:列名和对象属性名不一致时可以使用resultMap来配置;还有查询的对象中包含其他的对象等。MyBatisConfig.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybati
2016-09-05 21:57:20 951
原创 日志工具 Log4j控件初识
Log4j概述 Log4j是目前应用最为广泛的日志控件,他把日志分为ALL 、TRACE(跟踪)、DEBUG(调试)、INFO(信息)、WARNING(警告)、ERROR(错误)、FITAL(致命)、OFF等几个级别。级别高的Level会屏蔽级别低的信息。Log4j配置中有三个重要的概念:日志记录器(Logger)、输出地(Appender)以及日志格式化器(Layout),Logger负责记录日
2016-08-27 16:50:34 1016
原创 Apache Shiro安全框架初识
Shiro概述Shiro是Java的一个安全框架,可以帮助我们完成:认证、授权、加密、会话管理、与web集成、缓存等。 Shiro的基本功能如下: Authentication:身份认证、登陆,验证用户是不是拥有相应的身份。Authorization:授权,即权限验证,验证某个已经登陆的用户是否拥有某个权限,eg:验证用户是否拥有某个角色。Session Manager:会话管理,登陆后退出之
2016-08-21 17:38:54 850
原创 FreeMarker模板引擎基础知识
FreeMarker基础简介FreeMarker是一款模板引擎:一种基于模板,用来生成输出文本的通用工具。它是为java程序员提供的一个开发包或者说是库类,一般的用法就是Java程序通过SQL查询到数据,FreeMarker使用模板生成文件页面来显示已经准备好的数据。也就是 输出= 模板+数据模型。FreeMarker支持的数据类型有:标量字符串数字布尔值日期容器哈希表系列集子程序
2016-08-21 12:32:45 1447
原创 正则表达式基础
正则表达式元字符“+” 其前导字符必须在目标对象中连续出现一次或多次“*” 其前导字符必须在目标对象中连续出现零次或多次“?” 其前导字符必须在目标对象中连续出现零次或一次“\s” 用于匹配单个空格,包括Tab键和换行符“\S” 用于匹配单个空格之外的所有字符“\d” 匹配0-9的数字“\w” 匹配字母、数字或下划线“\W” 匹配所有与 “\w” 不匹配的字符“.” 匹配所有除
2016-08-17 10:56:27 933
原创 Lucene全文检索初识
Lucene 简述 Lucene是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。数据可以三种:结构化数据(具有固定格式或有限长度的数据)非结构化数据半结构化数据对于结构化数据一般使用SQL语句查询,而非结构化数据有顺序扫描和全文检索。Lucene 文件结构 层次结构:索引 -> 段 ->
2016-08-17 09:22:37 837
原创 Nginx 下 JSP 开发环境搭建-JDK、Tomcat 的安装
JDK安装1.进入安装包下载目录: cd /home/download2.解压操作: tar -zxvf jdk-i586.tar.gz3.要移动到/usr/local: cd /usr/local4.创建一个JDK目录: mkdir jdk5.把download下的jdk复制到jdk:mv jdk 1.8.0/ /usr/local/jdk 6.配置环境变量,打开:vi /etc/
2016-08-16 11:18:45 2265
原创 Nginx 的反向代理与负载均衡
反向代理与负载均衡反向代理: 明确知道要访问哪个网站,借助代理网站来访问就是正向代理;第三方服务器为我们提供了访问服务器集群的内容,但我们不知道是哪台服务器提供的内容,这种代理方式称为反向代理。负载均衡: 建立很多个服务器,这些服务器组成一个服务器集群,当有请求时中间服务器选择一个压力较小的服务器,然后将请求引入该选择的服务器,这样每个服务器压力趋于平衡,这就是负载均衡。负载均衡是通过反向代理来实现
2016-08-16 01:52:15 1102
原创 Nginx的基本配置:虚拟主机、日志文件、缓存、自动列目录的配置
Nginx配置文件总览Nginx的配置文件结构#设置用户user root;#工作衍生的进程数 (一般=CPU核心数或核心数*2)worker_processes 2;#设置错误文件的存放路径error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#设置p
2016-08-16 00:28:43 6752
原创 Nginx服务器初识:Nginx启动、停止与信号控制
Nginx概述 Nginx同Apache、Tomcat一样是一种服务器软件。除此之外,Nginx是一种高性能的HTTP和反响代理服务器,同时也是一个代理邮件服务器,因此,Nginx可以发布网站,也可以实现负载均衡的功能,还可以作为邮件服务器收发邮件。Nginx是一种轻量级的服务器,Apache稳定、开源、款平台,但他不支持高并发,Nginx能支持处理百万级的TCP处理,10万以上的并发连接,并且是
2016-08-15 21:28:43 9338 3
原创 Mybatis分页插件PageHelper的使用
Mybatis分页插件 - PageHelper支持任何复杂的单表、多表分页。使用方法如下:1.导入jar包 2.在Maven中添加依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> </dependency>3.在mybatis配置文件中配置插
2016-08-14 11:47:27 1504
原创 Mybatis-SpringMVC-Spring框架整合
SSM框架简介Mybatis:持久层 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。SpringMVC:表现层 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。S
2016-08-13 23:30:00 1174
原创 Mybatis逆向工程
Mybatis逆向工程可以针对数据库中的单表自动生成Mybatis执行时所需要的代码。包括实体类PO、mapper.java接口、mapper.xml映射文件。步骤: 在src下添加GeneratorSqlmap.java类import org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.C
2016-08-13 21:18:26 787
原创 Maven基础知识
Maven概述 Maven是一个项目管理和整合的工具,Maven为开发者提供了一套构建生命周期框架。Maven主要帮助开发者完成以下工作:构建、文档生成、报告、依赖、SCMS、发布、分发、邮件列表。Maven工程源码文件、资源文件的默认配置 配置项 默认值 source code ${basedir}/src/main/java resources ${basedir}/sr
2016-08-13 10:58:55 1096 4
原创 MyBatis基础
MyBatis简介 MyBatis是支持普通SQL查询、存储过程和高级映射的优秀持久层框架,MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO映射成数据库中的记录。MyBatis框架结构 MyBatis工作原理 注解方式配置第一个Mybatis实例db.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jd
2016-08-08 09:35:21 1113 2
原创 Java互联网开发工程师学习路径
Java语言核心java语言基础基本常识、数制、环境搭建数据类型、常量、变量、运算符、语句、函数、数组java面向对象面向对象、访问权限控制符、构造函数、this关键字、匿名对象、static、静态代码块、单例、继承、final、接口、多态、内部类、Object、String、Date等Debug工具Maven使用SVN版本管理javaSE核心API多线程概念、线程生命周期、并发安全问
2016-08-06 20:13:22 2053
原创 SpringMVC入门案例
项目结构图 web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http
2016-08-06 11:33:28 668
原创 springMVC的基础知识
本来打算学的框架是S2SH(Struts2-Spring-Hibernate),但现在修改一下,学SSM(SpringMVC-Spring-Mybatis).MVC模式 SpringMVC简介SpringMVC是Spring框架的一个模块,因此SpringMVC和Spring是无需通过中间整合层进行整合的。SpringMVC的架构图SpringMVC的架构处理流程用户发送请求至前端控制器Disp
2016-08-06 10:07:53 676
原创 Struts2拦截器、拦截器栈(Interceptor Stack)、全局拦截器与方法拦截器
Struts2拦截器原理 Struts2拦截器是在访问某个Action或Action的方法之前或之后实施拦截。在请求Struts2的Action时,Struts2会查找配置文件,并根据配置文件实例化相应的拦截器对象。Struts2拦截器配置 struts.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC
2016-08-03 15:11:40 9757 3
原创 Struts2标签库汇总和OGNL表达式语言
Struts2标签分类UI标签:主要用于生成HTML元素的标签非UI标签:主要用于数据访问、逻辑控制的标签Ajax标签:用于支持Ajax的标签表单标签(属于UI标签):用于生成HTML页面的form标签及普通表单元素的标签非表单标签(属于UI标签):用于生产页面上的树、Tab页等标签流程控制标签(属于非UI标签):主要包含用于实现分支、循环等流程控制的标签数据访问标签(属于非UI标签)
2016-08-03 11:21:44 922
原创 Struts2 Web 资源获取的四种方式
Struts2 Web 资源获取一个有四种方式,两个大类拦截器获取 Web 资源模式静态对象获取 Web 资源模式第一种:实现ServletRequestAware、ServletResponseAware、ServletContextAware接口struts.xml <action name="FirstAction" class="Action.FirstAction">
2016-08-02 20:54:58 2928 3
原创 Struts2入门:框架结构、处理步骤、配置文件
Struts2概述 Struts2以WebWork为核心,采用拦截器的机制对用户的请求进行处理。Struts2的拦截机制使得用户的业务逻辑控制器与Servlet API完全分离,业务逻辑更像一个POJO(实体层)。Struts2框架结构 Struts2处理步骤客户端浏览器发送一个Http请求;Web容器收到请求后,会将请求传递给一个标准的ActionContestCleanUp过滤器来消除属
2016-08-01 17:25:34 1305 2
原创 Jsp+Servlet+JavaBean学习阶段案例-留言板(MessageBoard)
Jsp+Servlet+JavaBean学习阶段的一个案例总结名称:留言板(MessageBoard)开发技术:Jsp+Servlet+JavaBean数据库:Mysql开发工具:IntelliJ IDEA 2016.1.3服务器:Tomcat 8.0.36功能说明 普通用户:增加删除修改留言信息 管理员:增加删除修改留言信息、管理用户、设置用户发帖留言权限数据库结构tb_user表
2016-08-01 13:02:11 6007 3
安卓简单QQ
2017-01-22
成绩管理系统
2017-01-22
通讯录管理系统
2017-01-22
java-jsp留言板
2016-09-08
Java集合框架的一个扑克牌小程序
2016-07-09
ASP.NET(C#)实现的学生-教师基本信息查询系统
2016-07-09
为什么servlet只执行了一次
2016-08-01
pageContext中有getApplication方法吗?
2016-07-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人