自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 云服务器选择、腾讯云轻量应用服务器面板介绍

文章目录一、各平台云服务器选择和对比1、云服务器和轻量应用服务器2、云服务器购买选择3、云服务器配置选择二、腾讯云轻量应用服务器使用和配置1、基本面板介绍2、建议配置内容一、各平台云服务器选择和对比1、云服务器和轻量应用服务器云服务器:相信大多数学习计算机相关专业的小伙伴都应该知道什么是云服务器;简单来说云服务器就是,别人配置好放到远端给你使用的一台电脑,你通过ssh或者其他方式来登录这台电脑,并使用这台电脑完成你想要做的事情;并且大多数云服务器提供商都会顺带提供静态的公网IP给你使用,这样你部署的

2021-06-20 16:57:58 1492 1

原创 CAS-代码示例

文章目录一、CAS操作二、Java中的CAS操作一、CAS操作为什么需要CAS操作?/**给定一个需求:统计一个网站的访问量,规定每次访问都让count+1*/package PracticeCAS;import java.util.concurrent.CountDownLatch;public class demo { static int count=0; public static void request() throws InterruptedExcepti

2021-03-09 22:46:13 1134

原创 Java遍历数组中的坑--批量处理字符串

一、前言我们都知道,在Java中String是不可变的;但是很多时候,我们都需要对接收到的String进行处理,有些数据是通过一些分隔符来进行分割的;这个时候往往就需要对分割后的数据进行批量处理,而这个时候往往是大坑的出现二、Java中的批量处理方式第一种:for i//格式如下for(int i=0;i<n;i++){ //do something}这种遍历方式是最简单的也是最不容易出错的,但是最麻烦的地方就在于需要在for循环内,使用[i]来获取对应的数据,使用起来还是比较麻

2021-01-28 22:52:41 660

原创 SpringBoot基础入门

文章目录一、SpringBoot简介1.Spring框架的优缺点:2.SpringBoot概述二、SpringBoot的配置1.properties配置2.yml配置(推荐)三、SpringBoot的使用1.SpringBoot简单入门程序2.SpringBoot编写入门Web程序3.SpringBoot配置Banner和热部署3.1 配置Banner:3.2 热部署4.SpringBoot起步依赖5.SpringBoot启动器和自动配置5.1 启动器5.2 自动配置小结:6.SpringBoot读取配置文

2020-11-17 21:17:41 242

原创 dubbo入门使用

文章目录1、软件架构的发展过程集中式架构垂直架构分布式架构SOA架构2、Apache Dubbo服务提供者项目编写服务使用者项目编写1、软件架构的发展过程集中式架构即把所有模块所有功能都部署和编写到一起,这样的好处是可以节省部署节点和成本;一般用于网站比较小,访问量很小的情况下;优点:所有的功能集成在一个项目工程中,开发方便。所有的功能打一个war包部署到服务器,部署方便。缺点:无法针对不同模块进行针对性能优化单点容错率低,全部功能集成在一个工程中,对于大型项目不易

2020-11-06 19:47:16 202 2

原创 Java中HashMap笔记

视频地址:HashMap全B站最细致源码分析课程一、HashMap相关基础数组:一组连续的存储空间,用来存储相同类型的数值​ 优势:快速搜索访问​ 劣势:大小长度固定,低效率的插入链表:由数值和后继节点的索引组成,存储空间不连续,只能通过索引访问​ 优势:高效的插入和删除​ 劣势:低效率的搜索访问散列表:即由数组和链表组成的一个存储结构​ 散列表是一个把数组和链表优点组合到一起的存储结果,但是相对于数组来说,查询比较慢,相对于链表来说插入比较慢,也就是两者的优势都有,但是两者的缺

2020-11-02 20:29:09 369

原创 记录HashMap的七个面试题

第一题:当key为null时,这次put操作,数据将被放入哪个桶位?为什么?​ 0号桶位,这是因为HashMap计算桶位是根据你传入key的hashcode进行一个扰动函数或者说二次hash之后,然后根据路由寻址公式:(table.length-1)&node.hash(根据你原来hash值计算后的值)来确定桶位的;​ 而如果你传入的是null,自然没有办法进行hash,也没有办法根据路由寻址公式来查找桶位;在HashMap中的扰动函数判断了传入null的情况,他的返回值是0,而0&

2020-11-02 20:23:24 256

原创 记录三个面试题

文章目录1.Mybatis动态SQL中的SQL注入问题2.Spring中使用注解@Transactional却无法回滚的问题3.Git如何解决版本冲突问题1.Mybatis动态SQL中的SQL注入问题说实话,当时问到我这个问题的时候,我是懵逼的;因为我从来没有遇到过这样的问题,结果就game over了;一般情况下,我们在给sql传参的时候都是使用#{}来获取传入参数的,然而它还有另一种方式,就是通过${}来获取传入参数;#{}拼接后的sql:${}拼接后的sql:官方解释:说实话,因为

2020-10-30 15:48:47 83 2

原创 SSM整合全过程【多代码多图警告】

文章目录一、单独配置Spring并运行测试1.导入依赖2.创建Spring配置文件3.创建最简单的业务逻辑代码4. 测试搭建是否成功二、单独配置SpringMVC并运行测试1.导入依赖2.创建配置文件3.创建相关类和静态资源4.部署并测试三、单独配置Mybatis并运行测试1.导入依赖2.创建配置文件3.修改数据访问层,获取数据4.编写测试代码测试结果四、Spring和SpringMVC整合并测试运行五、Spring和Mybatis整合并测试运行1.导入依赖2.修改Spring中的配置文件3.修改业务层代码

2020-10-23 17:41:59 132

原创 解决SpringMVC无法访问到静态资源

文章目录1.原因:2.配置优先级:3.解决方案一:4.解决方案二:5.解决方案三:6.注意事项:1.原因:​ 是由于SpringMVC的前端控制器,也就是diapatchservlet拦截了你的请求;​ 拦截是因为你配置的时候使用的是/或/*;这两个都会覆盖tomcat中defaultservlet的权限,从而导致无法访问静态资源;2.配置优先级:/* 大于 *.拓展名 大于 /​3.解决方案一:即修改web.xml中的配置,即手动放开对于静态资源的限制 <!--这里表示

2020-10-22 19:56:36 2864 9

原创 SpringMVC笔记三

文章目录一、文件上传1.传统文件上传2.SpringMVC文件上传二、异常处理三、自定义拦截器一、文件上传文件上传页面要求:请求方式必须是post必须配置enctype,且内容必须为multipart/form-datainput选择框type必须是file页面案例:<form action="upload2" method="post" enctype="multipart/form-data"> <input type="text" name="name"&g

2020-10-22 19:52:36 100

原创 SpringMVC笔记二

文章目录一、SpringMVC参数的获取1.基本数据类型2.对象3.嵌套对象4.Servlet原生API和SpringMVC自带API5.获取格式不固定的数据类型:日期等6.数组的获取7.集合的获取8.包装集合的获取二、SpringMVC响应的控制1.返回void2.返回String3.返回ModelAndView三、Json数据的交互1.接收Json2.返回Json四、RESTful风格1.简介2.使用案例一、SpringMVC参数的获取1.基本数据类型使用案例: @RequestMappi

2020-10-21 20:55:14 137

原创 SpringMVC笔记一

文章目录一、SpringMVC概述1.MVC2.SpringMVC简介二、SpringMVC入门案例三、SpringMVC组件1.基本组件2.三大组件四、SpringMVC的执行流程五、@RequestMapping注解的使用一、SpringMVC概述1.MVCMVC概述:MVC是一种软件设计模式,将业务逻辑、数据存储、界面显示分层开发;使用MVC可以将M和V的实现代码分离,从而使得同一个程序可以使用不同的表现形式MVC组成:组成说明JavaWeb中的对应实现M model

2020-10-20 19:23:45 211 2

原创 Spring中的声明式事务

文章目录一、事务概述二、声明式事务概述三、声明式事务的使用1.环境准备2.XML配置事务管理3.注解配置事务管理4.纯注解配置5.Spring编程式事务一、事务概述事务的作用:​ 将一个事务中所有的sql语句当作一个整体,要么全都成功,要么全都失败,通过这样的方式来保证数据的正确性;事务的四大特性:原子性:atomic,即事务中的多条语句是一个整体且不可分割,要么都成功要么都失败隔离性:isolation,多个事务之间的执行不能相互影响一致性:consistence,事务开始前和事务结束后

2020-10-15 16:47:56 291

原创 Spring之AOP

文章目录1.AOP概述2.切入点表达式3.AOP通知4.XML配置AOP5.注解配置AOP1.AOP概述简介:AOP(Aspect Oriented Programming)面向切面编程,而面向切面编程是一种代码设计思想;AOP的作用:在不修改目标对象的情况下添加新的业务逻辑,增强方法实现原理:底层使用了动态代理技术实现AOP的面向切面编程思想AOP中的术语:1.连接点,即被代理对象中的所有方法2.切入点,即被代理对象中需要被增强的方法3.通知,目标对象需要增强的内容,或方法4.切面

2020-10-14 16:39:34 86

原创 Java中的代理模式

文章目录1.代理模式概述2.静态代理3.JDK动态代理3.1 概述3.2 使用案例4.第三方动态代理1.代理模式概述什么是代理模式?​ 代理模式其实是一种用来增强方法的模式,换句话说就是一个用来完善方法的模式;​ 或者说是一种控制(拦截)外部对目标对象访问的设计模式;​ 举个例子,就比如一个明星他是以唱歌为主的,这个就是我们要代理的对象,而他的经纪人就是我们的代理对象,经济人代理了明星,明星只需要关注,他去哪里唱歌唱什么歌就可以了,剩下的由经济人来处理和决定,而粉丝或者主办方就相当于是调用者

2020-10-14 16:38:11 104

原创 SpringIOC之注解开发

文章目录一、注解创建对象1.概述2.使用案例二、注解实现注入1.概述2.使用案例三、注解修改生命周期1.概述2.使用案例四、Spring中的jdbc1.概述2.使用案例-实现增删查改3.自定义映射器五、注解实现纯注解开发1.要用到的注解2.步骤3.实现代码拓展、Spring整合Junit一、注解创建对象1.概述常用注解:注解说明@Component修饰类,即表示把这个类添加到IOC容器中,由IOC容器创建@Service修饰类,表示这是一个业务层的类,并且由IOC容器创

2020-10-13 17:25:47 181

原创 Spring入门之IOC和依赖注入

文章目录一、三层架构的改进1.三层架构概述2.改进方式3.工厂模式二、Spring框架概述三、IOC控制反转1.概述2.入门案例3.Bean标签的使用4.Bean对象的作用范围5.IOC容器的创建方式6.Bean对象的创建方式四、依赖注入1.依赖注入的两种方式2.注入对象3.注入集合一、三层架构的改进1.三层架构概述概述:三层架构是指:视图层、业务层、持久层的三层架构开发方式;优点:1.结构清晰,分工明确2.便于团队开发,提高效率使用案例:持久层://接口public interfac

2020-10-12 19:41:21 304

原创 Java中的链表、数组、散列集

1.链表链表的特性:1.在Java中所有的链表其实都是双向链表,也就是每一个节点都保存了前驱节点和后继节点的索引。2.高效的插入和删除3.低效的随机访问4.在Java中LinkedList是一个有序的集合ListIterator:​ 集合类库中专门提供的一个List的迭代器叫做ListIterator,这个迭代器中的add方法没有返回值,这是因为List下的两个实现类:ArrayList 和 LinkedList 都可以动态增加长度,不存在添加不进去的情况;​ ListIterator中

2020-10-09 18:57:59 282

原创 Java中的集合框架-概述

Java集合框架之初:​ 最开始Java中只有Vertor、Stack、Hashtable、BitSet和Enumeration接口;​ 当然,在Java的集合框架中也是接口与实现分离的;Java中的Collection接口:​ 在Java中集合类的基本接口是collection接口public interface Collection<b{ //为什么是Boolean的返回值呢? //其实就是用来表示集合是否添加了元素,而大部分情况是我们知道这个集合还有位置

2020-10-09 18:55:57 121

原创 Java中的开闭原则

文章目录什么是开闭原则?即对修改关闭对扩展开放,允许拓展系统功能而不允许修改功能的实现方式。而在实际开发中,开闭原则就意味着需要面向接口编程,也就是面向接口编程才能更好的实现开闭原则。什么是面向接口编程?可能直接的理解是使用接口,然后创建实现类,但这好像并不完整。完整的面向接口编程应该是基于MVC分层来看的,MVC分层之后,每一层在调用的时候,只创建接口,具体的实现类由配置文件决定。接口限定了每个方法的功能、参数和返回值,这样的好处在于如果需求改变的时候,你只需要修改配置文件和实现类即可。而

2020-10-09 11:37:08 600

原创 Jsoup解析HTML时,明明获取到html页面信息却无法解析到数据(已解决)

1.解决方式:修改获取html页面时候的 user-agent 参数删除掉里面的 Chrome/25.0.1364.160 Safari/537.22这两个即可2.原因:起因是今天有点不太想学别的了,就打算写写爬虫啥的,放松放松,然后就遇到了这个问题:我明明获取到html的页面了,也获取到html所有的信息了,但是jsoup就是解析不到数据测试代码长这样: @Test public void test() throws IOException { String u

2020-10-04 20:53:24 3021

原创 Maven在Java中的使用

文章目录一、Maven概述二、Maven项目的生命周期三、Jar包的依赖范围四、Tomcat7插件依赖五、Maven自定义jar包一、Maven概述什么是maven?:其实就是一个帮助简化开发的插件,主要用于下载jar包和插件maven的作用:1.依赖管理 jar包和插件2.管理项目的生命周期3.分模块开发maven中的坐标:jar包在仓库中的唯一标识,而maven仓库就是用来存放jar包的地方maven仓库分类:仓库名作用本地仓库相当于缓存,工程第一次会从远程仓

2020-10-02 17:56:54 471

原创 Redis概述、基本使用以及Java连接Redis

文章目录一、NoSql二、Redis1.Redis的物种数据结构和类型2.Windows下的Redis:3.Redis基本命令操作4.Redis持久化4.1 RDB持久化4.2 AOF持久化4.3 AOF重写4.4 AOF和RDB常见问题三、Java代码操作Redis1.Jedis2.Jedis连接池一、NoSql概述:not only sql 不仅仅是sql,通常指非关系型数据库关系型数据库和非关系型数据库:特点关系型数据库非关系型数据库存储介质以文件的方式存储在硬盘中

2020-09-29 21:07:33 263

原创 IDEA 从零开始搭建Mybatis(maven-web工程)

文章目录一、总体步骤二、创建工程三、配置环境配置maven环境然后配置我们的log4j来打印日志,我就直接放到resource文件夹下了然后配置我们的数据的信息,我就直接叫jdbc.properties放再resources文件夹下了接下来再来配置Mybatis的主配置文件,文件名采用它建议的sqlMapConfig.xml的形式创建实体类、实体类的Dao以及相应的映射文件四、测试环境一、总体步骤1.创建工程2.配置环境3.测试环境二、创建工程首先在IDEA中创建maven-web工程这里

2020-09-26 16:49:34 270

原创 Java学习笔记之Mybatis--下

文章目录一、Mybatis多表查询1.一对一关系2.一对多关系3.多对多关系二、Mybatis延迟加载1.一对一延迟加载2.一对多延迟加载3.注解实现一对一、一对多延迟加载一、Mybatis多表查询1.一对一关系概述:一对一其实没什么好说的,因为这是比较容易理解的就选择一个账户只有一个用户即,一个account只有一个user来做案例接口:package com.ps.dao;import com.ps.pojo.Account;import java.util.List;publi

2020-09-25 19:57:37 106

原创 Java学习笔记之Mybatis--中

文章目录一、Mybatis实现基本SQL二、三大配置元素的使用1.配置元素properties2.配置元素typeAliases3.配置元素mappers三、进阶:完善SQL1.根据用户名模糊查询用户2.增加用户并获得主键列的值3.多参数查询4.parameterType5.resultType6.resultMap四、注解开发五、Mybatis动态SQL一、Mybatis实现基本SQL接口映射文件:<?xml version="1.0" encoding="UTF-8"?><!D

2020-09-24 20:59:46 166

原创 Java学习笔记之Mybatis--上

文章目录一、数据库元数据1.ParameterMetaData元数据2.ResultSetMetaData元数据3.利用元数据简化代码二、Mybatis框架介绍三、Mybatis简单入门1.准备工作2.编写业务代码3.测试编写好的代码4.IDEA使用maven编写读取不到配置文件一、数据库元数据概述:用来定义数据的数据(或用来定义数据表的数据)分类:1.数据库元数据:用来获得数据库厂商的信息,驱动包的信息等2.参数元数据:用来获取占位符的个数以及对应数据类型3.结果集元数据:用来获取结果集中的

2020-09-23 15:46:25 257

原创 Java学习笔记之异常

文章目录一、异常处理的重要性二、异常概述1.什么是异常2.现实生活中的异常举例3.异常的继承体系4.异常和错误的区别5.异常的产生过程三、异常的处理1.JVM处理异常的方式2.手动处理2.1 方法内部来处理(捕获处理异常)2.2 把异常抛出,告诉方法的调用者(声明或者抛出处理异常)2.2.1 throw抛出异常2.2.2 throws抛出异常3.异常处理的注意事项4.异常处理的选择四、异常中的常用方法1. public String toString()2. public String getMessage

2020-09-22 20:57:41 85

原创 Git从入门到放弃从放弃到转行

文章目录一、Git简介与安装1.Git概述2.Git与Svn的区别3.协作开发流程4.Git安装5.Git的配置二、Git命令1.创建版本库2.添加文件并提交3.工作区、暂存区、版本库4.文件的修改、状态、日志5.版本回退6.撤销修改7.忽略文件三、Git上传远程仓库1.添加远程仓库地址:2.同步本地仓库到远程仓库:3.克隆远程仓库到本地:4.多人协作容易出现的问题:5.配置ssh协议登录6.分支的创建、切换、合并和删除7.git命令总结四、客户端TortoiseGit五、IDEA操作GitIDEA解决冲突

2020-09-22 20:51:37 426

原创 Java学习笔记之JDBC和连接池

文章目录一、JDBC概述二、JDBC使用1.JDBC驱动的注册2.JDBC与数据库建立连接3.Statement发送sql语句对象4.Result结果集对象5.Statement的不足以及PreparedStatement5.1 SQL注入分析5.2 PreparedStatement6.PreparedStatement和Statement的对比7.JDBC事务的处理8.JDBC连接工具类三、连接池1.C3P0连接池2.DRUID连接池3.连接池工具类一、JDBC概述jdbc是什么?英文全称:Ja

2020-09-21 19:39:14 145

原创 Java学习笔记之XML

文章目录一、XML概述二、XML的标签语法三、XML约束四、DTD约束五、Schema约束六、XML解析七、Dom4j:一、XML概述简介:英文名称:eXtensible Markup Language中文名称:可扩展标记语言,标记又称为标签或元素,由标签组成的一门语言XML的作用:1.用于作为框架的配置文件2.用于不同平台之间的数据交换3.用来当成一个小型数据库使用XML与HTML的区别:区别HTMLXML功能制作网页,主要用于表示层用于配置文件,用于

2020-09-19 19:39:03 174

原创 Java学习笔记之注解

文章目录1.注解概述2.元注解3.注解的解析4.模拟junit(注解实现)1.注解概述概述:1.注解是jdk1.5的新特性2.注解相当于一种标记,是类的组成部分,可以给类携带一些额外的信息3.标记(注解)可以加在包,类,字段,方法,方法参数以及局部变量上4.注解是给编译器或jvm看的,编译器或者jvm可以根据注解来完成对应的功能作用:给程序带入参数编译检查框架的配置注解的定义格式://注解属性适用的类型只能是一下几种://1.八种基础数据类型 byte short int long

2020-09-19 09:04:18 284

原创 MySQL事务、范式、连接查询和子查询

文章目录数据库DCL一、数据库三大范式二、表关系1.表的一对一2.一对多3.多对多三、多表查询1.内连接查询2.外连接查询四、子查询1.单行单列子查询2.多行单列子查询3.多行多列子查询五、事务数据库DCL概述:DLC是用来为数据库建立多个账户,分配不同的权限来管理和维护数据库功能方法格式创建用户CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’授权用户GRANT 权限1, 权限2… ON 数据库名.表名 TO ‘用户名’@‘主机名’;

2020-09-18 19:20:12 127

原创 Java学习笔记之反射机制

文章目录一、反射概述二、反射操作构造方法三、反射操作成员方法四、反射操作成员变量五、实现读取properties配置文件创建对象一、反射概述基本概念:反射是一种机制,利用该机制可以在程序运行过程中对类进行解剖,并操作类中的方法、属性构造方法等成员;可以理解为,反射就是创建对象,调用方法,给成员变量赋值和取值的一种方式;反射就是通过获取到一个类的Class对象来操作里面成员数据并执行相关操作的过程;应用场景:开发IDE编译器(集成开发环境,比如IDEA,Eclipse)开发框架(Spring、

2020-09-17 21:16:05 259

原创 MySQL基础语法学习总结

文章目录一、数据库概述二、SQL1.sql简介2.操作数据库和数据表3.操作数据4.条件查询4.1 in和like关键字查询4.2 排序查询4.3 聚合函数查询4.4 分组查询4.5 分页查询5.数据库约束5.1 主键5.2 唯一约束、非空约束和默认约束拓展:自增长和零填充一、数据库概述数据库其实就是存放数据的仓库使用数据库的原因就是为了方便对数据的增删查改,如果存放在文件中的话,文件太大会很影响读取效率。数据库的目录结构:目录内容bin存放MySQL相关的可执行文件,MyS

2020-09-17 17:34:59 253

原创 带你一步一步实现验证码登录和自动登录

文章目录1.实现最简单的登录2.过滤器处理中文乱码3.编写最简单前端页面4.编写验证码servlet1.实现最简单的登录首先,要想实现验证码和自动登录就要弄清楚登录这个过程中有多少步骤,那么接下来我来说说我的登录逻辑。首先,要实现登录,必须要servlet去验证输入的用户名和密码是否正确,那么简单的servlet就出炉了:package com.ps.Servlet;import javax.servlet.ServletException;import javax.servlet.anno

2020-09-17 09:36:40 5091

原创 jdk 1.8新特性之Stream流

Stream概述:对集合或数组元素进行操作的技术可以将Stream流比做流水线,通过Stream流上的一道道工序(方法),对集合中的元素加工处理Stream流对象:单列对象:集合对象.stream()双列集合:map.keyset().stream()得到键流map.values().stream()得到值流map.entryset().stream()得到entry流public class test { public static void main(String[] ar

2020-09-16 19:51:33 911 1

原创 Ajax异步请求的前因后果与Json发生的那点事儿

文章目录一、Ajax1.全局刷新和局部刷新2.同步请求和异步请求3.jQuery的异步请求4.Ajax异步请求二、Json一、Ajax概述:Asynchronous JavaScript And XML异步的 JavaScript(发请求) 和 XML(封装数据)主要作用就是发起异步请求到服务器获取数据,来实现页面的局部刷新1.全局刷新和局部刷新全局刷新: 刷新整个页面的内容局部刷新: 只刷新网页的某一部分内容,并且不影响其他内容的使用,最常用的案例就是淘宝的搜索框了,它会提示你可以搜索那

2020-09-16 19:48:52 168

原创 jdk 1.8新特性之lambda表达式

概述:JDK1.8新特性,用于简化匿名内部类语法;专注于做什么,而不是怎么做格式:() -> { }小括号:参数列表->:新语法,代表动作指向大括号:方法体代码样例:public class test { public static void main(String[] args) { new Thread(() -> { System.out.println("heiheihei" + "\t" + Th

2020-09-15 20:18:30 68

HashMap.java

jdk 1.8 HashMap源码笔记 视频地址:https://www.bilibili.com/video/BV1LJ411W7dP

2020-11-03

空空如也

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

TA关注的人

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