自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

an-ping的博客

容易忘就写下来

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

转载 深入解析ThreadLocal

原博地址:http://www.cnblogs.com/dolphin0520/p/3920407.htmlJava并发编程:深入剖析ThreadLocal  想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的...

2018-08-30 22:45:49 130

原创 抽象类与接口的区别

区别:抽象类的方法可以是抽象的,也可以有具体实现,抽象类在某种程度上类似普通类,但是不能实例化,方法访问修饰符可以是public、protected、default,抽象类可以有构造方法  ;接口的方法必须是抽象的,方法访问修饰符默认是public ,不可以是其他修饰符,接口没有构造器;抽象类和接口都可以有静态成员变量,抽象类中访问修饰符可以是任意的,但在接口中默认是public st...

2018-08-19 14:20:51 124

原创 java中String、Stringbuffer、StringBuilder的区别

String是字符串常量,对String的操作其实就是不断产生新对象并且将旧对象回收的过程;StringBuffer和StringBuilder是字符串变量,多次被修改不会产生新对象。StringBuffer相对于StringBuilder来讲是线程安全的,所以在要求线程安全的情况下必须使用StringBuffer。三者的执行速度为StringBuilder>StringBuffer>...

2018-08-19 08:52:19 118

原创 分析重写equals要重写hashCode

一般来说将类放置在容器中要重写equals()方法,放置在散列中要重写hashCode()方法,如果放置在有序容器的话要重写compareTo()方法。在HashMap中如果key是一个自定义类那么必须重写equals和hashCode。先分析下面代码:情景一:1 自定义一个实体类User:(没有重写equals和hashCode)package com.yc.test;...

2018-08-18 20:43:29 155

原创 java值传递与引用传递

这个问题相对于函数而言,即方法参数。在java中是没有传址调用的,这里我们需要注意的是一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值,这句话相当重要,这是按值调用与引用调用的根本区别。案例分析:package com.yc.test;public class User { public String name; public int age; publ...

2018-08-18 19:12:52 131

原创 springboot过滤器和拦截器使用

过滤器:过滤器依赖servlet容器,在spring boot中添加自己的Servlet有两种方法,代码注册Servlet和注解自动注册(Filter和Listener也是如此)。一、代码注册通过ServletRegistrationBean、 FilterRegistrationBean 和 ServletListenerRegistrationBean 获得控制。也可以通过实现 S...

2018-08-17 11:05:16 1165

转载 spring mvc上传文件的三种方式

原博地址:https://www.cnblogs.com/zhangzhen894095789/p/6475033.html直接上代码吧,大伙一看便知这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/commonsmultipartresolver.java.html前台:...

2018-08-16 15:58:19 225

转载 struts拦截器原理与配置

原博地址:https://blog.csdn.net/kingmax54212008/article/details/51777851一、Struts2拦截器原理:Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的    拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器。比如:应用要求用户...

2018-08-14 16:17:01 216

原创 struts2拦截器使用(部分拦截和全局拦截器)

应用场景:在请求处理之前拦截请求,做出相关处理。比如在一个网站中,用户尚未登录那么他是无法查看个人信息界面的。这时候我们就可以使用拦截器来拦截他访问个人信息的界面的请求。具体如下(这里主要是struts2自定义拦截器的方法):struts2自定义拦截器:1 实现Iterceptor接口或者继承AbstractInterceptor2 在struts.xml文件配置拦截器3 在需要...

2018-08-10 14:18:39 3605

原创 使用Spring、Struts2、Hibernate三大框架实现用户增删改查

这就是SSH框架内容很多,随着下面一个案例来进入分析:1 首先项目是依赖maven进行管理的,创建一个动态的web项目2 在pom.xml导入相关jar包,配置如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2018-08-09 09:34:14 3332 37

转载 spring mvc实现全局异常三种方式

原博地址:http://cgs1999.iteye.com/blog/1547197参考地址:https://blog.csdn.net/Petershusheng/article/details/523975161 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独...

2018-08-08 11:08:06 906

原创 java动态代理(JDK和CGLIB)

在spring aop中基于动态代理可以给目标类加入一些交叉业务,对目标对象方法进行增强处理。实现原理如下:一 JDK动态代理(基于接口的类)1.创建一个Code的接口,抽象方法是playcode()://敲代码的接口public interface Code { //敲代码的方法 public void playCode();}2.实现Code接口类:publi...

2018-08-07 10:58:32 336

转载 Spring中ContextLoaderListener作用

原博地址:https://www.jianshu.com/p/523bfddf0810每一个整合spring框架的项目中,总是不可避免地要在web.xml中加入这样一段配置。<!-- Spring配置文件开始 --><context-param> <param-name>contextConfigLocation</param-nam...

2018-08-06 09:35:59 1737

原创 java序列化Seralizable

一 应用场景Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。在进行Java对象序列化的时候,会把其状态保存为一组字节,在对这些...

2018-08-04 18:24:25 648

原创 Comparable和Comparator的用法与区别

一 应用场景:当对自己定义的数据结构需要进行指定排序的时候,java中给了我们两个接口Comparable和Comparatorcomparable接口定义一个方法: public interface Comparable<T> { public int compareTo(T o); }comparator接口定义方法(jdk版本不同数量不同)注意:有些类...

2018-08-04 11:59:25 12832 3

原创 Map的四种遍历方法

@Test public void testMap(){ Map<String, String> map = new HashMap<String, String>(); map.put("age", "18"); map.put("name", "Java"); //方法一 通过keySet() 通过keySet获取的是Set集合

2018-08-04 10:09:25 121

转载 logger使用

日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j API (http://jakarta.apache.org/log4j/docs/api/index.html):static Level WARNWARN level表明会出现潜在错误的...

2018-08-03 10:50:01 1743

转载 jvm

原文出处: 老码农1、你知道哪些或者你们线上使⽤什么GC策略?它有什么优势,适⽤于什么场景?参考 触发JVM进行Full GC的情况及应对策略。2、Java类加载器包括⼏种?它们之间的⽗⼦关系是怎么样的?双亲委派机制是什么意思?有什么好处?启动Bootstrap类加载、扩展Extension类加载、系统System类加载。父子关系如下:启动类加载器 ,由C++ 实现,没有父...

2018-08-03 10:18:03 113

转载 spring事务

写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解 Spring事务配置的五种方式 Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大...

2018-08-02 11:25:45 107

空空如也

空空如也

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

TA关注的人

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