自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从零搭建SSM之——SpringMVC的单独使用以及Spring整合MVC

前几篇文章整合了Spring+Mybatis,这篇文章将最终整合SpringMVC,最终形成SSM基础框架。本篇文章与之前文章结构类似,先单独搭建SpringMVC,再统一整合Spring+Mybatis。SpringMVC的单独搭建与使用之前几篇的项目我都是以一个普通的项目在运行程序,但是如果运行SpringMVC的首要条件是项目必须是一个Web项目,所以,我首先要将原项目更改成一个Web项...

2019-10-08 15:00:33 660

原创 从零搭建SSM之——Spring框架的单独使用以及Spring整合MyBatis

Spring整合Mybatis

2019-10-07 21:01:10 334

原创 从零搭建SSM之——C3P0等连接池的使用以及整合Mybatis

上一篇写了原始的JDBC操作数据库,那么这一篇我会一步一步地整合C3p0连接池并且使用Mybatis整合连接池。整合C3P0连接池再回顾一下上一篇关于JDBC操作数据库的流程: * 第一步:加载Driver类,注册数据库驱动至DriverManager; * 第二步:通过DriverManager,使用url,用户名和密码获取连接(Connection); * 第三步:通过Connect...

2019-10-06 22:03:02 483

原创 从零搭建SSM之——JDBC的单独搭建使用

最近想整理一下SSM(Spring+SpringMVC+Mybatis)的文章,我比较喜欢一步一步详细地拆分再组合。那么我的想法是单独使用Spring,SpringMVC,Mybatis。最后再把他们整合到一起,那么这篇文章就是Mybatis模块的搭建。并且我会从JDBC开始,一步一步搭建成Mybatis。使用JDBC操作数据库一、环境准备(1)jdk(2)mysql-connector-...

2019-10-06 20:07:24 375

原创 Mysql系列三——数据库事务(事务隔离性)

什么是数据库事务?数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。(百度百科)简单举个例子:假如A要向B转账100元,那么主要包含两个数据库操作。(1)A账户扣100元(2)B账户加100元那么假如在将A账户扣了100元成功之后,B账户加钱操作没有执行成功,那么就是一次意外事故了。所以,就有了事务的概念。事务就是将一系列数据库操作封装...

2019-09-19 21:57:24 165

原创 Mysql系列二——Mysql日志(从一条更新语句分析Mysql的日志系统)

