- 博客(19)
- 资源 (51)
- 收藏
- 关注
原创 对象的序列化与反序列化详解
Java对象序列化时参与序列化的内容包含以下几个方面:1.属性,包括基本数据类型、数组以及其他对象的引用; 2.类名。不能被序列化的内容有以下几个方面:1.方法。 2.有static修饰的属性。 3.有transient修饰的属性。在序列化过程中不仅保留当前类对象的数据,而且递归保存对象引用的每个对象的数据。将整个对象层次写入字节流中,这也就是序列化对象的“深复制”,即复制对象本身及引用的对象
2016-09-30 10:47:45 5913
转载 一篇很全面的freemarker教程
原文:http://demojava.iteye.com/blog/800204以下内容全部是网上收集:FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成:1,文本:直接输出的部分2,注释:格式部分,不会输出3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出4,FTL指令:F
2016-09-29 14:11:50 766
原创 Thread入门与线程方法详解及多线程安全
线程的生命周期如下图:其中wait()和notify(),notifyAll()是Object类的方法,sleep()和yield()是Thread类的方法。线程方法说明1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步块,即使sleep了其他线程仍然不能访问共享数据。注意该方法要捕捉异常。
2016-09-29 11:18:35 1847
原创 Explain的四种格式与查看优化器重写SQL
# 【1】explain四种输出格式explain可以输出四种格式:传统格式、json格式、tree格式以及可视化输出。用户可以根据需要选择适用于自己的格式。## ① 传统格式传统格式即默认格式,输出是一个表格形式,概要说明查询计划。```sqlexplain select s1.key1,s2.key1 from s1 left join s2 on s1.key1=s2.key1 where s2.common_field is not null;```![在这里插入图片描述](ht
2016-09-29 09:05:10 9929 1
原创 SpringBoot自动配置原理解析(二)
继[SpringBoot自动配置原理解析(一)](https://blog.csdn.net/J080624/article/details/52687492)后,我们继续分析SpringBoot如何进行自动配置的。前面我们从表现上跟踪了一下SpringBoot自动配置的大概过程,但是并没有说明处理器、环节等信息,本文从源码角度我们看一下。首先说明一下,BeanDefinition的扫描注册发生在refresh过程中的`invokeBeanFactoryPostProcessors`方法中,具体处理
2016-09-28 17:16:37 1132
原创 Spring中如何获取到一个Bean实例(二)?
本文作为[Spring中如何获取到一个Bean实例(一)?](https://blog.csdn.net/J080624/article/details/53213290)的姊妹篇,我们 对获取bean实例的流程做一些补充说明。# 【1】主动获取方式除了在项目启动过程中,refresh方法过程中spring会自动实例化单例bean并解析bean依赖之外,我们通常可能使用如下两种方式主动获取bean,触发bean实例化过程。如下所示,分别是根据bean class type以及beanName来获取
2016-09-28 15:22:30 1423
原创 ZipEntry实现文件解压缩与目录解压缩
在使用zip格式压缩、解压缩时, 压缩可以使用ZipEntry类和ZipOutPutStream类;解压缩可以使用ZipEntry类和ZipInPutStream类/* * 文件压缩 * files:要压缩的文件,以文件名数组的形式传参 * destZip:压缩之后zip文件所存在的目录,需要"D:\\"或"D:\\test\"格式 * */ p
2016-09-28 11:41:35 13108 4
原创 SpringBoot自动配置原理解析(一)
本文我们开始分析SpringBoot的自动配置原理。当我们想使用某个中间件时比如Redis,我们直接引入其starter然后在application.properties做一些简单配置即可使用。这就是SpringBoot的自动配置在起作用。从本质来讲,自动配置无非就是有个处理器在启动流程的某个环节根据某个条件进行了自动扫描并注册BeanDefinition到BeanFactory中。那么这里我们要搞清楚这样几个问题:* 表现是什么?* 处理器是什么?* 哪个环节?* 如何扫描注册?* 什么时候
2016-09-28 08:44:13 4215
原创 File操作-使用NIO进行文件的读写与复制
Tips-1:并不是所有的IO流类都支持NIO操作的,支持的类有FileInputStream、FileOutputStream和RandomAccessFile./*文件读取,返回读取内容*/ public static String fileReader(File fileName){ String fileContent = null; FileInput
2016-09-27 18:15:13 1068
原创 RandomAccessFile实现文件分割、合并
RandomAccessFile可使用的操作模式: “rwd”模式可用于减少执行的“I/O”操作数量。使用“rwd”仅要求更新要写入存储的文件的内容;使用“rws”要求更新要写入的文件内容与元数据。1.文件分割/** @param fileName:源文件;* @param filterFolder:分割后文件所在的目录;* @param size:分割文件大小,以KB为单位;*/pub
2016-09-23 17:10:18 2643
原创 认真学习设计模式之委派模式(Delegate Pattern)
委派模式不属于GOF23种设计模式, 主要角色有三种: 抽象任务角色, 委派者角色, 具体任务角色。**委派模式**具体是指定义一个抽象接口, 它有若干实现类, 他们真正执行业务方法, 这些子类是具体任务角色。定义委派者角色也实现该接口, 但它负责在各个具体角色实例之间做出决策, 由它判断并调用具体实现的方法。联想到工作中就是leader将任务分派给小组长,小组长进行任务具体拆分到个人。通常委派模式对外隐藏了具体实现, 仅将委派者角色暴露给外部。是不是立马想到了外观?如果委派者和具体的Concret
2016-09-23 08:34:33 21235
原创 SpringBoot中如何将@Bean方法解析为BeanDefinition?
本文是对[SpringBoot自动配置原理解析(四)](https://janus.blog.csdn.net/article/details/53466960)的补充,我们这里详细说明一下SpringBoot是如何将@Bean方法注册为BeanDefinition的。我们以`MybatisPlusAutoConfiguration`为例说明`sqlSessionFactory()`这个方法如何解析为BeanDefinition。```java@Bean@ConditionalOnMissing
2016-09-22 16:59:56 976
原创 Spring中那些BeanFactoryPostProcessors详解(一)
本文是对[Spring中refresh分析之invokeBeanFactoryPostProcessors方法详解](https://blog.csdn.net/J080624/article/details/54345467)的一个补充,我们详细说明一下那些BeanFactoryPostProcessor在invokeBeanFactoryPostProcessors方法中的作用。# 【1】CachingMetadataReaderFactoryPostProcessor`CachingMetad
2016-09-22 16:57:16 2217
原创 Java内部类 - 局部/匿名/成员/静态内部类
内部类的主要特征:1.内部类可以声明为抽象类,因此可以被其他的内部类继承,也可以声明为final; 2.和外部类不同,内部类可以声明为private或protected,外部类只能用public和default; 3.内部类可以声明为static,但此时就不能再使用外层封装类的非static成员变量; 4.非static的内部类的成员不能声明为static的,只有在顶层类或static的内部类
2016-09-22 14:36:50 1515 1
原创 Java中静态代码块、构造方法、代码块、父类与子类之间执行顺序及父类子类实例化对象
PS:今天群里一个小伙伴笔试,匆匆发来的求助信息。。。1.父类、子类之间代码块与构造方法public class HelloA { public HelloA(){ System.out.println("HelloA"); } {System.out.println(&
2016-09-21 16:20:45 5806
原创 Java中基本数据类型所占字节与取值范围
基本数据类型初始化默认值:基本数据类型转换:byte->short , char -> int -> long , float -> double int -> float long -> double基本数据类型对应的
2016-09-21 16:14:23 1356
原创 认真研究HashMap的结点移除
**关联博文**[数据结构之Map基础入门与详解](https://janus.blog.csdn.net/article/details/53214105)[认真学习Java集合之HashMap的实现原理](https://janus.blog.csdn.net/article/details/86774652)[认真研究HashMap的读取和存放操作步骤](https://janus.blog.csdn.net/article/details/52787823)[认真研究HashMap的初始化和
2016-09-21 15:00:13 6119 1
原创 认真学习数据结构之B/B+/B*树
前面我们学习了二叉树、AVL树、23树以及红黑树等。接下来我们研究B树/B+树。# 【1】多路查找树这里我们首先引入多路查找树的概念。多路查找树(MuitlWay Search Tree)是二叉树的演进,也就是允许一个节点存储一个以上的key。比如前面我们学习的23树,其就是一个一棵多路查找树。二叉树中每个结点有一个数据项,最多有两个子节点。如果允许树的每个节点可以有两个以上的子节点,那么这个树就称为n阶的多叉树,或者称为n叉树。**那么为什么演进多路查找树呢?**有没有那么一个场景,
2016-09-21 09:39:15 722
DubboOPS项目和管理后台jar包
2018-11-07
Struts2Spring4Hibernate4整合
2018-11-07
输入一段英文,去掉符号后将英文单词排序输出
2021-12-23
PHP课程设计图书管理系统、学生成绩管理系统、学生宿舍管理系统
2020-11-27
SpringBoot+thymeleaf+UEditor+不修改上传路径.zip
2020-02-04
jdk6-8String类
2019-11-20
dhcp+c3p0.zip
2019-10-27
Netty权威指南 第2版 带书签目录 高清完整版.pdf
2018-11-20
SpringBoot整合Dubbo和Zookeeper升级版
2018-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人