![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端
文章平均质量分 71
分享后端开发的各种知识!
xl132598798
尝试过才有资格说喜欢与否!!!!!
github博客地址:https://xlxlll.github.io/
欢迎大家多多关注!多多点赞!!
展开
-
虚拟机性能监控、故障处理工具
用了这么多年的JDK,从来都没有想过要查看一下JDK包下都有什么!真的是有点失败奥!常见几个基础工具jar:创建和管理JAR文件java:Java运行工具,用于运行Class文件或JAR文件javac:用于Java编译语言的编译器javadoc:Java的API文档生成器jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程jstat:JVM Statistics Monitoring Tool,用于收集Hotspot虚拟机各方面的运行数据ji原创 2021-03-19 14:31:21 · 499 阅读 · 0 评论 -
如何解决eclipse下的web项目突然变慢了
问题描述:在使用Eclipse开发项目过程中,Tomcat启动项目时突然异常缓慢,感觉自己什么都没干,就突然变慢了好多。解决方案之一:原因:有可能是项目某处存在断点,开发人员忘记了,导致项目启动变慢。通过以下方式找到项目的所有断点1.点击"Window"->选择"Show View"下的"Breakpoints";若当前菜单中没有,选择"Other"下的"Debug"文件下去找到"Breakpoints"。2.在控制台下就可以看到项目中所有的断点了,选择某个断点,鼠标右键,在弹出原创 2021-03-16 09:58:09 · 1483 阅读 · 0 评论 -
springBoot+easyui +spring data JPA 实现分页
经历了无数次的尝试之后终于实现了分页这个功能,体会到了作为一名程序媛的痛苦。 easyui前台实现分页很是简单啊!!封装的太好了。。这里仅仅介绍后台遇到的大坑!!Spring data JPA对于分页和排序的查询有着完美的支持。实现分页时,需要继承PagingAndSortingRepository.在XxxRepository.java中定义了一个方法。例如: Page<Department原创 2017-03-12 10:05:38 · 1281 阅读 · 0 评论 -
有关SQL注入
文章目录1.什么是SQL注入2.SQL注入产生什么影响3.如何实现SQL注入4.如何避免SQL注入5.Mybatis方面1.什么是SQL注入通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,从而在没有进行授权的情况下得到相应的数据信息。2.SQL注入产生什么影响3.如何实现SQL注入SQL注入点探测探测SQL注入点是关键的一步,通过适当的分析应用程序,可以判断什么地方存在SQL注入点。通常只要带有输入提交的动态网页,并且动态网页访问原创 2021-03-13 15:55:16 · 98 阅读 · 0 评论 -
Unbound classpath container: ‘JRE System Library’已解决
出现的问题:Eclipse新导出的项目出现如下图所示错误:解决方法项目右键->选择”Properties“按照如图方式删除报错的Libraries,之后选择Add Library添加新的如下图选择JRE System Library,点击next选择默认的Workspace default JRE(java),每次导出新项目总会出现各种各样的bug,ε=(´ο`*)))唉!如果帮到您,记得点个赞哟(^U^)ノ~YO...原创 2020-12-08 21:39:47 · 5706 阅读 · 0 评论 -
循环有序数组
今天在重温极客时间王争老师的《数据结构与算法之美》第16讲二分查找(下):如何快速定位IP对应的省份地址?的时候,在课后思考部分,出现了循环有序数组这个概念,其实之前在刷剑指offer时,碰到过该类型的数组,但是当时没有出现这个概念,既然之前不知道这个概念,那么今天就来认识认识它。循环有序数组指的是将一个有序数组循环左移/右移若干距离之后变成的数组,例如:将严格递增数组[1,2,3,4,5,6],向右移动3个单位,那么新的数组[4,5,6,1,2,3]就是一个循环有序数组;特性以循环递增数组为例,数原创 2020-08-25 20:19:11 · 1452 阅读 · 0 评论 -
Redis系列——持久化机制
认识AOF日志和RDB快照两种持久化机制原创 2021-03-13 21:30:51 · 500 阅读 · 0 评论 -
Redis系列—底层数据结构
了解Redis的底层数据结构才能了解Redis的各种操作及其性能原创 2021-03-13 16:49:21 · 111 阅读 · 0 评论 -
Redis系列——初识Redis
内容来自极客时间蒋德钧老师的《Redis核心技术与实战》及自己查找的资料原创 2020-08-24 21:23:01 · 1423 阅读 · 0 评论 -
面试题——Object 都有哪些方法详细描述
getClass()final方法,获得运行时类型;hashCode()该方法用于哈希查找,可以减少在查找中使用equals的次数,重写equals方法一般都要重写hashCode()equals(bject obj)Object源码中使用的是==,即比较地址相等引申 ==和equals的区别: ==:基本数据类型,直接对值进行比较;引用数据类型,对地址进行比较;遇到运算法才会自动拆箱;equals:类未复写equals方法,则使用equals方法比较两个对象.原创 2020-08-12 23:41:13 · 174 阅读 · 0 评论 -
HashMap底层实现为什么选择RB树,而不是AVL树或者BST树,树化的临界值为什么选择8呢?
为什么有了二叉查找树[BST]、平衡树[AVL]还需要红黑树[RB]?BST极端情况下会链化,这样的话查找的时间复杂度由O(logn)转化为O(n);AVL就是为了解决BST退化为链出现的,具有以下特点:具有BST的全部特性;每个节点的左子树和右子树的高度差至多等于1;最坏的查找时间复杂度也为O(logn)。RB树是为了解决 [AVL树要求每个节点的左子树和右子树的高度至多等于1,导致每次进行插入和删除节点的时候,都需要通过左旋和右旋来进行调整,对于插入/删除频繁地场景,AVL树需要频.原创 2020-08-12 18:15:32 · 430 阅读 · 0 评论 -
代码探究Comparable<T> 与 Comparator比较器
Student类实现了Comparable接口,重写compareTo方法;Student1类通过Comparator比较器实现排序;具体分析见下面代码及运行结果。package com.company.base;public class Student implements Comparable<Student>{ private String name; private int age; private float score; public Stude原创 2020-08-04 23:28:02 · 152 阅读 · 0 评论 -
Git push 时出现问题:failed to push some refs to ‘github.com:userNamel/repositoryName.git‘
问题描述:Github上新建的一个带README等文件的仓库,第一次上产时,出现如下问题 ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to 'github.com:userNamel/JAVA_Learning.git'hint: Updates were rejected because the tip of your current branch is behin原创 2020-07-31 19:20:50 · 323 阅读 · 0 评论 -
Thymeleaf大全
记录一下项目中使用到的thymeleaf语法,以便日后查看原创 2020-07-25 19:34:28 · 492 阅读 · 0 评论 -
eclipse中添加注释的模板文件
<?xml version="1.0" encoding="UTF-8"?><templates> <template autoinsert="false" context="filecomment_context" deleted="false" description="Comment for created Java files"原创 2020-07-07 23:29:11 · 213 阅读 · 0 评论 -
Thymeleaf、spring security、spring等集成对各自版本的要求
搭建开发环境时,一定要去你所选择的框架的官网上查看一下多个框架集成时对相应版本的要求,否则浪费很多很多功夫。官网是最好的教科书,虽然大多是全英文但是耐着性子,总会看懂。加油ヾ(◍°∇°◍)ノ゙...原创 2020-07-07 23:22:13 · 1886 阅读 · 1 评论 -
Refused to execute script from ‘「URL」‘ because its MIME type (‘text/html‘) is not executable
项目使用spring security进行认证和权限控制jQuery要在bootstrap前面引用<script th:src="@{/js/jquery-3.3.1.min.js}"></script> <script th:src="@{/bootstrap/bootstrap/js/bootstrap.min.js}"></script>注意:js、css引用的顺序十分重要,如果没有实现你想要的效果,却找不到哪里出现问题了,及时查看引用顺序原创 2020-07-07 22:53:30 · 3327 阅读 · 0 评论 -
完美解决——No converter found for return value of type: class java.util.ArrayList
问题:在使用@ResponseBody注解进行返回List<对象>的json数据时出现了No converter found for return value of type: class java.util.ArrayList错误。原因:springmvc默认是没有将对象转换成json的转换器的,所以需要手动添加jackson依赖解决:在pom.xml文件中添加<!--pom.xml--><properties> <jackson.version>原创 2020-06-10 16:20:10 · 975 阅读 · 0 评论 -
SSM+Spring Security+Thymeleaf:解决sec标签不起作用
在新搭建的项目中,使用Spring Security来实现认证和授权,在前台页面需要显示当前登录的用户名,可以使用Spring security自带的sec标签来获取;出现的问题就是sec标签不起作用;经各种搜索,常见的原因是Spring security ,Spring,Thymeleaf使用的版本不对。最准确的方法是查看官网相关文档,对比自己项目的pom.xml文件确定自己使用的版本是否正确相关地址Thymeleaf - Spring Security integration modules如何原创 2020-06-08 22:56:12 · 984 阅读 · 1 评论 -
分布式版本控制系统——Git(上)
有关于Git常见命令,一点点开始,逐渐深入,你会发现有些东西真的一点都不难。原创 2020-05-27 22:26:45 · 232 阅读 · 0 评论 -
搞定面试官——图解快排
画图深入理解快速排序算法,一步一个脚印,从这篇文章开始搞定快排原创 2020-05-26 21:26:29 · 203 阅读 · 0 评论 -
IDEA如何创建并运行一个Java EE项目
文章目录新建部署tomcat新建部署tomcat点击配置界面上方的“+”号如果有提示“Warning:No artifcts marked for deployment”,代表我们没有部署项目,接下来部署项目点击选择“Artifact”,会自动选择新建的项目,点击“apply”,然后点击“ok”。这时候就会出现到这里既可以运行项目了。...原创 2020-05-25 21:22:28 · 6976 阅读 · 1 评论 -
JVM之类加载器机制
在面试中通常会问到关于Java虚拟机的内容,重点在类机载机制、运行时数据区、GC垃圾回收,JVM性能调优等,运行时数据区相关整理请阅读Java虚拟机之内存结构GC垃圾回收相关整理请阅读GC垃圾回收本文主要是对类加载器相关知识点进行整理;类加载器机制类加载器机制是指:代码编译后,就会生成JVM(Java虚拟机)能够识别的二进制字节流文件(*.class)。而JVM把Class文件中的类描述数据从文件加载到内存,并对数据进行校验、转换解析、初始化,使这些数据最终成为可以被JVM直接使用的Java类型原创 2020-05-09 00:30:57 · 104 阅读 · 0 评论 -
面试GC这样答——GC垃圾回收全过程
在面试中通常会问到关于Java虚拟机的内容,重点在类机载机制、运行时数据区、GC垃圾回收,JVM性能调优等;有关于运行时数据区的整理部分可阅读Java虚拟机之内存结构本文主要是对GC垃圾回收相关知识点进行的整理。文章目录哪些对象可以被回收对象回收前的最后挣扎垃圾收集算法GC 优化哪些对象可以被回收引用计数器法堆内每个对象实例都有一个引用计数器;每当一个地方引用它,计数器就加1;当引用失效,计数器就减1;任何时候计数器为0的对象就是不可能再被使用的,但是目前主流的虚拟机并没有选择这个算法来管原创 2020-05-09 00:03:49 · 704 阅读 · 0 评论 -
Java虚拟机之内存结构
在面试中通常会问到关于Java虚拟机的内容,重点在类机载机制、运行时数据区、GC垃圾回收,JVM性能调优等,本文主要是对JVM的内存结构进行描述;在对运行时数据区描述时,要注意以下两点:1.各个部分的功能;2.哪些是线程共享,哪些是线程独占(图片来自网友博客)CLASS LOADER(类加载器):把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被JVM直接使用的Java类型;RUNTIME DATA AREA(运行时数据区):就是常说的JVM管理的内原创 2020-05-08 22:26:04 · 159 阅读 · 0 评论 -
关键字——Volatile
保证了多线程环境下共享变量的可见性禁止指令重排序现代计算机的内存模型:在早期计算机中cpu和内存的速度是差不多的,但是在现代计算机中,cpu的指令速度远超内存的存取速度,由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统加入一层读写速度尽可能接近处理器运算速度的**高速缓存(Cache)**来作为内存与处理器之间的缓冲。高速缓存解决了处理器与内存的速度矛盾,但...原创 2020-05-07 23:04:20 · 111 阅读 · 0 评论 -
JAVA实现二叉树的花样层次遍历
上一篇文章记录了二叉树及N叉树的前中后序遍历之后JAVA实现二叉树、N叉树递归/非递归实现前、中、后序遍历,再来记录一下二叉树的花样层次遍历,前中后序遍历非递归主要借助栈这一数据结构,层次遍历主要是借助队列这一数据结构。这三道题目有点进阶打怪的意思,哈哈~~从最简单的层次遍历开始;再到要求每层输出为一行,就需要知道每层有几个节点了;再到要求之字形打印,那么不只需要知道每层有几个节点,还有要知道当...原创 2020-05-05 17:35:55 · 375 阅读 · 0 评论 -
JAVA实现二叉树、N叉树递归/非递归实现前、中、后序遍历
在写剑指offer和LeetCode算法时,遇到了有关二叉树前中后序遍历的题目,之前一直使用递归写法,导致对非递归写法有点生疏了,在此记录一下。对于非递归写法,通常都是借助栈或队列等数据结构,在实现过程中一定要时刻牢记栈(先进后出)、队列(先进先出)等特性。再就是前(根左右)中(左根右)后(左右根)序遍历。题目解答中用到的TreeNode类,定义如下:public class TreeNode...原创 2020-05-05 17:23:33 · 469 阅读 · 0 评论 -
判断Stack为空的方法之empty()与isEmpty()
今天写算法时,无意间看到了判断栈是否为空的两个方法,之前一直用isEmpty(),从未用过empty(),却不曾想两者均可判断一个栈是否为空,所以深入源码探究了一番:java.util.Vector:/** * Tests if this vector has no components. * * @return {@code true} if and only...原创 2020-05-04 23:48:30 · 8778 阅读 · 0 评论 -
面试必备——设计模式之单例模式
单例模式是面试时经常被问到的设计模式之一,由该模式,还可以将话题延伸至线程安全上,要学会将所学知识串起来,在面试时,将面试官的注意力转移到你的擅长领域。原创 2020-04-27 21:57:45 · 186 阅读 · 0 评论 -
设计模式之UML类图该怎么画
关于可维护、可复用、可扩展、灵活性好的理解:生活中:印刷术和活字印刷,当需要对某些内容修改时,印刷术只要有一丁点变化,就需要重头再来;而活字印刷只需要进行部分修改即可。可维护:只更改要更改的内容;可复用:之前的内容并非用完就无用,后面仍可使用;可扩展:若要新增内容,只需在原来内容的基础上增加新内容即可;灵活性:内容可以稍作修改既可以满足要求。封装、继承、多态把程序的耦合度降低,使用设计...原创 2020-04-27 21:42:56 · 2087 阅读 · 0 评论 -
Maven下载、安装、配置及使用阿里镜像+ IDEA 新建maven工程
文章目录Maven开发环境搭建下载安装配置环境变量修改setting.xml-修改为阿里源IntelliJ IDEA 进行maven配置IntelliJ IDEA中新建maven项目Maven开发环境搭建下载安装打开官网:下载地址,在Previous Releases处点击archives进入版本下载页面。配置环境变量下载并解压,配置环境变量新增M2_HOME,并修改Path,cmd...原创 2020-04-24 07:34:40 · 393 阅读 · 0 评论 -
堆结构解决剑指OFFER-最小的K个数问题
题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。题目解答:分析:题目需求为找出n个整数中最小的k个数,考虑使用小顶堆,选k个元素组成一个小顶堆,那么遍历剩下的n-k个元素的时候,如果当前遍历元素大于堆顶元素,该元素还需要继续与小顶堆内的其他元素比较,最差的情况是最初的k个元素就是n个整数中最小的k个数,那么该...原创 2020-04-23 22:20:08 · 132 阅读 · 0 评论 -
mysql CREATE TABLE时,你看到的单引号并不是你看到的单引号
在mysql中创建一张新的表时,使用CREATE TABLE命令,需要表名、表字段名,定义每个表字段。通用的语法是CREATE TABLE table_name(column_name column_type);请看仔细那个单引号!!!!!!创建 MySql 的表时,表名和字段名外面的符号` 不是单引号,而是英文输入法状态下的反单引号,也就是键盘左上角 esc 按键下面的那一个 ~ 按键。...原创 2020-04-23 11:38:04 · 1287 阅读 · 0 评论 -
Linux更新java版本
问题描述:在/etc/profile文件中,已经设置JAVA_HOME,且已经使用过source命令了,但是使用java -version查询的时候,版本仍然是1.7的。<!--/etc/profile-->#JAVA_HOMEexport JAVA_HOME=/opt/modules/jdk1.8.0_191export PATH=$PATH:$JAVA_HOME/bin...原创 2020-04-18 16:18:31 · 2635 阅读 · 3 评论 -
MyBatis 高级查询之一对多
描述:有一个商品类,一件商品对应多个图片,在数据库中分别有一个商品表和一个图片表,在显示商品详情的时候,需要查询改图片及其所对应的所有图片。实体类中的关系public class Product{ private Integer id; private List<ProductImg> productImgs; //省略其他属性...}public class ProductImg{ private Integer id; private Integ原创 2020-07-24 22:16:39 · 198 阅读 · 0 评论