自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于SSM的旅游社交网站——携手同游旅游社交平台

毕业设计项目,主要模块有“携手同游”结伴出游,心醉游记,问答求助等。github地址:https://github.com/cf0821/xsty平台首页图:内置IM即时通讯用户注册...

2019-05-20 16:38:49 3568 9

原创 谈谈JDK中用到的设计模式

谈谈JDK中用到的设计模式1.创建型设计模式1.1抽象工厂模式模式要点:抽象工厂提供创建产品的接口,包含多个创建产品的方法。具体工厂实现抽象工厂中的多个抽象方法,完成具体产品的创建。抽象产品定义产品的规范,描述产品的主要特征和功能。具体产品实现抽象产品定义的接口,由具体工厂来创建。JDK实现示例java.util.Collection接口中定义了一个抽象的...

2020-02-18 19:45:27 1237

原创 从Guava Splitter方法中学习策略模式

在阅读Splitter方法的源码过程中注意到它使用到了设计模式中的策略模式。首先,我们来看策略模式的概念性介绍。策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。 ——此段来自网络。从结果论看,策...

2019-04-10 20:33:44 362

原创 Guava学习笔记(Strings,Joiner,Splitter,CharMacher)

1.Strings用途:字符串判空,前后拼接指定字符以达到某个长度,复制自身示例:1.字符串判空 Strings.isNullOrEmpty("");//true Strings.nullToEmpty(null);//"" Strings.nullToEmpty("a");//"a" Strings.emptyToNull("");//null St...

2019-03-17 16:31:41 288

原创 Java Contains()方法传入空(非null)字符串的返回结果

Java Contains()方法传入空字符串(为“”非null)的返回结果Contains为字符串操作中常用的方法,用来判断字符串以及子串是否包含目标串。然而String和String集合调用Contains方法传入空串(“”)的返回结果是不一致的。 1、Str.contains(“”)返回true 当Str为字符串时,Str.contains()方法的JDK源码为:public b...

2018-08-28 16:06:34 11704

原创 WebSocket(Java)实现即时聊天

据我了解,Java Web项目中websocket实现方式有两种,第一种是基于SpringMVC拦截器方式实现,第二种是基于Tomcat提供的方式实现事件机制的websocket。 最近在毕设项目中需要实现即时聊天功能,我选用的是Tomcat提供的基于事件机制的websocket。 这种方式比较方便,不需要写XML配置文件,直接实现一个websocket服务类就行了。 ...

2018-04-27 16:16:41 6275 1

原创 SpringMVC配置拦截器实现身份认证

SpringMVC配置拦截器实现身份认证定义拦截器,实现HandlerInterceptor接口。package com.fin.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springfram...

2018-03-20 10:17:01 1471

原创 手把手教你用Hexo+(Coding/GitHub)搭建个人博客及绑定私有域名

Hexo是一个开源的静态博客框架,支持markdown文档,应用起来很方便而且有丰富的主题模板可供选择,是建立个性化的个人博客的不二之选。以下以Coding+hexo为例搭建个人博客.因为GitHub在国内访问速度较慢,因此选择Coding,但是在GitHub上搭建的步骤也是大同小异的。 预先准备的环境应该要有:GitCoding账号node.js 安装好git以及node.js之后,在电

2017-12-22 12:29:15 13947 5

原创 上传的图片怎么存储?(Tomcat 服务器映射目录配置)

在web网站开发的过程中,经常需要有用户上传图片或者视频的场景,那么问题来了,这些图片、视频等数量众多的多媒体文件存在哪里呢?首先肯定不能存储在项目路径下,这样会使整个项目体积变得庞大,毕竟图片、视频数据很占空间,会给发布,迁移项目带来不便,并且在Eclipse、MyEclipse开发环境下,项目删除之后再重新发布,存储在Tomcat里webapps目录下上传的多媒体文件会丢失。 因此,我目

2017-12-14 11:32:47 9254 2

原创 关于线程(Thread)的几个问题

1.什么是线程? 一个程序同时执行多个任务,每一个任务称为一个线程。2.多线程与多进程的区别? 本质的区别在于每个进程拥有自己的一整套变量即独立的地址空间,而线程则共享数据。3.线程的状态? 线程可以有6种状态:New(新创建)、Runnable(可运行、就绪)、Blocked(被阻塞)、Waiting(等待)、Timed waiting(计时等待)、Terminated(被终止)。4.线程优

2017-12-07 16:21:35 246

原创 Ubuntu下安装BigChainDB

BigChainDB是一个去中心化系统的区块链数据库。最近在与区块链技术相关的方面需要用到这一个数据库。因此,在Ubuntu下安装BigchainDB遇到了一些问题,在此统一记录下来,给其他需要安装BigChainDB的同行做参考。 首先,安装BigChainDB之前得安装3.4以上版本的MongoDB,而3.4以上版本的MongoDB只支持64位的Ubuntu系统,如果是32位则无法安装。Mon

2017-11-29 17:19:11 1920 3

原创 Java实现红黑树

红黑树(Red Black Tree) 是一种自平衡二叉查找树,红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。 它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除。红黑树的性质: 性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3 每个叶

2017-11-22 16:07:45 256

原创 Java实现哈夫曼树(HuffmanTree)

树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。哈夫曼树又称为最优树,即构造WPL值最小的树。 构造思路: 假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权

2017-11-14 09:37:30 557

原创 Java实现二叉排序树

二叉树 是数据结构里比较重要的一部分。有二叉树还引申出各个分支,如:平衡树、排序树、字典树、最优树等。 对于各种树的特点和算法思想,我觉得这一篇博文讲的非常详细,在此附上链接地址:二叉树的应用详解 下面是Java实现的一个简单二叉排序树,代码如下:package tree;public class BinaryTree { class Node { //定义树结点

2017-11-09 13:54:48 279

原创 Java实现单链表

java实现单链表单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。 链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。参数列表及方法: 源代码如下:package linear;class Node{ private Node

2017-11-08 17:03:54 293

原创 Java实现基于LinkedList的栈

利用LinkedList实现栈:package linear;import java.util.LinkedList;/** * 基于LinkedList实现栈结构 */public class ListStack<E>{ private LinkedList<E> list; public ListStack() { list = new LinkedList<

2017-11-06 13:40:25 898

原创 Java实现基于数组的顺序栈

栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。后进先出(Last In First Out),简称为LIFO线性表。 栈的基本操作共有六种:构造栈并初始化:Stack();Stack(int initalSize); 判断空栈:isEmpty(); 判断满栈:isFull(); 入栈操作:push(E e); 出栈操作:pop();取栈顶元素

2017-11-06 11:16:50 444

原创 Spring之SpEL表达式

最近在学习《Spring实战》一书的过程中发现Spring中的表达式SpEL的应用范围还是很广泛的,特意整理一下SpEL的用法如下: 首先,说一说SpEl表达式支持的特性有:使用Bean的ID来引用Bean; 调用方法和访问对象的属性; 对值进行算术、关系和逻辑运算; 正则表达式匹配; 集合操作;1、引用Bean和访问Bean的属性略过,以下是访问Bean的方法:<property n

2017-11-06 09:24:59 647

原创 SSM框架中的术语

在SSM框架的学习中经常碰到一些术语,初学起来对它的含义不甚了了,给学习带来了一些不便,因此整理SSM框架中的一些简称、术语,做个笔记。1.SSMSSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成。2.AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说

2017-09-15 19:30:50 1064

空空如也

空空如也

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

TA关注的人

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