自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 资源 (3)
  • 收藏
  • 关注

原创 从byte(字节)的bit(位)层面去理解编码(玩爆底层篇)

话不多说,直接上干货干货结论:java不论是负数还是正数在定义、存储、计算的过程中,都是用其补码第二个结论需要自己去体会,详情看下面的2.从byte(字节)的bit(位)层面去理解编码论证说明:1.Byte类型用二进制八进制十六进制定义数值类型数据举例用byte存一个负数,比如负27,我们一般情况下用十进制可以这样表示:byte b1 = -27;那么用二进制如何去声明负27这个数呢?用气原码,反码,还是补码去声明呢?我们都知道负27这个数,其:原码:1001 1011反码:11

2021-08-19 12:39:07 1083 3

原创 使用logback输出日志总结

1.日志级别logback有5种级别,分别是TRACE 、 DEBUG 、INFO 、WARN 、ERROR,定义于ch.qos.logback.classic.Level类中,如下:如上图:Trace:是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没关系,我们可以设置最低日志级别不让他输出.Debug:指出细粒度信息事件对调试应用程序是非常有帮助的.Info:消息在粗粒度级别上突出强调应用程序的运行过程.Warn:输出警告及warn以下

2021-08-05 17:46:48 14191 11

原创 计算机网络相关知识总结

1.DHCP从路由器的角度讲(可以看成服务端),不开启dhcp的路由器类似于交换机,不能自动给连接上的终端分配IP地址,需要手动设置IP地址,或者当交换机使用。例如:二级路由就是这样设置的,第二个路由关闭DHCP服务,让第一个路由来分配ip,避免IP冲突。从电脑的角度讲(可以看成客户端),开不开启DHCP就关系到你能不能自动获取到IP地址,不开的话,需要手动设置IP地址。DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,.

2021-08-01 16:05:52 4664 44

原创 Servlet中ServletConfig接口和ServletContext接口的作用

前言:Servlet的作用:Servlet 是接口,是 JavaEE 规范之一。接口起到了规范的作用。Servlet 是 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。也就是说Servlet接口的实现类等待着Tomcat服务器来调用类中的方法,这个地方运用到了java中的多态。一. ServletConfig接口的

2021-02-03 15:53:19 2563 3

原创 Tomcat中conf\Catalina\localhost目录下的配置文件

1.web服务器介绍Tomcat:由 Apache 组织提供的一种 Web 服务器,提供对 jsp 和 Servlet 的支持。它是一种轻量级的 javaWeb 容器(服务器),也是当前应用最广的 JavaWeb 服务器(免费)。Jboss:是一个遵从 JavaEE 规范的、开放源代码的、纯 Java 的 EJB 服务器,它支持所有的 JavaEE 规范(免费)。GlassFish: 由 Oracle 公司开发的一款 JavaWeb 服务器,是一款强健的商业服务器,达到产品级质量(应用很少)。R

2021-02-01 19:35:31 8773 4

原创 XML简介与Dom4j解析XML

文章目录一.XML简介1.什么是 XML2.XML 的主要作用3.XML 与 HTML4.XML 属性5.XML语法规则二.Dom4j解析XML1.树结构与xml文件的解析技术1.1树结构1.2xml文件的解析技术2.Dom4j解析XML一.XML简介首先我们先简单介绍一下什么是xml,如果对这方面已有所了解的小伙伴们可以跳过标题一。比较着急的小伙伴可以直接看标题二中的2.Dom4j解析XML1.什么是 XMLXML 指可扩展标记语言(EXtensible Markup Language)XM

2021-01-26 19:33:23 1820 2

原创 jQuery中的一些基本操作总结

前言:jQuery,顾名思义,也就是 JavaScript 和查询(Query),它就是辅助 JavaScript 开发的 js 类库。$ 是jQuery的核心函数,能完成jQuery的很多功能。$()就是调用$这个函数jQuery 对象是 dom 对象的数组 + jQuery 提供的一系列功能函数。jQuery 对象不能使用 DOM 对象的属性和方法,DOM 对象也不能使用 jQuery 对象的属性和方法。dom 对象转化为 jQuery 对象:$( DOM 对象 ) 就可以转换成为 jQu

