自定义博客皮肤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)
  • 收藏
  • 关注

原创 tomcat遇到的大坑

今天突然tomcat启动不起来了!! 搞了半天 吐了 记录一下解决办法8005端口被占用了!!!1.查看8005端口使用情况lsof -i:80052.杀死占用8005的进程3.重新启动tomcat4.成功启动

2021-05-17 20:23:39 186

原创 项目部署到云服务器的经验总结

第一步:购买服务器学生可以购买学生机,100块左右一年。购买成功第二步:用Xshell连接服务器下载xshell,输入要连接的服务器ip和密码连接连接成功!!第三步:配置所需要的环境以SSM项目为例所需环境:Tomcat 、mysql、java可以先在window上下载linux安装包,通过xftp上传到云服务器再解压安装。也可以通过宝塔面包安装。具体安装过程不详。第四步:将sql文件导入到服务器mysql中首先同样通过xftp将导出的sql文件上传到服务器某路径上。然后执行

2021-03-21 12:55:21 424

原创 Git的使用

一、Git工作流程git的工作流程一般是这样的:1、在工作目录中添加、修改文件;2、将需要进行版本管理的文件放入暂存区域;3、将暂存区域的文件提交到git仓库。因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)二、Git项目搭建工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。六个命令操作。创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是

2021-01-31 13:49:28 169

转载 Shiro和Spring security的区别

Shiro简介 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。 Shiro架构与功能介绍 1....

2021-01-15 21:30:24 226

转载 类与类之间的几种关系

一、继承关系 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。二、实现关系 实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在Java中此类关系通过关键字implements明确标识,在设计时一

2021-01-12 21:18:41 181

转载 HashMap详解(JDK1.7和1.8区别)

1. 概述 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用Collections的synchronizedMap方法使HashMap具...

2021-01-06 11:16:48 351

原创 java中四种引用类型

JDK.1.2 之后,Java 对引用的概念进行了扩充,将引用分为了:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference)4 种,这 4 种引用的强度依次减弱。一、强引用Java中默认声明的就是强引用Object obj = new Object(); //只要obj还指向Object对象,Object对象就不会被回收obj = null; //手动置null只要强引用存在,垃圾

2021-01-05 12:22:29 92

原创 进程和线程的区别

进程和线程的区别?1、进程是资源分配的最小单位,线程是任务执行的最小单位。2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费比进程要小得多,同时创建一个线程的开销也比进程要小很多。3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。...

2021-01-04 11:46:13 93

原创 MySQL事务隔离级别

MySQL事务隔离级别INNODB隔离级别的实现INNODB是通过锁的并发控制(LBCC)和多版本的并发控制(MVCC)实现事务隔离的。为什么INNODB在RR级别下不存在幻读的情况?因为INNODB在可重复读级别下存在间隙锁,间隙锁阻塞了Insert操作。间隙锁仅对插入操作互斥,且不同事务的间隙锁并不互斥。...

2020-12-25 10:26:56 103

原创 List、Set、Map 之间的区别

List、Set、Map 之间的区别

2020-12-23 11:52:34 82

原创 事务的四大特性及实现原理

事务的四大特性及实现原理1.原子性(Atomicity)不可再分,事务的最小单位。在一个事务中,我们对数据库的操作,要么都成功,要么都失败,不可能出现部分成功或部分失败的情况。若操作失败必须回滚。原子性在innodb是通过undo log实现的,它记录了数据修改之前的值(逻辑日志),一旦发生异常,就可以用undo log实现回滚的操作。2.一致性(Consistency)指的是数据库的完整性约束没有被破环,事务执行的前后都是合法的数据状态。比如主键必须是唯一,字段长度符合要求。除了数据库自身的完整

2020-12-20 21:47:31 1504

原创 b+树的特点和优势

MySQL 中的 B+Tree 特点:1、它的关键字的数量是跟路数相等的;2、B+Tree 的根节点和枝节点中都不会存储数据,只有叶子节点才存储数据。目前的认知:我们这要存放的数据是什么?是不是真实数据的地址?搜索到关键字不会直接返回,会到最后一层的叶子节点。比如我们搜索 id=28,虽然在第一层直接命中了,但是数据地址在叶子节点上面,所以我还要继续往下搜索,一直到叶子节点。3、B+Tree 的每个叶子节点增加了一个指向相邻叶子节点的指针,它的最后一个数据会指向下一个叶子节点的第一个数据,形

2020-12-19 11:22:48 7366 1

