自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (7)
  • 收藏
  • 关注

原创 JVM理解——类加载机制

一、什么是类加载机制把描述类的数据从Class文件加载到内存,并对数据进行验证,准备,解析和初始化,最终形成可以被虚拟机使用的java类型。二、类加载过程(1)加载通过一个全类名获取定义此类的二进制字节流将字节流代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class文件(2)验证确保Class文件符合规范,确保不会危害虚拟机自身安全。文件格式验证元数据验证字节码验证符号引用验证(3)准备将类中的静态变量分配内存,设置初始

2021-04-15 15:11:57 161

原创 JVM理解——GC垃圾收集

目录一、判定对象是否存活算法(1)引用计数算法(2)可达性分析二、引用类型三、常见垃圾回收算法(1)标记-复制算法(2)标记-清除算法(3)标记-整理算法(4)分代收集算法四、常见垃圾收集器(1)Serial(2)Serial Old(3)ParNew(4)Parallel Scavenge(5)Parallel Old(6)CMS(7)G1五、GC收集五、内存分配策略一、判定对象是否存活算法(1)引用计数算法在对象中添加一个引用计数器,每有一个引用,计数器就就+1;引用失效,计数器就-1。当计数器为

2021-04-12 11:28:31 181

原创 SpringCloud——GateWay

一、概念Route(路由):路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组成,如断言为true则匹配该路由;Predicate(断言):参考的是Java8的java.util.function.Predicate,开发人员可以匹配HTTP请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由;Filter(过滤) :指的是Spring框架中GatewayFilter的实例,使用过滤器,可以在请求被路由前或者之后对请求进行修改。核心逻辑:路由转发 + 执行

2021-03-18 11:22:09 205

原创 SpringCloud——Hystrix断路器

一、概述是一个用于处理分布式系统的延迟和容错的开源库。断路器:是一种开关装置。当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出无法处理的异常,这样就保证了调用方的线程不会被长时间、不必要的占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩。(1)服务降级(fallback)当服务器忙时,不让客户端处于一直等待状态,并立刻返回一个友好提示。(2)服务熔断(break)服务不可用时,停止

2021-03-17 14:52:34 92

原创 SpringCloud——服务降级三种实现

一、fallbackymlserver: port: 80spring: application: name: cloud-provider-hystrix-ordereureka: client: register-with-eureka: true #示表不向注册中心注册自己 fetch-registry: true #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务 service-url: defaultZ

2021-03-15 16:52:26 606 2

原创 SpringCloud——OpenFeign

一、概述与Ribbon类似,都可以实现服务的调用,实现负载均衡。它只需要我们创建一个接口,并添加相对应的注解来完成微服务之间的调用二、使用步骤pom引入 <!-- 引入 spring-cloud-openfeign 依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spri

2021-03-11 17:29:44 82

原创 SpringCloud——Ribbon

一、概述(1)RibbonSpring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过 Spring Cloud 的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。(2)负载均衡集中式负载均衡:在服务的消费方和提供方之间,如Nginx(负责把访问请求转发至服务的提供方)进程内负载均衡:将负载均衡逻辑集成到消费方,如Ribbon(消费方通过它来获取到服务提供方的地址)二、RestTemp

2021-03-11 14:35:06 126

原创 SpringCloud——Eureka

一、概念(1)服务治理在没有服务注册中心时,RestTemplate同样可以帮助我们搭建微服务工程。但当服务很多时,管理每个服务与服务之间的依赖关系非常复杂。所以需要使用服务治理来管理服务与服务之间的依赖关系,从而实现服务调用、负载均衡、容错、服务的注册与发现等(2)服务注册Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server,并维持心跳连接。这样系统的维护人员就可以通过 Eureka Serve

2021-03-10 16:34:38 86

原创 SpringCloud——概述

一、概念SpringCloud:分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶二、与SpringBoot对应版本官网文档可查这里选择Spring Boot :2.3.8.RELEASESpring Cloud:Hoxton.SR10...

2021-03-05 14:33:03 61

原创 Docker安装

一、下载Docker进入官网下载安装Windows版本二、开启Hyper-V如果没有Hyper-V三、设置加速进入阿里云配置加速