2021-01-24 01:35:07 794 2

原创 jQuery选择器总结(选择器+元素筛选)

文章目录一.jQuery 选择器1.基本选择器2.层级选择器3.过滤选择器3.1基本过滤选择器3.2内容过滤选择器3.3属性过滤选择器3.4可见性过滤选择器3.5状态过滤选择器4.表单选择器二.jQuery元素筛选所用的一些方法一.jQuery 选择器1.基本选择器#ID 选择器:根据 id 查找标签对象.class 选择器:根据 class 查找标签对象element 选择器:根据标签名查找标签对象* 选择器:表示任意的,所有的元素selector1,selector2

2021-01-21 21:33:10 18637 7

原创 SpringBoot请求映射源码分析(没看过源码的小白也能懂,比针尖还细)

文章目录一.前言1.Rest风格的请求2.表单如何发出delete和put请求3.完整代码示例:二.源码分析1.HiddenHttpMethodFilter类中的doFilterInternal方法2.一步步分析源码:1.第一行代码:2.第二行代码:3.第三行代码:4.第四行代码:5.第五行代码:6.第六行代码:一.前言1.Rest风格的请求我们现在一般喜欢用Rest风格的请求,即使用HTTP请求方式动词来表示对资源的操作。举个例子:比如我们以前对学生信息进行相关的增删改查操作,定义的url路径

2021-01-16 14:51:47 1828 3

原创 Java运算符优先级

优先级运算符结合方向描述目数1[ ]、 .、 ( )从左向右方法调用,属性获取2+(正号)、-(负号)、!、~、 ++、 --从右向左一元运算符单目3* 、/ 、%从左向右乘、除、取模(余数)运算双目4+ 、 -从左向右加、减运算双目5<<、 >>、 >>>从左向右左移位运算符、带符号右移位运算符、无符号右移位运算符双目6< 、<= 、>、 >=...

2021-01-14 20:45:21 938

原创 SpringBoot静态资源配置原理(源码一步步分析,详细易懂)

前言:我们都知道,SpringBoot启动会默认加载很多xxxAutoConfiguration类(自动配置类)其中SpringMVC的大都数功能都集中在WebMvcAutoConfiguration类中,根据条件ConditionalOnxxx注册类对象;WebMvcAutoConfiguration满足以下ConditionalOnxxx条件,类是生效的,并把其对象注册到容器中。那WebMvcAutoConfiguration生效给容器中配置了什么呢?文章目录WebMvcAutoConfigu

2021-01-12 00:37:48 3796 9

原创 spring.web.resources.cache.period配置缓存时间时报错

解决问题:我们的缓存时间使用了 java.time.Duration类型,在数字后面需要加上s,h或d等等,一般加上s配置文件就不会出现报错提醒。但是,其实我们也可以不用加s,虽然它会出现红颜色的报错字体,但是我们的SpringBoot在读取缓存时间时还是会默认是以秒为单位的,比如6666后面不加s,还是可以读取到缓存中的时间。具体分析:在properties配置文件中报如下错误:在yaml配置文件中报如下错误:这是因为我们的缓存时间使用了 java.time.Duration类型,如下

2021-01-11 21:44:29 1635 4

原创 SpringBoot静态资源访问

文章目录一.静态资源目录二.静态资源访问原理三.静态资源访问前缀四.改变静态资源路径五.WebJars1.WebJars简单介绍2.访问WebJars下的静态资源一.静态资源目录当前项目的类路径下只要有/static (or /public or /resources or /META-INF/resources)这些目录,这些目录都能当作静态资源目录。刚创建的项目以resources作为根目录,其下有一个子目录static:接下来我们分别创建/public or /resources or /M

2021-01-11 01:05:35 2140

原创 YAML配置文件基本用法总结

