自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux常用命令

【代码】Linux常用命令。

2024-08-09 14:56:53 483

原创 .jar中没有主清单属性解决方案

今天打算把项目进行打包并部署到服务器中没想到接下来打包出现的问题居然花费了我很长的时间去进行排查和解决。

2024-03-23 19:46:16 265

原创 linux安装部署geoserver

点击Archive进入geoserver历史版本页面,可以查看每个geoserver版本支持的java版本。选择Binary解压版下载,下载成功之后将其上传到Linux服务器上并解压。然后进入到bin目录后台执行启动startup.sh脚本。然后编辑start.ini文件修改端口号。这里修改为7070端口,默认是8080。首先进入geoserver的官网。点击想要下载的版本进入下载页面。打开服务器的对应7070端口。

2024-02-28 09:19:42 1675

原创 Mac系统通过homebrew安装postgresql和postgis

花费了大概一天的时间安装postgresql和postgis,期间遇到了大量的坑,记录下来分享给大家,方便自己以后再次安装,也帮助别人踩坑tip:我的系统是MAC ,通过homebrew安装的最开始是通过homebrew安装了 postgresql@13 ,但是你想要用到postgis并且要通过homebrew安装的话,必须要用到最低14版本。

2023-12-30 19:45:19 1129

原创 Java如何使用排序

在开发中,需要对一组对象进行排序,是非常常见的需求。排序可以让数据更加有序,便于查找和操作。在Java中,排序可以使用Collections类或Arrays类提供的方法可以通过Comparable自然排序和Comparator定制排序进行实现。

2023-05-07 22:49:35 1403 1

原创 Cookie和Session的区别

cookie和session的区别

2023-02-27 10:44:13 433

原创 说说你是如何进行mysql调优的

mysql的优化总结

2022-10-19 22:32:02 673

原创 Zookeeper的介绍、Paxos、leader的选举过程

Zookeeper的介绍Zookeeper是一款apache社区开源的基于内存的,能够完成分布式协调服务的一个应用,其目的就是让分布式的一些协调变的简单特性顺序一致性 - 客户端的更新将按发送顺序应用。原子性 - 更新要么成功要么失败。没有部分结果。全局数据一致性:在集群中每个节点都保存相同的数据,无论修改哪个节点,最终所有节点的数据都会一致实时性 - 系统的客户视图保证在特定时间范围内是最新的。极其高可用如果我们的Zookeeper服务是单节点,那肯定会想到单点故障问题

2022-02-28 10:58:10 1408

原创 数据库无法插入Could not set property ‘id‘ of ‘class com.XXX‘ with value ‘1481832253064073217‘

