- 博客(80)
- 资源 (1)
- 收藏
- 关注
原创 LinkedList源码详解
LinkedList源码详解上文对ArrayList进行详情介绍,不少小伙伴表示学到了学到了。这次对LinikedList 源码得介绍,也希望大家会喜欢。先提出几个面试问题,看看大家都答得怎么样?1. 浅谈ArrayList 和 LinkedList 得区别?2. LinkedList 底层数据结构是什么?加入你回答出来了,是循环双向链表吗?你又回答出来了,为什么不选择循环双向链表?3. LinkedList 是头插还是尾插?一、关键属性/*** 链表长度(大小)*/transient
2022-05-05 21:39:14 664
原创 ArrayList源码详解
ArrayList源码详解ArrayList作为开发最最常用的容器,了解并掌握其底层原理是每个开发人员必备的技能。一、关键属性/** * Default initial capacity. * 默认初始化容量 */private static final int DEFAULT_CAPACITY = 10;/** * Shared empty array instance used for empty instances. * 空数组,用于空的实例化 */private sta
2022-05-05 20:28:23 387
原创 springboot通用日志实现+自定义注解+AOP(代码全!!!)
介绍我们在进行项目开发时经常会使用得logback/log4j+slf4j进行日志控制,这有助于我们记录用户操作和错误排查,更重要得是这是甩锅利器(0.0)。然而有些时候,客户要求记录敏感操作信息入库,这就需要我们进行更详细得日志记录操作。废话不多说直接上代码以下代码只是个Demo,仅供参考和学习。AOP + 自定义注解面向切面编程,用来强化功能。这个就不多介绍了,请自行百度。你可以的!注解这玩意,在实际开发中肯定没少用,大家也知道注解得好处。减少配置,拿来就用,方便!自定义注解 SysLo
2021-08-17 23:06:29 524 1
原创 Springboot整合PageOffice 实现word在线编辑保存。
一、查看官网http://www.zhuozhengsoft.com/点击首页下载,进入页面:最新得5.2,我们就下载5.2版本进行测试。二、查看下载包Samples5 为示例文件。放入tomcat中得webapps可以直接访问。localhost:8080/Samples5/index.html集成文件 里面有我们需要jar包新建springboot项目以及简单测试这里就不多说了。1、springboot 引入 pageoffice5.2.0.12.jar2、springbo
2021-08-10 22:47:21 4289 16
原创 Maven 报错 Process terminated
问题使用maven进行clean时,报错如下:解决查看详情错误意思时maven得setting.xml配置文件找不到。查看maven配置发现maven 配置文件setting.xml 地址填错了。重新选则重启项目就行了!
2021-08-10 21:46:25 715
原创 maven下载失败问题/maven配置问题
如果你在网上看遍所有的答案都没得到解决,请看下面设置:看看这个按钮有没有被点亮,被点亮的话,请取消掉!按钮意思:toggle offline mode翻译:切换脱机模式都脱机了怎么还能下载下来啊!!!...
2021-05-25 20:59:47 210
原创 关于java实体类时间属性选择String还是Date的探究,@JsonFormat和@DateTimeFormat的使用
java实体类和DTO数据传输类一般我们会创建一个类来接收从数据库(mysql等)查询到数据,方便我们java程序进行处理(进行匀运算或返回前端),这个类我们称为实体类。有时我们也会构建一个类用于接收前端请求参数,方便我们使用参数,并且有利于后期的维护,这个类我们称为dto类。一般参数类型Integer,String还有Date类型这三个类型是我们最为常见使用的数据类型。至于我们为什么不使用int来作为参数或实体属性类型的原因,当我们有个参数为(0,1,空)时,当我们使用int类型我们就无法区分我们
2021-05-19 23:17:15 5811
原创 Mysql学习笔记:事务(Transaction)总结
定义一个事务是个完整的业务逻辑单元,不可再分。事务的四大特性(ACID)原子性(Atomicity)事务的操作是不可再分的。要么所有操作全部成功执行,要么全部失败。一致性(Consistency)在网上并没有找到非常能令人信服的定义:保证事务只能把数据库从一个有效(正确)的状态“转移”到另一个有效(正确)的状态。https://www.zhihu.com/question/31346392隔离性(Isolation)多个事务的执行不会互相影响。持久性(Durability)持久性是指
2021-04-19 20:42:28 158
原创 Mysql学习笔记:LIMIT总结
limit介绍limit是mysql数据库特有的,其他数据库中没有。limit 是sql语句最后执行的!LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。两个参数第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。例: SELECT * from table LIMIT n,m通俗解释从第n+1个数据开始,一共返回m个记录。返回第5-10条记录 SELECT * from score
2021-04-14 19:13:36 811
原创 Mysql学习笔记:SQL子查询
SQL子查询子查询(Sub Query)或者说内查询(Inner Query),也可以称作嵌套查询(Nested Query),是一种嵌套在其他 SQL查询的 WHERE 子句中的查询。格式select .. (select).. -- from .. (select)..where .. (select)..where子句使用子查询找出高于平均分数的成绩记录:SELECT *FROM scoreWHERE s_score > ( SELECT
2021-04-13 22:04:11 230
原创 Mysql学习笔记:连接分类(详细)
连接查询实际开发大部分都是多张表联合查询取出最终结果。连接查询分类年代划分SQL92 ,SQL 99笛卡尔乘积现象定义:笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员select A.name,B.class from A,B返回结果数量是 A行数*B行数。底层:A表的每一行数据都会跟整个B表逐行连接!如何避免笛卡尔积现象加条件进行过滤!重点
2021-04-13 21:19:44 745
转载 Mysql学习笔记:SQL语句执行顺序
sql语句SELECT DISTINCT <select_list>FROM <left_table><join_type> JOIN <right_table>ON <join_condition>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_condition>ORDER BY <order_by_condit
2021-04-12 19:52:39 130
原创 SELECT list is not in GROUP BY clause and contains nonaggregated column解决和总结
问题描述查询语句SELECT name,sum(class_id) from res GROUP BY class_id结果SELECT list is not in GROUP BY clause and contains nonaggregated column ‘dt.res.name’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=o
2021-04-12 19:29:05 49223
原创 四月面试总结
面试心得面试结果在boss上咨询了40多家公司,投出去10多份简历,收到了5个面试邀请,目前参加3次面试,拿到2个offer。个人介绍2020年6月毕业,学校是二本。算上实习的话,工作一年半了。大学生涯除了大一好好学了C语言之外,其他啥也没干成。就是个废物。大四有了危机感,才开始重视专业学习。正好学校7月份组织培训,抓住这次机会好好学了学java,不然毕业就失业了。从最基础的javaSE,再到企业级开发javaEE,最后摸了把Spring,总共培训了三个月就开始奔赴战场了。找实习工作期间,才
2021-04-11 11:37:57 220 3
原创 排序算法总结(三):直接插入排序
定义将一个记录插入到已经排序好的有序序列中。动图演示图片来源:https://www.toutiao.com/a6593273307280179715/?iid=6593273307280179715java代码附带详细说明/** * 直接插入排序 */public class SimpleInsert { public static void main(String[] args) { int[] arr = {1,5,9,6,4,2,5,2,6};
2021-03-26 19:15:23 266
原创 排序算法总结(二):直接选择排序
定义递增排序:第一步:从n个数据中找到最小值放在数据开头。第二步:从剩下n-1个数据中继续寻找最小值...直到全部找完。动态演示图片来源:https://www.toutiao.com/a6593273307280179715/?iid=6593273307280179715java代码/** * 直接选择排序 */public class SimpleSelect { public static void main(String[] args) {
2021-03-26 19:01:41 151
原创 排序算法总结(一):冒泡排序
定义冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。来源于百度百科动图演示图片来源:https://www.to
2021-03-26 18:52:15 177
原创 java/springboot 实现本地资源下载
上代码具体逻辑都在代码注释中体现! @GetMapping("/downModel") public AjaxResult downModel(HttpServletResponse response) { //本地资源路径 String path = ""; //文件名 String fileName = ""; //创建文件对象 File file = new File(path);
2021-03-17 14:12:57 225
原创 SpringBoot+Vue图片上传实现总结
一、项目介绍后端:springboot前段: vue+element-ui组件杂谈图片上传在最近的项目中经常遇见,而且每次的需求也不一样。每次都能遇到新的坑,打算记录一下,写个demo方便下次使用。二、测试1. 图片上传组件element UI 官方网站图片上传组件(来自官网):<el-upload action="" list-type="picture-card" :http-request="requestUpload" :on-preview="handlePictu
2021-03-12 19:57:27 2264 6
原创 springboot获取请求参数源码分析
一、测试环境springboot+postman。注意我是在对springmvc有一定了解的基础上进行分析,有些地方描述的不是很细致,请谅解。学会debug是程序员的必须课!控制器1. @RequestMapping注解2. 接收参数为普通参数,非json数据请求详情查看结果二、源码分析打断点就在控制器打断点。断点结果和选择入口从invokeForRequest方法开始寻找源头!1. invokeForRequest方法作为入口2. getMethodArgume
2021-03-08 21:46:45 507
原创 Invalid bound statement (not found)总结
想必大家都遇见这个bug。常见问题1.没有扫描到mapper.xml映射文件。在配置文件中指定扫描包时,配置路径有问题。2.mapper.xml文件编写错误接口中方法名与xml文件中 id是否一致xml文件中的 namespace=“xxx.xxx.xxx.Mapper” 中的路径是否与接口文件路径一致3.神奇错误检查你是目录还是文件!!!第一个mapper.assets是目录。第二个是文件名。所以一直扫描不到!...
2021-03-08 14:39:19 73
原创 JVM内存结构
前言jvm介绍JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。jvm学习jvm不像javaSE基础一样容易理解和记忆。jvm所涉及的知识点也比较多。你首先得具有扎实的java基础和一些操作系统方面的知识,才能对jvm有比较清晰的认识。而且各个阶段对于jvm的认识也是不同的,大学期间的认识和工作期间的认识是有着天壤之别的。一上来学习jvm,遇到困难在所难免。重
2021-03-03 11:03:53 126
转载 Axios 请求配置详解
{ // `url` 是用于请求的服务器 URL url: '/user', // `method` 是创建请求时使用的方法 method: 'get', // default // `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。 // 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL baseURL: 'https://some-domain.com/api/', // `transfo
2021-02-26 14:01:56 684
转载 关于重写equals方法时必须重写hashcode方法的一系列问题。
Why日常开发中经常会遇到重写equals和hashocode的场景,以前对这些概念很模糊,只知其然,不知其所以然,现在对这些知识理论进行总结、归纳,加强理解。WhatObject是所有对象的基类,它包含两个基本的方法: equals和hashcode(1)equals(2)hashcodehashcode是Java native方法,是JVM虚拟机为这个Object对象分配的一个int类型的数值(能够在OpenJDK或者其他开源JRE找到相应的C/C++源码)hashcode在jre
2021-02-24 16:57:26 324
原创 Unknown column ‘字段名‘ in ‘field list‘ 错误解决方案
解决方案1.检查实体类属性跟数据表字段名称是否一致2.检查数据表字段有没有空格或者回车3.检查数据库编码和数据表字段编码是否一致4.如果上述都不能解决那就检查数据库有没有用对!!!那就检查数据库有没有用对!!!那就检查数据库有没有用对!!!有没有切换数据源啊!本就是因为用了默认数据源,导致自己怀疑人生!...
2021-02-19 11:42:17 54193 15
原创 idea2020部署简单springmvc项目总结
新建maven项目继续新建工程结构新建java和resources目录配置tomcat警告No artifacts解决tomcat server配置启动成功测试springmvc导入必须依赖<?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
2021-01-28 21:11:39 541 2
原创 解决Servlet响应出现乱码问题,记录解决问题过程
解决办法//第一种response.setContentType("text/html;charset=UTF-8");//第二种response.setHeader("Content-type","text/html;charset=utf-8");感兴趣朋友的可以继续往下看。这里说明一下,使用定义Servlet继承HttpServlet的时候,重写父类的方法时不要调用HttpServlet中的doGet()或其他处理请求的方法即super.doGet(),请自定义实现。反例:packag
2021-01-26 19:03:16 632
原创 Linux安装redis,redis无法连接问题总结
虚拟机(centos7)安装redis请移步:https://blog.csdn.net/ITxiaofeixiang/article/details/111390055问题描述Resolved [redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool]springboot项目集成redis测试,出现连接超时问题等。前提host和port设置都没问题。虚拟机
2021-01-20 16:33:25 1662
原创 redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
项目场景:springboot2.x+shiro+redis实现简单认证和授权demo问题描述:在ShiroConfig配置文件中新增配置: //数据来自配置文件application.yml @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; @Value("${spring.redis.password}")
2021-01-19 15:23:33 359
原创 shiro学习系列:shiro自定义filter过滤器
shiro学习系列:shiro自定义filter过滤器自定义JwtFilter的hierarchy(层次体系)上代码package com.finn.springboot.common.config.shiro.filters;import com.alibaba.fastjson.JSON;import com.finn.springboot.common.api.vo.Result;import com.finn.springboot.common.config.shiro.JwtTok
2021-01-18 19:51:26 2010 1
原创 org.apache.shiro.authc.IncorrectCredentialsException: did not match the expected credentials
项目场景本demo是springboot整合shiro+jwt+redis实现授权认证以及缓存功能。说明进行授权测试时,一直未得到理想结果(返回自定义的异常信息),也未报错。Debug发现执行subject.login(token);报如下错误:did not match the expected credentials//与预期的凭证不匹配原因猜测:在执行是ShiroRealm的doGetAuthenticationInfo方法,最后的认证问题。/*** principal 认证的标识
2021-01-18 18:49:59 864
原创 Linux学习系列(5):查看、杀死进程和端口相关命令
Linux学习系列(5):进程和端口相关命令最常用到的三个命令# 1.查看进程ps -ef|grep redis# 查看占用端口netstat -anp|grep redis# 杀死指定进程kill -9 PID说明| 为管道命令。ps -ef|grep redis即:ps命令和grep命令同时进行grep 后可为:PID,进程名,端口号kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill-9发送的信号是SIGKILL,即exit。exit信号不
2021-01-14 10:27:50 127
原创 数据结构学习(图):邻接链表实现无向图
废话不多说,上代码:package com.finn.algorithm.graph;import java.util.LinkedList;import java.util.Queue;/** * 图存储结构 * 邻接链表实现无向图 */public class ListUDG { //边的数据结构 private class ENode { int adjvex;//数组下标 ENode next; //下一个节点 }
2021-01-13 13:43:19 516
原创 错误: 找不到或无法加载主类问题总结
错误: 找不到或无法加载主类问题总结简单说明运行的是普通的java项目(单module),非maven项目该项目是用来学习算法用的,前一天好好的,今天再编译,就出现问题。提示:错误: 找不到或无法加载主类解决办法一般这种问题是编译这块出现了问题。1.你可以选择清空之前的编译文件,再重新编译。maven项目可以在工程的生命周期(lifecycle)选择clean,清空编译文件。然后重新编译或者install。关于maven工程的生命周期这块,可以自行度娘了解。2.查看你的工程编译输出目录。具
2021-01-13 11:11:09 9904 2
原创 深入理解HashMap
1.对get,put方法进行详细分析Java中HashMap底层实现原理(JDK1.8)源码分析2.优秀博主https://monkeysayhi.github.io/2017/08/26/HashMap%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/3.HashMap defaultLoadFactor = 0.75和泊松分布没有关系...
2021-01-12 14:03:44 84
原创 Linux运行jar文件
Linux运行jar项目找到jar包目录://正常运行java -jar java.jar//后台运行,退出也不会停止nohup java -jar java.jar >log.txt &说明:nohup:不挂断地运行命令& : 后台运行log.txt : 输出日志文件问 log.txt。不指名的话,会默认生成nohup.out文件...
2021-01-11 16:01:01 156
原创 HTTP协议总结:请求发送数组数据
post请求发送数组数据说明:接口测试,需要发送数组数据。但是接口实现语言和框架是不清楚。本以为只是简单的数组数据,结果还是浪费了一个多小时的时间,才把数组格式确定。如下图:测试说明:这里使用java语言的springboot2.x框架以及postman进行测试后台代码@RestController@RequestMapping("/wms/base")public class BaseController { @RequestMapping("/directErpToW
2021-01-07 22:19:18 6712 1
原创 HTTP协议总结:开篇
HTTP协议总结介绍以下介绍来自百度百科。超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。说明目前网络上已经有很多很完善并且容易理解的文章和博客,我就不再重复搬运了。百度百科介绍http协议
2021-01-07 21:12:24 129
原创 Git系列:git push -u origin master命令理解
Git系列:git push -u origin master命令理解git push -u origin mastergit push -u origin master 相当于git branch --set-upstream-to=origin/master master//将远程仓库origin的master分支与本地仓库master分支关联加git push origin mastergit pull = git fetch + git merge文章推荐:Git原理杂谈之pul
2021-01-04 16:56:31 17368
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人