- 博客(76)
- 收藏
- 关注
转载 Java基础之接口与抽象类的区别
1、基本语法区别Java中接口和抽象类的定义语法分别为interface与abstract关键字。抽象类:在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称为抽象方法,抽象方法只有方法的声明,没有方法体。抽象类的特点:a、抽象类不能被实例化只能被继承;b、包含抽象方法的一定是抽象类,但是抽象类不一定含有抽象方法;c、抽象类中的抽象方法的修饰符只能为public或者protected,默认为public;d、一个子类继承一个抽象类,则子类必须实现父类抽象方
2021-05-20 17:39:48
191
原创 CentOS 7 关闭被占用的端口
比如,需要使用到9000端口,但是9000被占用了netstat -lnp|grep 900017474就是进程号kill -9 17474这样被占用的端口就释放了。
2021-05-09 21:38:50
847
原创 Can not find ‘Converter‘ support class LocalDateTime
在使用easyexcel进行表格导出的时候出现错误:com.alibaba.excel.exception.ExcelDataConvertException: Can not find 'Converter' support class LocalDateTime.在springboot项目中使用使用easyexcel,默认是支持Date日期格式的导出的,但是不支持LocalDateTime日期格式:解决方案:1、这时候需要自定义一个LocalDateStringConverter/** *
2021-04-26 14:39:57
13329
3
原创 SpringBoot相关
SpringBoot 2.3.5之前ssm开发面临的问题:在ssm整合的时候,面临了大量的固定的一些配置,特别和其他功能整合的时候,也需要配置。在ssm整合的时候,版本管理,需要在父工程中写很多版本整合第三方功能的时候,有时候,不知道该配置什么 javaMailSender…SpringBoot是一个全新的框架、2017年年底开始在国内流行起来作用:1、快速开发,让程序员不用关注过多的配置,只需要关注业务逻辑即可SpringBoot的四大核心1、起步依赖(starter):spri
2021-04-13 23:09:35
410
原创 SSM整合之maven聚合工程(xml配置文件版)
项目结构:mapper层mapper的pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
2021-04-11 22:13:21
251
原创 Maven中settings.xml文件的配置以及maven工程的创建
在解压路径下找到 settings.xml配置文件D:\software\maven\apache-maven-3.6.1\conf1、配置maven本地仓库<localRepository>D:\\repository</localRepository>如图:2、配置全局的阿里云仓库(也是在settings.xml中)<mirror> <id>nexus-aliyun</id> <mirrorOf>centra
2021-03-26 22:24:58
992
2
原创 解决2019.2 IDEA中Maven环境配置后自动变回默认设置问题
2019.2 IDEA在项目中配置maven后,每次新建maven项目或者重新打开IDEA都会变成默认的配置:如下配置两处(配置后依然会恢复默认,解决方案在最后)1、第一处配置maven2、第二处设置maven结果在2019.2 版本中,配置如上两处maven 后,重启或者新建项目,设置依然会失效。关闭项目,在开始页面设置maven依旧没用!!!如下界面解决方案,亲测有效在你的idea安装目录找到如下路径,修改配置文件即可C:\Users\JAVASM\.IntelliJIdea201
2021-03-26 20:13:41
3688
3
原创 Redis-简单使用Jedis
使用java代码操作Redis的方式有两种:JedisspringdataRedisjedis就是集成了redis的一些命令操作,封装了redis的java客户端。提供了连接池管理。一般不直接使用jedis,而是在其上在封装一层,作为业务的使用。如果用spring的话,可以看看spring 封装的 redis Spring Data Redis简单使用:1、新建java工程,导入jar包2-1、简单编码测试使用public class Demo { public static
2021-03-25 22:07:06
185
原创 SpringMVC接收前端传递的各种参数和参数的乱码问题
连接:SpringMVC的第二个程序1、导入必要jar包 (同上一篇)2、编写springmvc-second.xml<!-- 包扫描--> <context:component-scan base-package="com.codeyancy.cn.controller"/> <!-- 代替配置处理器映射器和处理器适配器--> <mvc:annotation-driven/> <!-- 配置视
2021-03-18 22:55:30
542
1
原创 SpringMVC一个类处理多个业务以及注意事项
连接:HelloSpringMVC在上一篇中,通过网址发送请求转发到test.jsp页面,${msg}中的信息存放在request域中。SpringMVC在进行视图跳转的时候是可以转发到html页面的,但是需要在springmvc.xml文件中设置:<mvc:default-servlet-handler/>,但是html页面不支持EL表达式,无法获取到后端携带的数据,如果想要获取数据,就使用模板引擎+html。在以上的写法中,一个controller只能做一件事,需要配置多个bean,显
2021-03-18 21:00:45
218
原创 Spring对持久层(Dao)的支持
Spring对持久层采取了很好的支持,这些支持策略主要有:(1)Spring对持久层“不发明重复的轮子”,即没有重新实现新的持久层方案,对现有持久层方案做封装,更利于使用。(2)采用DAO模式。(3)提供了大量的模板类来简化编程(HibernateDaoSupport,JdbcTemplate等)(4)重新设计了一套完善的异常体系结构:①类型丰富,细化异常类型。② 全都是运行时异常(RuntimeException)。这里主要有两种方法JdbcTemplateJdbcDaoSupport
2021-03-17 20:00:47
524
原创 MyBatis使用注解开发和无主配置文件开发的情况
MyBatis使用注解开发时就不在需要和接口对应的映射文件了主要有以下几个注解@Select() @Insert @Update() @Delete()代码演示项目结构:数据库表设计实体类Userpublic class User implements Serializable { private long userId; private String userName; private Date birthday; private String sex; priv
2021-03-13 21:37:16
478
1
原创 MySQL的jdbc驱动版本引发时区的问题
出现问题:Caused by: java.sql.SQLException: The server time zone value 'XXXXXXXXX'在mysql-connector.驱动在6.0及以上版本时会出现,关于时区问题两种解决方式方式一:使用6.0之前的版本驱动(不推荐)方式二:在数据库配置文件中加入时区即可,代码如下jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/d
2021-03-13 21:09:49
389
原创 MyBatis懒加载(延迟加载)
定义:懒加载就是在需要使用这个数据的时候再去进行查询加载,不需要的时候就不查询。也就是按需加载优点:把关联查询分两次来做,而不是一次性查出所有的,延迟加载即先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。mybatis支持懒加载,resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:假如现在有两张数据表,购物车和购物车项
2021-03-12 22:54:31
436
原创 使用IDEA连接数据库报错:Connection to mybatis@localhost failed. [08001] Could not create connection to databas
使用IDEA连接数据库报错出现08001 Connection to mybatis@localhost failed. [08001] Could not create connection to databas解决方案:在URL路径后拼接上:jdbc:mysql://localhost:3306/数据库名?serverTimezone=GMT之后点击测试连接即可成功注意:如果添加数据库后连接不上,那就去了数据库再次连接试试。。...
2021-03-10 21:50:59
1200
原创 JavaWeb之监听器
监听器也是Java web的组件之一,监听域对象(request session 上下文对象)的创建和销毁,以及域对象属性的新增 修改 删除监听器和过滤器以及servlet一样都是单例的JavaWeb三大组件启动顺序servlet filter listener监听器先启动 过滤器启动 servlet启动都是单例的,只有一个对象监听器的作用:事件发生前和发生后做一些处理监听器使用场景1.统计访问量2.统计在线人数3.系统初始化动作(数据库连接池的初始化)监听域对象的接口Servl
2021-02-25 23:02:12
354
2
原创 JavaWeb之过滤器(filter)
过滤器(filter)简介过滤器是Javaweb的组件之一,用来过滤请求和处理响应过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理使用场景:1.设置请求/响应字符编码2.校验登录权限3.敏感词汇的过滤大致流程图如下:filter的使用(xml配置)1,声明一个过滤器类要实现Filter接口(CusFilter类)public class CusFilter
2021-02-25 22:41:14
1508
原创 JavaWeb之文件上传(form表单及ajax异步)
在JavaWeb中想要实现文件上传,需要借助第三方jar包,commons-fileupload.jar和commons-io.jar1.1.使用form表单上传文件1、在web文件夹下建立 fileupload.html文件<body><!-- 文件上传 enctype="multipart/form-data" --><form action="/fileUpload" method="post" enctype="multipart/form-data"&
2021-02-24 22:44:16
863
原创 Ajax重点总结
Ajax—Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页。什么是Ajax?AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
2021-02-23 21:51:38
314
原创 JavaWeb-一篇弄懂Servlet
什么是Servlet ?1、Servlet是JavaEE的一种规范。是一个接口。2、Servlet属于JavaWeb的三大组件之一。分别是:Servlet程序、Filter过滤器、Listener监听器。3、Servlet是运行在服务器上的一个Java小程序,它可以接受客户端发送过来的请求,并且响应数据给客户端。Servlet的工作模式客户端发送请求给服务器服务器启动并且调用Servlet、Servlet根据客户端请求生成响应内容并将其传给服务器服务器将响应返回给客户端Servlet生命
2021-02-01 22:58:19
227
1
原创 JavaScript基础知识整理篇
JS简介JavaScript是世界上最流行的脚本语言,因为你在电脑、手机、平板上浏览的所有的网页,以及无数基于HTML5的手机App,交互逻辑都是由JavaScript驱动的。简单地说,JavaScript是一种运行在浏览器中的解释型的编程语言、 非编译型语言、 解释性语言、 弱类型语言。解释性语言:读取一行就运行一行JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{…}。但是,JavaScript并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代码的引
2021-01-25 19:49:45
337
1
原创 Set集合相关经典题目
1、在List内去除重复数字值,要求尽量简单public static List duplicateList(List list) { HashSet set = new HashSet(); set.addAll(list); return new ArrayList(set); } @Test public void test1() { List list = new ArrayList(); l
2021-01-23 21:34:08
433
原创 Java集合类的源码分析
|----Collection接口:单列集合,用来存储一个一个的对象|----List接口:存储序的、可重复的数据。 -->“动态”数组,替换原的数组 |----ArrayList:作为List接口的主要实现类;线程不安全的,效率高;底层使用Object[] elementData存储 |----LinkedList:对于频繁的插入、删除操作,使用此类效率比ArrayList高;底层使用双向链表存储 |----Vector:作为List接口的古老实现类;线程安全的,效率低;底
2021-01-23 21:20:18
133
原创 CSS基础知识梳理
CSS 指层叠样式表 (Cascading Style Sheets)CSS的书写位置:1、行内式 style="color: red; height: 100px;",多个属性之间使用分号隔开(不推荐使用)2、内嵌式 可以放在任意位置,但是一般是放在头标签head 中,同样使用分号隔开3、外链式 把CSS样式单独写入一个文件中,通过link引入,通常在head中CSS 语法选择器 { 属性名:属性值; 属性名:属性值; 属性名:属性值; .....}
2021-01-23 15:30:52
318
原创 HTML常用标签整理
TML(英语:超文本标记语言,简称:HTML )也叫作超文本标记语言,是一种使用结构化 Web 网页及其内容的标记语言HTML:描述的是网页结构<!--D document T type D definition 约束--><!DOCTYPE html><!--根标签 是双标签 --><html lang="en"><!--头部标签--><head> <!--meta 中指定的是网页编码格式-->
2021-01-21 17:57:54
311
原创 Mysql数据库查询练习题(附带建表语句!!!)
这里的建表语句只是简单的语句,仅供测试练习题使用!!!sql语句作为参考,如果有错误还请及时指正…练习题一:student表建表语句以及插入数据语句: CREATE TABLE student ( id INT(10) NOT NULL PRIMARY KEY , #学生ID 自增 name VARCHAR(20) NOT NULL , #学生姓名 sex VARCHAR(4) , #学生性别 birth YEAR, #学生出生年份 department
2021-01-19 22:21:22
7850
3
原创 Mysql数据库知识总结
基于mysql-5.7.27版本和Navicat Premium 15版本进行!常用命令: -- 启动 net start mysql --使用初始密码进入MySQL命令行中 mysql -uroot -p -- 修改密码 alter user 'root'@'localhost' identified with mysql_native_password by '666';基本概念DB(database):存储数据的仓库,其中的数据是有组织有关联的DBMS(
2021-01-11 22:47:06
286
2
原创 Java基础进阶之线程详解
进程和线程:进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源(CPU,内存)分配的基本单位,是静态的概念)线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是程序运行的最小单位,真正干活的)进程中至少会有一个线程并行:是指同时发生了,程序支持并发而已,任务同时发生了;并发:是同时进行,同时执行某些任务在单核CPU情况下,并不是真正的多线程,只不过是CPU在多个线
2021-01-07 22:28:54
344
原创 Java-泛型和注解的总结
泛型什么是泛型?泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。例如:GenericClass< T >{ }一些常用的泛型类型变量:E:元素(Element),多用于java集合框架K:关键字(Key)N:数字(Number)T:类型(Type)V:值(Value)泛型的相关使用:集合中的使用,规范化数据,作用在编译期间泛型可以作用在类
2021-01-06 17:55:16
764
原创 Java-关于反射的理解和总结
引言:假如你写了一段代码:Object o=new Object();运行了起来!首先JVM会启动,你的代码会编译成一个.class文件,然后被类加载器加载进jvm的内存中,你的类Object加载到方法区中,创建了Object类的class对象到堆中,注意这个不是new出来的对象,而是类的类型对象,每个类只有一个class对象,作为方法区类的数据结构的接口。jvm创建对象前,会先检查类是否加载,寻找类对应的class对象,若加载好,则为你的对象分配内存,初始化也就是代码:new Object()。上面的
2021-01-05 22:33:47
250
原创 Java-IO流
在IO流之前要先了解File类的一些操作:File类代表文件或者文件夹File 类只能操作文件的属性,文件的内容是不能操作的。作用:用于对磁盘文件操作。删除、创建等。三种构造方法:几个常用方法 //判断文件或者目录(文件夹)是否存在 System.out.println(file4.exists()); //判断是否是文件 System.out.println("是否是文件:" + file4.isFile()); Syste
2021-01-04 21:29:35
185
原创 Java-集合相关知识总结
为什么使用集合?假设,一个班级有30个人,我们需要存储学员的信息,我们可以用数组就解决了。 那换一个问题,一个网站每天要存储的新闻信息,我们知道新闻是可以实时发布的,我们并不知道需要 多大的空间去存储,如果去设置一个很大的数组,要是没有存满,或者不够用,都会影响我们,前者 浪费的空间,后者影响了业务!如果并不知道程序运行时会需要多少对象,或者需要更复杂的方式存储对象,那我们就可以使用Java的 集合!数组的长度是一旦确定就不能改动,数组元素类型必需一致集合长度不定,集合元素类型不要求一样,只能放引用
2020-12-30 09:26:06
311
原创 Java-String相关题目记录
题目一将一个字符串进行反转,将字符串指定部分进行反转。比如"abcdefg"反转为"abfedcg"三种解题方式:public class Task1 { //方式一:转换为 char[] public String reverse(String str, int startIndex, int endIndex) { if (str != null) { char[] arr = str.toCharArray();
2020-12-27 22:56:16
98
原创 Java-正则表达式简单总结
简介正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式作用给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):可以通过正则表达式,从字符串中获取我们想要的特定部分。===========================================从JDK1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价
2020-12-27 22:15:01
201
原创 Java-常见类的一些方法总结(Object、String)
String构造方法常用的几种重载方式 String s = new String(); System.out.println(s); String s2 = new String("hello"); System.out.println(s2);//hello char[] chars = {'a', 'd', 'c'}; String s3 = new String(chars); System.ou
2020-12-25 17:24:30
230
原创 Java-this/super关键字总结
this关键字每个类的每个非静态方法(没有被static修饰)都会隐含一个this关键字,它指向调用这个方法的对象;当在方法中使用本类属性时,都会隐含地使用this关键字,也可以明确使用。指代的是当前对象本质上就是一个变量,它指向当前对象this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用;如果是在同一类中调用另外一个方法,则可以不用写this,直接调用this关键字的用法当方法的形参参数名和成员变量名一样的时候用到this区分(this.成员变量名)当成员变量和局部变量
2020-12-22 22:56:06
155
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人