Spring JDBC-Spring事务管理之ThreadLocal基础知识

概述 ThreadLocal是什么 ThreadLocal的接口方法 ThreadLocal示例 与Thread同步机制的比较 Spring中使用ThreadLocal解决线程安全问题概述Spring通过各种模板类降低了开发者使用各种数据持久技术的难度,这些模板类都是线程安全的。 也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑...
阅读(1160) 评论(0)

C3P0-数据库连接池解读

概述 配置项说明 常用配置 管理连接池的大小和连接的生存时间 配置连接测试 配置PreparedStatement缓存 重连相关配置 定制管理Connection的生命周期 配置未提交的事务处理 配置debug和回收Connection概述官网: http://www.mchange.com/projects/c3p0/C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3...
阅读(1165) 评论(0)

Spring JDBC-Spring对DAO的支持

概述 Spring的DAO理念 统一的异常体系 统一的数据访问模板 使用模板和回调机制 模板类 数据源 配置数据源 DBCP数据源 C3P0数据源 获取JNDI数据源 Spring的数据源实现类 总结概述Spring对多个持久化技术提供了集成支持,包括Hibernate、MyBatis、JPA、JDO。 此外Spring还提供了一个简化JDBC API操作的Spring JDBC框架。 Sprin...
阅读(1184) 评论(0)

Java-Java I/O 字节流之BufferedReader/BufferedWriter

概述 Reader InputStreamReader FileReader and BufferedReader Writer OutputStreamWriter FileWriter and BufferedWriter Character Encoding and Charset概述本篇博文主要介绍 如何使用java.io包中提供的类读取和写入文本(或字符)文件Reader, InputSt...
阅读(770) 评论(0)

Java-Java I/O流解读之Object Serialization and Object Streams