2021-02-26 15:41:44 54

原创 Nginx入门教程

一、概念Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。(1)正向代理和反向代理正向代理:在客户端配置代理服务器,通过代理服务器进行互联网访问反向代理:客户端将请求发送到反向代理服务器,由反向代理服务器选择目标服务器,获取数据后返回给客户端。只暴露了反向代

2021-02-24 13:57:09 102

原创 springboot整合druid+mybatis

一、pom.xml <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version

2021-02-22 17:35:51 172

原创 swagger

导入依赖 <!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency>

2021-02-03 11:08:11 178 1

原创 Mybatis——批量插入

Mapper.xml <insert id="insertForeach" parameterType="list"> insert into student(student_name,student_age) values <foreach collection="list" index="index" item="student" separator=","> (#{student.studentName},#{student.stud

2021-02-01 17:16:46 86

原创 Mysql——sql语句

目录数据库与表查询正则表达式数据库与表显示所有数据库:SHOW DATABASES选择数据库:USE 数据库名显示所有表:SHOW TABLES查询按条件查询:SELECT * FROM 表名 WHERE 条件操作符语句说明!= / <>不等于BETWEEN a AND b[a,b]IS NULL为空组合语句说明AND且OR或IN(值1,值2…)包含范围NOT取反,可与IN

2021-01-17 16:40:43 108

原创 java多线程——线程的六种状态

一、操作系统中5种状态二、java中的六种状态New 刚被创建没有调用start()方法RUNNABLE 当调用了 start() 方法之后,注意,Java API 层面的 RUNNABLE 状态涵盖了 操作系统 层面的【可运行状态】、【运行状态】和【阻塞状态】(由于 BIO 导致的线程阻塞,在 Java 里无法区分,仍然认为是可运行)Terminated 线程执行结束@Slf4j(topic = "c.Test1")public class Test1 { public sta

2021-01-12 15:51:00 106

原创 java多线程——常用方法

一、常用方法方法说明start()启动一个新线程,每个线程只能调用一次run()新线程启动后会调用的方法join()等待线程结束getId()获取线程唯一IDget/setName()获取/修改线程名get/setPriority()获取/修改线程优先级getState()获取线程状态isAlive()判断是否存活interrupt()打断线程interrupted判断当前线程是否被打断isInterrup

2021-01-12 11:04:56 70

原创 java多线程——创建和运行线程

一、进程与线程进程:是程序的一个实例。当一个程序需要运行时,从硬盘加载这个程序的代码至内存,这就开启了一个进程。进程之间相互独立。线程:一个进程可以包括多个线程。线程是最小调度单位。线程之间共享资源。二、并发和并行并发:轮流交替做多件事并行:同时做多件事,互不打扰三、同步和异步同步:方法调用者需要等待结果的返回,才能继续执行异步:方法的调用者不需要等待结果的返回,就能继续执行四、创建线程...

2021-01-11 15:20:13 62

原创 【java】浅拷贝与深拷贝

浅拷贝(Shallow Copy)对于基本数据类型的成员变量,会将原对象的值复制一份给新对象(两部分独立存在,一个改变另一个不受影响);对于引用类型的成员变量,只会拷贝引用地址(仍指向原对象,一个改变另一个也会改变)1. 通过拷贝构造方法实现浅拷贝Person@Data@AllArgsConstructor@NoArgsConstructorpublic class Person { private int age; private String name; priv

2021-01-08 18:59:12 73

原创 C语言——指针加减

(1)自增自减*p++等同于 *(p++)先取值,然后指针向后移动一位#include<stdio.h>int main(){ int i[] = {10, 20, 30, 40, 50}; int *p = i;printf("%d",*p++); // 10printf("%d",*p); // 20 return 0;}(*p)++先取值,然后值+1#include<stdio.h>int main(){ int i[] = {10, 2

2020-12-10 17:57:07 834

原创 面试手册总结——java基础

1.java语言的三大特性封装属性可以描述事物特征,方法可以描述事物可做的操作。封装就是将同一事物的属性和方法归到一个类中,使其形成一个不可分割的独立实体。用户无需知道内部方法的实现细节,可以根据对象提供的外部接口访问。继承子类是父类的特殊化实现,父类私有的属性和构造方法不能被继承,静态方法,静态/非静态的属性不能被重写。多态子类以父类的身份出现(向上转型),调用子类的方法2. JDK和JRE的区别jdk为开发工具包,jre为运行环境。jdk包括jre3. 为什么需要包装类泛型使用的

2020-11-25 20:45:21 74

原创 使用SpringBoot+MyBatisPlus可能遇到的错误

Servlet.service() for servlet [dispatcherServlet] in context with path []解决:缺少@Autowired注解Unknown column 'bookId' in 'where clause'解决:使用wrapper.eq(“book_id”, bookId))时,注意应该使用数据库中的“字段名”

2020-11-24 12:22:29 376 1

原创 Layui表格开启分页与修改删除操作

html<!DOCTYPE html><html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"> <title></title> <link href="/layui/css/layui.css" rel="stylesheet" media="all"/></head&g..

2020-11-22 15:56:22 1062

原创 使用Layui上传文件与表单一起提交

一、html <div class="layui-form-item"> <label class="layui-form-label">ID</label> <div class="layui-input-inline"> <input id="bookId" lay-verify="required" type="t

2020-11-19 23:01:00 6193 2

原创 在Thymeleaf中对Script中传递值与layui星星评分

使用[[${}]]进行传值星星评分:<style> .cleanfloat::after{display: block; clear: both; content:""; visibility: hidden; height: 0;} ul li{list-style:none; float:left; font-size:30px; margin:5px; color:#ccc; cursor:pointer;} .hs,.cs{color:

2020-11-05 16:22:21 553

原创 Thymeleaf即时生效

“File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打钩 “Build project automatically”组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打钩“compiler.automake.allow.when.app.running”修改application.ymlspring: # thymeleaf视图解析器 thyme..

2020-10-25 18:10:17 284

原创 MyBatis Plus——简单入门

目录一、快速创建(1)配置pom.xml(2)一、快速创建(1)配置pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </

2020-10-24 11:51:49 280

原创 SpringBoot开发——整合Spring Data JPA

一、pom.xml配置文件 <!-- 整合Spring Data jpa --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>

2020-08-26 11:44:42 117

原创 Hibernate,JPA,Spring Date JPA之间的关系

JPA:一套规范Hibernate:是持久层框架,实现了JPA规范Spring Date JPA:是一种JPA的抽象层,底层通过Hibernate实现

2020-08-26 11:00:24 120

原创 SpringBoot开发——整合MyBatis

一、配置pom.xml <!-- 整合MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </de

2020-08-25 21:35:55 153

原创 SpringBoot开发——整合jdbc

一、配置pom.xml <!-- 整合jdbc --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId&

2020-08-25 17:58:28 104

原创 SpringBoot开发——数据校验

一、pom.xml添加依赖 <!-- validation数据校验 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>二、实体类添加

2020-08-25 11:29:24 100

原创 SpringBoot开发——整合Thymeleaf

一、pom.xml <!-- 继承父包 --> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.3.1.RELEASE</version> </parent> <depen

2020-08-24 18:15:40 114

原创 SpringBoot开发——整合jsp与如何发送put请求

一、pom.xml<!-- 继承父包 --> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.3.1.RELEASE</version> </parent> <depende

2020-08-24 09:33:14 440

原创 SSM框架整合与总结

一、导入依赖在这里插入代码片二、配置web.xml

2020-08-23 12:01:46 366

原创 MyBatis——动态sql标签

一,where、if标签where 标签:可以自动判断是否要删除语句块中的 and 关键字(若where与and相连接则删除)if 标签:可以自动根据表达式的结果来决定是否将对应的语句句添加到 SQL 中 <select id="findByAccount" parameterType="com.lin.entity.Account" resultType="com.lin.entity.Account"> select * from account &

2020-08-20 20:12:41 145

原创 MyBatis——二级缓存(原生与ehcache)

一、一级缓存SqlSession 级别,默认开启,并且不能关闭。操作数据库时需要创建 SqlSession 对象,在对象中有一个 HashMap 用于存储缓存数据,不同的SqlSession 之间缓存数据区域是互不影响的。当在同一个 SqlSession 中执行两次相同的 SQL 语句时,第一次执行完毕会将结果保存到缓存中,第二次查询时直接从缓存中获取。如果 SqlSession 执行了 DML 操作(insert、update、delete),MyBatis 必须将缓存清空以保证数据的准确性。

2020-08-18 11:53:56 296

原创 MyBatis——延迟加载 解耦

不同的业务需求,需要查询不同的表,根据具体的业务需求来动态减少数据表查询的工作就是延迟加载。(1)在config.xml中开启延迟加载 <settings> <!-- 打印SQL--> <setting name="logImpl" value="STDOUT_LOGGING" /> <!-- 开启延迟加载 --> <setting name="lazyLoadingEnabled".

2020-08-17 19:43:45 88

原创 MyBatis——MyBatis Generator逆向工程

简称 MBG,是一个专门为 MyBatis 框架开发者定制的代码生成器,可自动生成MyBatis 框架所需的实体类、Mapper 接口、Mapper.xml,支持基本的 CRUD 操作,但是一些相对复杂的 SQL 需要开发者自己来完成。(1)配置pom.xml <!-- MyBatis Generator --> <dependency> <groupId>org.mybatis</groupId> <artifactId&gt

2020-08-06 20:51:36 260

原创 MyBatis——级联查询与Mapper.xml

一对多(1)Student@Data@AllArgsConstructor@NoArgsConstructorpublic class Student { private long id; private String studnetName; private Classes classes;}(2)Classes@Data@AllArgsConstructor@NoArgsConstructorpublic class Classes { priva

2020-08-06 16:51:07 522

jquery-3.4.1.min.zip

jQuery 库可以通过一行简单的标记被添加到网页中。jQuery是一个JavaScript函数库。 jQuery是一个轻量级的"写的少,做的多"的JavaScript库。 jQuery库包含以下功能: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效和动画 HTML DOM 遍历和修改 AJAX Utilities 提示: 除此之外,Jquery还提供了大量的插件。

2020-05-10

fileupload需要的jar包.zip

可以通过许多种不同的方式使用组件FileUpload,这个主要取决于你的应用程序。在最简单的情况下,你可以调用单一的方法去解析这个 Servlet Request,然后处理选项列表,并应用到你的应用程序。另一方面,你可能决定自定义FileUpload,实现对选项列表中个别项完全控制。例如:你可以将内容注入到数据库。 这里,我们将描述组件FileUpload的基本原则,并讲解一些简单的、常用的使用模式。FileUpload自定制将在其他地方描述。 组件FileUpload依赖于Commons IO组件,因此在继续之前,要确保在你的工程classpath中有描述页中提到的相应版本。

2020-05-06

fileupload需要的jar包.zip

可以通过许多种不同的方式使用组件FileUpload,这个主要取决于你的应用程序。在最简单的情况下,你可以调用单一的方法去解析这个 Servlet Request,然后处理选项列表,并应用到你的应用程序。另一方面,你可能决定自定义FileUpload,实现对选项列表中个别项完全控制。例如:你可以将内容注入到数据库。 这里,我们将描述组件FileUpload的基本原则,并讲解一些简单的、常用的使用模式。FileUpload自定制将在其他地方描述。 组件FileUpload依赖于Commons IO组件,因此在继续之前,要确保在你的工程classpath中有描述页中提到的相应版本。

2020-05-06

JSTL需要的包.zip

JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

2020-05-05

W3school. 最新版离线api

在 W3School,你可以找到你所需要的所有的网站建设教程。 从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP 和 ASP.NET。

2020-05-03

JAVAEE 中英对照版

Java EE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。

2020-05-03

手写数字数据集.zip

用于练习手写数字实验案例。一般机器学习框架都使用MNIST作为入门。就像"Hello World"对于任何一门编程语言一样,要想入门机器学习,就先要掌握MNIST

2020-04-29

空空如也

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

TA关注的人

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