自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

机智大头

机智大头

  • 博客(44)
  • 收藏
  • 关注

原创 多态的理解与应用

多态什么是多态多态通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同 的状态。比如说王者荣耀中每一个英雄都是一个对象,其父类有一个方法,可以产生伤害,消耗蓝量,每个对象(英雄)都继承这个方法,也就是重写父类的方法,让伤害方法调用的时候每个对象(英雄)的伤害不同,消耗蓝量不同,那么这个方法就具有多态性,也就是说,这个父类的方法具有多种状态,想要其产生新的状态,只需要基于父类产生新的对象。多态的特点多态必须有父子类关系(继承关系)多态体现为父类引用变量可以指向子类对

2022-01-03 10:07:43 423

原创 六大软件设计原则之开闭原则

开闭原则什么是开闭原则软件对象(类、模块、方法等)应该对于扩展是开放的,对修改是关闭的。就是程序可以拓展,但是拓展程序不可以修改原有的代码,就像你想给什么东西写一个插件,你肯定不能修改那个东西的源码。我认为开闭原则就是,用接口或抽象类来打造软件的整体架构,实现接口和抽象类来拓展业务。如果要拓展新的业务我们只需要重新写一个接口实现类来扩展就好了。所以软件的整体的架构要设计好,接口和抽象类设计的合理,对软件的稳定性和后期维护是非常重要的。案例一个工厂生产两种杯子,猫爪杯和星空杯。/** * 杯子接

2021-12-24 23:15:51 617 2

原创 Spring Cloud Gateway 服务网关的部署与使用详细介绍

传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关,客户端只能在本地记录每个微服务的调用地址,当需要调用的微服务数量很多时,它需要了解每个服务的接口,这个工作量很大。有了网关之后,网关作为系统的唯一流量入口,封装内部系统的架构,所有请求都先经过网关,由网关将请求路由到合适的微服务。1)简化客户端的工作。网关将微服务封装起来后,客户端只需同网关交互,而不必调用各个不同服务;(2)降低函数间的耦合度。 一旦服务接口修改,只需修改网关的路由策略,不必修改每

2023-04-27 11:57:59 1885

原创 JAVA队列(Queue)用法附实例讲解

队列用于模拟队列这种数据结构,队列通常是指“先进先出”的容器。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。

2023-04-23 15:58:51 11941 2

原创 程序设计之数据字典

数据字典 程序设计

2023-02-08 10:32:56 581

原创 org.springframework.beans.factory.parsing.BeanDefinitionParsingException

今天测试spring项目报了错,错误如下:显然,错误出现在我的xml文件中,我的xml中写了一个空的没有id的bean标签,把这个bean标签删掉就好了。

2022-02-04 13:25:59 1768

原创 1 字节的 UTF-8 序列的字节 1 无效

今天在mybatis测试的过程中遇到了一个错误:最后百度了,把mybatis项目中xml的encoding属性值UTF-8改为UTF8就好了,太神奇了,有谁知道这是为什么呀???

2022-01-22 20:59:25 417

原创 maven的安装和配置(包括配置环境变量,镜像,本地仓库,jdk)

maven的安装和配置

2022-01-17 18:28:40 4253 2

原创 idea中各种标记文件夹的含义

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-01-16 16:05:50 2229

原创 java普通调用方法与反射调用方法性能比较

代码package 注解和反射.reflection;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;//分析性能问题public class Test10 { //普通方式调用 public static void test01(){ User user = new User(); long startTime = System

2022-01-14 21:42:05 540

原创 java利用反射构造对象,调用方法,操作属性

java利用反射动态构造对象

2022-01-14 20:21:56 207

原创 java通过反射获取类的信息(类的名字,属性,方法,构造方法)

import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;//获取类的信息public class Test07 { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException {

2022-01-14 13:02:41 1459

原创 动态语言和静态语言的区别

动态语言 vs 静态语言

2022-01-13 11:24:56 1223

原创 解决报错:[Vue warn]: Invalid prop: type check failed for prop “width“. Expected Number with value 450

我在父组件给子组件传值的时候发生了错误,这个报错并没有影响功能,我传递的宽度width,在子组件获取到了。但是有报错看着很不舒服,经过仔细检查发现,在width前面加上v-bind,就可以解决这个报错:v-bind:也可以直接缩写成:小贴士:v-bind绑定的是动态的表达式,而非固定的字符串,在v-bind后,就可以动态获取数据。可以将v-bind理解为: 被v-bind修饰的都是动态获取的值。...

2022-01-10 12:28:47 3519

原创 hosts文件 (屏蔽网站)

hosts文件

2022-01-09 16:54:31 5540

原创 http响应及其响应状态码

http

2022-01-08 10:40:52 108

原创 tomcat文件夹的作用

tomcat文件夹的作用bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。很多环境变量的设置都在此处。其中还有启动关闭的脚本文件。...

2022-01-07 06:51:01 270

原创 tomcat启动时中文乱码

解决tomcat启动时中文乱码进入tomcat安装目录,找到conf文件夹下的logging.properties:用编辑器(我用的notepad++)打开logging.properties,找到java.util.logging.ConsoleHandler.encoding = UTF-8这一行(我的是在47行,版本不一样,位置也不一样),将将UTF-8编码改成GBK编码:点击startup.bat启动进行查看已将乱码改成中文编码:...

2022-01-05 07:56:37 351

原创 元注解(注解的注解)

java元注解定义注解时,会需要一些元注解@Retention表示在什么级别保存该注解信息。可选的参数值在枚举类型 RetentionPolicy 中,包括:RetentionPolicy.SOURCE:指定注解只保留在源文件当中,注解将被编译器丢弃RetentionPolicy.CLASS:指定注解只保留在class文件中,但会被VM丢弃RetentionPolicy.RUNTIME:指定注解可以保留在程序运行期间,VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息@Reten

2022-01-02 15:53:15 371

原创 @Deprecated

@Deprecated是java内置注解,此注解可以用在方法,属性,类上,表示不推荐程序员使用,但是还可以使用

2021-12-31 18:46:22 30704 5

原创 static关键字

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-12-30 12:56:45 247

原创 java 封装

java封装什么是封装封装就是把该隐藏的隐藏起来,把该暴露的暴露出来。封装的优点使用访问修饰符实现封装java提供了三种访问权限,准确的说还有一种是默认的访问权限,加上它一共四种。private   在当前类中可访问default 在当前包内和访问protected 在当前类和它派生的类中可访问public 公众的访问权限,谁都能访问...

2021-12-27 10:13:14 152

原创 设计模式的分类

1.创建型模式创建型模式是作用于对象的创建,将对象的创建与使用分离。对象的创建会消耗掉系统的很多资源,所以创建型模式研究了如何高效的创建对象是很重要的。以下列举了六个具体的创建型模式:简单工厂模式(Simple Factory)工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)创建者模式(Builder)原型模式(Prototype)单例模式(Singleton)2.结构型模式结构型模式是将类或对象按某种布局组成更大的结构创建型模式解决了对

2021-12-22 10:06:45 217 3

原创 git命令整合

cd ~/.ssh可以查看是否已配置SSHssh-keygen -t rsa 生成公钥和私钥的命令(.ssh如果不做特殊处理的话,一般是在C:\Users\Administrator目录下。如果看不到.ssh文件,可以使用ls -ah指令查看隐藏文件夹即可,这是存放秘钥的文件,打开这个文件会看到id_rsa和id_rsa.pub。id_rsa是私钥文件,id_rsa.pub是公钥文件)cat ~/.ssh/id_rsa.pub 查看公钥的命令...

2020-11-15 11:37:39 66

原创 linux下运行jar包

java -jar xxx.jar && 表示后台运行,ssh窗口不被锁定,但是关闭窗口时,程序还是会退出nohup java -jar xxx.jar &nohup 表示不挂断运行命令行,当账号退出或关闭终端时,程序仍然运行当用 nohup 命令执行作业时,该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。nohup java -jar xxx.jar >/usr/local/temp.txt &/usr/local/te

2020-10-21 15:03:52 55

原创 Ajax同步和异步的区别

异步处理:就是我们通过事件触发到 ajax,请求服务器,在这个期间无论服务器有没有响应,客户端的其他代码一样可以运行。同步处理:我们通过实践触发 ajax,请求服务器,在这个期间等待服务器处理请求, 在这个期间客户端不能做任何处理。当 ajax 执行完毕才会继续执行其他代码。...

2020-09-02 20:18:28 156

原创 解决前端传到后台的数据乱码的问题

对前端传输到后端的乱码数据做处理:String str = new String(你的乱码字符串.getBytes(“ISO8859_1”), “UTF-8”);

2020-08-31 16:07:45 1572

原创 作为后端java程序员,我该关注那些东西?

对于后端java工程师:把精力放在java基础,设计模式,jvm原理,spring+springmvc原理及源码,linux,mysql事务隔离与锁机制,mongodb,http/tcp,多线程,分布式架构(dubbo,dubbox,spring cloud),弹性计算架构,微服务架构(springboot+zookeeper+docker+jenkins),java性能优化,以及相关的项目管理等等。后端追求的是:三高(高并发,高可用,高性能),安全,存储,业务等等。...

2020-08-14 16:21:41 146

原创 String和StringBuffer、StringBuilder的区别

String 每次对String 类型进行改变的时候,都会生成一个新的String 对象,然后将指针指向新的String 对象相比于String,StirngBuilder 和StringBuffer每次都会对自己本身进行操作,而不是生成新的对象并改变对象引用StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。相同情况下使用StirngBuilder 相比使用StringBuffer 仅能获得10%

2020-07-24 17:30:36 107

原创 sql查找事务,并结束事务

SELECT * FROM information_schema.INNODB_TRX 语句;查出正在执行的事务 ;kill id; //用查询到的事务id结束事务

2020-07-24 17:20:47 1370

原创 Java 中的final关键字有哪些用法?

(1) 修饰类:表示该类不能被继承;(2) 修饰方法:表示方法不能被重写;(3) 修饰变量:表示变量只能一次赋值以后值不能被修改(常量)。

2020-07-20 16:24:11 414

原创 jvm加载class文件的原理机制?

JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,java中的类加载器是一个重要的java运行时系统组建,它负责在运行时查找和装入类文件的类。类的加载是指吧类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件...

2020-07-17 14:41:25 103

原创 抽象类(abstract class)和接口(interface)有什么异同?

抽象类和接口都不能狗实例化,但是可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类任然需要被声明为抽象类。接口比抽象类更抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法。抽象类中的成员可以是private,默认,protected,public的,而接口中的成员全都是public的。抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量,有抽象方法的类必须被声明为抽象

2020-07-17 11:06:59 260 1

原创 get和post请求的区别

1, get请求用来从服务器上获取资源,而post请求用来向服务器提交数据;2, get将表单中的数据按照name=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接;而各个变量之间使用“&”连接;post是将表单中的数据放在HTTP协议的请求头或消息体中,传递到锁指向的URL;3, get传输的数据要受到URL长度的限制(1024字节);而post可以传输大量的数据,上传文件通常要使用post请求4, 使用get时参数会显示在地址栏上,如果这些数据不是敏感数

2020-07-13 21:54:16 131

原创 一句话说数据库引擎

数据库引擎是处于数据库应用和数据库之间的中间层,是使用数据库的一个驱动程序

2020-06-09 13:44:52 115

原创 java MD5

关于MD5的介绍,以及使用(非常详细)

2020-03-25 10:38:17 59

原创 Jobs added with no trigger must be durable

添加

2020-02-09 22:32:51 259

原创 Spring整合MyBatis的配置文件

在这里插入代码片<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ww...

2020-02-04 10:22:01 306

原创 在spring web项目中拆分spring配置文件

我把一个spring配置信息用了四个配置文件书写,分别存放控制层的对象,数据层对象,业务层对象,主配置对象(写一些主要的配置)现在要考虑如何在服务器启动时将所有的配置文件一起加载出来了:在web.xml中加载,有三种方法: <context-param> <param-name>contextConfigLocation</param-name> ...

2020-02-02 19:56:03 153

原创 Spring web项目在web.xml初始化Ioc容器

在web.xml中加入以下代码<!-- 指定Ioc容器(applicationContext.xml)的位置 --> <context-param> <!-- 监听器的父类ContextLoader中有一个属性contextConfigLocation,该属性保存着容器配置文件的位置 --> <param-name>contextConf...

2020-02-02 10:08:57 423

空空如也

空空如也

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

TA关注的人

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