Mysql的更新语句以及日志不管是Mysql的查询语句还是更新等语句都是属于普通的Mysql语句,都要走Mysql的基础结构流程,即上文提过的基础架构:更新语句的大致执行流程为:(1)Mysql用户使用账户密码通过连接器的验证后,便建立了一条连接。(2)语句进入分析器阶段,分析器分析语句是一条更新语句。并且,会将缓存关于此条语句的数据失效。(3)优化器根据语句的where条件(如果存在...

2019-09-14 16:09:10 369

原创 JVM系列之——JVM内存管理

JAVA 语言相对于其他有许多优势和优点,其中一个优点便是JAVA开发者只需要关注代码,而不需要关注内存分配与回收的细节。因为对于不同数据需要有不同的管理策略,所以JAVA虚拟机将内存划分成不同的区域,各个区域有不同的用途以及管理策略。有些进程随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。一、程序计数器程序计数器是当前线程所执行的字节码的行号指示器。通俗一点来...

2019-09-10 01:03:05 273

原创 Mysql成长系列之一:Mysql的基础架构

本文是Mysql成长系列的第一篇,主要简单概述Mysql的内部基础架构,并且会以一些简单的例子辅佐阐述。OK,首先先上Mysql数据库内部的基本结构图:Mysql数据库总体来说分为Server层和存储引擎。Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖了Mysql的大部分功能,主要负责与客户端对接,接收外部命令,并对命令进行分析优化等等操作,最后对存储引擎发出读写操...

2019-09-09 02:11:26 391

原创 RPC的原理以及演变

本文将从简单的网络请求(客户端/服务器端),到RPC的使用,逐步分析。一、普通的网络请求流程(java web、C/S)(1)客户端(一般为浏览器)通过提交表单或者点击链接等等方式通过form、ajax、a链接、js等方式发送http请求,url即为服务器地址,包含在http请求头中。(2)http请求头除了包含url之外,还有一些必要信息(如cookie等)。http请求体包含了http...

2019-09-08 00:39:22 257

原创 重写equals必须重写hashcode吗?(原理分析)

重写equals 和 重写hashcode的必要性和原理分析首先上Object类的源码: public native int hashCode(); public boolean equals(Object obj) { return (this == obj); }equals方法和hashcode方法是Object类的两个方法。(1)equals()...

2019-08-26 01:28:34 361 1

原创 JAVA(SpringMVC)文件上传下载以及对Http请求响应体的部分分析

JAVA 文件上传:前端界面(略显简陋):(1)未选择文件(2)选择文件点击上传后即可上传文件。前端代码:<form action="/teacher/tTeacher/upload" method="post" id="form1" enctype="multipart/form-data"> <input type="file" name="file"...

2019-06-21 17:29:12 752

原创 快速排序详细图解分析(含代码示例)

快速排序基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序总概览图解:设待排数组元素为:4、8、6、9、7、1、3、2、5。快速排序的基本思想是划分,分治,递归。第一步是划分,将整个数组划分为两个部分,第一部分所有...

2019-06-04 14:07:44 6856 2

原创 Stringbuilder原理以及StringBuffer

JAVA中String是不可变的,存放在字符串常量池中。当我们创建一个String时,它就已经是不可改变的了。观察String源码可以知道String类封装的是char数组常量,因此长度、内容均不可变:public final class String implements java.io.Serializable, Comparable<String>, CharSequ...

2019-06-03 20:48:44 187

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

在JAVA中,当我们新new一个对象时,通常会在同时将它赋值给一个变量。这样,在虚拟机的栈和堆中各开辟了一个新的空间。比如:Student a=new Student();栈和堆各开辟了一个空间。但是在某些时候,新new的对象赋值给变量并不是必要的。例如(1)将新new的对象传参给某个方法:Student a=new Student();int b=Calculate(a);...

2019-06-03 12:21:26 204

原创 数组存储压缩原理

1.计算机的物理单元(内存)**内存中基本的物理单元大小一般是4KB。**计算机保存着每个物理单元的首地址(但是如果是文件形式,一般保留整个文件流的首地址)。(物理单元大小的设置是经过权衡的:如果物理单元太小,每一小块物理块都包含地址,那么计算机用于存储所有物理块的地址文件也会变得很大。如果物理单元太大,那么容易造成空间浪费)2.变量存储前边说到,计算机只保留每个物理单元的首地址。当我们声...

2019-06-03 00:51:39 428

原创 数值类型乘除的优化位运算原理

引言:编程语言不只有直接对数值进行计算的运算符(+、-、*、/ 等等),还有精确到位的位运算符:左移<<和右移>>(1)位运算符简介位运算符用于对给定数值的每一位进行操作。左移运算符<<对数值的每一位进行左移操作,因为计算机是二进制数值,所以左移一位的实质是对数值进行乘2。以此类推,左移两位是对数值进行乘4,左移三位进行乘4。相应的,右移运算符>...

2019-06-03 00:21:03 198

原创 一篇文章看懂什么是Maven

什么是maven

2019-06-02 23:45:19 199

原创 从输入URL到加载页面的完整过程以及http报文的解析

当我们需要访问网络上的页面时,在浏览器输入URL(或者说网址),浏览器就会显示相应的页面。但是计算机和网络所经历的过程却远比表面上看到的要复杂,那么具体经历了什么呢。总体流程图:第一步 输入URL,域名服务器(DNS)解析域名,映射为IP地址为了标识互联网上的每一台计算机并使他们能够互相找到对方,国际组织NIC(Network Information Center)负责为每一台连接到...

2019-05-25 18:03:23 524

原创 一天一个Linux命令--cd

CD命令作用:更换当前目录格式:cd [目录名]结果:当前目录切换为指定目录名演示:在桌面打开命令行,当前目录为desktop当我们切换目录为根目录时,则输入cd /(注意命令与参数之间用空格隔开)回车当前目录切换为根目录。注意cd 命令切换目录时也是分绝对路径和相对路径的这就意味着,cd 命令的路径参数有两种形式,当选择绝对路径时,目录名从根目录开始一直到想要更换的目录。...

2019-05-18 23:54:55 149

转载 Linux文件目录结构以及一天一个Linux命令

Linux系统与Windows有很多不同的地方,其中一项就是强大的命令语句。Linux的命令语句很常用并且功能强大。首先先了解一下Linux的组成以及文件系统结构。Linux组成Linux文件系统结构...

2019-05-13 21:51:23 159

原创 javascript中数据类型、函数的创建与调用以及对象的定义总结

javascript是一种基于客户端浏览器的,基于对象(而不是面向对象)、事件驱动式的脚本语言。它的主要功能为:动态修改HTML页面内容,包括创建、删除HTML页面元素,修改HTML页面元素的内容、外观、位置、大小。下面是关于javascript中数据类型、函数的创建、调用和对象的定义的讨论。数据类型不同于JAVA、C++等编程语言,JavaScript是一种弱类型脚本语言,声明变量时无须指...

2019-04-17 22:08:25 212

原创 对类的生命周期以及类的静态代码块、构造代码块、构造函数、普通代码块的执行顺序的讨论

类的生命周期首先,我们应该清楚java的代码不是直接在所在操作系统运行的,而是在java虚拟机中运行后,最终在所在操作系统执行。所以,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(.class) 2、字节码由java虚拟机解释运行。运行过程图:1.加载2.连接3.初始化4.使用5.卸载...

2019-04-15 21:38:15 527

原创 前端——Form表单

表单相关的元素和属性HTML使用表单向服务器提交请求,表单、表单控件的主要作用就是收集用户输入,当用户提交表单时,用户输入内容将被作为请求参数提交到远程服务器。一、Form元素Form元素用于生成输入表单,是一个非可视化结构,所有需要向服务器提交请求的数据都需要放在Form所包含的表单控件中。1.Form元素属性通用属性:id、style、class。事件属性:onclicka...

2019-03-25 12:32:34 14078

原创 关于int转换为float时精度丢失问题的讨论

JAVA中关于int、float的存储字节和精度的讨论 首先,JAVA的基本数据类型包括:byte、int、short、long、float、double、char、boolean。前七个数据类型所对应的字节大小分别为1、4、2、8、4、8、2。(先不讨论boolean的大小,有争议。) int 和float都是4字节。但因为所表示数据范围不同,其所存储的形式也不同。虽然都是32位,但int的...

2019-03-22 17:54:50 4585

空空如也

空空如也

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

TA关注的人

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