一.简介YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。它非常适合用来做以数据为中心的配置文件。二.基本的语法结构key: value;key:与value之间有空格大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格(但是在idea中可以放心使用tab来进行缩进,目前还没有出现什么问题)

2021-01-10 17:19:04 5886 3

原创 Lombok简化JavaBean开发

文章目录一.安装Lombok1.为什么要导入Lombok依赖2.为什么要在idea中安装Lombok插件二.Lombok中的相关注解1. @Getter/@Setter2. @ToString3. @AllArgsConstructor4. @RequiredArgsConstructor5. @NoArgsConstructor6. @EqualsAndHashCode7. @NonNull8. @Data9. @Slf4j三.Lombok的优缺点一.安装Lombok1.为什么要导入Lombok依赖

2021-01-09 19:29:15 672

原创 Singleton单例模式(Java代码实现)——创建型模式

设计模式分为三种类型,共23种:创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式。结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)。之后我们将按照上述的顺序逐个讲解,首先我们来看单例模式:一.单例设计模式介绍保证一个类仅有一个实例,并提供一个访问它的全局访问

2021-01-08 16:35:50 1231

原创 设计模式的七大设计原则总结(全方面详细总结)

1.单一职责原则对类来说,一个类应该只负责一项职责(并不是一个类只有一个方法,可以有多个方法,这些方法共同完成一项职责)。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力;这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏。软件设计真正要做的许多内容,就是要发现职责并把那些职责相互分离。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。通常情况下,我们应当遵守单一职责原则,只有当逻辑足够简单时,

2021-01-06 19:56:25 817

原创 UML类图常用用法

一.UML类图图示样例ps:以上图示来自程杰大话设计模式一书中(如有侵权,告知秒删)二.对上述图片中的内容具体分析1.类的表示首先来看动物矩形框,它代表一个类。类图分三层:第一层显示类的名称,如果是抽象类,则用斜体显示;第二层是类的特性,也就是属性;第三层是类的操作,也就是方法。属性、方法前面的 '+'表示public ; ‘-’ 表示private; ‘#’ protected。2.接口的表示接口的表示与类有些区别,接口的顶端有<>显示。第一行是接口

2021-01-05 16:00:30 2066 37

原创 SpringBoot中server.port的默认值为什么是8080以及如何修改端口号

1.如何设置值首先我们进入ServerProperties中查看其内容:发现其类上面有注解@ConfigurationProperties(prefix = “server”,ignoreUnknownFields = true)prefix为前缀,前缀名为server所以我们在properties、yaml、yml文件中可以用server.xxx的方式进行属性配置。我们点进pom.xml文件中的spring-boot-starter-parent:springboot会去resourc

2021-01-02 17:07:40 8414 9

原创 SpringBoot自动配置底层原理(手撕@SpringBootApplication注解源码)

我们从主程序类的@SpringBootApplication注解开始讲起首先我们点进@SpringBootApplication中:看到它是由@Target、@Retention、@Documented、@Inherited四个元注解

2021-01-02 16:01:20 897

原创 SpringBoot中配置绑定的三种方法(@ConfigurationProperties注解)