转载 一条SQL语句在MySQL中执行过程全解析

本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的。在分析之前我会先带着你看看 MySQL 的基础架构,知道了 MySQL 由那些组件组成以及这些组件的作用是什么,可以帮助我们理解和解决这些问题。一 MySQL 基础架构分析1.1 MySQL 基本架构概览下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的。先简单介绍一下下图涉及的一些组件的基

2020-12-16 10:53:19 117

原创 ngrok内网穿透实现

ngrok作用:自己电脑的项目让别人能访问。1.注册账号并登录2.购买服务3.下载工具实现4.打开工具5.输入ID(对应隧道ID)6.连接成功完成映射7.测试成功!!!8.关闭关闭后别人就不能访问了!...

2020-12-15 12:32:42 89

原创 六、拦截器、用户认证登录、文件上传和下载模块

1.拦截器SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。过滤器与拦截器的区别:拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用拦截器只会拦截访问的控制器方法, 如果访问的

2020-12-14 11:52:53 242 1

原创 五、SSM的整合

整合SSM(重中之重)环境:IDEAMySQL 5.7.19Tomcat 9Maven 3.6JDK8以上要求:需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;以一个简单的书籍管理系统为例一、数据库的搭建CREATE DATABASE `ssmbuild`; USE `ssmbuild`; DROP TABLE IF EXISTS `books`; CREATE TABLE `books` ( `bookID` INT(1

2020-12-10 11:47:06 135

原创 四、SpringMVC中的数据处理和视图跳转

结果跳转方式1.通过实现controller接口并通过视图解析器 ModelAndView设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .页面 : {视图解析器前缀} + viewName +{视图解析器后缀}对应的controller类2.直接通过ServletAPI通过设置ServletAPI , 不需要视图解析器 .1、通过HttpServletResponse进行输出2、通过HttpServletResponse实现重定向3、通过H

2020-12-09 13:03:19 203

原创 三、SpringMVC中的控制器和RestFul风格

控制器Controller控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。控制器负责解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器类可以包含多个方法在Spring MVC中,对于Controller的配置方式有很多种方法一:实现Controller接口是一个函数式接口(只有一个方法)1.编写一个controller类,例如HelloController2.编写完毕后,去Spring配置文件中注册请求的bean;name对应请求路径,cla

2020-12-07 22:25:30 193

原创 二、SpringMVC处理的步骤

有两种写法,第一种是纯配置,第二种是通过注解实现。第一种:纯配置版本1.建立一个空的Maven项目(父项目)2.导入jar包(依赖)3.新建一个Moudle ,添加项目 web支持![在这里插入图片描述](https://img-blog.csdnimg.cn/20201206103546302.png)4.配置web.xml , 注册DispatcherServlet5.编写SpringMVC 的 配置文件!名称:springmvc-servlet.xml6.添加 处理映射器7.

2020-12-06 11:17:43 143

原创 一 、 什么是SpringMVC

1、JAVA Web中的MVC1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(

2020-12-03 13:16:54 327

原创 JDBC加载数据库的三种方式

JDBC加载数据库的三种方式.1.最常用的是使用 Class.forName("com.mysql.jdbc.Driver");方式。这行代码只是使用当前的类加载去加载具体的数据库驱动。在Driver类中的static域中把当前驱动注册到DriverManager中。2.通过看DriverManager源码,发现也可以使用System.setProperty(“jdbc.drivers”,"…")方式。3.最直接方式DriverManager.registerDriver(new com.mys

2020-12-01 09:53:32 478

原创 java四种内部类的特点和理解

图取自 https://www.cnblogs.com/wskb/p/10969881.html

2020-11-26 09:01:03 198

原创 线程的生命周期和状态

1.线程的生命周期2.线程的状态总共有五种状态:1.新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();2.就绪状态(Runnable):当调用线程对象的start()方法,线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,并不是说执行了t.start()此线程立即就会执行;3.运行状态(Running):当CPU开始调度处于就绪状态的线程时,此时线程才得以真正执行,即进入到运行状态。注:就

2020-11-25 09:58:31 83

原创 Servlet的生命周期和方法

Servlet的生命周期 分为初始化,运行和销毁三个阶段,对应的Servlet接口中方法为init(),sevice(),destroy()。Servlet_生命周期:首先加载servlet的class,实例化servlet,然后初始化servlet调用init()的方法,接着调用服务的service的方法处理doGet和doPost方法,最后器关闭时候...

2020-11-24 09:07:29 4735

空空如也

空空如也

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

TA关注的人

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