自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 方法重载和重写

本人菜鸟,仅供参考知识点来自:菜鸟方法重载1、被重载的方法必须改变参数列表(参数个数或类型不一样)2、被重载的方法可以改变返回类型3、被重载的方法可以改变访问修饰符4、被重载的方法可以声明新的或更广的检查异常5、方法能够在同一个类中或者在一个子类中被重载6、无法以返回值类型作为重载函数的区分标准方法重写1、参数列表与被重写方法的参数列表必须完全相同2、返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以

2021-03-03 09:51:09 199

原创 正则表达式基础语法学习笔记

个人学习记录,仅供参考教程网站: https://www.runoob.com/regexp/regexp-syntax.html语法: 普通字符: [ABC] : 表示匹配括号中的所有字符 [^ABC] : 表示匹配除A、B、C外的所有字符 [A-Z] : 表示匹配A至Z的所有大写字母 \d : 匹配数字 \D : 匹配非负数 . : 表示匹配除换行符(\n、\r)外的所有字符 \s : 匹配所有空白符,包括换行 \S : 匹配所有非空白符,包括换行 \w : 匹

2021-03-02 14:00:58 155

原创 Shell基础语法学习笔记

个人学习记录,仅供参考shell脚本程序记得加执行权限 chmod +x fileecho:含义:输出文本,输出字符串中/n换行/c不换行,若命令后加 > filename 则为结果输出至filename文件eg: echo "hello world" 向窗口输出hello world echo "hello world" > filename 将hello world输出到filename文件$():获取括号中的命令结果eg: PATH=$(pwd)注释:

2021-02-25 21:15:29 212

原创 Git上拉取代码实现自动化部署

新手,仅自己学习记录,仅供参考准备jdk肯定要的不说了1、git安装yum install -y git查看是否安装成功git --version2、maven下载压缩包wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz解压tar -zxvf pache-maven-3.6.3-bin.tar.gz配置环境变量vim /etc/pro

2021-02-25 13:59:38 354

原创 mvn clean package和 mvn clean install区别

mvn clean package删除目标文件夹、编译代码并打包mvn clean install删除目标文件夹、编译代码并打包、将打好的包放置到本地仓库中

2021-02-25 13:21:10 741

原创 外观模式

