自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mac文的java路

学习点滴记录分享

  • 博客(103)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于win11docker启动总是报一堆乱码错误的解决办法

双击注册,会提示注册成功,然后重启docker desktop就好了。治标不治本,每次启动都得执行麻烦。新建wsl.reg文件,里面内容。

2022-11-07 14:56:04 792 1

原创 k8s学习

k8s学习

2022-09-28 20:14:12 1091

原创 Ubuntu20安装k8s单机版

ubuntu安装k8s单机版

2022-09-23 15:18:14 1184

原创 centos7.5安装k8s集群

vmware安装centos7.5下载镜像http://mirrors.aliyun.com/centos/7/isos/x86_64/,下载dvd版本即可,有个桌面用起来比较方便

2021-12-09 14:19:20 1875

原创 ubuntu安装minikube

root用户下修改源安装docker安装minikube如果报错The “docker“ driver should not be used with root privileges,则需要在非root的用户下执行,$USER即非root用户启动如果拉去镜像过于缓慢,可以执行下面的语句可以使用别名的方式代替kubectl,但是每次打开窗口都要执行,很麻烦,还是需要安装一下kubectl。这里如果是本地虚拟机的话可以直接通过使用国内镜像源来安装,google地址

2021-12-02 17:26:46 466

原创 dubbo远程调用HessianProtocolException: expected map/object at java.lang.Long报错解决

调用的接口使用到了`List.of()`方法,这个方法的源码是使用的`ImmutableCollections`,这个集合不支持序列化,所以报错,改成`Collections.singletonList()`即可

2021-08-19 14:34:23 2248

原创 鸿蒙开发学习

1.app三大组成部分组件屏幕展示出来的元素,如按钮,图片,下载进度条布局多个组件的摆放方式叫做布局,组件必须添加到布局中才能够显示出来事件可以被组件识别的操作,如单击 双击 滑动等事件...

2021-08-05 18:21:19 94

原创 react学习

1、安装yarnNPM(Node Package Manager)作为Node.js的依赖包管理器便应运而生,而YARN则是针对NPM的一些不太优秀的地方设计开发的。npm install -g yarn --registry=https://registry.npm.taobao.orgyarn config set registry https://registry.npm.taobao.org -gyarn config set sass_binary_site http://cdn.npm.

2021-07-20 09:42:27 93

原创 idea创建react项目

最近没事做想学习一点前端的知识,由于平时都使用idea作为后端开发,这里也使用idea来开发react。安装nodejs直接官网下载安装,https://nodejs.org/en/download/idea安装nodejs插件,安装完重启创建react项目这里记得勾上typescript,这样子创建的项目是基于typescript,个人更喜欢typescript的编码风格,如果你就是喜欢js,你可以不勾创建好的项目结构有typescript无typescript

2021-07-05 17:52:59 1572

原创 一张图看懂inner join、left join、right join的区别

2021-06-11 15:51:57 277 1

原创 k8s学习

集群组件核心概念

2021-05-08 18:12:00 85

原创 分布式开发(7)-基于redisson分布式锁解决定时任务重复执行

定时任务在部署多台服务时会出现重复执行的问题,所以要借助基于reidis的redisson分布式锁来保证每次只执行一次。配置2.1 引入redisson<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </de.

2021-05-07 09:51:23 1837 1

原创 一图看懂git fetch和git pull关系

可以看出当我们想在自己的workspace切换分支的时候,其实切换的是本地的repository的分支,而如果远程新建了一个分支,直接checkout是check不了的,所以需要先fetch将远程remote信息同步到本地repository,在checkout本地分支。...

2021-04-25 11:17:40 163

转载 linux安装docker

https://www.funtl.com/zh/docs-docker/Ubuntu-%E5%AE%89%E8%A3%85-Docker.html#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C

2021-04-21 11:55:56 427

原创 分布式开发(6)-基于redis分布式session

启动类中添加@EnableRedisHttpSession配置类中添加spring: session: store-type: redis配置session失效时间server: servlet: session: timeout: 30m # session失效时间设置为30分钟编写一个session配置文件@Configurationpublic class GulimallSessionConfig { @Bean pub.

2021-03-10 13:24:14 258

原创 CAP理论/AP架构/CP架构

要想分析CP和baiAP两种模式的优缺点,首先要du弄zhi懂什么是CAP.C-Consistency,强一致性。daoA-Available,可用性。P-Partition tolerance,分区容错性。在分布式中zhuanP是必须要有的,所以分布式有CP和AP两种模式。AP的就是可用性强,一致性弱;CP就是一致性强,可用性弱。你可以把强弱理解成优缺点。zookeeper是cp,所以被淘汰了,eureka是ap的,nacos既是cp又是ap...

2021-03-05 17:45:48 555

原创 ElasticSearch学习(3)—ik分词器配置

