自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 迅速看懂Base64编码

一、Base64是什么Base64是一种编码方式,用于传输8位(8 bit)字节码,实质基于64个可打印字符来表示二进制数据的一种方法。这64个可打印字符就是: A-Za-z0-9+/Base64编码是数据从二进制到字符的过程,在银行系统或支付系统里,系统的报文传输一般都会用Base64进行转码,然后再进行其他操作。Base64编码后数据具有不可读性,需要对应的Base64解码后才能阅读。Base64编码使用8bit表示原来字符的6bit,所以编码后,每3个ASCII码会被转换成4个字

2020-09-20 16:54:14 53

转载 OSI七层模型和TCP/IP五层模型

一、OSI参考模型1.1、OSI的来源 OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。1.2、OSI七层模型...

2019-08-27 10:10:43 208

原创 Java类加载机制、初始化顺序

目录一、类加载过程1.1、加载1.2、链接1.3、初始化二、类初始化时机2.1、只有在对类主动使用的时候才会导致类的初始化,类的主动使用包括以下六种:2.2、子类和父类初始化顺序(针对属性、代码块、构造方法)三、类的生命周期四、类加载机制4.1、类加载器4.2、类加载机制的分类4.3、关于双亲委派机制一、类加载过程类加载过程分为加载、链...

2019-08-25 15:49:27 531

原创 Java内存模型与访问定位

一、Java对象在内存中的结构在JVM中,使用OOP-KLASS模型来表示Java对象,关于OOP-KLASS模型如上图所示。1.1、JVM在加载class时,会创建instanceKlass,表示该class的元数据(包括常量池、字段、方法等),存放在方法区;instanceKlass是JVM中的数据结构;1.2、在new一个对象时,JVM创建instanceOopDesc来表示这个对象...

2019-08-20 23:48:00 86

原创 JVM内存管理与垃圾回收机制

一、内存溢出和内存泄漏1.1、内存溢出(OOM out of memory) ----内存不够用。比如上厕所坑位不够内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;1.2、内存泄漏(Memory Leak) -----内存空间浪费,内存用完未释放比如站着茅坑不出来,而且是永久占着内存泄漏是指程序在申请内存后,无法释放已申请...

2019-08-19 23:30:27 410

转载 MySQL存储引擎

一、MySQL存储引擎可以这么理解:MySQL存储引擎可以理解为数据存储在MySQL数据库中的存储技术,不同的存储引擎可以通过存储机制、索引技巧、锁定水平等提供不同的功能。例如获得额外的速度或者新增一些功能,来优化改善你的应用。MySQL中的存储引擎有:FEDERATED、MRG_MYISAM、MyISAM、BLACKHOLE、CSV、MEMORY、ARCHIVE、InnoDB、PE...

2019-08-17 16:15:52 43

原创 hasNext()、next()、nextLine()

