- 博客(14)
- 资源 (20)
- 收藏
- 关注
原创 【Java】Java加载类机制
【Java类加载器】 JavaClassloader是Java运行时环境(Java Runtime Environment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中。类通常是按需加载,即第一次使用该类时才加载。由于有了类加载器,Java运行时系统不需要知道文件与文件系统。JVM有三种类加载器: 1.启动类加载器(Bootstrap):是在jvm启动时
2017-02-18 16:19:32 1028 39
原创 【Java】代理模式
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 【分类】 代理模式分为静态代理、动态代理。 静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托
2017-02-06 08:13:37 487 6
原创 【Listener机制】HttpSessionListener和HttpSessionAttributeListener
一、HttpSessionListener HttpSessionListener是对Session的一个监听,主要监听关于Session的两个事件,即初始化和销毁。【原理】 接口HttpSessionListener有两个方法,分别为: VoidsessionCreated(HttpSessionEvent se):当session创建时会收到通
2017-02-05 16:34:48 3350 7
原创 【线程】 ThreadLocal
ThreadLocal类提供了线程局部变量。这些变量不同于他们的普通对应物,因为访问一个变量(通过get或set方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal实例通常是类中的私有静态字段,他们希望将状态与某一个线程(例如,用户ID或事务ID)相关联。简单说,ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,只要在本线程内
2017-02-01 10:17:03 420 8
原创 【MyBatis】查询缓存(一级缓存和二级缓存)
一级缓存:是SQlSession级别的缓存。在操作数据库时需要构造SqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的SqlSession之间的缓存数据区域(HashMap)是互相不影响的。 二级缓存:是mapper级别的缓存,多个SqlSession去操作同一个mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨
2017-02-27 14:01:56 14500 13
原创 【MyBatis】延迟加载
需求:查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。我们把对用户信息的按需查询,称作延迟加载。 所以延迟加载的理解即:先单表查询,当需要时,在从关联表去级联查询,大大提高数据库性能。1.mapper.xml <!-- 实现对用户信息进行延迟加载 select:指定延迟加载需
2017-02-25 09:08:35 535 12
原创 【MyBatis】高级映射
【一对一查询】 需求:查询订单信息,关联查询创建订单的用户信息方式一:resultType1.创建pojo类(包括除了主表实体类Orders.java中包含的字段外,其他需要查询的字段):package cn.itcast.mybatis.po;//通过此类映射订单和用户查询的结果,让此类继承包括 字段较多的pojo类public class OrdersCusto
2017-02-24 14:45:48 443 11
原创 【MyBatis】输入映射和输出映射
在mybatis中,我们需要通过输入和输出映射来指定输入(参数)和输出(返回值)的类型。【输入映射】在mapper的statement中,我们通过parameterType指定输入参数的类型,类型可以是简单类型、hashMap以及pojo的包装类型。1、简单类型,比如int,我们可以直接进行使用,例如: select * from user where id = #{id}
2017-02-21 08:20:15 1206 10
原创 【MyBatis】开发dao方法的比较
上篇博客中的入门小程序,可以看出真的只是一个入门小程序。一般情况下,按照原始的dao的开发方法,我们还需要dao接口和dao实现类。1.创建dao接口:UserDao.javapackage cn.itcast.mybatis.dao;import java.util.List;import cn.itcast.mybatis.po.User;public interface
2017-02-20 16:27:23 783 10
原创 【MyBatis】快速入门
MyBatis 是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 MyBatis应用程序根据XML配置文件创
2017-02-20 08:21:59 485 10
原创 【缓存】http协议头
【简介】 缓存分很多种:服务器缓存,第三方缓存,浏览器缓存、代理缓存、网关缓存、数据库缓存等。其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户端,而几乎不耗费服务器端的资源。今天总结介绍的也与浏览器缓存相关。浏览器缓存肯定都很熟悉,简单说就是浏览器在磁盘上对最近用户请求的数据进行存储,当我们再次请求这个页面时,浏览器就可以从本地磁盘读取并显示。浏览器缓存主要有两类:
2017-02-13 08:10:44 2016 13
原创 【Java Web】验证码
【是什么】 验证码(CAPTCHA)是“CompletelyAutomated Public Turing test to tell Computers and HumansApart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。【作用】 可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定
2017-02-10 19:28:42 344 10
原创 【报表】JFreeChart使用
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications,applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(barcharts)、散点图(scatter plots)、时序图(time series)、甘特图(Ganttcharts)等等多种图表,并且可以产生PN
2017-02-07 20:49:00 813 13
原创 【JSTL】fn函数库
JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:【fn:split】语法格式:属性: request.setAttribute("str", "1#2#3#4#5")如下: ${v } 【fn:length】语法格式:属性:用jsp脚本取数据:使用J
2017-02-01 09:52:18 916 7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人