场景:数据库已设置主键自动递(AUTO_COMMIT)了,正常情况下插入数据不带id时也能插进去的,但是我的没插进去,报错如下:Could not set property ‘id’ of ‘class com.XXX’ with value ‘1481832253064073217’ Cause: java.lang.IllegalArgumentException: argument type mismatch’后来找到原因是在实体类中的id字段上需要加入如下注解 @TableId(value=

2022-01-14 11:40:53 7623 3

原创 谈谈你对HashMap的理解

这是一个非常讨厌的面试问题,我面试的时候被多次问到,都8080年了,还问这个问题!这个问题太宽了,没有一个好的回答思路根本不知从哪开说不过这个看似简单,我们只要说出对hashmap的理解,自由发挥就好,但是好的回答自然会让面试官刮目相看。围绕这个点要是答好了会引申出超级多的知识点在这里个人简单总结下:回答顺序参照下面的回答顺序,我觉得对于面初级开发来说妥妥的够了!Map的接口结构将集合的框架体系说出来吧!顺便把collection的框架体系也说出来吧!双列集合:单列集合HashMap

2021-12-18 23:21:06 1759

原创 分布式事务解决方案详解

先了解下本地事务,数据库是如何保证本地事务的?数据库具有ACID的特性,即原子性A、一致性C、隔离性I、持久性D。原子性A:通过undolog回滚日志保证,即要么执行成功,如果执行失败通过undolog回滚日志进行回滚一致性C:通过undolog回滚日志保证,多个数据同时执行,如果有一个执行失败就回滚隔离性I:通过悲观锁和乐观锁(mvcc)保证持久性D:通过redolog的两阶段提交分布式事务场景:分布式系统中是无法通过本地事务保证全局事务的,其问题点在于:每一个系统中虽然能通过本地事务保

2021-12-12 16:19:30 1593

原创 生成验证码的三种方式

public static void main(String[] args) { int nums = 1000000; // 循环次数 //-------------------------第一种------------------------- long start = System.currentTimeMillis(); Random random = new Random(); for (int i = 0; i &...

2021-11-01 12:21:39 4339

原创 Eureka的三级缓存以及生产优化

Eureka生产优化Eureka生产优化核心就是优化服务注册、上下线的速度eureka的优化之前需要了解原理,通过debug发现待优化的点原理概述进入EurekaServer的依赖中发现通过配置文件spring.factories将EurekaServerAutoConfiguration注入进来我们的启动类上又有个@EnableEurekaServer进入这个注解中发现又导入了EurekaServerMarkerConfiguration在EurekaServerM

2021-10-31 00:24:02 1499 2

原创 自整理---多线程+JUC笔记

线程基础知识程序,进程,线程,纤程(协程)程序:就是最开始的时候安静的躺在磁盘中的.exe可执行文件,当我们点击运行的时候,系统将其load到内存中,之后cpu将其执行进程:操作系统资源分配的基本单位。(一个程序可以由多个进程,比如一台电脑可以登录多个qq那就是多个进程)线程:调度执行的基本单位。线程在进程的内部,线程是一个程序里不同的执行路径,多个线程共享同一进程中的资源纤程(协程)纤程和线程本质上原理相同,线程的切换时通过栈实现,纤程亦如此,都是栈的记录和切换。纤程是用在用

2021-09-11 01:11:23 533

原创 自整理---JVM笔记

结合马士兵和尚硅谷大厂学院JVM课程简单整理的笔记整理后的脑图如下JVM的体系结构JVM的简单介绍JDK、JRE、JVM的区别常见的JVMHotspot-oracle官方,我们做实验用的JVMJrockit-BEA,曾经号称世界上最快的JVM,被Oracle收购,合并于hotspot-hotspot深度定制版(收费)J9-IBMMicrosoft VMTaobaoVM-hotspot深度定制版LiqidVM-直接针对硬件azul zing-

2021-08-26 15:04:02 329

转载 与运算、或运算、异或运算

1.与运算(&)计算规则:两个计算的二进制数 相同位为1结果为1否则为01 & 1 = 1;1 & 0 = 0;0 & 1 = 0;0 & 0 = 0;例如:1 & 2换成二进制0000 0001 & 0000 0010结果为0000 0000 2 & 30000 0010 & 0000 0011 = 0000 0010通过这个特性 我们通常可以用来清零 想给哪一位清零就把哪一位置为0 若不想清零这一位

2021-08-21 10:08:43 15305

原创 自整理---Redis笔记

Redis简介关系型数据库与非关系型数据库关系型数据库采用关系模型来组织数据的数据库,关系模型就是二维表格模型。一张二维表的表名就是关系,二维表中的一行就是一条记录,二维表中的一列就是一个字段。优点容易理解,使用方便通用的sql语言易于维护,丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率举例:MySql,Oracle, Server,DB2非关系型数据库非关系型,分布式,一般不保证遵循ACID原则的数据存储系统。是基于键值对的存储结构,

2021-08-08 10:09:51 407

原创 自整理---Mysql高级笔记

第 1 章 MySQL 的架构介绍1、MySQL 简介什么是 MySQL?MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。Mysql是开源的,所以你不需要支付额外的费用。Mysl支持大型的数据库,可以处理拥有上千万条记录的大型数据库。MySQL使用标准的SQL数据语言形式。Mysql可以允许于多个系统上,并且支持多

2021-08-08 10:08:55 765

原创 对象创建流程分析

案例:public class ProcedureEstablishment { public static void main(String[] args) { Person p = new Person("小倩", 20); }}class Person { private String name; private Integer age = 90; public Person(String name, Integer age) {

2021-07-01 22:47:33 102

原创 Java对象的值传递机制

从两道高频面试题说起~~~基本数据类型的传参下面代码运行后输出什么?public class AA { public static void main(String[] args) { int a = 10; int b = 20; AA aa = new AA(); aa.swap(a,b); System.out.println("main方法中的:" + "s1 = " + a + ",s2 = " + b)

2021-07-01 16:10:10 340

原创 设计模式之代理模式

代理模式的介绍定义:为其他对象提供一种代理,以控制这个对象的访问代理对象在客户端和目标对象之间起到中介的作用代理模式包含如下角色:Subject: 抽象主体角色(抽象类或接口)Proxy: 代理主体角色(代理对象类)RealSubject: 真实主体角色(被代理对象类)注:代理类和被代理类都要实现同一个抽象类或接口代理模式小demo这里有个非常有意思的案例场景:有一位男生卓贾易同学在追求班级里的班花娇娇,想给她送洋娃娃,送花,送巧克力。但却不好意思直接送给她,只能托付好朋友戴厉帮忙去送

2021-06-23 21:05:57 133

原创 设计模式之装饰器模式

介绍装饰器模式所需角色:抽象被装饰(Component)角色:表示一个被装饰(被增强)的类的接口。具体被装饰(ConcreteComponent)角色:表示被装饰(被增强)的类,实现抽象构件接口。抽象装饰(Decorator)角色:继承抽象构件,表示用来装饰被装饰类的接口。具体装饰(ConcreteDecorator)角色:实现抽象装饰的相关方法,它是具装饰类。demo举例抽象被装饰// 抽象构件,component(被包装类)public interface ManTikTok

2021-06-22 22:43:59 106

原创 深入理解递归

递归是一种重要的编程技术,该方法用来让一个函数(方法)从其内部调用其自身。一个含直接或间接调用本函数语句的函数,被称之为递归函数。对于树结构的遍历和处理,最为常用的代码结构就是递归(Recursion)。递归的实现有两个必要条件:必须定义一个基准条件,这也是递归终止的条件(在Java中递归没有基准条件无法结束递归,直到栈溢出)。在这种情况下,可以直接返回结果,无需继续递归在方法中通过调用自身,向着基准情况不断前进通过阶乘举例:一个简单示例就是计算阶乘:0 的阶乘被特别地定义为 1n的阶乘

2021-06-21 16:30:27 183

原创 结构结构之树的总结

为什么需要用到树的结构,它有什么好处?数组存储方式的分析:优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值就会按一定顺序会整体移动,效率较低链式存储方式的分析:优点:插入节点和删除节点效率高。缺点:在进行检索时效率低(需要从头节点开始遍历)树存储方式的分析:能提高数据存储,读取的效率,比如利用二叉排序树(Binary Sort Tree)既可以保证数据的检索速度,同时也可以保证数据的插入,删除,修改的速度。案例:[7

2021-06-20 16:58:57 377

转载 Docker部署前后端分离后端项目

https://www.cnblogs.com/wyt007/p/11072252.html

2021-06-19 20:48:31 128

原创 设计模式之策略模式

1. 策略模式的介绍策略(Strategy)模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。属于对象行为模式。策略模式包含三个角色:抽象策略:公共接口,各种不同的算法以不同的方式实现这个接口,环境角色使用这个接口调用不同的算法,一般使用接口或抽象类实现具体策略:实现了抽象策略定义的接口,提供具体的算法实现。环境类(context):持有一个策略类的引用,最终给客户端调用。2. 策略模式小demo先介绍个小demo,稍后再用上面的收银系统进

2021-06-19 14:45:21 67

原创 策略模式和简单工厂的结合

商场收银系统一切从一个需求开始说起需求:实现一个收银小程序,输入商厂商品的单价以及商品的数量,最后返回总价格简单啊,客户端代码实现如下:public class PriceCalculate { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入商品单价:"); int price =

2021-06-18 23:24:36 748

转载 UML类图

UML类图1.类图基础属性解释:成员变量中:+表示public-表示private #表示protected ~表示default,也就是包权限 _下划线表示static 成员方法中:斜体表示抽象 ,类中有抽象方法,那么类也是个抽象类,也要加斜体2.类与类之间关系在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖

2021-06-17 16:52:31 420

原创 排序之选择排序

选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某元素,再依规定交换位置后达到排序的目的。选择排序( select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0] ~ arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1] ~ arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2] ~ arr[n-1]中选取最小值,与arr[2】交换,…,第i次从arr[i - 1] ~ arr[n-1]中选取最小值,与ar[i -1]交换,…

2021-06-17 15:13:56 108

原创 排序之冒泡排序

冒泡排序的介绍冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序(前一个数大于后一个数)则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。通过简单的demo理解冒泡排序的规律public class BubbleSort { public static void main(String[] args) { int[] arr = {3, 9, -1, 10, -2}; /

2021-06-17 11:01:39 230

原创 工厂模式(简单工厂、工厂方法、抽象工厂)

工厂模式(Factory Pattern)提供了一种创建对象的最佳方式。我们不必关心对象的创建细节,只需要根据不同情况获取不同产品即可。难点:写好我们的工厂工厂方法的分类工厂模式之-简单工厂简单工厂只有三个角色:抽象产品类具体产品类工厂类举例:有一家肉厂:双汇厂,他们现在有两个产品,牛肉和猪肉demo如下:抽象产品类// 抽象产品类public abstract class AbstractMeat { // 工厂要产的抽象产品:肉 public Str

2021-06-16 21:56:53 301 1

原创 原型模式以及深克隆和浅克隆

原型模式(Prototype Pattern)是在程序中需要创建重复的对象,同时又要保证性能。它属于创建型设计模式。原型模式可以通过一个对象实例确定创建对象的种类,并且通过拷贝创建新的实例。总得来说,原型模式实际上就是从一个对象创建另一个新的对象,使新的对象有具有原对象的特征。原型模式是一种应用及其广泛的设计模式,Clone也是一种十分常见的操作,以至于在Java中,终极父类Object将Clone方法作为了所有类应具有的基本功能,并且Java也提供了Cloneable接口,原型模式已经与 Java 融

2021-06-12 21:25:53 274 2

原创 单例模式及破解单例模式

单例模式:一个类自己负责创建自己的对象,同时确保系统中该对象只会被创建一个!特点:在整个系统中只能有一个该类的实例(必须确保构造器私有,避免其他类new出该类的对象)他必须自行创建这个实例(在代码对应的类中自己编写实例化逻辑)它必须自行向整个系统提供这个实例(对外提供实例化方法,外面的类想要这个实例的对象随时可以调用)单例模式的饿汉式public class Person { private String name; private String age; //

2021-06-11 23:06:52 531

原创 如何从宿主机拷贝文件到docker容器中

举例:docker cp /Users/Mason/Downloads/mysql-connector-java-8.0.23.jar logstash:/usr/share/logstash/logstash-core/lib/jars 解释我要把mysql-connector-java-8.0.23.jar文件,从我的目录中拷贝到: logstash容器的 /usr/share/logstash/logstash-core/lib/jars 目录中来注:这里有个大坑如果加空格就会报错!

2021-06-06 21:28:11 1484

原创 No qualifying bean of type ‘xxx.xxx.mapper.XxxMapper‘ available: expected at least 1 bean which.....

今天在搭建环境的时候被这个bug坑了一个多小时,索性最后找到了问题原因就是mapper没有注入!我是初次使用模块化搭建项目的,结构如下主启动类写在了web模块mapper接口卸载了service模块我在主启动类上设置自动扫描mapper包这么一看没啥不对的,可是一启动就报这个错原因分析:主启动类只能扫描其所在包及其子包下面的类!主启动类所在包:web模块下的com.xxxmapper接口所在包:service模块下的com.xxx.service.mapper这样必然扫不到

2021-05-20 09:31:39 7524 4

原创 基于Linux使用docker配置fastdfs

1.查找Docker Hub上的fastdfs镜像:#查找fastdfs镜像docker search fastdfs#拉取最新版本docker pull delron/fastdfs#查看镜像docker images2.使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用)docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/e

2021-05-09 22:45:13 191

原创 Mysql存储过程详解

Mysql存储过程详解今天在做项目的时候遇到了使用存储过程的知识点,发现这块知识点之前在学习mysql基础的时候根本就没听进去,也没有好好的消化,因此特意翻出来重新学习一下mysql存储过程MySQL 5.0 版本开始支持存储过程。1、存储过程的介绍存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。通俗来讲:存储过程其实就是能完成一些特定操作或功能的一组

2021-04-29 09:23:03 632

原创 docker启动并访问RabbitMq

docker 拉取镜像docker pull rabbitmq运行docker镜像docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq rabbitmq其中,5672是和rabbitmq进行通信的端口,15672是我们后台操作界面的端口进入到rabbitmq容器中sudo docker exec -it 3b124f0c9712 /bin/bash执行rabbitmq-plugins enable rabbi.

2021-02-03 12:01:54 853 4

原创 最简洁的docker完全卸载和安装

网上找了一大堆,都是这样的方法,但是根本没有用,指令执行以后居然还能查到docker version!说明根本没有卸载干净!本人因为部署k8s集群发现新版docker存在不兼容问题被迫卸载最新版docker下载旧版,如下方法亲测有效!卸载docker现有版本$ sudo yum remove docker docker-common container-selinux docker-selinux docker-engine$ sudo yum remove -y docker-*之后会发现输

2021-01-31 21:27:15 1656

原创 SpringBoot如何自定义启动器

提高:自定义starter启动器模块是一个 空 jar 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库;命名方式:官方命名:spring-boot-starter-xxx ,比如:spring-boot-starter-web…自定义命名:xxx-spring-boot-starter ,比如:mybatis-spring-boot-starter1、在idea中新建个空工程spring-boot-starter-diy建完以后里面什么都没有2、新建一个普通M

2020-11-14 17:09:39 642

空空如也

空空如也

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

TA关注的人

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