自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

henrly的博客

Java技术记录分享

  • 博客(57)
  • 收藏
  • 关注

原创 定位改变display属性

定位改变display属性display 是 显示模式, 可以改变显示模式有以下方式:可以用inline-block 转换为行内块可以用浮动 float 默认转换为行内块(类似,并不完全一样,因为浮动是脱标的)绝对定位和固定定位也和浮动类似, 默认转换的特性 转换为行内块。所以说, 一个行内的盒子,如果加了浮动、固定定位和绝对定位,不用转换,就可以给这个盒子直接设置宽度和高度等。同时注意:浮动元素、绝对定位(固定定位)元素的都不会触发外边距合并的问题。 (我们以前是用padding bo

2020-10-28 16:29:26 365 1

原创 清除浮动

2.2 清除浮动本质清除浮动本质:​ 清除浮动主要为了解决父级元素因为子级浮动引起内部高度为0 的问题。清除浮动之后, 父级就会根据浮动的子盒子自动检测高度。父级有了高度,就不会影响下面的标准流了2.3 清除浮动的方法在CSS中,clear属性用于清除浮动,在这里,我们先记住清除浮动的方法,具体的原理,等我们学完css会再回头分析。语法:选择器{clear:属性值;} clear 清除 属性值描述left不允许左侧有浮动元素(清除左侧浮动的影响)righ

2020-10-28 12:57:46 575

原创 后台权限管理系统(3)——PageHelper分页插件的使用

目录1. PageHelper介绍2.PageHelper使用2.1 引入分页插件2.2 配置拦截器插件2.3 在业务代码中使用PageHelper插件1. PageHelper介绍PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite等。2.PageHelper使用2.1 ...

2019-12-26 11:15:15 542

原创 后台权限管理系统(2)——系统基础数据的展示

目录1.页面效果展示2.具体实现2.1 订单管理模块2.1.1 订单展示页面2.1.2 订单详情页面1.页面效果展示实现效果如下订单管理页面产品管理页面2.具体实现2.1 订单管理模块2.1.1 订单展示页面点击订单管理,url跳转地址如下所示:web层代码 //分页的写法 @RequestMapping("/findAll.do") @Secur...

2019-12-19 13:22:36 1002

原创 记一次迭代器源码阅读

目录1.问题引入2.迭代器回顾2.1 迭代器是什么2.2 集合框架是如何实现迭代器接口的3. 迭代器应用实践4. 能不能使用迭代器修改集合中的元素总结1.问题引入今天好哥们突然给我发来一条QQ消息,问迭代器能不能修改集合,用过迭代器的小伙伴应该都知道这一点:迭代器是用来统一对于List和Set集合的遍历方式的,至于能不能修改集合中的元素,讲真的,我没去思考过。不过当时为了快点回复哥们(其实是为...

2019-12-13 19:33:51 221

原创 对迭代器(Iterator)的思考与总结

目录1.问题引入2.迭代器回顾2.1 迭代器是什么2.2 集合框架是如何实现迭代器接口的2.2 迭代器应用实践2.3 能不能使用迭代器修改集合中的元素1.问题引入今天好哥们突然给我发来一条QQ消息,问迭代器能不能修改集合,用过迭代器的小伙伴应该都知道这一点:迭代器是用来统一对于List和Set集合的遍历方式的,至于能不能修改集合中的元素,讲真的,我没去思考过。不过当时为了快点回复哥们(其实是为...

2019-12-13 19:18:29 367

原创 一张图理解接口

2019-12-13 13:19:51 179

原创 Linux学习(day01——目录结构、基础指令、进阶指令、高级指令)

目录1.Linux的目录结构bindevetchomeprocrootsbintmpusrvarmnt2.基础指令2.1 ls指令2.2 pwd指令2.3 cd指令2.4 mkdir指令2.5 touch指令2.6 cp指令2.7 mv指令2.8 rm命令2.9 vim指令2.10 输出重定向2.11 cat指令3.进阶指令3.1 df指令3.2 free指令3.3 head指令3.4 tail...

2019-12-12 14:39:55 191

原创 后台权限管理系统(1)

目录1.需求分析2.技术架构3.环境搭建3.1创建父模块3.1.1修改父模块的pom文件,指定整个项目中用到的jar包的依赖及其版本3.2 创建domain层子模块3.3 创建dao层子模块3.3.1 修改pom文件,添加dao层jar包的依赖3.4创建service层子模块3.4.1修改pom文件,添加service层jar包的依赖3.5创建web层子模块3.5.1修改pom文件,添加web层j...

2019-12-11 11:00:27 730

原创 SSM系列之SSM整合

目录总体层次结构1. 坐标导入2. Dao层——Mybatis2.1 pojo模型类2.2 dao层代码2.3 配置文件2.3.1 sql配置文件2.3.2 mybatis配置文件2.3.2.1 配置方式一2.3.2.1 配置方式二2.4 单元测试3. Service层3.1service层代码3.2 配置文件3.3单元测试4. Web层——SpringMVC4.1 web层代码4.2配置文件4....

2019-10-08 16:26:45 408

原创 IntelliJ IDEA使用|Error:不支持发行版本5

解决办法

2019-09-18 20:09:04 329

原创 乱码问题

这个问题暂时没有解决,会的请指导一下

2019-09-06 10:24:18 97

原创 IntelliJ IDEA|热部署

目录1.什么是热部署2.在IDEA中对Tomcat容器进行热部署2.1 项目以文件的形式发布2.2 勾选 Update classes and resources1.什么是热部署所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于...

2019-08-31 16:28:05 703

原创 IntelliJ IDEA|tomcat启动控制台中文乱码

tomcat启动后中文乱码解决方法打开tomcat中conf目录下的logging.properties文件,将java.util.logging.ConsoleHandler.encoding = UTF-8修改为java.util.logging.ConsoleHandler.encoding = GBK重启tomcat,中文显示正常...

2019-08-17 14:17:21 146

原创 IntelliJ IDEA|debugger console 不见了

2019-08-15 20:16:55 416

原创 IntelliJ IDEA|数据库集成工具的使用

idea集成了一个数据库管理工具,可以可视化管理很多种类的数据库

2019-08-15 15:35:10 249

原创 MySQL|时区设置问题

问题做项目时遇到这一问题,数据库里的时间要比自己设置的时间早8个小时:存储的时间时13:34,在数据库中却是5:34,早了8个小时,问题在于在设置JDBC的url时将时区设置成了UTCUTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。解决方案将时区设置为GMT%2B8...

2019-08-15 13:42:05 339

原创 IntelliJ IDEA|解决 IntelliJ IDEA中Warning:java: 源值1.5已过时, 将在未来所有发行版中删除

原因:IDEA默认把项目的源代码版本设置为jdk1.5,目标代码设置为jdk1.5解决方案:在pom.xml文件中添加以下代码来设置JDK的编译版本: <build> <plugins> <plugin> <groupId>org.apache.maven.plugin...

2019-08-12 16:23:13 255

原创 Lambda表达式——函数式编程思想

目录1. 函数式编程思想概述2. 冗余的Runnable方法传统写法代码分析做什么,而不是怎么做3. 体验Lambda的更优写法 4. 回顾匿名内部类使用实现类使用匿名内部类匿名内部类的好处与弊端语义分析5. Lambda标准格式6.练习使用Lambda表达式6.1 使用Lambda标准格式(无参无返回)题目解答6.2 Lambda的参数、返回值传统写法代码分析Lambda写法6.3 Lambda...

2019-08-10 17:16:41 980

原创 异常

目录 1. 异常1.1 相关概念1.2 异常体系1.3 异常分类1.4 图解异常产生过程2. 异常的处理2.1 抛出异常throw2.2 声明异常throws2.3 捕获异常 try...catch...2.4 finally 代码块2.5 异常注意事项3. 自定义异常3.1 概述3.2 自定义异常的练习 1. 异常1.1 相关概念异常:指的是程序在执行过程中,出现的非正常的情况,最...

2019-08-08 20:22:51 192

原创 Comparable和Comparator的区别

一、问题引入使用集合工具类Collections的sort方法对集合内部元素排序,当存储Integer类型数据时,程序的编译、运行均正常,但当集合存储自定义类型时,编译器报错,显示未实现Comparable接口,如图所示:自定义类型 Person:package cn.GTMStudio.Comparator;public class Person { private Str...

2019-08-07 16:47:21 198

原创 集合遍历的各个方法

//一、List集合 List<String> list = new ArrayList<>(); list.add("henrly"); list.add("nancy"); list.add("lucy"); list.add("jeacy"); //遍历List集合 ...

2019-08-06 20:45:08 7089 1

原创 一张思维导图轻松理清Java集合框架

集合框架无非是List、Set和

2019-08-06 16:15:30 320 1

原创 HashSet和HashMap的底层图解

HashSet和HashMap的底层实质上都是hash表(数组+链表)

2019-08-06 16:10:31 642

原创 HashSet底层原理及手动实现HashSet

HashSet底层是一个HashMap,HashSet只是用到了HashMap的key,将HashMap的值设为虚拟的值手动实现HashSetpackage cn.GTMStudio.MyConnection;import java.util.HashMap;public class GTMHashSet { //HashSet的底层是一个HashMao HashMa...

2019-08-06 10:38:03 1133

原创 HashSet存储自定义类型元素

一、HashSet集合存储元素不重复的原理前提:存储的元素必须重写hashCode方法和equals方法二、HashSet存储自定义类型元素1. 创建自定义类型Student类package cn.GTMStudio.collection;public class Student { private String name; private int age; ...

2019-08-05 16:46:55 771 1

原创 Maven入门(一)——maven的定义及安装

一 、Maven的安装1. 官网下载maven安装包后解压没有空格及中文的目录中安装包解压后的目录2. 配置maven环境变量添加系统变量MAVEN_HOME在PATH变量中新建MAVEN依赖java环境,必须要有JAVA_HOME3.检测Maven是否安装好cmd窗口下输入: mvn -v出现图示则已安装好二、Maven仓库分类及设置Maven仓库分三类...

2019-08-05 09:21:00 2280

原创 手动实现HashMap

HashMap是由数组和链表来实现对数据的存储,它们各有特点:数组:占用空间连续,寻址容易,查询速度快。但是,增加和删除效率 非常低。链表:占用空间不连续,寻址困难,查询速度慢。但是,增加和删除效率非常高。HashMap通过使用”哈希表“结合了数组和链表的优点,哈希表的本质就是“数组+链表”。手动实现HashMap1.创建结点类package cn.GTMStudio.MyCon...

2019-08-05 09:03:58 218

原创 HashMap底层原理详解

HashMap数据结构——数组+链表Node[]是HashMap的核心数组结构,也称之为“位桶数组“,长度默认是16Node的源码: /** * Basic hash bin node, used for most entries. (See below for * TreeNode subclass, and in LinkedHashMap for its En...

2019-07-28 16:01:59 981

原创 手动实现LinkedList

链表是由一系列结点(node)组成的,结点可以在运行时动态生成。链表有单向链表和双向链表两种结构,单向链表的每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。双向链表的每个结点包括三个部分:存储数据元素的数据域、存储下一个结点地址的指针域和存储上一个结点地址的指针域。一、单向链表单链表的特点是:节点的链接方向是单向的;相对于数组来说,单链表的的随机访问速度较...

2019-07-28 13:45:50 136

原创 手动实现ArrayList

ArrayList是顺序表结构,底层由数组组成,数组直接存取、删除操作复杂的特点使得ArrayList适用于不涉及频繁增删的场景。在之前的学习中,我们掌握了数组长度是有限的,而ArrayList可以存放任意数量的对象,这是通过动态扩容的方式实现的。1.最简化方式package cn.GTMStudio.MyConnection;/** * 自定义实现一个ArrayList,体会底层原理...

2019-07-26 21:13:59 221

原创 运算符优先级引起的bug

在自定义ArrayList时,笔者模仿ArrayList的动态扩容方法即只要数组内数据的个数等于数组的长度,就将数组的长度增加原先长度的一半,代码献上: public void add(E obj) { //判断是否需要扩容 if (size == elementData.length) { //扩容操作 Obj...

2019-07-26 17:40:19 181

原创 详解Java中的Arrays类的copyOf()方法

java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单。Arrays.copyOf(T[] original,int newLength ):拷贝数组,其内部调用了System.arrayCopy()方法,从下标0开始,如果超过原数组长度,会用null进行填充。如下图可见:源码分析,内部调用了System.arraycop...

2019-07-26 14:32:13 12747

原创 IntelliJ IDEA | 使用技巧—查看类的继承关系图

按快捷键ctrl+q查看类的注释

2019-07-25 21:50:32 131

原创 IntelliJ IDEA | 使用技巧—查看类的继承关系图

1. 快捷键ctrl+h利用idea的快捷键ctrl+h可以查看类的层次结构(hierarchy)好处:可以查看向上和向下的继承关系缺点:只能查看继承关系,不能查看实现了哪些接口2.在指定的类右键查看diagram或按快捷键ctrl+alt+u好处:既能看继承关系,也能看实现了哪些接口...

2019-07-25 21:29:59 693

原创 秒懂Java多态的引用类型转换——向上转型、向下转型(强制转型)

多态的转型分为向上转型和向下转型两种向上转型多态本身是子类类型向父类类型向上转换的过程,这个过程是默认的。当父类引用指向一个子类对象时,便是向上转型。使用格式: 父类类型 变量名 = new 子类类型(); 如:Animal a = new Cat();向下转型父类类型向子类类型向下转换的过程,这个过程是强制的一个已经向上转型的子类类型,将父类引用转为子类引用,便是向下转型...

2019-07-25 20:12:09 1608

原创 一篇搞懂Java的三大特征:封装、继承和多态

一、面向对象思想概述 二、封装三、继承四、多态一、面向对象思想概述Java是面向对象的语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。 它区...

2019-07-25 16:58:54 798

原创 Redis

水水水水redis的数据结构1. redis的数据结构:redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构value的数据结构:1) 字符串类型 string2) 哈希类型 hash : map格式3) 列表类型 list : linkedlist格式。支持重复元素4) 集合类型 set : 不允许重复元素5...

2019-07-25 12:30:44 70

原创 MySQL字符集及配置

一、什么是字符集是多个字符(英文字符,汉字字符,或者其他国家语言字符)的集合,字符集种类较多,每个字符集包含的字符个数不同。特点:  ①字符编码方式是用一个或多个字节表示字符集中的一个字符;  ②每种字符集都有自己特有的编码方式,因此同一个字符,在不同字符集的编码方式下,会产生不同的二进制。即数据库的编码方式。二、字符集的作用是什么限定mysql的编码,处理乱码情况MySQL要求对...

2019-07-25 12:29:49 1305

原创 java中的接口及其新特性

学习总是要带着疑问的,解惑的过程会带来成就感。笔者大一自学java,当时学到接口,对于接口的理解是:接口是方法的集合,只提供抽象方法的定义,不提供方法的实现,这些方法的具体实现由接口的实现类实现。接口提供的是一种规范,也就是标准的指定。说到制定标准,Java的老东家Sun公司可是玩的得心应手,具有代表性的就是JDBC技术,Java提供数据库操作的接口,也就是规范,这些接口由各大数据库厂商实现...

2019-07-25 12:22:19 358

空空如也

空空如也

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

TA关注的人

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