概述 方法概述 哪些类型的对象有资格进行序列化 ObjectInputStream ObjectOutputStream javaioSerializable Externalizable Interfaces javaioExternalizable Interface 代码概述数据流(DataInputStream和DataOutputStream)允许我们读取和写入原始数据(如int,do...
阅读(750) 评论(0)

Java-Java I/O流解读之java.io.PrintStream & java.io.PrintWriter

概述 示例 代码概述JavaI/O流分为两类,字节流和字符流。 字节流是指InputStream/OutputStream及其子类, 字符流是指Reader/Writer及其子类。这两类I/O流的class hierarchy基本上是对等的,InputStreamReader/OutputStreamWriter是InputStream/OutputStream和Reader/Writer之间的...
阅读(669) 评论(0)

Java-Java I/O流解读之基于字符的I / O和字符流

概述Java内部将字符(字符类型)存储在16位UCS-2字符集中。 但外部数据源/接收器可以将字符存储在其他字符集(例如US-ASCII,ISO-8859-x,UTF-8,UTF-16等等)中,固定长度为8位或16位, 位或以1到4字节的可变长度。 [读取“字符集和编码方案”]。因此,Java必须区分用于处理8位原始字节的基于字节的I / O和用于处理文本的基于字符的I / O。字符流需要在外部I...
阅读(683) 评论(0)

Java-Java I/O流解读之基于字节的I / O和字节流

概述 File and Directory Class javaioFile Pre-JDK 7 Verifying Properties of a FileDirectory List Directory List Directory with Filter Class javaniofilePath JDK 7 Stream IO in Standard IO javaio Package 标准...
阅读(775) 评论(0)

Java-Java5.0泛型解读

概述 泛型类 泛型方法 边界符 通配符 PECS原则 类型擦除概述Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型类我们先看一个简单的类的定义package com.xgj.master.java.generics;public c...
阅读(865) 评论(0)

Java-Java5.0注解解读

概述 元注解Meta-annotation Target Retention Documented Inherited 自定义注解 定义注解格式 注解参数的可支持数据类型 实例 编写注解类 使用注解 访问注解概述Java5.0注解可以看做Javadoc和Xdoclet标签的延伸和发展,在Java5.0中可以自定义这些标签,并通过Java语言的反射机制获取类中标注的注解,完成特定的功能。 注解是代码的...
阅读(1368) 评论(0)

Java-CGLib动态代理

导读 问题 CGLib动态代理和JDK动态代理的区别 CGLib概述 改造导读Spring-AOP基础知识Java-JDK动态代理Java-CGLib动态代理问题另一篇博文中的问题性能监视横切逻辑代码CGLib动态代理和JDK动态代理的区别我们知道使用JDK创建代理时只能为接口创建代理实例。我们从Proxy的newProxyInstance方法中可以看出 @CallerSensitive...
阅读(1269) 评论(0)

Java-JDK动态代理

问题 概述 改造 其他相关接口类问题另一篇博文中的问题性能监视横切逻辑代码概述Java1.3以后,JAVA提供了动态代理技术,允许开发者在运行期创建接口的代理实例。 JDK的动态代理主要涉及java.lang.reflect包中的两个类:Proxy和InvocationHandler.InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑并通过反射机制调用目标类的代码,动态的将...
阅读(1441) 评论(0)

Log4j2-Log4j 2介绍及使用

Log4j 2 官网https://logging.apache.org/log4j/2.x/Log4j 2简介Log4j的1.x版本已经被广泛使用于很多应用程序中。然而,它这些年的发展已经放缓。它变得越来越难以维护,因为它需要严格遵循很老的Java版本,并在2015年8月寿终正寝。它的替代品,SLF4J和Logback对框架做了很多必要的改进。那么为什么还要费心去做Log4j 2呢?几个原因如下:...
阅读(1673) 评论(0)

Java-利用Spring提供的Resource/ResourceLoader接口操作资源文件

背景JDK提供的访问资源的类(如java.net.URL、File等)并不能很好地满足各种底层资源的访问需求,比如缺少从类路径或者Web容器上下文中获取资源的操作类。Spring提供了Resource接口,为应用提供了更强的底层资源访问能力,该接口拥有对应不同资源类型的实现类。 资源访问接口主要方法 boolean exists() 资源是否存在 boolean isOpen() 资源是否打开 UR...
阅读(1898) 评论(0)

Java-查看JVM从哪个JAR包中加载指定类

背景有的时候,我们经常会碰到java.lang.NoSuchMethodError的错误信息。 究其根源,是由于JVM的 全盘负责委托机制导致的。 关于 全盘负责委托机制 ,请查看另一篇博文 全盘负责委托机制特别是对于一些web项目,jar包很多,如何精确的查找呢?方式一将下面的JSP文件,放到web容器的根路径下,启动web容器,通过 http://ip:port/projectname/...
阅读(1619) 评论(0)

Java-Java反射

Java反射概述Java语言允许通过程序化的方式间接对Class进行操作。Class文件由类装载器装载后,在JVM中形成一份描述Class结构的元信息对象,通过该元对象可以获知Class的结构信息,如构造函数、属性和方法等。Java允许用户借由这个与Class相关的元信息对象间接调用Class对象的功能, 这就为使用程序化方式操作Class对象开辟了途径。 使用反射不同于常规的Java编程,其中它与...
阅读(1360) 评论(0)

基础三:控制执行流程

概述在Java中,涉及的关键字包括:if-else , while , do-while, for, return, break和switch.Java并不支持goto语句。true和false所有条件语句都利用条件表达式的真或假来决定执行的路径。Java不允许我们将一个数字作为布尔值使用,虽然在C和C++中是允许的。 比如if(a)中,那么首先必须用一个条件表达式将其转换成布尔值,例如if(a...
阅读(1912) 评论(0)

基础二:操作符

使用Java操作符操作符接受一个或者多个参数,并生成一个新值。操作符用于操作数,生成一个新值。 另外有些操作符可能会改变操作数自身的值,这被称为“副作用”。这些能改变操作数的操作符最普遍的作用就是产生副作用。几乎所有的操作符都只能操作“基本类型”。 例外的操作符是 = == 和 != 。这些操作符能操作所有的对象。 除此之外,String类支持 + 和 +=.优先级当一个表达式中存在多个操作符时,...
阅读(3500) 评论(0)

基础一:一切都是对象

概述OOP-面向对象编程(Object Oriented Programming),在Java中(几乎)一切都是对象。用引用操作对象在Java中一切都是被看作为对象,因此可以采用单一固定的语法。尽管一切都看做对象,但操作的标示符实际上仅仅是对象的一个“引用”(reference)。如果想操作一个字符串,则可以创建一个String 引用:String s ;但是这里创建的仅仅是引用,而不是对象。因此如...
阅读(1688) 评论(0)

Java-并发入门

概述 线程的生命周期 线程优先级 创建线程的两种方式 通过实现Runnable接口创建一个线程 通过扩展Thread类创建一个线程 线程的主要操作 Threadstop废弃原因 Threadsuspendresume废弃原因 线程间通信 主要方法 实例 并发同步 并发死锁概述多线程程序包含两个或多个可同时运行的部分,每个部分可以同时处理不同的任务,从而能更好地利用可用资源,特别是当计算机有多个CPU...
阅读(1481) 评论(0)
21条 共2页1 2 下一页 尾页
    个人资料
    • 访问:881052次
    • 积分:14361
    • 等级:
    • 排名:第886名
    • 原创:404篇
    • 转载:0篇
    • 译文:5篇
    • 评论:142条
    WeChat
      欢迎关注我的公众号,干货只有干货,还有更多惊喜和资源在等着你
    博客专栏