ik分词器的配置分词器:能将一句话分成一个个单词elas默认没有中文分词器,也就是说默认中文的话全是按照一个个字打出来的:POST _analyze{ "text":"尚硅谷牛逼"}执行结果:2. 配置分词器常用的中文分词器为ik,安装的分词器版本要和elastic一致,这里我们下载ik-7.6.2,然后放到配置的目录下/mydata/elasticsearch/plugins/ik重启elastic,再进行测试POST _analyze{ "analyzer":

2021-03-03 17:18:10 607 1

转载 youngGC与fullGC

https://www.cnblogs.com/klvchen/articles/11758324.html

2021-02-26 16:36:43 230

转载 MySQL索引-B+树(看完你就明白了)

链接:http://www.liuzk.com/410.html

2021-02-25 15:07:38 97

原创 java基础—stream处理list的几个常用方法filter,map,sorted

对于list我们常做的处理就是排序,过滤筛选和值处理,这里给出常用的list的处理方法 // list中只存入普通类型数据 Double[] arr = new Double[]{78.0, -0.56, 1.23, 0.0, 12.2, 123.6};//正确 List<Double> list = Arrays.asList(arr); // 筛选出大于0的数据 List<Double> res

2021-02-23 10:56:58 872

原创 java基础-抽象类和接口

我们从我们实际设计场景中来切入这个话题先来举一个简单的例子:狗都具有 eat() 、sleep() 方法,我们分别通过抽象类和接口定义这个抽象概念//通过抽象类定义 public abstract class Dog { public abstract void eat(); public abstract void sleep(); } //通过接口定义 public interface Dog { public abstract voi

2021-02-17 19:31:56 78

原创 谷粒商城问题总结

出现“Module build failed: Error: Cannot find module 'node-sass’报错问题”解决:# 从淘宝镜像那下载,然后cnpm下载成功npm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm install node-sass@latestnginx动静分离配置查看链接:https://blog.csdn.net/weixin_42196915/article/de.

2021-02-08 18:02:30 497

转载 nginx代理静态资源

nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应。root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。[root]语法:root path默认值:root html配置段:http、server、location、if[alias]语法:alias path配置段:locationroot实例:location ^~ /t/ {

2021-02-08 10:45:51 301

原创 nginx反向代理流程说明

什么是反向代理?代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。nginx可以当做反向代理服务器来使用:我们需要提前在nginx中配置好反向代理的规则,不同的请求,交给不同的真实服务器处理当请求到达nginx,nginx会根据已经定义的规则进行请求的转发,从而实现路由功能这里的多个server可以共用一个端口。访问流程解析:浏览器准备发起请求,访问

2021-02-04 17:43:20 211

原创 多线程的理解

多线程的内存图解多线程执行时,到底在内存中是如何运行的呢?以上个程序为例,进行图解说明:多线程执行时,在栈内存中,其实每一个执行线程都有一片自己所属的栈内存空间。进行方法的压栈和弹栈。线程池的好处:在java中,如果每个请求到达就创建一个新线程,开销是相当大的。在实际使用中,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多。除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源。如果在一个jvm里创建太多的线程,可能会使系统由于过度消耗内

2021-02-03 17:42:44 126 1

原创 集合源码解析

Arraylist1)arrayList可以存放null。2)arrayList本质上就是一个elementData数组。3)arrayList区别于数组的地方在于能够自动扩展大小,其中关键的方法就是gorw()方法,每次扩容1.5倍4)arrayList中removeAll(collection c)和clear()的区别就是removeAll可以删除批量指定的元素,而clear是全是删除集合中的元素。5)arrayList由于本质是数组,所以它在数据的查询方面会很快,而在插入删除这些方面,.

2021-02-02 17:55:13 87

原创 String对象在内存中的表现

