![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 60
张志飞
知易行难
展开
-
使用hutool的mailUtil工具类发送邮件带有附件时,附件名称乱码问题
比如会出现这种情况:因为附件名称过长导致解决方法:在springboot项目在启动类main方法中增加如下 System.getProperties().setProperty("mail.mime.splitlongparameters", "false");这种修改就好了!原创 2021-12-15 15:33:19 · 1794 阅读 · 3 评论 -
@RequestParam和@requestBody的区别
@RequestParam注解@RequestParam接收的参数是来自HTTP请求体或请求url的QueryString中。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required表示是否必须,默认为true,必须。 defaultValue可设置请求参数的默认值。 value为接收url的参数名(相当于key值)。@RequestParam用来处理Content-Type为application/x...转载 2021-02-02 14:15:24 · 641 阅读 · 0 评论 -
删除文件夹下所有文件名中的广告 批量删除文件夹下的所有相同的文件名 java程序实现
没有学过编程语言的小伙伴不要浪费时间哦,这个是java程序,需要有一定环境才可以运行!广告如图:该程序不仅仅可以删除当前文件夹的广告,还可以删除文件夹下面的所有的!!! import java.io.File; /** * 自动扫描文件夹下的所有文件并去除文件名中的广告字段 */ public class ClearA...转载 2020-04-03 15:30:42 · 472 阅读 · 0 评论 -
Java实现输入一个格式的日期,输出格式化的当月天数显示
package com.cm.test;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCale...原创 2018-12-17 15:37:28 · 3029 阅读 · 0 评论 -
JAVA设计模式之模板方式
模拟银行取款等操作package com.imust.templateMethod;/** * 模拟银行取款等操作 * @author Zachary (为上帝所心仪的人) * @date 2017年9月9日 * @project shejimoshi * @package com.imust.templateMethod */public abstract class Ban原创 2017-09-09 15:46:40 · 203 阅读 · 0 评论 -
JAVA设计模式之策略模式
策略类package com.imust.strategy;/** * 策略类 * @author Zachary (为上帝所心仪的人) * @date 2017年9月9日 * @project shejimoshi * @package com.imust.strategy */public interface Strategy { public double getP原创 2017-09-09 15:15:31 · 144 阅读 · 0 评论 -
java(147)字节流文件读取,写入,追加文件
一,读取文件 1,建立联系:File对象 2.选择流 文件输入流 InputStream FileInputStream 3.操作:byte[] car = new byte[1024]; +read 读取大小 4.释放资源:关闭//建立联系 File src = new File("d:/a.txt"); //选择流 InputStream原创 2017-10-03 16:01:12 · 3626 阅读 · 0 评论 -
java(146)IO流原理,分类,标准步骤
一,概念 流:流动,流向 从一端移动到另外一端,源头与目的地程序 与 文件|数组|网络连接|数据库,以程序为中心二 IO流分类 1.流向:输入流与输出流 2.数据:字节流:二进制,可以一切文件 包括 纯文本 doc 音频,视频等等 字符流:只能处理纯文本 三:字符流与字节流(重) 1.字节流 输入流:InputStream read(byte[] b,i原创 2017-10-03 15:13:15 · 299 阅读 · 0 评论 -
java DateUtils
package cn.com.icreate.util;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date原创 2017-09-21 09:14:18 · 248 阅读 · 1 评论 -
java 两个Double类型的数值之间的加减操作
DoubleUtilsimport java.math.BigDecimal;public class DoubleUtil { /** * double 相加 * @param d1 * @param d2 * @return */ public static double sum(double d1,double原创 2017-09-21 09:11:28 · 26566 阅读 · 1 评论 -
第十八章(第三部分)通过反射查看类的信息
18.3.1获得Class对象 在java程序中获得Class对象通常有如下三种方式。 –1.使用Class类的forName()静态方法。该方法需要传入字符串参数,该字符串参数的值是某个类的全限定类名(必须添加完整包名) –2调用某个类的class属性来获得该类对应的Class对象,例如Person.class将会返回Person类对应的Class对象 –3调用某个对象的getClass方原创 2017-09-19 09:20:45 · 406 阅读 · 0 评论 -
JAVA接口可以实现多继承
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。java类是单继承的。classB Extends classAjava接口可以多继承。Interface3 Extends Interface0, Interface1, interface……不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?但接口不存在这样的问题,接口全都是抽象方法继承谁转载 2017-09-11 07:21:00 · 647 阅读 · 0 评论 -
Java的六大存储区域
1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2. 堆栈(stack)。位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效原创 2018-01-17 17:26:56 · 3004 阅读 · 0 评论 -
JVM启动参数的类别及使用
JVM启动参数还是比较实用的,于是我研究了一下它的用法,前段时间下了et项目,启动jBoss的时候出现了一个问题,查了一下,发现是jBoss配置的JVM启动参数有问题,总结了一下解决方案希望对你的学习有所帮助。JVM启动参数小结前段时间下了et项目,启动jBoss的时候出现了一个问题,查了一下,发现是jBoss配置的JVM启动参数有问题。后来发现很多人都遇到过类似的问题。因此,在网上学习了相关资料转载 2018-01-18 11:38:38 · 153 阅读 · 0 评论 -
jsp中用C:foreach标签遍历list嵌套list
一:先创建一个封装集合的实体类package com.cm.supermarket.pojo.base;import java.util.List;/** * list实体类 */public class ListProperties { private String key; private List<PageData> valueList;...原创 2019-08-12 14:50:01 · 4318 阅读 · 0 评论 -
List集合切分成多个子集合
** * 拆分集合 * 用于批处理,在批量操作数据库时候数据太大的时候最好还是先拆分 * * @param <T> * @param resList 要拆分的集合 * @param count 每个集合的元素个数 * @return 返回拆分后的各个集合 */ public static &l...原创 2019-08-12 14:41:27 · 1355 阅读 · 0 评论 -
Java 特殊时间处理 (2019-01-31T16:00:00.000+0000)
public static String dealDateFormat(String oldDate) { Date date1 = null; DateFormat df2 = null; try { DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"...原创 2019-08-09 11:02:43 · 7975 阅读 · 0 评论 -
JAVA XML转JSON工具类
package com.cm.util.xmlutl;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; import org.apache.log4j.Logger;import org.dom4j.*; import java.io.File;import java.io....原创 2019-05-20 08:48:52 · 3059 阅读 · 4 评论 -
List实现分页
package com.cm.util;import java.util.Arrays;import java.util.Collections;import java.util.List;public class ListPageUtil<T> { /**原集合*/ private List<T> data; /** 上一页 */...原创 2019-03-15 09:34:04 · 1346 阅读 · 0 评论 -
myeclipse导入项目后jar包没有的解决办法
进入项目的根目录(即 pom.xml文件所在的目录) 然后在当前目录按住Shift键,同时点击右键,选择“在此处打开命令窗口”。然后在命令窗口内输入命令: 执行:mvn dependency:copy-dependencies ...原创 2019-02-20 15:24:28 · 2430 阅读 · 0 评论 -
JAVA SSM项目代码中读取properties文件
URL url = this.getClass().getClassLoader().getResource("ele_user.properties"); Properties pro = new Properties(); FileInputStream in = new FileInputStream(url.getPath()); pro.load(i...原创 2019-02-13 14:36:01 · 2521 阅读 · 1 评论 -
Base64与File之间的相互转化
两个工具类一:File转Base64 * File转成编码成BASE64 */ public static String fileToBase64(String path) { String base64 = null; InputStream in = null; try { Fi...原创 2018-12-20 16:33:59 · 5121 阅读 · 0 评论 -
工厂模式之抽象工厂模式
package com.imust.gof.abstractfactory;public interface Engine { void run(); void start();}class LuxuryEngine implements Engine{ @Override public void run() { System.out.println(原创 2017-09-06 16:33:34 · 158 阅读 · 0 评论 -
第18章 (第二部分)类加载器机制
18.2.2类加载机制JVM的类加载机制主要有以下三种 –>全盘负责。所谓全盘负责,就是当一个类加载器负责加载某个Class时,该Class所依赖的和引用的其他Class也将由该类加载器负责载入,除非显示使用另外一个类加载器来载入–>父类委托。所谓父类委托,则是先让parent(父)类加载器试图加载该Class,只有在父类加载器无法加载该类时才尝试从自己的类路径中加载该类–>缓冲机制。缓冲机制将会原创 2017-09-18 16:33:54 · 371 阅读 · 0 评论 -
java多线程学习
本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。在这之前,首先让我们来了解下在操作系统中进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小转载 2017-09-26 15:50:28 · 658 阅读 · 0 评论 -
JAVA设计模式之静态代理
以明星和经纪人为例子package com.imust.proxy.staticProxy;public interface Star { /** * 面谈 */ void confer(); /** * 签合同 */ void signContract(); /** * 订票 */ void原创 2017-09-07 11:33:53 · 148 阅读 · 0 评论 -
JAVA设计模式之适配器模式
适配器模式: 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电脑无法使用。这时候一个三相到两相的转换器(适配器)就能解决此问题,而这正像是本模原创 2017-09-07 10:34:12 · 140 阅读 · 0 评论 -
测试new和克隆创建对象的效率差异
package com.imust.prototype;/** * 测试普通new 方式创建对象和clone方式创建对象的效率差异 * 如果需要短时间创建大量对象,并且new的过程比较耗时。则可以考虑使用原型模式 * @author Zachary (为上帝所心仪的人) * @date 2017年9月6日 * @project shejimoshi * @package com.原创 2017-09-06 21:56:48 · 1142 阅读 · 0 评论 -
JAVA设计模式之原型模式
浅度克隆package com.imust.prototype;import java.util.Date;/** * 克隆实现这个接口 * @author Zachary (为上帝所心仪的人) * @date 2017年9月6日 * @project shejimoshi * @package com.imust.prototype */public class Sheep原创 2017-09-06 21:01:37 · 154 阅读 · 0 评论 -
JAVA之构建者模式
以宇宙飞船为例package com.imust.builder;/** * 宇宙飞船 (实例建造者模式) * @author Zachary (为上帝所心仪的人) * @date 2017年9月6日 * @project shejimoshi * @package com.imust.builder */public class AirShip { private O原创 2017-09-06 19:58:34 · 263 阅读 · 0 评论 -
工厂模式之工厂方法模式
package com.imust.gof.factory.factorymethod;public interface Car { public void run();}package com.imust.gof.factory.factorymethod;/** * 根据设计理论,使用工厂方法模式,但是实际中我们都使用简单工厂模式 * @author Zhang.Zhi.Fei 20原创 2017-09-06 15:50:04 · 161 阅读 · 0 评论 -
文工厂模式之简单工厂
我们用汽车来举个例子 先定义一个接口Carpackage com.imust.gof.factory.simple;public interface Car { public void run();}然后写俩个类分别实现这个接口package com.imust.gof.factory.simple;public class Audi implements Car{ @Override原创 2017-09-06 15:21:58 · 186 阅读 · 0 评论 -
JAVA设计模式之单例模式(创建型)
1,饿汉式 优点:线程安全,调用效率高package com.imust.gof.demo;/** * 测试饿汉式单例:特点:线程安全,(天然的线程安全模式) * 设计模式 * 创建型模式:单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式 * 结构型模式:适配器模式,桥接模式,装饰模式,组合模式,外观模式,享原模式,代理模式 * 行为型模式:模版方法模式,命令模式,迭代模式,观察器原创 2017-09-05 20:41:23 · 351 阅读 · 1 评论 -
Java实现给定任意年份和月份,输出该月有多少天
项目开发过程中,细节性的地方需要判定某年某月多少天,写了个下面的小工具解决了此问题 package weiming.lmapp.utils; public class GetDays { /** * 闰年的条件(满足之一即可):(1)能被4整除,但不能被100整除;(2)能被400整除 * @param year * @param mon原创 2017-09-13 19:19:06 · 9385 阅读 · 0 评论 -
JAVA正则表达式
一: \d 任意一个数字,0~9的任意一个 \w 任意一个字母或数字或下划线,也就是A~Z,a~z,0~9中任意一个 \s包括空格,制表符,换行符等空白字符的其中任意一个 . 小数点可以匹配任意一个字符(除了换行符)如果要匹配包括”\n”在内的z所有字符,一般用 [\s\S]二: 自定义字符集合 [ ]匹配方式,能够匹配方括号中任意一个字符[ab5@]匹配”a”或”b”或“5”或”@原创 2017-09-15 09:38:59 · 179 阅读 · 0 评论 -
JAVA设计模式之动态代理(JDK)
以明星和经纪人为例子package com.imust.proxy.dynamicProxy;public interface Star { /** * 面谈 */ void confer(); /** * 签合同 */ void signContract(); /** * 订票 */ void原创 2017-09-07 14:40:13 · 226 阅读 · 0 评论 -
JAVA设计模式之桥接模式
桥接模式总结: 桥接模式可以取代多层继承的方案,多层继承违背了单一职责原则,复用性较差,类的个数也非常多。桥接模式可以极大的减少子类的个数,从而降低管理和维护的成本2.桥接模式极大提高了系统的可扩展性,在两个变化维度中任意扩展一个维度,都不需要修改原有的系统,符合开闭原则package com.imust.bridge;/** * 品牌 * @author Zachary (为上帝所心仪的人原创 2017-09-07 15:39:52 · 221 阅读 · 0 评论 -
第18章 (第一部分 )类的加载链接和初始化
18.1.1 JVM和类 当调用JAVA命令运行某个JAVA程度时,该命令将会启动一个JAVA虚拟机进程,不管该JAVA程序有多么复杂,该程序启动了多少个线程,他们都处于该JAVA虚拟机进程里。同一个jvm的所有的线程,所有的变量都处于同一个进程里,他们都使用该jvm进程的内存区。当系统出现以下几种情况时,JVM进程将被终止 –>程序运行到最后正常结束 –>程原创 2017-09-18 11:50:19 · 358 阅读 · 0 评论 -
JAVA设计模式之命令模式
命令模式:将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。也称为 动作Action模式,事务transaction模式真正的命令执行者package com.imust.command;/** * 真正的命令执行者 * @author Zachary (为上帝所心仪的人) * @date 2017年9月8日 * @原创 2017-09-08 20:53:24 · 236 阅读 · 0 评论 -
JAVA设计模式之中介者模式
终结者接口package com.imust.mediator;/** * 中介者接口 * @author Zachary (为上帝所心仪的人) * @date 2017年9月8日 * @project shejimoshi * @package com.imust.mediator */public interface Mediator { void register(原创 2017-09-08 20:28:42 · 187 阅读 · 0 评论