
java
文章平均质量分 52
chengfeng_blog
满怀对知识的渴求和技术的热诚
展开
-
谈谈JDK中用到的设计模式
谈谈JDK中用到的设计模式1.创建型设计模式1.1抽象工厂模式模式要点:抽象工厂提供创建产品的接口,包含多个创建产品的方法。具体工厂实现抽象工厂中的多个抽象方法,完成具体产品的创建。抽象产品定义产品的规范,描述产品的主要特征和功能。具体产品实现抽象产品定义的接口,由具体工厂来创建。JDK实现示例java.util.Collection接口中定义了一个抽象的...原创 2020-02-18 19:45:27 · 1308 阅读 · 0 评论 -
上传的图片怎么存储?(Tomcat 服务器映射目录配置)
在web网站开发的过程中,经常需要有用户上传图片或者视频的场景,那么问题来了,这些图片、视频等数量众多的多媒体文件存在哪里呢?首先肯定不能存储在项目路径下,这样会使整个项目体积变得庞大,毕竟图片、视频数据很占空间,会给发布,迁移项目带来不便,并且在Eclipse、MyEclipse开发环境下,项目删除之后再重新发布,存储在Tomcat里webapps目录下上传的多媒体文件会丢失。 因此,我目原创 2017-12-14 11:32:47 · 9464 阅读 · 2 评论 -
关于线程(Thread)的几个问题
1.什么是线程? 一个程序同时执行多个任务,每一个任务称为一个线程。2.多线程与多进程的区别? 本质的区别在于每个进程拥有自己的一整套变量即独立的地址空间,而线程则共享数据。3.线程的状态? 线程可以有6种状态:New(新创建)、Runnable(可运行、就绪)、Blocked(被阻塞)、Waiting(等待)、Timed waiting(计时等待)、Terminated(被终止)。4.线程优原创 2017-12-07 16:21:35 · 281 阅读 · 0 评论 -
WebSocket(Java)实现即时聊天
据我了解,Java Web项目中websocket实现方式有两种,第一种是基于SpringMVC拦截器方式实现,第二种是基于Tomcat提供的方式实现事件机制的websocket。 最近在毕设项目中需要实现即时聊天功能,我选用的是Tomcat提供的基于事件机制的websocket。 这种方式比较方便,不需要写XML配置文件,直接实现一个websocket服务类就行了。 ...原创 2018-04-27 16:16:41 · 6371 阅读 · 1 评论 -
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 · 12062 阅读 · 0 评论 -
基于SSM的旅游社交网站——携手同游旅游社交平台
毕业设计项目,主要模块有“携手同游”结伴出游,心醉游记,问答求助等。github地址:https://github.com/cf0821/xsty平台首页图:内置IM即时通讯用户注册...原创 2019-05-20 16:38:49 · 3644 阅读 · 9 评论 -
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 · 323 阅读 · 0 评论 -
从Guava Splitter方法中学习策略模式
在阅读Splitter方法的源码过程中注意到它使用到了设计模式中的策略模式。首先,我们来看策略模式的概念性介绍。策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。 ——此段来自网络。从结果论看,策...原创 2019-04-10 20:33:44 · 405 阅读 · 0 评论