字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。1、创建字符串的方式有两种:String str1 = "直接赋值法";String str2 = new String("通过new关键字创建");2、这两种创建字符串对象的方式有什么区别?public class Test { public static void main(String[] args){ String str1 = "abc"; St

2021-02-02 11:34:39 120

原创 轻松理解java种的bio和nio

IO是计算机中Input和Output简称,即输入和输出。 无论是系统、还是语言的设计中IO的设计都是异常复杂的。Java语言在IO设计方面是比较成功的,不仅是面向对象,而且利用装饰器设计模式(后面会写针对设计模式的文章)减少了大量的类,提供了较好的扩展性。那Java IO怎么写入/读取数据?Java IO类库可以分为输入流和输出流,输入流来读数据,输出流来写数据。输出流实例代码一://输出流 public static void outputStream() throws IOExcep

2021-02-02 11:11:32 73

原创 python+selenium webUI自动化测试总结

import timeimport win32guiimport uiautomation as autoimport win32confrom selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expec

2021-01-29 15:59:06 388

原创 JVM学习

JVM体系结构概览类加载器负责将.class文件加载到内存中,只负责加载,不负责运行,是否运行由execution engine决定。类加载器主要分一下几种:这里的Demo为自定义的类,所以类加载器为AppClassLoader,而Object为rt.jar包下面的原生类,所以类加载器为启动类加载器,而启动类加载器是C++写的,所以至为null类加载器双亲委派机制:当一个类加载器收到类加载请求,他首先不会自己去加载这个类,而是交给父类加载器去完成,因此所有的加载请求都应该传到启动类.

2021-01-09 21:46:05 51

原创 idea如何通过tomcat部署tomcat并打包war包

Project Structure->Artifacts->±>Web Application Exploded->From Modules点击Edit Confiigurations->±>Tomcat Server->Local点击Configure->Tomcat Home,上面的Name自己随便写,点击OK点击启动,小虫子为debug模式,可以调试代码打包war包Project Structure->Web Applica.

2020-12-24 10:09:03 887

原创 利用easyexcel将excel文件数据导入到数据库

引入包<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.7</version></dependency>新建和excel内容一致的beanimport com.alibaba.excel.annotation.ExcelIgnore;import c.

2020-12-23 14:07:56 3395 2

原创 分布式开发(6)-限流熔断降级Sentinel

熔断降级熔断:a服务调用b服务的某个功能,由于网络不稳定或者b服务卡机,导致功能时间超长。如果这样子的次数太多,我们就直接将b断路(a不再请求b接口),凡是调用b的直接返回降级数据,不必等待b的超长执行。这样b的故障问题,就不会级联影响到a。降级:整个网段处于流量高峰期,服务器压力剧增,根据当前业务和流量,对一些服务和页面进行有策略的降级停止服务,所有的调用直接返回降级数据。以此缓解服务器资源的压力,以保证核心业务的正常运行,同时也保持了大部分客户得到正确的响应。异同:相同点:(1)为了保证集群..

2020-12-21 13:59:17 124

原创 分布式开发(5)-SpringBoot整合定时任务与异步任务

编写一个定时器其中@EnableScheduling开启定时任务,@Scheduled开启一个定时任务,自动配置类为TaskSchedulingAutoConfiguration其中@EnableAsync表示开启异步人任务功能,@Async给需要异步执行的方法上标注,自动配置类为TaskExecutionAutoConfiguration,属性类为TaskExecutionPropertiesimport lombok.extern.slf4j.Slf4j;import org.springf.

2020-12-20 13:00:43 176 1

原创 分布式开发(4)-mysql集群2-ShardingSphere-分库分表&读写分离配置

下载下载链接https://shardingsphere.apache.org/document/legacy/4.x/document/cn/downloads/解压缩,将mysql驱动放入lib目录中驱动链接:https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar配置server认证信息:conf/server.yamlauthenticati..

2020-12-18 17:27:31 210

原创 分布式开发(4)-mysql集群1-简单主从集群

docker安装模拟mysql主从复制集群创建一个主(master)的mysql容器docker run -p 3307:3306 --name mysql-master \-v /mydata/mysql/master/log:/var/log/mysql \-v /mydata/mysql/master/data:/var/lib/mysql \-v /mydata/mysql/master/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=123456 \.

2020-12-17 15:05:02 69

原创 分布式开发(3)-分布式事务

微服务需要分布式事务来解决事务问题,这里用seata作为分布式事务解决方案官方文档:http://seata.io/zh-cn/docs/user/quickstart.html每一个微服务新建undo_log表CREATE TABLE `undo_log` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `branch_id` BIGINT NOT NULL, `xid` VARCHAR(100) NOT NULL, `context` VARCH

2020-12-14 18:02:14 99 1

原创 分布式开发(2)-异步线程

我们在执行一个请求时,如果需要获取很多数据,而正常流程都是一行行代码执行,如果需要获取好几张表的数据时,同时又有很多个请求获取,那么响应时间就会很慢,所以我们需要用到异步线程的方式来编排代码,及通过多个线程同时并行获取数据,待数据都获取到了,直接返回即可。线程池配置import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;impor

2020-12-12 22:51:02 113

原创 使用脚本安装docker

curl -fsSL get.docker.com -o get-docker.shsudo sh get-docker.sh --mirror Aliyunsudo systemctl enable dockersudo systemctl start docker特别说明2018 年 7 月 21 日,貌似阿里云这边在做调整,故导致 Docker 的 Aliyun 安装脚本不可用,是永久性还是临时性的尚不清除,如果你已经按照之前的操作安装 Docker,请按以下步骤进行修复并重新安装如果已

2020-12-12 12:16:51 157

原创 分布式开发(1)-缓存

层级查询数据时,将多次查询改为一次查询,再做处理频繁查询的数据使用缓存问题:哪些数据适合放入缓存:(1)即时性和数据一致性要求不高的,如物流信息,(2)访问量大且更新频率不高的,如商品分类缓存使用redis,这里需要切换到jedis作为redis的客户端,因为lettuce会产生堆外内存溢出,目前还没有好的解决办法<dependency> <groupId>org.springframework.boot</groupId> .

2020-12-08 18:01:50 79

视频讲解源码

本教程的源码,可以直接下载下来执行,里面有mysql的建表语句

2019-09-03

空空如也

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

TA关注的人

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