自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 堆排序

堆排序 是一个时间复杂度为O(nlogn)的排序算法,基于它的效率比较好。同时利用了完全二叉树的概念。算法描述如下 /** * 堆排序 基于完全二叉树 * @param arr */ public static void heapSort(int arr[]){ for(int i = arr.length/2;i>=0;i--){ arrHeap(arr,i,arr.length); }

2020-07-12 17:25:20 159

原创 java中new关键字和newInstance()方法的区别

1new是一个关键字,可以说是一个指令;newInstance()是一个方法,Class对象的一个方法。2new主要作用是在内存中生成一个实例,而这个类可以没有提前加载到内从中;newInstance()主要作用是在内存中生成一个实例,而这个方法在使用前必须得保证:①这个类被加载到内存中,②这个类已经被连接,而完成以上两个过程的是Class.forName()方法。3new关键字的使用一般比较呆板的写入到程序中;newInstance()方法一般用于框架中,工厂模式中等等。4new关键字

2020-07-11 22:02:10 224

原创 java 基于数组实现循环队列

队列的实现方式可以通过链表和数组,大多数是链表,但是在使用中有不少要求使用数组的数据结构,抱着好奇的心态写了如下数据结构及其相关的方法/** * @author zy * @date 2020/6/17 19:31 */public class ArrayQueue { /* 长度为maxSize-1 */ private int maxSize; private int rear; private int front; private i

2020-06-21 11:14:33 193

原创 Mybatis异常There is no getter for property named &#180xxx&#180 in &#180class java.lang.String&#180

在写Mapper对xml文件的映射的时候,今天出了一个小错误。xml文件<select id="getOne1" resultMap="BaseResultMap"> select id,name,age,phone from yu_student where phone = #{phone}</select>Mapper类List<Student> getOne1(String phone);由于我传入的参数是String型,所以出现了

2020-06-10 10:29:51 111

原创 java.sql.SQLException: sql injection violation, part alway true condition not allow

这是我在思考调试sql注入出现的小bug打印出来的SQL语句放在数据库执行select id,name,age,phone from yu_student where phone = '123' or 1=1运行结果sql语句没有问题,为什么java程序会报错呢错误内容是druid的sql防火墙报警,发现是hibernate自动拼接了1=1的永真条件,而druid只会放行排在第一的永真条件查看hibernate源代码后发现,当引用Junction生成sql时,如果条件为空,

2020-06-09 16:30:09 3491 1

原创 java实现二分查找-递归和非递归

二分查找算法思想有序的序列,每次都是以序列的中间位置的数来与待查找的关键字进行比较,每次缩小一半的查找范围,直到匹配成功。一个情景:将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。二分查找的使用条件数组必须为有序数组,比较次数少,查询快代码实现非递归实现 /

2020-06-08 10:15:17 172

原创 java数组的排序算法Sort()方法分析

作为java语言的使用者,我们应该都知道java自动封装了Array的工具类,其中我们可能常用的Sort排序方法到底是调用了哪个排序方法呢?JDK8中Arrays.sort的底层原理,调用的是插入排序,归并排序和快速排序。简单来说就是根据数组长度的大小选择合适排序方法。元素少于47用插入排序元素大于等于47小于286的用快速排序至于大于286的,它会进入归并排序(Merge Sort),但在此之前,它有个小动作(就是看数据具不具备结构)结构简单来说也就是局部有序。下面是测试算法public

2020-06-07 10:07:54 904

原创 layui 调整select的大小

在layui中,我们写的select在渲染之后,会被隐藏。取而代之显示的是一个类名为“.layui-form-select” 的div层,如图这是常见的错误写法 <select name="batchId" class="layui-form-select" style="450px"></select>因此直接设置 select 的宽度是没有作用的,所以应该设置select的父级 ‘.layui-input-inline’ 的宽度即可。<div class="l

2020-06-03 20:00:07 7523 1

原创 java 的128 陷阱(自动装箱和拆箱)

当我们在比较Java中Interger类型的数据时,有时候会发现两个明明相同的值,最后比较的结果为false,这是为什么呢?这就要了解一下我们常说的“128陷阱”在Java中,Interger是数据类型int的封装类,Java设计者是这么认为的:每次都要开辟新空间会占用大量的资源,因此他们规定在-128~127(因为Java设计者认为大家对数的使用大多在100以内)之间的Integer类型的变量,直接指向常量池中的缓存地址,不会new开辟出新的空间。public class Test {

2020-06-01 19:19:08 264

原创 java 二叉排序树 插入 查找 删除(经典)

我们在原有的树的数据结构做了一些调整,以便我们构造二叉排序树。(差别请对比我的上个博客)。因为我们在构造二叉排序树的时候,需要明确根的概念,所以需要新建一个类需要引用我们原有的TreeNodepublic class TreeNode { int val; TreeNode left; TreeNode right; public TreeNode(int x) { val = x; } public int getVal() { r

2020-05-30 22:20:42 182

原创 java二叉树的遍历(非递归)

二叉树作为一个重要的数据结构,我们在调用过程中需要掌它的遍历算法,加深我们对树的理解和栈、队列的应用。下面是我定义的树的基本结构。public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }此图是该二叉树的结构 /** * 层次遍历 * @return */ public L

2020-05-26 17:36:30 314

原创 Java HashMap——Hash算法

作为Java的一个重要的数据结构HashMap,其中很多地方值得我们思考,HashMap快速根据key找到Value的秘密到底在哪里?下面我摘取了其中的核心算法//重新计算哈希值static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);//key如果是null 新hashcode是0 否则 计算新的hashcode}

2020-05-25 18:31:43 1406

原创 java父类和子类的调用顺序

在了解java类加载机制的时候,我们有时候会遇到一些谁先谁后的问题,我们当然不能一眼看出来,我们需要实践代码来总结结论下面是我封装好两个类public class People { private String name; private int age; private static String a = father(); public static String father() { System.out.println("父类静态变量")

2020-05-24 11:35:23 1458

原创 thymeleaf 一些小知识点都是干货

thymeleaf作为前端开发的一个模板引擎,我们在学习的过程中需要注意些小知识点以避免一些不必要的麻烦。1.当后台数据为一个对象时,我们需要获得这个对象的各个value值,显示我们的前端数据 <div th:object="${user}"> <p>Name: <span th:text="*{firstName}">Sebastian</...

2020-03-09 19:16:22 191

原创 Java重写equals()和hashCode()方法——小白必看

以一个People类为例public class People { String name; int age; public String getName() { return name; } public int getAge() { return age; } public void setNam...

2020-02-20 11:46:45 363

原创 JVM 的运行机制与java跨平台原因——小白必看!!

JVM 并没有大家想的那样复杂,对于大多数学过Java的同学来说并不陌生。Java所运行的代码 都是在这个运行Java字节码的虚拟机上运行的。JVM运行在操作系统之上,不与硬件设备直接交互。Java之所以能够跨平台,是因为Java的源文件再通过编译器之后被翻译成.Class文件文件(字节码文件),.Class文件又被JVM中的解释器编译成机器码在不同的操作系统上运行,即使每个系统的解释器都是不...

2020-02-18 11:13:07 193

原创 json 数据的前端后台简单交互

一、前期准备前端:adjx传递数据,使用jQuery。后台:引入json jar包。(避免引用类型使用带来的字符串拼接问题)二、前端发送请求 var data = { "username":"admin", "password":"123456" }; $...

2020-02-18 10:29:30 192

原创 css入门(一)级联样式单和选择器

一、级联样式单1.引入外部样式文件<link type = "text/css" rel = "stylesheet" href = "css样式文件的URL">其中type和rel指定了CSS样式单不可修改,而其中的href属性指向了CSS样式单文件的地址,此处的地址既可以是相对地址,也可以是互联网上的绝对地址2、使用内部CSS样式 <style ty...

2019-08-02 23:08:00 252

原创 Html结合简单js 实现拖放

我们 html5 新增的标签属性其中 a标签 和img 标签都是可以被拖动的,也就是我们鼠标可以拖动,但是并不能动。下面我通过js实现了拖动以及将div属性也升级为了可拖动属性<!DOCTYPE html><html lang="en"><head> <title>class 练习</title> &...

2019-07-31 23:57:36 127

原创 前端标签(三)

一、列表相关元素 <ul>:定义无序列表。该元素只能包含<li.../>子元素。 <ol>:定义有序列表。该元素只能包含<li.../>子元素。 该元素还可以指定如下两个重要属性: start:指定列表项的起始数字。 type:指定使用哪种类型的编号(在HTML 5规范中已不推荐使用) <l...

2019-07-31 23:44:32 112

原创 前端标签(二)

一、HTML5的基本结构<!DOCTYPE html><html lang="en"><head> <title></title> <meta http-equiv="Content-Type" content = "text/html"; charset = "utf-8"> <s...

2019-07-31 23:18:42 64

原创 计算机组成原理基础(一) 编码

计算机我们几乎每天都在接触,所谓的存储并不是我们简简单单的下载复制粘贴那么简单,还有计算机是无法识别我们的汉字,字母甚至符号的。在它的世界里仅仅只是有 01 。也就是说我们看的文字被计算机都编译转换成了01,那么问题又来了,那么多东西都编译成了0101010,计算机又是怎么分开并且准确识别每一个文字,汉字呢?我们计算机最小的存储单元是一个字节,字节是计算机存储的基本信息单位。位是计算机的最小...

2019-07-21 23:28:27 1059 1

原创 java的深浅拷贝 String与数组

前面我们介绍了String的其中一种命名方法,今天我们结合数组来看一下java的深拷贝与浅拷贝。首先我们来看一下String的另一种命名方法, new 实例化对象。String s1 = new String("123");String s2 = new String("123");此时我们实例化了两个字符串对象,new方法在堆中申请内存空间,也就是说“即使都是123”,在堆中占据了...

2019-07-21 23:26:21 718 1

原创 java 八大排序之一——归并排序

想到大家可能都对算法有一些胆怯心理,我也是在学长的帮助下,在优化排序的归并算法得到一些提升,并且更深的理解了java的方法以及一些数组的运用。我们来简单的分析归并算法的过程,简单的说分为三步,其中包括有序数组的合并,数组的压缩,二维数组与一维数组的转换。1.有序数组的合并(分别使用了for(参数无关),while)/*** 入参为两个从小到大的有序数组* @param arr1* @p...

2019-07-21 23:24:52 81

原创 java的值传递——小白必看

首先我们要知道在java是不同于c++的,它是没有指针的。形式参数:是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。实际参数:在调用有参函数时,主调函数和被调函数之间有数据传递关系。在主调函数中调用一个函数时,函数名后面括号中的参数称为“实际参数”。值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行...

2019-07-17 23:22:48 77

原创 java的String类型(二)浅谈JVM

在java虚拟机中大致分为了栈、堆、方法区、常量池以及本地方法区等,由于String的存储涉及一二,我们便来看一下一些简单的存储机理。首先栈的存储特点:先进后出,用来存放顺序控制指令的基本数据类型,还有一些引用。值得我们注意的是(类里面的基本类型放在堆中,方法里面的基本类型在栈中),陆续我们都会讲到。那么今天们要讲的String就主要存储在常量池中(现在的java认为常量池是堆的一部分)。...

2019-07-17 16:27:20 170 1

原创 java的String类型(一)

作为java的一个重要的数据类型字符串——String,它并不是一种字符数组,却有着数组的一些性质。首先我们来看一下String的一种定义方法。 String s1 =“abc”; String s2=“bjl”; 每一个用双引号括起来的字符串都是String的一个实例。我们来看一下String的一些常用方法:1.subsrting():用来提取字符串。(开始下标,结束下标)左...

2019-07-17 16:24:53 132

原创 java基本数据类型——强力推荐

接触过计算机的人可能都知道计算机的内部只有01二进制,也就是说计算机会通过自己一种方式来将我们的文字转化为01,这些内容我们陆续会在计算机组成和操作系统进行整合学习。下面我们就来探索一下java中的基本数据类型,其中我们将涉及一些二进制码的思考。 java中有四种表示整型的数据类型,其中byte,short,int,long,分别为1、2、4、8个字节。 正如我们的正数包括正整数、0、负整...

2019-07-17 16:23:48 67

原创 前端重拾(简单标签(一))

一些最简单的html标签(浏览器解析代码换行问题)今天重新从最基础的前端代码学了一遍,感受颇深,很多细节的东西都没有注意到。哪怕是最简单的p标签也有了新的认识,对于以后的css布局有了很大的帮助。标题标签(h1~h6):作为标题标签,字体自动加粗,占据网页的整行并且自动换行,上下具有边框,也就是字体的高度为10px,那么它在网页中就可能是10+2+2px。div标签:作为最重要的分块标...

2019-07-17 16:21:25 97

转载 原码 补码 反码

/最近在重新学习一遍C语言,以更加深入的理解C语言,为C++打下比较坚实的基础。此次学习主要依据的书籍依然为《C Primer plus》中文版 第五版。至此,我创建了C/C++这一个分类,用以记录学习C/C++的过程,不断提高自己。/ 在前面的两章的学习中,并未遇到很大的问题。其中的一个就是关于变量,变量名,声明,定义,初始化等的相关基础知识,这点会在下一篇的文章中进行讲解。目前遇到的问...

2019-07-16 22:03:00 145

原创 前端学习css命名及位置

1.整理的css命名规则头:header内容:content/container尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:left right center登陆条:loginbar标志:logo广告:banner页面主题:main热点:hot新闻:news下载:download子导航:subna...

2019-05-29 20:32:53 113

空空如也

空空如也

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

TA关注的人

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