properties配置文件如下:human.name=Mr.Yuhuman.age=21human.gender=male如何把properties里面的配置绑定到JavaBean里面,以前我们的做法如下:public class PropertiesUtil { public static void getProperties(Person person) throws IOException { Properties properties = new Propert

2020-12-30 19:59:07 3160

原创 SpringBoot配置类中的@Configuration注解和@bean注解

1.@Configuration注解用法:作用在类上面作用:告诉SpringBoot这是一个配置类,相当于Spring中的xml配置文件。@Configuration //告诉SpringBoot这是一个配置类 == 配置文件public class Config {}2.@bean注解用法:配置类里面使用@Bean标注在方法上给IoC容器注册组件,默认也是单实例的作用:给容器中添加组件,相当于Spring中xml配置文件中的<bean>标签。理解:以方法名作为组件的id。返

2020-12-29 11:27:20 7074 2

原创 SpringBoot中starter场景启动器

1.starter的作用starter一句话来描述就是开发中我们引入了相关场景的starter,这个场景中所有的相关依赖都引入进来了,比如我们做web开发引入了: <!--web插件--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web<

2020-12-28 16:57:10 5232 6

原创 SpringBoot中依赖管理与自动版本仲裁机制

当我们做web开发当时候,在SpringBoot中为什么只需要导入一个依赖,所有当与web开发相关当包全部都进来了呢?导入web开发的依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifa

2020-12-28 16:00:47 1681

原创 基于AspectJ实现AOP操作

前言:AspectJ 不是 Spring框架的组成部分,是独立的AOP 框架,一般把 AspectJ 和 Spirng 框架一起使用进行 AOP 操作一.AOP相关术语比如某个类中有如下4个方法:Class A{ add(); delete(); update(); select();}1.连接点(JoinPoint)类A中的4个方法都可能被增强,这4个方法成为连接点2.切入点(PointCut)如果我实际只增强 add()和update()方法,则add()和update()称为

2020-12-26 13:37:40 931 2

原创 将JDK动态代理生成的类保存为 .class文件System.setProperty(“sun.misc.ProxyGenerator.saveGeneratedFiles“, “true“)无效

将JDK动态代理生成的类保存为 .class文件System.setProperty("sun.misc.ProxyGenerator.saveGeneratedFiles", "true");无效,没有看到相应的字节码文件,这是因为System.setProperty("sun.misc.ProxyGenerator.saveGeneratedFiles", "true");为jdk8版本及之前的设置。文章目录1.jdk8及之前的设置:2.jdk8之后的设置:3.如何知道是jdk.proxy.Proxy

2020-12-21 14:09:40 3928 4

原创 Spring中IoC基于注解方式操作bean管理

前言:注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值…)使用注解,注解作用在类上面,方法上面,属性上面使用注解目的:简化 xml 配置一.Spring中针对Bean管理创建对象提供的注解以下四个注解功能是一样的,都可以用来创建 bean 实例@Component@Service@Controller@Repository步骤:1.开启组件扫描<?xml version="1.0" encoding="UTF-8"?><beans

2020-12-18 00:25:03 598

原创 Java函数式接口

一.初识函数式接口只包含一个抽象方法的接口,称为函数式接口。你可以通过 Lambda 表达式来创建该接口的对象。若 Lambda 表达式抛出一个受检异常(即:非运行时异常),那么该异常需要在目标接口的抽象方法上进行声明。我们可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口。同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。在java.util.function包下定义了Java 8 的丰富的函数式接口二.Java内置

2020-12-14 14:17:29 1023 2

原创 Java中的Lambda表达式

前言:Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。代码举例:在这里插入代码片...

2020-12-13 20:54:51 1817 23

原创 Spring中关于xml自动装配

前言:自动装配是指根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入自动装配的过程bean 标签属性 autowire,配置自动装配 autowire 属性常用两个值:byName 根据属性名称注入 ,注入值 bean 的 id 值和类属性名称一样byType 根据属性类型注入1.根据属性名称自动注入xml配置文件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.

2020-12-10 14:24:20 587

原创 Spring中bean的生命周期

前言:生命周期是指从对象创建到对象销毁的过程1.bean的生命周期通过构造器创建 bean 实例(无参数构造)为 bean 的属性设置值和对其他 bean的引用(调用 set 方法)调用 bean 的初始化的方法(需要进行配置初始化的方法)bean 可以使用了(对象获取到了)当容器关闭时候,调用 bean 的销毁的方法(需要进行配置销毁的方法)代码实例:public class LifeCycleDemo { private String name; //无参数构造

2020-12-09 13:32:13 582

原创 Spring中设置创建的bean实例是单实例还是多实例

在 Spring 里面,默认情况下,bean 是单实例对象public class Student {} <bean id="student" class="iocbean.byxml.example.Student"> </bean>public class DemoTest { @Test public void test1(){ ApplicationContext context = new ClassPathXml

2020-12-08 16:43:12 1192 1

原创 Spring中的工厂bean

1.普通bean与工厂beanSpring 有两种类型 bean,一种普通 bean,另外一种工厂 bean(FactoryBean)普通 bean:在配置文件中定义 bean 类型就是返回类型工厂 bean:在配置文件定义 bean 类型可以和返回类型不一样2.工厂bean的步骤创建类,让这个类作为工厂 bean,实现接口 FactoryBean实现接口里面的方法,在实现的方法中定义返回的 bean 类型...

2020-12-08 15:57:39 879

原创 Spring中IoC操作Bean管理(基于xml方法)

前言:Bean管理是指Spring创建对象和Spring注入属性;Bean管理操作有两种方式:基于xml配置文件方式实现和基于注解方式实现。本篇文章先讲基于xml配置文件方式实现。

2020-12-07 14:27:35 746

原创 IoC底层原理

前沿:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来降低代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。IoC可以认为是一种全新的设计模式,但是理论和时间成熟相对较晚,并没有包含在GoF中。Class A中用到了Class B的对象b,一般情况下,需要在A的代码中显式的new一个B的对象。采用依赖注入技术之后,A的代码只

2020-12-04 22:26:25 694 1

原创 Java多线程详解,一篇文章全部搞定(全文干货,万字“血书“,值得收藏)

一.线程的创建和使用1.Thread类Java虚拟机允许程序运行多个线程,它通过java.lang.Thread 类来体现。每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体。通过该Thread对象的start()方法来启动这个线程,而非直接调用run()。Thread类的构造器:Thread():创建新的Thread对象Thread(String threadName):创建线程并指定线程实例名Thread(Runnable ta

2020-11-24 19:23:19 1482 4

原创 Spring5.0入门级案例(入门小白专属)

注:如果读者感觉相关jar包下载起来比较麻烦,可以直接跳过标题1,点击该链接即可下载本人已经打包上传的jar包文件,方便,快捷!</ font>1.相关jar包下载详细流程下载链接:https://repo.spring.io/release/org/springframework/spring/点击链接,出现如下图:向下滑动到最底部(越下面版本越新),下载自己想要到版本即可点击第一个下载即可:下载完成后,解压,会出现如下所示的目录:目录讲解:docs目录为spring相关

2020-11-22 13:57:41 896 2

原创 Java异常处理详解(全文干货,写得非常全,值得收藏)

一.初始Java异常对异常的理解:异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)Java程序在执行过程中所发生对异常事件可分为两类:Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性 的代码进行处理。Exception: 其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如:空指针访问试图读

2020-11-20 13:06:53 2846 20

原创 Java中父类和接口或接口和接口中出现同名属性或同名同参数方法时,如何区分(全文干货)

1.父类和接口中出现同名属性/** * @Author: YuShiwen * @Date: 2020/11/19 12:35 PM * @Version: 1.0 */interface InterfaceA{ int number = 0;}class SuperClass{ int number = 1;}public class ClassA extends SuperClass implements InterfaceA{ public void p

2020-11-19 13:53:15 1853 2

原创 Java内部类细节演示

Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类内部类的分类:成员内部类(静态、非静态)和 局部内部类(方法内、代码块内、构造器内)成员内部类:一方面,作为外部类的成员:调用外部类的结构可以被static修饰可以被4种不同的权限修饰另一方面,作为一个类:类内可以定义属性、方法、构造器等可以被final修饰,表示此类不能被继承。言外之意,不使用final,就可以被继承可以被abstract修饰/** * @Author: YuShi.

2020-11-19 12:28:03 635

动态烟花原代码Demo

烟花Demo,html文件

2022-03-21

dom4j-1.6.1.zip

dom4j-1.6.1文件用于Dom4j技术解析XML

2021-01-26

spring入门相关jar包

spring入门相关jar包,相关jar包为: commons-logging-1.2.jar spring-beans-5.2.6.RELEASE.jar spring-context-5.2.6.RELEASE.jar spring-core-5.2.6.RELEASE.jar spring-expression-5.2.6.RELEASE.jar

2020-11-21

空空如也

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

TA关注的人

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