主要通过Scanner类说一下这几个函数。一、hasNext()函数先看一段代码:package AllTests;import java.util.Scanner;class NextNextLineNextIntTest { public static void main(String[] args) { System.out.println("随便输...

2019-08-15 21:33:14 146

原创 Java泛型

理解:Java集合有个缺点,把一个对象丢进集合里后,集合就会忘记这个对象的数据类型,当再次取出该对象时,该对象的编译类型会变成object类型(运行时类型没变),增加了泛型后的集合,完全可以记住集合中元素的类型,并在编译时检查几何中元素的类型,如果试图向集合中添加不满足类型要求的对象,编译器会提示错误。目的:解决从集合中取数据时数据类型不统一的弊端。泛型:Java的参数化类型,允许程序在创...

2019-08-13 22:02:10 43

原创 Java异常机制

异常的继承关系:关于Error和Exception:Error和Exception都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),他是异常处理机制的基本组成类型。Error是指正常情况下不大可能出现的情况,一般无法预料。绝大部分的Error都会导致程序(比如JVM自身)处于不可恢复的非正常状态,不易...

2019-08-13 21:40:23 45

原创 单例模式

一、是什么1.1、单例类只能有一个实例1.2、单例类必须自己创建自己的唯一实例1.3、单例类必须给所有其他对象提供这一实例(必须有一个public的获取实例的方法)二、适用环境单例模式可以保证全局对象的唯一性,比如系统启动读取配置文件就需要单例保证所有配置的一致性。一般以下情况常考虑单例模式的设计模式:2.1、系统只需要一个实例对象,或者因为资源消耗太大只允许创建一个...

2019-08-10 15:18:03 64

原创 maven

一、是什么maven是Apache下的一个纯Java开发的开源项目,它是一款能够抽象构建过程,并且提供依赖管理,中央仓库,项目构建等功能的工具。二、为什么用假如我们在开发两个Java项目,这两个项目中对于某一些功能会有互相依赖的情况,若两边共用一套代码进行关联,后期的维护会很繁琐,如果我们将共用的代码打成jar包引入项目中使用的话,那么后期进行代码更新的话也要对引入的jar进行更...

2019-08-08 23:18:57 77

原创 TCP/IP、HTTP、HTTPS

一、TCP/IPTCP/IP协议是一系列网络协议的总和,是个协议簇。它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP协议通常被认是一个四层协议,每一层都呼叫它的下一层所提供的协议来完成自己的需求:应用层 为网络排错,文件传输,远程控制和 Internet 操作提供具体的应用程序 常见协议: Telnet:远程管理、FTP:文本传输协...

2019-08-07 23:18:44 114

原创 堆内存、栈内存、方法区

一、Java内存管理Java程序运行在虚拟机(JVM)上,JVM相当于Java程序和操作系统之间的桥梁,Java程序通过JVM实现了平台无关性,可以跨平台操作。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同的数据区域,这些区域都有各自的用途以及创建和销毁的时间。Java虚拟机所管理的内存会包括以下几个运行时数据区域,如下图所示:这里主要介绍三种内存区:堆内存、...

2019-07-18 16:25:51 392

原创 MySQL事务

一、是什么一般来说,事务对应一个完整的业务(例如银行账户转账业务),事务反映在数据库中就是用户一系列的数据库操作。一个完整的业务需要批量的DML(insert、update、delete)语句共同完成,事务保证这些操作要么全做要么全不做,是一个不可再分的工作单元。二、事务的四大特性(ACID)事务的 ACID 原则保证了一个事务要么成功提交,要么失败回滚,二者必居其一。它对数据的...

2019-07-18 14:48:44 47

原创 Java 的几个修饰符和关键字

一、常见修饰符java的修饰符最常见的有public、protected、default、private四个,分别代表不同的访问权限。一张表告诉你他们权限各自是多大。 本类 本包 子类 外部包 public √ √ √ √ protected √ √ √ × default √ √ ×...

2019-07-18 10:39:07 248

原创 查找算法

先介绍两种最常用的查找算法一、顺序查找顾名思义,顺序查找的意思就是按照顺序一个个进行查找。有序或是无序都可以,效率较低。//顺序查找,返回对应元素下标,若找不到返回-1public static int search(int[] a, int key) { for (int i = 0; i < a.length; i++) { if (a[i] ==...

2019-07-17 09:57:06 58

原创 多线程

一、是什么先了解几个概念:进程:进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。说白了就是程序进入内存运行时,就会产生一个相应的进程。线程:线程是进程中的一个执行单元,负责当前进程中某一段程序的执行,一个进程中至少有一个线程...

2019-07-17 09:16:29 54

原创 排序算法

一、冒泡排序算法1.1 算法原理 每次比较两个相邻的元素,将较大的元素后移一位 每一轮比较后,都会把遍历到最大的数据移动到末尾(一次遍历保证一个数据有序) 若有n个数据,n轮遍历下来,就会实现数据从小到大的有序排列 时间复杂度:最好情况O(n),最坏情况O(),平均情况O() 空间复杂度:最坏情况O(n)1.2 动图演示...

2019-06-30 22:34:27 95

原创 MyEclipse环境下搭建SSM框架实现登录功能

一、准备工作MyEclipse10,下载安装破解JDK8下载安装,配置环境变量MySQL5下载安装,配置环境变量Tomcat8下载安装,配置环境变量maven3.5下载安装,配置环境变量在MyEclipse中设置preferences将jdk、tomcat、maven等配置好。这些网上教程很多,就不详说了。二、项目结构三、代码实现配置信息3.0 pom....

2019-06-17 22:27:26 1147 5

原创 String、StringBuffer、StringBuilder

一、相同点String、StringBuffer、StringBuilder都用来封装字符串,并提供一系列方法来改进字符串。二、不同点2.1 可变与不可变String是不可变类,一旦一个String对象被创建,该对象中的字符串序列不可改变,直至对象被销毁。StringBuffer、StringBuilder是可变类,常用方法有append()、insert()、reverse(...

2019-06-13 21:23:49 51

原创 SSM框架中jdbc.properties配置

直接上代码吧:jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&allowMultiQueries=truejdbc.username = root...

2019-06-07 22:55:29 1806

原创 SSM框架下log4j配置说明

一、是什么Log4J的配置文件用来设置记录器的级别、存放器和布局的,说白了就是一个日志记录工具,可以打印记录一些程序运行、操作的记录。在开发中debug时可以随时查看,非常方便好用。它可以接key=value格式的设置或xml格式的设置信息,有log4j.xml和log4j.peoperties两种配置方式,较常用的是log4j.peoperties方式。二、配置说明这里以log4j....

2019-06-07 22:41:54 771

原创 在github上上传已有项目

一、准备工作1.1 注册github账号1.2 下载Git二、上传项目2.1 在你的github上添加RepositoryCreate rpository之后,记住下面HTTPS下的URL,之后还会用。2.2 打开git,找到要上传的项目路径,到路径下(需进入项目文件夹下)例如我要上传TestDoc项目,需在进入该文件夹下,$ cd TestDoc/然后...

2019-05-31 21:57:51 152

原创 =,==,===,equals()的区别

==是赋值运算符,就是向变量赋值用的如下,定义一个变量anthor并赋初值为CHAoLip。这个不多赘述了。//JavaScriptvar author = "ChAoLip";====是比较运算符,==比较的是对象的地址,也就是判断是否为同一个对象;或者这么说吧:当比较基本数据类型时,==就是比较值是否相等当比较引用数据类型时,例如比较两个对象的引用时...

2019-05-23 22:00:10 41

原创 工厂方法模式

是不是想先了解一下简单工厂模式呢?他们很像哦!一、是什么定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。理解:工厂方法模式是对简单工厂模式的改进,通过引入抽象的工厂类,使得它具有超越简单工厂的优越性,让系统更加符合开闭原则。二、模式结构工厂方法模式包含4个角色:Product、ConcreteProduct、...

2019-05-19 21:39:20 303 1

原创 简单工厂模式

一、是什么定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常具有想通过的父类。二、模式结构简单工厂模式包括三个角色:Product、ConcreteProduct、FactoryProduct:抽象产品角色ConcreteProduct:具体产品角色,一般是多个(具体产品一般都是多个呀,要是一个还用查吗)Factory:工厂角色、工厂类三、设计...

2019-05-19 19:46:36 93

原创 前台向后台传值

本文主要介绍3种前台向后台传值的方法一、URL传参提交方式为get方式时,在你想要传值的目的url后面,用?连接参数,若有多个参数,各参数间用 & 连接。<a href="localhost:8080/DocApp/user/userInfo.do?name='zhangsan'&sex='male'">URL传参</a>目标URL...

2019-05-18 22:15:02 3455

原创 JSON(JS中)

一、是什么JavaScript 对象表示法(JavaScriptObjectNotation),是一种数据表示的格式,就是一种有规则的字符串。 Key/Vaule存储,理论上Key支持String、Number,Value几乎支持所有类型。 存储和交换文本信息的语法,类似 XML。但JSON 比 XML 更小、更快,更易解析。二、语法数据在 key/value 对中 数据由逗号...

2019-05-18 19:22:57 58

原创 算法学习001---二叉树的深度(Java)

算法要求:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {...

2019-03-23 19:58:09 436

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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