- 博客(130)
- 资源 (1)
- 收藏
- 关注
原创 了解MQ和安装使用RabbitMQ
本质是一个队列,FIFO先进先出,只不过队列中出存放的message是一种跨进程的通信机制,用于上下游传递消息.在互联网架构中,MQ是常见的上下游"逻辑解耦 + 物理解耦"的消息通信服务,在使用MQ之后,消息发送上只需要依赖MQ,不用依赖其他服务.
2022-09-25 18:58:15
1235
1
原创 Linux常用命令和网络攻击面试总结
Linux浏览目录下的文件列表 ls [选项]创建文件目录命令 mkdir [选项] 目录名称删除空文件夹 rmdir删除文件/目录 rm -rf 强制删除复制文件/目录 cp -r 目录1 目录2 递归复制 目录1所有的文件和文件夹到目录2 cp -ri 目录1 目录2 执行复制时覆盖原有目录前询问用户移动文件,修改文件名 mv 文件1 文件2 (修改文件名) mv 目录1 目录2 (将目录1的文件移动到
2021-12-18 22:00:21
1582
1
原创 Servlet和Spring的面试总结
JSPjsp和servlet的区别和联系:1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.Jsp是Servlet的一
2021-12-16 14:35:20
2062
原创 数据库面试总结
数据库索引左连接右连接内连接什么是最左前缀原则?什么是最左匹配原则数据库为什么使用B+树而不是B树红黑树红黑树统计性能比AVL树更高索引失效索引分类主键索引和唯一索引的区别哪些情况需要索引哪些情况不要创建索引什么是聚簇索引?何时使用聚簇索引与非聚簇索引非聚簇索引一定会回表查询吗使用聚簇索引的优势使用聚簇索引需要注意什么?为什么主键通常建议使用自增id?当前读,快照读和MVCC的关系数据库并发场景有三种,分别为:数据库的三范式是什么?存储引擎?超键、候选键、主键、外键分别是什么?SQL 约束有哪几种?MySQ
2021-12-05 17:30:37
811
原创 JavaSE面试总结
网络&反射网络OSI 的七层模型都有哪些?TCP与UDP区别什么是三次握手四次挥手?socket编程time_wait状态如何产生tcp为什么要三次握手?TCP如何保证可靠传输?什么是 TCP 粘包,它的产生原因以及解决方法?TCP 粘包:避免粘包?建立连接,客户端出现故障怎么办了解ARP协议吗ARP的工作流程:IP地址和MAC地址说一下ping的过程Http协议无状态协议的优缺点:明文传输的优缺点:浏览器输入url,会经历什么一次完整的HTTP请求过程:一次完整的HTTPS请求过程dns是什么?d
2021-12-03 17:12:09
2450
原创 JavaSE基础面试总结
秋招中自己总结的一些java知识点,面试官常问的一些问题,分享给大家,希望对大家有一些帮助,希望各位能够拿到自己心仪的Offer
2021-12-01 16:46:34
671
原创 Radis学习
Redis什么是RedisRedis有哪些优缺点优点缺点为什么要用 Redis /为什么要用缓存高性能:高并发:为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快数据类型Redis有哪些数据类型Redis的应用场景持久化什么是Redis持久化?Redis 的持久化机制是什么?各自的优缺点?RDB:是Redis DataBase缩写快照优点:缺点:AOF:持久化优点:缺点:优缺点是什么?如何选择合适的持久化方式Redis持久化数据和缓存怎么做扩容?过期键的删除策略Redis的过
2021-10-24 12:41:51
1531
原创 Linux安装mysql
1.我们进入需要安装的目录下cd /usr/local/java2.检测系统是否自带安装 mysqlyum list installed | grep mysql有的话需要卸载3.给 CentOS 添加 rpm 源,并且选择较新的源wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm4.安装第一步下载的 rpm 文件yum install mysql80-community-release-
2021-07-17 17:01:37
168
3
原创 Linux安装tomcat
1.进入java目录cd /usr/local/java/2.解压我们上传的tomcat压缩文件tar -zxvf apache-tomcat-9.0.37.tar.gz3.解压完毕后进入tomcat的bin目录下4.启动tomcat./startup.sh5.访问tomcathttp://192.168.31.160:8080/6.如果无法访问,请关闭防火墙systemctl stop firewalld.service...
2021-07-17 16:57:20
153
8
原创 Linux安装JDK
所需工具Xshell Xftp环境Linux虚拟机1.在usr/local下创建java目录,通过xftp将jdk linux 压缩包放入java中2.在xshell中进入/usr/local/java,解压jdkcd /usr/local/java/tar -zxvf jdk-8u261-linux-x64.tar.gz3.使用cd命令进入根目录驶入命令vim /etc/profile输入jdk环境变量这里根据自己的jdk版本改变后面的jdk名称export JAVA_HOME=
2021-07-17 16:55:50
115
3
原创 SpringMVC的搭建和详细配置
1.导包<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.2.RELEASE</version></dependency>
2021-07-13 09:47:02
1074
3
原创 创建一个Spring集成MyBatis的项目
选择java EE创建一个项目项目目录config.properties文件关于数据库的相关数据driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatis_db?characterEncoding=utf8&serverTimezone=Asia/Shanghaiuname=rootpassword=rootdb.xml<?xml version="1.0" encoding="UTF-8"
2021-07-13 09:46:18
169
3
原创 Spring框架(五)--Spring事务管理和Spring事务传播行为
Spring事务管理事务可以看做是由对数据库若干操作组成的一个单元作用:保证用户的每一个操作都是可靠地,每一个操作都必须成功,只要发生异常就回退到事务未操作的状态,要么都完成,要么都取消,保证一致性的要求事物的特性:原子性 隔离性 持久性 一致性Spring事务管理分两种类型:1.编程式事务:在代码中需要自己写代码实现事物的提交和回滚2.声明式事务:只要生命哪个方法需要在事务中执行,Spring就会知道添加事物的提交和回滚操作Spring事务管理方式:1.基于xml配置<1.
2021-07-10 19:40:57
184
2
原创 Spring框架(四)--AOP面向切面编程
AOP(Aspect Oriented Programming 面向切面编程)不使用 AOP 的开发方式的例子先定义好接口与一个实现类,该实现类中除了要实现接口中的方法外,还要再写两个非业务方法。非业务方法也称为交叉业务逻辑:不使用aop,我们需要显式调用AOP概述AOP是OOP的延续,利用AOP可以对业务逻辑的各个部分进行隔离,降低业务逻辑部分间的耦合度,提高代码的重用性和开发效率AOP和OOP的关系:OOP是针对业务处理过程的实体及其属性,行为进行抽象封装,使得更加清晰高效的逻辑单元划
2021-07-09 14:58:44
225
原创 Spring框架(三)--Spring JDBC
Spring 是个一站式框架:Spring 自身也提供了控制层的 SpringMVC 和 持久层的 Spring JdbcTemplate。以前我们的写法package com.spring0.test;import com.alibaba.druid.pool.DruidDataSource;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class J
2021-07-08 23:22:16
169
原创 Thread多线程样例--龟兔赛跑
public class RaceRG implements Runnable{ private static String winner; @Override public void run() { for (int i = 0; i <= 1000; i++) { //兔子跑到一半休息一会 if (Thread.currentThread().getName().equals("兔子") &&
2021-06-30 11:22:03
185
原创 在虚拟机装centOS
首先安装VVMware详细安装带软件下载CentOS7地址1:https://mirrors.btte.net/centos/7/isos/x86_64/地址2:http://mirrors.163.com/centos/7/isos/x86_64/管理员运行vmware
2021-06-17 09:41:21
117
原创 Spring框架(二)--Spring Bean管理
Spring Bean管理基于 xml 配置方式bean 配置需要 spring 管理的类id 生成的对象名class 全类名name 对象别名,可以为多个scope:singleton(默认值):在 Spring 中只存在一个 bean 实例, 单例模式. prototype:原型 getBean()的时候都会 new Bean()request:每次 http 请求都会创建一个 bean, 仅用于 WebApplicationContext环境session:同一个 http ses
2021-06-13 13:12:23
235
原创 Spring框架(一)--spring搭建和IOC
Spring概述什么是spring?Spring是一个轻量级的,IOC和AOP的java开发框架,是为了简化企业级应用开发而生.Spring优点轻量级的 使用的jar包非常小,Spring框架运行占用的资源非常小,运行效率高非侵入式的 编写业务类是不需要继承spring特定的类,通过配置完成依赖注入后就可以使用IOC Inversion of control,由Spring IOC容器管理对象,面向接口式编程,使耦合度降低AOP 通过Spring提供的AOP功能,方便进行面向切面的编
2021-06-09 21:27:32
222
1
原创 JVM学习(五)--垃圾回收机制
垃圾回收1垃圾回收概述1.1概述Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C++语言没有垃圾收集技术,需要程序员手动的收集垃圾收集,不是 Java 语言的伴生产物。早在 1960 年,第一门开始使用内存动态分配和垃圾收集技术的 Lisp 语言诞生关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是 Java 的招牌能力,极大地提高了开发效率。1.2什么是垃圾垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收
2021-06-05 09:09:37
204
2
原创 JVM学习(四)--JVM本地方法和执行引擎
JVM组合拳往期文章JVM学习(一)–概述和模型JVM学习(二)–类加载和双亲委派机制JVM学习(三)–JVM运行时数据区图文详解JVM学习(四)–JVM本地方法和执行引擎文章目录本地方法接口2为什么要使用Native Method执行引擎1 概述2什么是解释器?什么是JIT编译器?3为什么Java是半编译半解释型语言?本地方法接口##1什么是本地方法**一个Native Method就是一个java调用非java代码的接口,**一个native method 是这样一个java方法:
2021-06-05 09:06:59
279
2
原创 JVM学习(三)--JVM运行时数据区图文详解
JVM运行时数据区1.运行时数据区组成概述java8虚拟机规范规定,java虚拟机所管理的内存将会包含以下几个运行时数据区域:1.1程序计数器(Program Counter Register)程序计数器是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器1.2java虚拟机栈(Java Virtual Machine Stacks)描述的是java方法执行的内存模型,每个方法在执行的同时都会创建一个线帧用于存储局部变量表,操作数栈,单台连接,方法出口等信息,每个方法调用到执行完成
2021-05-31 12:53:16
306
2
原创 Expected one result to be returned by selectOne,but found: 2
类型 异常报告TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2消息 Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooMa
2021-05-30 21:55:55
1665
1
原创 MyBatis--动态sql
动态sqlMyBatis 的一个强大的特性之一通常是它的动态 SQL 能力。动态 SQL 可以彻底处理条件地串联 SQL 字符串减少程序员的压力,让程序员将更多地精力投入开发业务中。MyBatis 中用于实现动态 SQL 的元素主要有:If 标签可以对传入的条件进行判断#{}占位符,预编译,先编译好sql语句在取值,防止sql注入(传值时使用)${}拼接符,会传入参数字符中,取值后再编译sql,不能防止注入${}适用于select * from user order by ${name}
2021-05-27 16:53:06
1891
32
原创 MyBatis懒加载(延迟加载)
懒加载(延迟加载)需要查询关联信息时,使用 Mybatis 懒加载特性可有效的减少数据库压力,首次查询只查询主表信息,关联表的信息在用户获取时再加载。Mybatis 一对一关联的 association 和一对多的 collection 可以实现懒加载。懒加载时要使用 resultMap,不能使用 resultType。启动懒加载Mybatis 默认没有打开懒加载配置,需要在 SqlMapperConfig.xml 中通过settings 配置 lazyLoadingEnabled 来开启懒加载。
2021-05-27 12:05:25
1282
8
原创 JVM学习(二)--类加载和双亲委派机制
JVM结构-类加载文章目录JVM结构-类加载1.类加载子系统的作用2.类加载ClassLoader的角色3.类加载过程3.1加载3.2链接3.3初始化类什么时候初始化类的初始化顺序4.类加载器的分类4.1引导类加载器(启动类加载器BootStrap ClassLoader)4.2扩展类加载器(Extension ClassLoader)4.3应用程序类加载器(系统类加载器Application ClassLoader)5.双亲委派机制工作原理:双亲委派优点:6.沙箱安全机制作用:防止恶意代码污染java源
2021-05-26 10:31:59
195
4
原创 JVM学习(一)--概述和模型
文章目录1.1为什么学习JVM作用一:面试需要作用二:中高等程序员的必备技能1.2VM是什么1.3JVM的作用特点:1.4JVM的位置JVM是运行在操作系统之上的,与硬件没有直接的交互.1.5JVM的整体组成简单示意图:详细示意图1.6各个组成的用途1.7java的执行流程1.8JVM架构模型基于栈式架构的特点基于寄存器式架构特点1.1为什么学习JVM作用一:面试需要 不懂JVM可以写出优质的代码,也可以做出优秀的项目,那么为什么要学习JVM?因为面试官最喜欢问的就是关于JVM的东西作用二:中高等
2021-05-25 22:35:55
346
6
原创 链表中环的入口
题目描述对于一个给定的链表,返回环的入口节点,如果没有环,返回null拓展:你能给出不利用额外空间的解法么?拙劣的画技思路设置快慢指针,都从链表头出发,快指针每次走两步,慢指针一次走一步,假如有环,一定相遇于环中某点接着让两个指针分别从相遇点和链表头出发,两者都改为每次走一步,最终相遇于环入口。两个结论:1.设置快慢指针,假如有环,他们最后一定相遇在环中。2.两个指针相遇后,让两个指针分别从链表头和相遇点重新出发,每次走一步,最后一定相遇于环入口。代码原题链接/** * Def
2021-05-24 17:25:25
226
原创 使用IDEA搭建MyBatis环境
创建一个项目这里根据需求自己选择在pom.xml中导入mybatis的核心jar包Mybatis 源码下载https://github.com/mybatis/mybatis-3/releases在resources下创建一个mybatis-config.xml文件写入mybatis框架的核心配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org/
2021-05-21 19:24:05
1420
19
原创 Maven安装配置以及maven项目创建
Maven文章目录Maven为什么学习mavenMaven简介Maven中的各种概念Pom(Project Object Model 项目对象模型)项目坐标仓库Maven开发环境搭建常用jar包坐标制作不易,如果对你有用,请一键三连吧!为什么学习maven解决寻找jar包的问题解决jar包依赖问题解决jar包的管理问题解决项目编译问题Maven简介maven是Apache乳尖基金会的一个开源项目,它是用来帮助开发人员管理项目中的jar以及jar之间的依赖关系,完成项目的编译测试打包和发布
2021-05-20 16:54:09
340
11
原创 Java反射机制
Java反射机制文章目录Java反射机制Java反射的概念和作用Java反射的概念Java反射的作用Java反射相关APIClass 类型Constructor 构造方法Field 属性Method 方法问题:–如果仅仅知道一个类的类名,能否动态得到类的定义信息,包括哪些方法,属性等?答案:可以通过反射做到Java反射的概念和作用Java反射的概念JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获
2021-05-19 15:40:27
148
8
原创 js文件引用找不到
在jsp中引用js文件,经常报错找不到我们可以配置一个绝对路径我们创建一个监听器package com.ff.listen;import javax.naming.Context;import javax.servlet.*;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;import java.util.Date;public class ObjectS
2021-05-18 22:34:49
989
原创 Caused by: java.lang.NoClassDefFoundError: org/aspectj/lang/JoinPoint
Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.JoinPoint原因缺少jar包在pom.xml中添加jar包地址<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <v
2021-05-17 22:37:40
690
2
原创 XML
XML什么是XML htmlXML 指可扩展标记语言(Extensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输,存储数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。<?xml version="1.0" encoding="UTF-8"?><!-- XML作用:传输,存储数据,而非显示数据 缺点:语法繁琐 XML 标签没有被预定义。您需要自行定义标签。
2021-05-17 18:08:24
670
1
原创 Ajax异步操作和Json的相关学习
AjaxAjax 全称为:“Asynchronous JavaScript and XML”(异步 JavaScript和 XML),使用 Ajax,我们可以无刷新状态更新页面,并且实现异步提交,提升了用户体验。Ajax其实质是利用浏览器提供的一个特殊的对象(XMLHttpRequest)异步地向服务器发送请求,服务器返回部分数据,浏览器让你去利用这些数据对页面做部分的更新,整个过程,页面无刷新,不打断用户的操作同步目前与服务器端的交互方式是同步,当客户端与服务器交互时,客户端就不能进行其他操作,只
2021-05-16 18:46:27
210
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人