Java
文章平均质量分 69
Java相关文章,学习路线
进修的CODER
沉迷学习,不能自拔。只要学不死,就往死里学。代码虐我千百遍,我待代码如初恋@_@
展开
-
IDEA抑制编译告警@SuppressWarning注解属性说明
IDEA抑制编译告警@SuppressWarning注解属性说明原创 2022-06-07 15:47:46 · 1443 阅读 · 2 评论 -
涉及通配符的多个元素寻找最优匹配方法
针对于多个元素寻找最优匹配的方法,举例来说我们想要查找一个学生的信息,已经知晓了该学生的姓氏+所在省份+所在城市+大学名称,现在我们要从一份学生列表当中去找到指定的这名学生,常规思路就是采用**equals**方法去学生列表中匹配每一项信息是否都相同,如果都能完全匹配上,表明就是我们想要找到目标。现在出了一点变化,这个学生列表中出现了通配符(*/表示任意信息都能匹配上,如表格所示)的情况,上面的这种方法就不能满足我们的需求了,可能会有很多个学生都能够匹配上,例如我们需要查找一名在浙江省杭州市浙大并且姓王的原创 2022-05-11 17:42:25 · 737 阅读 · 0 评论 -
Google Guava常用工具类入门使用介绍及样例说明
目录概述基础工具1.Optional2.Objects.equals3.Objects.hash4.MoreObjects.toStringHelper5.ComparisonChain6.Preconditions集合工具1.ImmutableSet2.ImmutableList3.4.5.6.字符串工具1.2.3.4.5.6.附录1.Person.java概述工具类将经常用的一些方法进行了封装,遇到相同的场景时不需要重复造轮子,从而大量节省开发人员时间和提高工作效率,Guava就是谷歌发布的高效率的原创 2022-03-04 18:11:34 · 2624 阅读 · 0 评论 -
OTP一次性动态密码工具Java实现
一次性密码(One Time Password,简称OTP),又称“一次性口令”,是指只能使用一次的密码。一次性密码是根据专门算法、每隔60秒生成一个不可预测的随机数字组合,iKEY一次性密码已在金融、电信、网游等领域被广泛应用,有效地保护了用户的安全。原创 2022-01-12 14:24:24 · 2634 阅读 · 0 评论 -
Java同步阻塞Socket网络通信多线程编程代码模式
服务端编程模式public class Server { public static void main(String args[]) throws IOException { //为了简单起见,所有的异常信息都往外抛 int port = 8899; //定义一个ServerSocket监听在端口8899上 ServerSocket server = new ServerSocket(port); while (true) {原创 2020-08-29 15:37:25 · 317 阅读 · 0 评论 -
Spring注解配置AOP切面实现注解切点记录方法执行日志和时间
1、方法执行日志方案设计1.1 注解的方式通过定义日志注解+解析注解的方式来实现记录方法执行日志,这种方式在需要监控的接口实现方法上打上定义的注解,再通过解析注解的方式将日志记录到文件。注解方式的优点是粒度细,在需要监控的服务接口实现方法打上注解就可以实现记录日志。缺点是服务接口太多的话,每一个接口都需要打上注解,比较繁琐。定义注解import java.lang.annotation.*;@Target(ElementType.METHOD)@Retention(RetentionPoli原创 2020-08-05 22:37:37 · 1599 阅读 · 0 评论 -
Java学习路线大纲+Java学习路线图
一、Java学习路线参考知乎回答2019年最新的Java学习路线是怎样的,求分享?二、学习大纲地基部分数据结构:线性表、队列、栈、树、图、哈希等等常见算法:10大排序、字符串匹配、二分法、双指针等等操作系统:进行线程管理、内存管理、I/O等等计算机网络:四层协议、TCP/UDP、HTTP/HTTPS等等基础越扎实,后期学习越轻松。建议小伙伴有时间把基础好好掌握,自...原创 2020-04-29 15:15:54 · 1551 阅读 · 0 评论 -
JDK动态代理简单使用方法+通过Proxy和InvocationHandler源码解析原理
一、JDK动态代理的使用JDK动态代理模式是基于接口,所以我们先定义一个Moveable接口:public interface Moveable { void go();}再定义一个需要被代理的Car类:public class Car implements Moveable { @Override public void go() { Syst...原创 2020-04-28 17:04:45 · 516 阅读 · 0 评论 -
SpringBoot Java解决下载文件时文件名乱码问题
问题:当下载文件时,文件名称为中文时,如果没有对中文进行处理就会出现乱码的问题,如下图:解决方案:对中文进行编码处理,代码如下: ////解决下载文件时文件名乱码问题 byte[] fileNameBytes = fileName.getBytes(StandardCharsets.UTF_8); fileName = new String(...原创 2020-02-28 20:03:21 · 5069 阅读 · 0 评论 -
SpringBoot Java实现Http方式分片下载断点续传+实现H5大视频渐进式播放
一、功能目的SpringBoot 实现Http分片下载断点续传,从而实现H5页面的大视频播放问题,实现渐进式播放,每次只播放需要播放的内容就可以了,不需要加载整个文件到内存中;二、Http分片下载断点续传实现package com.unnet.yjs.controller.api.v1;import com.unnet.yjs.annotation.HttpMethod;import ...原创 2020-11-25 17:31:42 · 11325 阅读 · 14 评论 -
final,static,this,super 关键字总结
final,static,this,super 关键字总结final 关键字final关键字主要用在三个地方:变量、方法、类。对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。当用final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为fina...原创 2020-02-28 19:59:18 · 316 阅读 · 0 评论 -
设置IDEA jdk1.8 javadoc中文提示
一、chm文件转换成html文件夹chm文件是一种“已编译的HTML文件”,利用HTML作源文,把相关内容以类似数据库的形式编译储存。 Windows上自带的hh.exe程序是系统默认打开.chm扩展名文件的程,通过反编译命令,我们就可以将chm文件转为html文件;新建doc文件夹和chm文件在同一级目录下;在当前目录下打开cmd命令窗口;执行反编译命令hh -decom...原创 2020-02-28 19:57:53 · 4020 阅读 · 8 评论 -
解决:Ideas SpringBoot打包出现没有主清单
Mavenpom.xml配置 <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</...原创 2019-03-02 17:40:23 · 464 阅读 · 0 评论 -
解决:Docker镜像运行+Nginx访问出现的静态资源404错误
一、问题背景:Docker部署的应用需要上传文件,上传的静态文件需要通过nginx访问,出现nginx访问404问题!二、解决方案:1、docker部署应用时,将文件上传的目录挂载到宿主机的对应目录上。例如:应用上传到【/oss/home】中,将这个目录映射到主机的对应的【/oss/home】目录上,docker命令如下:docker run -d -p 8082:8082 \...原创 2019-03-03 14:24:16 · 13406 阅读 · 4 评论 -
Java调用webservice接口方案:Axis客户端调用JAX-WS出现的问题
问题:namespace mismatch require http://manager.service.sc.project.base.com found noneAxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: namespace mi...原创 2019-03-07 11:43:52 · 1600 阅读 · 0 评论 -
java8 Stream和Lambda函数式编程Demo
///Java对象类package cn.missbe.random.demo.study;import com.xiaoleilu.hutool.util.RandomUtil;public class Dish { public enum Level{DIET,NORMAL,FAT} public enum Type{MEAT,FISH,OTHER} pri...原创 2019-03-15 20:29:01 · 241 阅读 · 0 评论 -
java8 Lambda表达式+策略设计模式
/** * 策略模式代表了一类算法的通用解决方案,可以在运行时选择那种方案 */public interface Strategy { boolean execute(String s);}class IsAllLowerCase implements Strategy{ @Override public boolean execute(Stri...原创 2019-03-15 21:51:15 · 1093 阅读 · 0 评论 -
java8 Lambda表达式+观察者模式
/** * 观察者模式是一种比较常见的方案,某些事件发生时(比如状态转变),如果一个对象(通 * 常我们称之为主题)需要自动地通知其他多个对象(称为观察者),就会采用该方案。创建图形 * 用户界面(GUI)程序时,你经常会使用该设计模式。这种情况下,你会在图形用户界面组件(比 * 如按钮)上注册一系列的观察者。如果点击按钮,观察者就会收到通知,并随即执行某个特定的 * 行为。...原创 2019-03-15 21:58:40 · 802 阅读 · 0 评论 -
java8 Lambda表达式+责任链模式
/** *责任链模式是一种创建处理对象序列(比如操作序列)的通用方案。一个处理对象可能需要 * 在完成一些工作之后,将结果传递给另一个对象,这个对象接着做一些工作,再转交给下一个处 * 理对象,以此类推。 * 通常,这种模式是通过定义一个代表处理对象的抽象类来实现的,在抽象类中会定义一个字 * 段来记录后续对象。一旦对象完成它的工作,处理对象就会将它的工作转交给它的后继。代码...原创 2019-03-15 22:04:55 · 1993 阅读 · 0 评论 -
java8-Optional使用Demo
/** * 在域模型中使用 Optional ,以及为什么它们无法序列化? * 我们展示了如何在你的域模型中使用 Optional ,将允许缺失或者暂 * 无定义的变量值用特殊的形式标记出来。然而, Optional 类设计者的初衷并非如此,他们构 * 思时怀揣的是另一个用例。这一点,Java语言的架构师Brian Goetz曾经非常明确地陈述过, * Optional 的设...原创 2019-03-16 11:21:07 · 465 阅读 · 0 评论 -
java8-Future、CompletableFuture异步处理Demo
class Shop { /**异步非阻塞式调用*/ @SuppressWarnings("AlibabaAvoidManuallyCreateThread") public Future<Double> getPriceAsync(String product){ CompletableFuture<Double> futureP...原创 2019-03-16 12:46:16 · 1221 阅读 · 3 评论 -
SpringBoot2+Swagger2集成配置+问题请求不到swagger-ui.html解决方案
一、配置Maven <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.ou...原创 2019-05-30 21:07:32 · 15874 阅读 · 4 评论 -
Maven2部署构件到Nexus时出现的401 4xx-Failed to transfer file错误
具体怎样使用deploy命令部署构件到nexus服务器上可以参考经典的《Maven Definitive Guide》(Maven操作指南),书中的16.7节里面讲解的非常详细。假设我们在项目pom.xml文件中对maven服务器的设置信息如下: <distributionManagement> <repository> <i...转载 2019-05-29 22:10:53 · 6576 阅读 · 0 评论 -
Java-Web-JSP的三大指令和七大动作基本语法
JSP的基本构成JSP页面主要由指令标签,注释,嵌入Java代码,JSP动作标签,HTML标记语言等五个元素组成。【1】指令标签 1.1 page指令 <%@ page attr1=”value1” atrr2=”value2”.......%>page指令的常用属性如下: (1) language属性 该属性用于设置JSP页面使用的语言,目前只支持Java语...原创 2016-05-06 19:57:18 · 6785 阅读 · 0 评论 -
HTTP Status 400 - Required CommonsMultipartFile[] parameter 'XXX' is not present
<!DOCTYPE html><html> <head> <title>Apache Tomcat/9.0.0.M17 - Error report</title> <style type="text/css">h1 {font-family:Tahoma,Arial,sans-原创 2018-11-07 18:26:27 · 654 阅读 · 0 评论 -
spring mvc文件上传 | 单个文件上传 | 多个文件上传
一、单个文件上传spring mvc 实现文件上传需要引入两个必须的jar包 1.所需jar包: commons-fileupload-1.3.1.jar commons-io-2.2.jar 2.定义上传页面: 定义具有上传功能的xx.jsp,其表单的设置需要注意,method属性为post,enctype属性为...转载 2018-11-07 18:18:51 · 319 阅读 · 0 评论 -
JSP+JavaBean与JSP+Servlet+JavaBean模型
JSP+JavaBean模式,JSP负责页面显示,并且要处理一系列逻辑。JavaBean让HTML网页与Java代码分离,处理了业务逻辑,JSP页面整洁并且精简了。JSP+JavaBean的业务处理逻辑如下: 从图中可以看出JSP页面与JavaBean页面相分离。分工明确,JSP显示,JavaBean逻辑处理,列成了层次结构。下面有一个JSP+JavaBean模式的实例程序,参考于J原创 2016-05-08 19:09:05 · 1416 阅读 · 0 评论 -
Filter过滤器及HttpServletRequestWrapper使用
Filter过滤器是一种比较实用的东西,可以过滤不良信息,对提交来的信息进行处理。是Request和Response之间的传输纽带。具有重要作用,下面用一个Filter过滤器的程序来熟悉过滤器的使用。在提交的数据信息中,有一些信息需要过滤掉。例如,一些暴力情色信息,我们可以通过过滤器来过滤掉这些信息,过滤器功能代码如下:public class WordFilter im...原创 2016-05-07 18:05:18 · 10797 阅读 · 0 评论 -
JSP+Servlet实现注册登录功能
JSP是表现层,显示出要注册的内容。用表单提交进行数据转发,表单提交给Servlet进行处理,进行数据库连接将数据写入数据库,写入成功,返回成功注册信息。具体代码如下: JSP代码负责显示,充当显示层。与用户进行交互,将用户提交数据转发给服务器处理的功能。 用户注册 body{ margin: 0px;font-size: 12px; }原创 2016-05-07 16:29:48 · 11734 阅读 · 2 评论 -
Java-Web-Servlet入门基础相关知识
Servlet的运行过程如下图: Servlet的代码结构如下:public class SimpleServlet extends HttpServlet { private static final long serialVersionUID = 926865175251139599L; Public void init() throws Servl...原创 2016-05-07 14:49:25 · 627 阅读 · 0 评论 -
JSP中的九大内置对象(Request/Response/Cooike/Session/Application/Out/pageContext)
Request对象:(1)request获取请求参数值。Eg:String str=request.getParameter(“str”);(2)如果请求参数的文字编码方式与页面不一致造成乱码-解决中文乱码问题:<%=new string(request.getparameter(“str”).getBytes(“gbk2312”,”utf-8”);(3)获取Form...原创 2016-05-06 21:55:11 · 442 阅读 · 0 评论 -
JSP页面引用JavaScript和Css路径问题
先看一下我们的目录结构:在WebRoot文件夹下有index.jsp想要访问文件夹 a/b/b.jsp可以直接使用相对路径。然而有一个问题是进入b.jsp过后访问外部index.jsp时会出错,因为它是相对于a/b/b.jsp路径下去找index.jsp的,在这个文件路径下并没有这个JSP文件,所以会产生错误。我们可以采用以下两种方式:(1)在每个链接跳转即href属性中加入原创 2016-05-15 07:34:48 · 10075 阅读 · 0 评论 -
JSP中forward与sendRedirect在服务端路径问题
//请求转发,在服务器端,"/"代表(相对于)web应用http://localhost:8000/JspServletPath/ //所以请求转发的绝对路径为http://localhost:8000/JspServletPath/文件夹名称/xxx.jsp// request.getRequestDisp原创 2016-05-14 21:16:13 · 1266 阅读 · 0 评论 -
forward(request,reponse)与sendRedirect
forward(request,reponse)与setRedirect不同有以下几点: (1)forward是转发,是在同一个站点进行转发。所以转发前页面的值在转发后还是可以获取的,可以通过request获取转发前的值。而setRedirect不仅可以重定向到另一个网站的页面,也可以重定向到自己网站的页面,但是它是两次请求,两次请求的request对象都不相同。重定向过后页面不原创 2016-05-12 22:56:36 · 723 阅读 · 0 评论 -
基于Servlet+JSP+JavaBean开发模式的用户登录注册
一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。 这里以一个最常用的用户登录注册程序转载 2016-05-12 23:04:13 · 1027 阅读 · 0 评论 -
Servlet和JSTL在web.xml中的配置
配置如下:<jsp-config> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </tag...原创 2016-05-12 17:40:58 · 2621 阅读 · 0 评论 -
基于MVC思想的JSP+Servlet+JavaBean的登录模块
用户实体对象 User类用于封装用户实体对象,提供了用户对象的详细信息以及相应的setXXX()和getXXX()方法:package model;public class User { private int id; // 标识 private String username;// 用户名 private String password;// 密码 private原创 2016-05-08 22:38:51 · 594 阅读 · 0 评论 -
EL表达式语言基础解析
【1】使用EL表达式语言的前提条件由于在JSP 2.0以前不存在EL表达式,为和以前的代码兼容,可以采取下面三种方式来禁用EL表达式,相应的也可以采用这几种方式启用EL表达式;① 使用斜杠”\”符号,在EL表达式前面使用斜杠,可以禁用指定EL表达式,适用于页面中EL表达式不多的情况下。例:\${expression}② 使用page指令来禁用EL表达式:<%@page isELI...原创 2016-05-09 20:24:47 · 656 阅读 · 0 评论 -
Java-Dom和Dom4j解析XML文件的两种方式
一、利用Dom4j进行生成和解析XML文件,简要过程如下://////////使用Dom4j创建XML文档//【1】定义一个XML文档对象Document document=DocumentHelper.createDocument();//【2】定义一个XML元素,添加根结点Element root=document.addElement("根结点名称");///Elemen...原创 2016-06-03 23:57:16 · 1351 阅读 · 0 评论 -
spring+mybatis 中一个insert,delete,update中执行多条SQL语句
1、在数据库连接池字符串后加上 allowMultiQueries=truejdbcUrl=jdbc\:mysql\://localhost\:3306/dx360?characterEncoding\=utf8&autoReconnect\=true&allowMultiQueries\=true2、多个SQL语句以 ; 分隔开public String del...原创 2018-11-03 16:50:59 · 1657 阅读 · 0 评论