本人为菜鸟,仅供参考,只为自己记录学习作用为系统高层提供接口,使高层更容易使用,减少系统相互依赖,提高灵活性,提高安全性缺点不符合开闭原则,如果要改东西很麻烦,继承重写都不合适形状接口public interface Shape { /** * 打印形状 */ public void draw();}形状实现类public class Circle implements Shape { @Override public void dra

2021-02-04 13:33:25 66

原创 装饰器模式

本人为菜鸟,仅供参考,只为自己记录学习优点1、解耦2、动态扩展原有类的功能形状接口public interface Shape { /** * 输出形状 */ public void draw(); }形状实现类public class Circle implements Shape { @Override public void draw() { System.out.println("circle"); }}

2021-02-04 10:24:11 58

转载 Mybatis 一对多 和 多对一查询

一对多@Datapublic class Student { private int id; private String name; private int tid;}@Datapublic class Teacher { private int id; private String name; private List<Student> students;}方法一:嵌套查询 <resultMap id="teac

2021-02-03 16:07:54 87

原创 组合模式

本人为菜鸟,仅供参考,只为自己记录学习作用运用于树形结构中,使复杂元素的内部结构解耦优点高层模块调用简单、节点自由添加缺点都是实现类,违法了依赖倒置原则使用场景部分、整体场景,如树形菜单,文件、文件夹的管理员工类@AllArgsConstructor@Data@ToStringpublic class Employee { private String name; private String dept; private int salary; pr

2021-02-03 10:49:58 47

转载 设计模式七大基本原则

本人为菜鸟,仅供参考,只为自己记录学习原则1、单一职责原则(Single Responsibility Principle)通俗地说,即一个类只负责一项职责2、开闭原则(Open-Closed Principle)软件实体 (类、模块、函数等等) 应该是可以被扩展的,但是不可被修改。优点:1、软件有较强的适应性和灵活性 2、有较强的稳定性和持久性3、里氏替换原则(Liskov Substitution Principle)子类可以扩展父类的功能,但不能改变原有功能4、依赖倒置原则(Dep

2021-02-02 16:15:47 202

原创 过滤器模式

本人为菜鸟,仅供参考,只为自己记录学习实体类@Data@AllArgsConstructor@NoArgsConstructorpublic class Person { private String name; private String gender; private String school;}过滤器接口public interface Filter { /** * 过滤的方法 * @param source *

2021-02-02 14:55:23 77

原创 桥接模式

本人为菜鸟,仅供参考,只为自己记录学习案例不使用桥接模式,实现以下功能:图形接口 – 实现 – 具体形状(正方形、三角形)-- 继承 – 具体颜色的图形(红色正方形、蓝色正方形、红色三角形、蓝色三角形)桥接模式1、接口2、实现接口3、抽象类4、实现抽象类案例代码颜色接口public interface Color { /** * 获取颜色 * @return */ public String getColor();}颜色实现类pub

2021-02-02 09:45:22 72

原创 适配器模式

本人为菜鸟,仅供参考,只为自己记录学习优点1、可以让任何两个没有关联的类一起运行2、提高了类的复用3、增加了类的透明度4、灵活性好缺点1、过多地使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是 A 接口,其实内部被适配成了 B 接口的实现,一个系统如果太多出现这种情况,无异于一场灾难。因此如果不是很有必要,可以不使用适配器,而是直接对系统进行重构2、由于 JAVA 至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类电源接口public interf

2021-02-01 10:24:50 75

原创 原型模式

意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象(用一个原来的对象,创建(拷贝)一个新的对象)形状抽象类public abstract class Shape implements Cloneable { private String id; private String type; private List<String> info = new ArrayList<>(); /** * 打印该形状详细信息

2021-01-29 15:40:03 72

原创 建造者模式

本人为菜鸟,仅供参考,只为自己记录学习使用情况基础类别不变,而其组合经常改变优点建造者独立,易扩展、便于控制细节风险与工厂模式区别建造者模式更加关注与零件装配的顺序食物接口public interface Food { /** * 食品名称 * @return */ public String name(); /** * 食品包装 * @return */ public Packing packin

2021-01-29 13:43:06 71

原创 抽象工厂模式

本人为菜鸟,仅供参考,只为自己记录学习优点隔离产品的具体实现,保证只能使用一个产品组的产品形状接口public interface Shape { /** * 获取形状 * @return */ public String getShape();}形状实现类public class Circle implements Shape { @Override public String getShape() { retu

2021-01-28 14:09:23 74

原创 工厂模式

本人为菜鸟,仅供参考,只为自己记录学习优点解耦,实现开闭原则、可扩展UML图代码实现产品接口public interface Product { /** * 获取产品信息 */ public void getProduct();}产品实现类public class Car implements Product { @Override public void getProduct() { System.out.prin

2021-01-27 17:09:09 168

转载 元注解

元注解修饰注解的注解,对注解进行说明@Target1、作用描述注解的作用位置(即:被修饰的注解可以用在什么地方)2、修饰的注解详细使用位置注解可以用于修饰 packages、types(类、接口、枚举、注解类)、类成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数),在定义注解类时使用了@Target 能够更加清晰的知道它能够被用来修饰哪些对象,它的取值范围定义在ElementType 枚举中public enum ElementType { /*

2021-01-22 09:44:58 81

转载 ByteBuffer中的allocate和allocateDirect

1、区别allocate方法创建的内存在jvm的管理范围,而allocateDirect方法创建的内存不由jvm管理,意思就是allocateDirect创建的内存由系统直接管理2、释放allocateDirect创建的内存不归jvm管理,那如何释放呢?虽然这块内存不属于jvm管理,但它属于该对象,当对象销毁时就是这块内存销毁的时候3、为什么要有两种内存分配方式由于java的内存不由系统直接管理,所以当网路数据过来时,需要先复制到系统所能操作的内存后再复制到java内存中,如果是用allocate

2021-01-18 21:02:39 1080

原创 Buffer中position、limit、capacity详解,及flip()函数作用

本人为菜鸟,仅供参考1、position、limit、capacity含义position:记录当前读或写的位置limit:记录读和写的末尾位置capacity:Buffer的存储的总容量,固定不变的0 <= position <= limit <= capacity注意:Buffer是个抽象类,并没有实现具体的存储方式等2、Buffer写入(客户端) //客户端 public static void main(String[] args) throws IO

2021-01-15 17:23:23 1198

原创 js中encodeURI函数解决 The valid characters are defined in RFC 7230 and RFC 3986

问题在实际的项目中遇到了用ajax处理数据后想刷新当前页面,而需要将返回的结果带着一起请求刷新,所以前人就用的window.location.href = "${ctx}/tm?msg="+result.data; 导致出现了一个问题,在chrome浏览器中没有问题,在360浏览器中一直报The valid characters are defined in RFC 7230 and RFC 3986错误,而将请求的路径直接输入到地址栏访问又可以访问推测chrome浏览器在js设置了window.lo

2020-12-30 17:22:57 143 1

原创 java中4种引用

本人为菜鸟,仅供参考1、强引用public void fun() { Object obj = new Object();}这种即为强引用,强引用对象可达,GC宁愿抛OOM都不会回收该对象2、软引用SoftReference<Integer> softRefesoftrence = new SoftReference(new Integer(10));这种即为软引用,通过softRefesoftrence.get()获取对象使用,GC只有在内存空间不足时才会回收它3、弱引用

2020-12-30 10:03:37 186

原创 序列化和反序列化

序列化通过流传输写出对象就是序列化1、序列化对象 private static void writeObj() { Student201222 lg = new Student201222("lg", 21, 20); try (FileOutputStream outputStream = new FileOutputStream("D://object.bin"); ObjectOutputStream objectOutputStr

2020-12-29 17:20:54 76

原创 简单工厂模式--通过Class创建类

一、抽象类public interface Person { /** * 工作接口 */ public void work();}二、实现类1、学生类public class Student implements Person { @Override public void work() { System.out.println("我正在学习"); }}2、教师类public class Teacher imp

2020-12-29 16:59:06 270

原创 Socket报connect reset异常

服务端 public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(8088); while (true) { Socket accept = serverSocket.accept(); new Thread(()->{

2020-12-29 16:42:45 1573

原创 连接池的关闭

注意:本人为菜鸟,仅供参考线程池的5种状态RUNNING:线程池创建之后的初始状态,这种状态下可以执行任务SHURDOWN:该状态下线程池不再接受新任务,但是会将工作队列中的任务执行结束STOP:线程池不再接受新任务,也不会处理工作队列中的任务,并且将会中断线程TIDYING:该状态下所有任务都已终止,将会执行 terminated() 钩子方法TERMINATED:执行完 terminated() 钩子方法之后连接池关闭的两种方法1、shutdown() public void shu

2020-12-29 16:30:04 1337

原创 RandomAccessFile文件读取工具类

RandomAccessFilejava.io包下文件读写工具类,能够设置偏移量读取文件需求将系统输出的日志文件读取出来,给前端展示在页面上思路日志文件的配置最大为20M,一次性读取整个文件是不可取的。所以就考虑“分页读取”,一次性读取多少行返回前端,然后前端请求翻页。java中有没有象C那样有偏移指针的工具类来读取文件?实现 /** * 获取日志内容 * @param fileName 文件名 * @param offset 文件读取的偏移量 * @r

2020-12-14 09:45:33 214

原创 请求头referer作用及去除

注意:本人是菜鸟,仅供参考一、请求头referer作用当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理1、防盗链比如服务器只允许网站访问自己的静态资源,那服务器每次都需要判断Referer的值是否是自己的域名,如果是就继续访问,不是就拦截2、防止恶意请求必须 Referer为我自己的网站才可以访问,否则禁止访问二、在防盗链设置中,允许空Referer和不允许空Referer有什么区别?允许为空,那再浏览

2020-12-11 15:41:42 5354

原创 五种单例模式实现

饿汉式:public class Hunger {public class Hunger { private Hunger() { } private final static Hunger hunger = new Hunger(); public static Hunger getInstance() { return hunger; }}多个线程安全,但无法进行懒加载,如果类成员很多,则占用的资源比较多懒汉式:public cl

2020-12-09 15:11:18 46

原创 Stream并行流处理

案例:1至1000_0000_0000求和计算For循环计算/** * for循环计算 */public static void For() { long start = System.currentTimeMillis(); long res = 0L; for(long i = 1L; i <= 1000_0000_0000L; i++) { res += i; } long end = System.currentTimeM

2020-12-09 13:29:18 344

转载 自动拆箱和装箱

什么是自动拆装箱?Java中每种基本数据类型都提供了对应的包装器类型(就是首字母大写),如int__Integer.在SE5之前创建一个Integer对象必须这样:Integer i = new Integer(10);SE5之后添加了自动拆装箱:// 自动装箱Integer i = 10;//自动拆箱int n = i;如何实现的呢?对class代码进行反汇编得到:从反汇编文件看出装箱的时候调用了Integer.valueOf(int)方法,而拆箱的时候调用了Integer.in

2020-12-09 10:59:39 68

原创 Spring Cloud 之 Zuul 常用配置与基本使用

Spring Cloud 之 Zuul 常用配置与基本使用一、Zuul是什么?二、构建Zuul1.创建工程2.配置yml3.添加注释4.运行总结提示:本人是小白,仅供参考一、Zuul是什么?zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用,将所有微服务接口统一聚合,统一对外暴露,结合Ribbon实现负载均衡,可以在Zuul中统一做身份和权限认证,防止非法请求API,可实现流量监控功能,高流量情况下对服务进行降级处理。二、构建Zuul1.创

2020-11-17 22:36:40 666

原创 Feign修改负载均衡策略

提示:本人为新手,仅供参考方法一:配置bean/*** 设置为随机算法*/@Beanpublic IRule getRule() { return new RandomRule();}方法二:配置yml#{服务提供者spring.application.name}:# ribbon:# NFLoadBalancerRuleClassName: {负载均衡策略的全包名}eureka-client: ribbon: NFLoadBalancerRule

2020-11-17 17:21:02 2369

原创 web应用---xss注入

web应用——xxs注入前言一、xxs注入是什么?二、实例描述总结前言提示:本人是小白,本篇博客仅自己对web应用的xxs注入的见解,仅供参考一、xxs注入是什么?xxs又叫css,指的是攻击者在web页面里插入恶意脚本代码,而程序对用户输入的内容未过滤,当用户浏览该页面时,嵌入其中的脚本代码就会被执行,从而达到攻击的目的。二、实例描述在用户注册的页面上注册上,用户名输入,当用这个用户名登录后,只要web应用显示这个用户名信息都会弹出提示框,而web页面上是空白的这种注入并不是太恶意,如果在你

2020-11-17 14:53:21 1303

原创 SQL---基本常用函数

SQL—基本常用函数提示:本人新手,仅供参考案例成绩表结构1、AVG 函数AVG 函数返回数值列的平均值,NULL 值不包括在计算中-- 查询整个年级的语文平均分SELECT AVG(score) AS "语文平均分" FROM grade WHERE `subject` = '语文'-- 查询语文成绩高于平均分的同学及分数SELECT st_name AS '姓名',score AS '分数' FROM grade WHERE `subject` = '语文' AND score &g

2020-09-26 01:09:39 1033

原创 Alibaba EasyExcel实现简单的数据导出

Alibaba EasyExcel实现简单的数据导出提示:本人为新手,仅供参考目录Alibaba EasyExcel实现简单的数据导出一、添加依赖二、书写行对象1、设置列宽2、设置表头行高3、设置行高三、导出总结一、添加依赖具体版本,根据自己需求<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <ve

2020-09-23 22:39:07 1182

原创 SQL---日期的函数

SQL----日期的函数提示:本人新手,仅供参考,文章参考W3school文档目录SQL----日期的函数一、MySQL Date函数1、NOW() 返回当前的日期和时间2、CURDATE() 返回当前日期3、CURTIME() 返回当前的时间4、DATE() 提取日期或日期/时间表达式的日期部分5、EXTRACT() 返回日期/时间按的单独部分6、DATE_ADD() 给日期添加指定的时间间隔7、DATE_SUB() 从日期减去指定的时间间隔8、DATEDIFF() 返回两个日期之间

2020-09-22 23:13:44 486

原创 Spring Cloud 之 Feign常用配置与基本使用

Spring Cloud 之 Feign提示:本文章仅供参考(因为我也是刚学习)Feign介绍Feign是Spring Cloud中服务消费端的调用组件,通常与Ribbon,Hystrix等组合使用创建Feign Client构建模块选择依赖时选择Spring Cloud Discovery中的Eureka Discovery Client和Spring Cloud Routing中的OpenFeign启动类添加注解在启动类上添加Eureka客户端@EnableEurekaClient注解和E

2020-09-19 00:32:08 897

原创 Eureka + Ribbon + restTemplate 实现负载均衡

Eureka + Ribbon + restTemplate 实现负载均衡提示:本篇文章只适合新手参考(因为我也是才学)一、搭建Eureka-Server注:父工程自行搭建1、创建Eureka-Server模块右击项目—>new—>Model—>spring initalizr在选择依赖的时候在spring cloud Discovery中选择Eureka Server2、配置application.yml因为eureka server是通过主机名来分别实例的,在C:\Wi

2020-09-17 21:49:40 251

原创 SpringBoot项目通过WebCollector + @Scheduled实现定时爬取网站任务

SpringBoot项目通过WebCollector + @Scheduled实现定时爬取网站任务一、编写网站爬取程序1、继承BreadthCrawler类继承BreadthCrawler类2、根据自己的需求写构造方法如:我写的这个无参构造方法,其中super的第一个参数是爬取过程中产生的文件夹路径(文件夹中的文件主要是维护爬取过程中的URL等信息),第二个参数是指是否根据设置的正则表达式自动探取新的URL。添加正则表达式的方法addRegex(String urlRegex),参数为一个 url

2020-09-17 00:12:00 831

空空如也

空空如也

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

TA关注的人

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