自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【无标题】

全局静态变量xml配置Map

2022-06-27 18:37:32 163 1

原创 Java后端统一返回处理信息工具类

统一返回处理信息的工具类package com.yyx.info.commons.result;import lombok.Data;import lombok.experimental.Accessors;import java.util.Map;@Data@Accessors(chain = true)public class R { private Integer code; private String message; private Object o

2021-03-21 21:52:04 415

原创 跨域问题使用的工具类

跨域问题使用的工具类当出现跨域问题的时候,可以在后台代码中添加以下工具类package com.yyx.info.commons.result;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.s

2021-03-21 21:47:32 304

原创 分布式集群和微服务的细微区别

分布式分布式的定义就是对某一个大项目的压力进行分散,它是由多个服务器组成。每一个服务都有自己的一服务器,使用SOA面向服务架构,通过RPC远程调用。最大的作用是:解决网站的高并发问题,分散压力微服务微服务的定义是对项目的每一个核心功能进行细分,每一个功能都被称为一个服务。一般采用RestFull风格架构,通过Fegin+Hystrix远程调用。相对来说就是分散能力的,它可以不因为某个模块的升级或者产生的bug而影响到现有系统的业务。当然他是可以在同一台服务器上部署的,这个是与分布式不同的最大的作

2020-11-07 16:16:15 199 1

原创 源码分析SpringBoot的自动装配原理,通俗易懂

SpringBoot随着互联网的兴起,Spring一直占据着Java领域轻量级开发框架的王者地位。但是Spring框架发展十几年来,框架越来越庞大、配置项越来越多,造成开发使用起来非常复杂。为此Spring官方推出了SpringBoot这个项目,其设计初衷就是为了简单、快速的开发Spring应用!什么是SpringBoot?Spring Boot是一种简化原有Spring应用繁杂配置的微框架。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。使开发者从繁杂的各种配置文件中解

2020-10-31 16:02:20 314

原创 Solr的工作原理(最直白的解释,简单易懂)懂?

Solr什么是SolrSolr是一个开源搜索平台,用于构建搜索应用程序。 它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,快速的和高度可扩展的。 使用Solr构建的应用程序非常复杂,可提供高性能。为了在CNET网络的公司网站上添加搜索功能,Yonik Seely于2004年创建了Solr。并在2006年1月,它成为Apache软件基金会下的一个开源项目。并于2016年发布最新版本Solr 6.0,支持并行SQL查询的执行。Solr可以和Hadoop一起使用。由于Hadoop处理大量数

2020-10-24 15:49:52 1107

原创 分布式Dubbo详细介绍及Demo示例

DubboDubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。Dubbo致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东西,说白了就是

2020-10-20 21:55:42 214 1

原创 Redis详细介绍及图文安装教程及入门Demo

RedisRedis介绍redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写。企业开发通常采用Redis来实现缓存。同类的产品还有Memcache 、Memcached 、MongoDB等。什么是RedisRedis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快

2020-10-20 21:27:59 185

原创 PageHelper分页标签的使用方法

PageHelper分页标签的使用方法介绍:Mybatis的一个插件,非常方便mybatis的分页查询。国内牛人的一个开源项目,有兴趣的可以去看源码,都有中文注释(ps:某些源码一大堆英文,痛哭流涕!)在github上仓库地址为:Mybatis-PageHelper它支持基本主流与常用的数据库,这可以在它的文档上看到。这里记录一下使用的基本方法1. 在pom.xml中导入pageHelper相关依赖<dependency> <groupId>com.github

2020-09-14 21:24:40 437

原创 网上整理的各种实用网站

插件AdBlockGoogle 翻译Infinity 新标签页(Pro)JSON-handle_0.6.1 BuiltWith Technology Profiler 2.8Full download JS/CSS/HTML React Developer Tools 4.20 Restlet Client - REST API Testing SSL/TLS安全评估报告vue.js devtoolsWappalyzer有道词典Chrome划词插件Post

2020-09-14 18:50:51 4208

原创 最简单的Java上传下载前后端实例

上传后端@RequestMapping("upload") public String upload(MultipartFile file) throws IOException { file.transferTo(new File("D:\\d"+file.getOriginalFilename())); return "success"; }前端<h6>文件上传</h6> <form action="/upl

2020-09-11 21:04:24 292

原创 JDK动态代理和Cglib动态代理

JDK动态代理和Cglib动态代理编写实体方法Doctorpublic class Doctor { public void save(){ System.out.println("救人。。。"); }}编写方法接口public interface DoctorService { void save();}编写接口方法的实现类public class DoctorServiceImpl implements DoctorService {

2020-09-08 20:43:01 180

原创 Mybatis多表联合查询,嵌套查询,动态SQL

Mybatis多表联合查询,嵌套查询,动态SQLMybatis多表联合查询一对一一对一查询:通过一方关联查询出另外一方的关系数据创建数据库和相关数据表创建需要关联查询的实体类,里面包含相关的属性//丈夫查妻子public class Husband { private Integer id; private String name; private Wife wife;}public class Wife { private

2020-09-03 21:34:08 7955 1

原创 深度了解Jvm原理和GC回收(一万字)

带你全面了解Jvm原理GC回收什么是JvmJVM是Java虚拟机。它是由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域组成。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行,由于不同系统都有对应相同版本的Java虚拟机,各自系统的虚拟机都可以识别并编译自己的字节码文件,这也就实现了Java的跨平台这一大特性。JRE/JDK/JVM的关系JRE称为Java运行环境。这就表明了,所有的

2020-09-02 21:02:11 300 1

原创 JavaWeb之Servlet介绍

JavaWeb之Servlet介绍ServletConfig当Tomcat初始化一个servlet时,会将该servlet的配置信息封装到ServletConfig对象中,对此可以通过调用init(ServletConfig)方法将ServletConfig对象传递给Servlet。@Override public void init(ServletConfig config)作用:获取servlet的初始化配置信息,如字符编码,servlet名字等等。如果在Servlet的其他方法中想使用c

2020-08-18 20:56:45 201

原创 MySql多表查询练习题

MySQL查询语句练习题Sutdent表的定义字段名 字段描述 数据类型 主键 外键 非空 唯一 自增Id 学号 INT(10) 是 否 是 是 是Name 姓名 VARCHAR(20) 否 否 是 否 否Sex 性别 VARCHAR(4) 否 否 否 否 否Birth 出生年份 YEAR 否 否 否 否 否Department 院系 VARCHAR(20) 否 否 是 否 否Address 家庭住址 VARCHAR(50) 否 否 否 否 否 Score表的定义字段名 字段描述 数据

2020-08-11 21:04:54 1164

原创 12306注册页面form表单验证例题

<!doctype html><html><head><meta charset="utf-8"><title>12306</title></head><body> <form action="#" method="get" id="form"> <table width="800px" cellspacing="0px" border="1" align="center".

2020-08-06 20:32:42 594

原创 JavaScript详细介绍

JavaScript基础JavaScript概述JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。 [1]javaScript的作用:js作为html中的脚本语言,主要负责一些动态交互,如实现表单验证、事件,轮播图等一些动态的效果。JavaScript的组成

2020-08-06 20:30:27 318

原创 HTML+CSS详细介绍(全)

课程内容HTML框架标签常见的框 <frameset rows="20%,*" noresize = "noresize"> <frame src="../index.html" name="top" /> <frameset cols="25%,*"> <frame src="http://www.baidu.com" name="left"/> <frame src="https://wei

2020-08-05 09:46:39 2389

原创 多线程生产者消费者问题详解-附面试题大全【精】

多线程生产者与消费者(线程通信)实现生产者和消费者案例(一)public class Resource { //定义布尔类型的成员,标志位,指示线程该做什么 //false没有,需要生产, true需要消费 boolean flag = false; int count ;//包子的计数器}public class Product implements Runnable { //创建资源对象 Resource r = new Resource(); public void r

2020-07-29 21:01:34 689

原创 【两万字】IO流介绍大全,代码例题,内存图结构,一看就会

IO流对象File类文件 : File计算机中存储数据的 (音乐,电影,word,excel)目录 : Directory 计算机中的文件夹,文件夹不能存储数据的,保存文件的容器路径 : 文件和目录所在计算机中的位置C:\Java\jdk1.8.0_221\binC:\Java\jdk1.8.0_221\bin\java.exejava.io.File类 : 文件和目录以及路径,变成对象.File类的方法,操作对象File类具有平台无关性 : Windows系统, Lin

2020-07-27 20:53:23 334

原创 集合嵌套练习题

List嵌套Listpublic static void main(String[] args) { //建立集合,存储字符串 List<String> smallList = new ArrayList<>(); smallList.add("how"); smallList.add("are"); smallList.add("you"); smallList.add("yyx"); List<String> smallList2

2020-07-23 20:32:35 210

原创 Java集合框架掏心掏肺式介绍附带面试题(吊打面试官)

Java集合框架集合框架被设计成要满足以下几个目标。该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。对一个集合的扩展和适应必须是简单的。从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue(这个

2020-07-22 20:59:44 152

原创 正则表达式,日期,异常详细介绍Java笔记

常用API-异常Calendar类java.util.Calendar日历对象类,取代Date类的部分功能.日历类是抽象类,不能创建对象,利用子类对象 GregorianCalendarCalendar类静态的方法 static Calendar getInstance() 获取了子类的对象,返回值是父类类型Calendar cal = Calendar.getInstance() : 获取子类对象日历字段组成一个日历,需要最基本的数据,年,月,日,小时,分钟… …组成部分称为日历字段,日历

2020-07-20 21:01:15 197

原创 Java基础练习题

1.从键盘循环录入录入一个字符串输入"end"表示结束 ,将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数public static void main(String[] args) { Scanner sc = new Scanner(System.in); String next = sc.nextLine(); System.out.println("请输入一个字符串:"); //end结尾时继续输入 while(!next.end

2020-07-18 15:30:46 192

原创 Java三大特性详解附代码【精】

Java的三大特性封装继承多态封装在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。封装的优点:良好的封装能够减少耦合。类内

2020-07-13 20:46:27 372

原创 Eclipse快捷键大全

Eclipse最全快捷键,熟悉快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事情。Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+

2020-07-10 19:50:21 117

原创 Java笔记-数组作为方法返回值(例题)

Java基础语法数组作为方法返回值数组作为方法返回值使用 : 方法定义上,在返回值类型这个位置上,写数组方法的调用者,在调用方法后,接收方法的返回值,可以使用数组来接收返回的数组也是内存的地址public static void main(String[] args) { //调用方法getArray(),接收方法的返回值 //方法返回的是数组,数组接收 , 收到的也是地址 int[] array = getArray(); System.out.println(a

2020-07-10 19:44:41 5126

原创 Java笔记-了解面向对象

面向对象认识面向对象面向对象是一种思想,完成事情的一种思想.从面向过程演化而来的面向对象(Oriented Object) : 面向对象的需求分析,软件测试…我们学习的是面向对象的程序设计 (Oriented Object Programming)面向对象思想 : 面向过程思想,无论什么事情亲力亲为. 面向对象思想,无论什么事情找对象去完成面向过程思想是一个执行者,面向对象思想是一个指挥者.符合人们的思维方式,人们的做事方式,贴近于生活.生活中的面向对象 (指挥对象做事)无论什么事

2020-07-10 19:43:06 120

原创 Java基础语法之方法详细介绍【精】

Java基础语法方法方法概念方法(Method)称为函数(Function)方法 : 在程序中是一个可以完成某个功能的独立代码片段某个功能 : 只要可以实现的都是功能 (求和)独立代码 : 方法是在一个{} 实现的, 不同的方法之间是没有联系的方法好处 : 可以将重复的代码抽取出来,方便我们反复应用.方法定义定义格式修饰符 返回值类型 方法名(参数列表){ 方法体,主体 return ;}修饰符 : 目前我们很多点没有讲解,现在就是固定用法 public static

2020-07-09 19:56:33 325

原创 Java基础语法之数组详细介绍【精】

Java基础语法数组操作的2个异常数组的索引超过范围异常 (索引越界)程序中访问了不存在的索引, 每个数组的索引范围从0开始,最大的索引=数组的长度-1 public static void main(String[] args) { //定义存储int类型的数组 int[] arr = {1,2,3,4,5}; //数组中存储5个元素,长度是5个 System.out.println(arr.length); //索引0-4 //访问不存在的索引 System.out.

2020-07-09 19:53:34 125

原创 Java基础语法之各种循环数组详细介绍

Java基础语法流程控制语句if…else if…else if…else多分支语法格式: if(条件判断){ } else if(条件判断){ } else if(条件判断){ } else { }适合与多条件的判断,但是 if else过多,会导致程序的阅读性下降优势 : 高效的优势,只要有一个if的条件判断结果是true,整体的语句结构就结束了public static void main(String[] args) { int i = 99

2020-07-08 19:17:51 482

原创 时间复杂度和空间复杂度详解带例题(精)

算法算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而

2020-07-07 21:00:19 6196 2

原创 Java基础语法以及Eclipse IDE 的使用

Java基础语法Eclipse IDE 的使用创建工程File -> JavaProject -> 写工程名字(授课天数命令) --> Finish 工程创建完毕,可以进行程序的开发src文件夹, 写类使用的在src文件夹,鼠标右键 -> new -> class -> name对话框写上类的名字Eclipse的项目目录结构默认的情况下,工程都放在了 workspace (工作空间)工作空间中的文件夹就是在eclipse中的工程的名字工程目录下:b

2020-07-07 19:12:05 513 2

原创 for,while,do...while各种循环区别特点详解(带例题)

For循环死循环概念 ①没有循环结束的条件 ②或者循环结束的条件永远不成立,或者说运行的条件永远不成立【不写更新变量】死循环例题for(int i = 0; ; i++){ System.out.println("asd"); } for(int i = 0;i<10;) { System.out.println("sad"); }最简单的for死循环for(;;) { System.out.println("sdas"); }练习:判断一

2020-07-03 20:46:07 580 1

原创 使用Scanner关键字接受键盘录入的数据Java基础知识

Java中使用Scanner关键字来录入数据步骤1.导包由于scanner类不在lang包下,需要将其所在的包导入进来import java.util.Scanner由于我们使用的集成开发工具,此步可以省略快捷键:导包 ctrl + shift + o步骤2.直接创建扫描器对象Scanner scanner = new Scanner(System.in);步骤3.使用创建好的扫描器录入数据录入的数据也分很多类型,比如int,double,float,string,布尔值等下面依次

2020-07-02 19:58:04 502

原创 详细介绍运算符

Java中类型转换不同类型的数据可以在一起运算,需要将他们转换为同一类型,就可以进行运算Java类型转换的分类隐式类型转换[自动类型转换] 小范围数据转大范围 byte->short->int->long显示类型转换[强制类型转换] 强制的将大范围转化为小范围​ - 格式: (转换后的类型)需要转化的数据常用数据类型范围[从小到大]byte->short->char->int->long->float->double将

2020-07-02 19:38:03 158

原创 详细介绍Java中的运算符

Java中类型转换不同类型的数据可以在一起运算,需要将他们转换为同一类型,就可以进行运算Java类型转换的分类隐式类型转换[自动类型转换] 小范围数据转大范围 byte->short->int->long显示类型转换[强制类型转换] 强制的将大范围转化为小范围​ - 格式: (转换后的类型)需要转化的数据常用数据类型范围[从小到大]byte->short->char->int->long->float->double将

2020-07-02 15:41:40 142

原创 Java之父:詹姆斯高斯林的传奇人生

JAVA是最好的语言JAVA天下第一这样的话估计在我们计算机领域的人员中很容易听到,无论你是在看视频的弹幕中,还是专业领域的博客评论里。今天我们来聊一聊这个富有传奇色彩且的Java之父詹姆斯高斯林的人生吧首先附上我们教父的光辉图片一张其次是官方简介博士论文的题目是:“The Algebraic Manipulation of Constraints”。毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司。1990年,与Patrick Naughton和Mi

2020-07-01 19:41:29 5426

原创 简单介绍计算机常用编码

计算机常用编码常用编码介绍ASCII码表乱码产生的原因解决乱码notepad++等记事本中的乱码问题常用编码介绍ASCII 码表 只有0-127 128位 ,使用 一个字节的低7位,剩余的128位留作扩展ISO-8859-* 使用了ASCII码表剩余的128位,做了扩展 常用 : ISO-8859-1GB2312 中文简体字集 ,包含6763个简体中文字BIG5 大五码 ,繁体字集Unicode 统一字符集 简称为UCSGBK 包含 GB2312 和BIG5 简繁字集

2020-07-01 17:32:59 253

空空如也

空空如也

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

TA关注的人

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