- 博客(57)
- 资源 (1)
- 收藏
- 关注
原创 【git设置代理】
对于windows用户,代理会用到connect.exe,你如果安装了Git都会自带connect.exe,如我的路径为D:\Git\mingw64\bin\connect。到C:\Users\your_user_name.ssh目录下,新建一个config文件(无后缀名)保存后文件后测试方法如下,返回successful之类的就成功了。将下面内容加到config文件中即可。
2023-12-26 21:55:36
774
原创 JVM 分代垃圾回收过程
下一次 minor gc 时还是同样的过程,把 eden 中还被引用的对象移到 survivor 空间,然后清除 eden 空间,只是这次是移到第二个 survivor(S1),同时,把上次 minor gc 移到 S0 中的对象也移到 S1,并增加这些对象的年龄,移到 S1 之后,S0 也被清理掉,这时,eden 和 S0 都干净了。这个过程不断重复,这样 survivor 中对象的年龄会一直增长,当达到一定程度(例如8),这个对象就从年轻代转移到了老年代。这样,老年代中的对象就持续增加。
2023-10-31 20:23:11
689
原创 xxl-Job某一环境机器无法自动注册
xxl-Job 无法自动注册。自动注册失败。XXL-JOB。java.net.BindException: Address already in use
2022-06-23 16:55:37
5927
原创 xxl-job No such file or directory java.io.IOException: No such file or directory
xxl-job No such file or directory java.io.IOException: No such file or directoryat java.io.UnixFileSystem.createFileExclusively(Native Method)XxlJobFileAppender
2022-03-31 11:13:11
6988
3
原创 Java并发编程基础
进程、线程与管程线程的生命周期与状态线程的创建线程死锁产生死锁的四个必备条件如何避免线程死锁wait方法与sleep方法的区别用户线程与守护线程用户线程守护线程管程为什么要使用多线程呢?为什么调用start()方法时会执行run()方法,为什么不能直接调用run()方法?Runnable和Callable有什么不同?
2021-12-18 17:02:48
514
原创 String相关知识点
String的基本特性string声明为final的,不可被继承。string实现了serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小。String在jdk8及以前内部定义了final char[ ] value用于存储字符串数据。jdk9时改为byte[]。OpenJDK文档String代表不可变的字符序列。简称:不可变性。当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。当对现有的字符串进行
2021-11-30 20:01:01
296
原创 《Designing Data-Intensive Application》03存储与检索
《Designing Data-Intensive Application》驱动数据库的数据结构哈希索引在本章中我们会从数据库的视角来讨论:数据库如何存储我们提供的数据,以及如何在我们需要时重新找到数据。作为程序员,为什么要关心数据库内部存储与检索的机理?你可能不会去从头开始实现自己的存储引擎,但是你确实需要从许多可用的存储引擎中选择一个合适的。而且为了协调存储引擎以适配应用工作负载,你也需要大致了解存储引擎在底层究竟做什么。特别需要注意,针对事务性负载和分析性负载优化的存储引擎之间存在巨大差异。稍后
2021-04-29 11:02:26
548
2
原创 RocketMq概述
启动命令# 1.启动nameservernohup sh bin/mqnamesrv &# 2.启动Brokernohup sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true & 关闭命令# 1.关闭Nameserversh bin/mqshutdown namesrv# 2.关闭Brokersh bin/mqshutdown broker测试rocketmq# 1.设置环境变量export
2021-03-28 13:31:27
359
原创 MySQL基础架构
MySQL基础架构文章说明:该文章主要参考极客时间MySQL45讲,详细内容请转极客时间MySQL基本架构示意图[mysql5]如下:大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。而存储引擎层负责数据的存储和提取。其架构模式是插件式的。从 MySQL .
2021-03-14 21:49:09
190
原创 《Designing Data-Intensive Application》02数据模型与查询语言
《Designing Data-Intensive Application》关系模型与文件模型数据模型可能是软件开发中最重要的部分了,因为它们的影响如此深远︰不仅仅影响着软件的编写方式,而且影响着我们的解题思路。多数应用使用层层叠加的数据模型构建。一个复杂的应用程序可能会有更多的中间层次,比如基于API的API,不过基本思想仍然是一样的:每个层都通过提供一个明确的数据模型来隐藏更低层次中的复杂性。这些抽象允许不同的人群有效地协作(例如数据库厂商的工程师和使用数据库的应用程序开发人员)。数据模型种类繁多
2021-02-18 14:24:57
1809
原创 《Designing Data-Intensive Application》01数据系统的基石-可靠性/可扩展性/可维护性
《Designing Data-Intensive Application》序言本书的目标读者序言如果近几年从业于软件工程,特别是服务器端和后端系统开发,那么您很有可能已经被大量关于数据存储和处理的时髦词汇轰炸过了: NoSQL! 大数据! Web-Scale! 分片! 最终一致性! ACID! CAP定理! 云服务! MapReduce! 实时!数据密集型应用(data-intensive applications)正在通过使用这些技术进步来推动可能性的边界。一个应用被称为数据密集型的,数据
2021-02-05 16:16:53
1802
原创 设计模式概述
谁发明了设计模式? 设计模式的概念最早是由克⾥斯托佛·亚历山大在其著作 《建筑模式语⾔》 中⾸次提出的。 本书介绍了城市设计的 “语⾔”,提供了253个描述城镇、邻⾥、住宅、花园、房间及⻄部构造的模式, 而此类 “语⾔” 的基本单元就是模式。后来, 埃⾥希·伽玛 、 约翰·弗利赛德斯 、 拉尔夫·约翰逊 和 理查德·赫尔姆 这四位作者接受了模式的概念。 1994 年, 他们出版了 《设计模式: 可复⽤⾯向对象软件的基础》 ⼀书, 将设计模式的概念应⽤到程序开发领域中。设计模式(Design pattern
2021-01-25 16:11:56
410
1
原创 MysqlExplain相关
explain能干什么:表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被执行explain列分析:idselect 查询的序列号,表示查询中执行select子句或操作表的顺序...
2021-01-19 16:24:56
150
原创 maven常用命令
maven常用命令获取第一层依赖jar列表(windows下可用Git Bash Here)mvn dependency:tree |grep "compile"|grep '] +'|sed 's/:compile//g'|awk '{print $3}'
2020-12-29 20:29:50
174
原创 阿里巴巴中台战略思想与架构实战笔记
序言二阿⾥巴巴电商系统的架构经历了烟囱式架构到分布式架构再到共享式架构的转变。在早期往往⼀个新业务的上线除了数据可以被重复使⽤之外,服务却不能被重复使⽤。其实服务的重⽤将⽐数据重⽤带来更多好处,数据只是原始⽣产资料,服务则包含逻辑,是⼯⼚的加⼯⻋间,如果加⼯过程也⼀样可以复制,将带来⽣产效率的⼤幅度提升。第一部分 引子第1章 阿⾥巴巴集团中台战略引发的思考2015年底,阿⾥巴巴集团对外宣布全⾯启动阿⾥巴巴集团2018年中台战略,构建符合DT时代的更具创新性、灵活性的“大中台、小前台”组织机制和业
2020-12-15 19:53:14
1992
3
原创 RocketMQ启动失败问题
问题描述rocketmq namesrv启动没反应nohup.out 如下:Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.Unrecognized VM option 'UseCMSCompactAtFullCollection'Error: Could
2020-11-22 22:54:45
7446
原创 面试题[持续更新中]
架构之路架构之路[持续更新中]JavabasicJVM多线程SpringMysqlRediszookeeper线上排查计算机网络计算机操作系统架构之路[持续更新中]Javabasic接口和抽象类的区别?我们知道Spring中有很多注解,那么这些注解的功能是怎么实现的?(反射)注解的@Rentention是什么意思?你在实际项目中用过注解吗?怎么用的?HashSet和HashMap的异同?HashMap有哪些线程安全问题?如果HashMap(JDK 7)出现了死循环,该如何发现?Map接
2020-11-21 15:23:18
614
2
原创 zookeeper启动Address already in use 8080端口占用问题解决
问题描述查看zookeeper运行状态时错误提示:Error contacting service. It is probably not running.查看logs文件下的.out日志文件,如下错误:解决打开zoo.cfg文件,添加或修改属性admin.serverPort=port(注:这里port自己写)重启zookeeper问题解决...
2020-11-02 16:51:51
787
原创 windows下zookeeper启动闪退问题
1.打开zkServer.cmd,于文件末尾添加pause 。2.重启zookeeper,查看报错信息并解决。
2020-10-27 15:30:51
239
原创 消息中间件02:消息协议
消息协议则是指用于实现消息队列功能时所涉及的协议。按照是否向行业开放消息规范文 档,可以将消息协议分为开放协议和私有协议。常见的开放协议有 AMQP、MQTT、 STOMP、XMPP 等。有些特殊框架(如Redis、Kafka、ZeroMQ)根据自身需要未严格遵循MQ规范,而是基于TCP/IP自行封装了一套协议,通过网络Socket接口进行传输,实现了MQ的功能。这里的协议可以简单地理解成对双方通信的一个约定,比如传过来一段字符流数据,其中第1个字节表示什么,第2个字节表示什么,类似这样的约定。如下图常用协
2020-10-24 19:00:55
313
1
原创 centos安装rabbitmq
RabbitMQ Erlang Version Requirements (版本要求)注意rabbitmq依赖于erlang,且需要安装相应版本的erlang,如下rabbitmq版本要求表:https://www.rabbitmq.com/which-erlang.html安装Erlanggithub下载rpmhttps://github.com/rabbitmq/erlang-rpm/releases上传到服务器安装yum -y install erlang-22.3.4.10-
2020-10-04 23:30:51
133
原创 Redis:缓存穿透、缓存击穿、缓存雪崩
缓存穿透如果请求查询的数据,在缓存中查不到,会将请求打到下游数据库上,这就是缓存穿透。如果有人恶意并发访问数据库中不存在数据(比如id=-1),就可能会导致数据库因扛不住较大流量而导致系统宕机。解决方案缓存空对象当请求数据没有命中redis缓存时,请求会打到mysql上,如果mysql也不存在该数据,则缓存一个空对象到redis中。但是这种解决方案会有两个问题:1.如果数据库中真的插入了该条数据,然后没有同步到redis,这时候redis还是缓存了一个空对象。这样就会存在redis与数据库的数据
2020-09-15 23:53:54
604
1
原创 Centos安装redis6 make报错问题解决
错误日志In file included from server.c:31:0:server.c:4999:59: error: ‘struct redisServer’ has no member named ‘cluster’ (server.cluster_enabled && nodeIsMaster(server.cluster->myself)));
2020-08-23 22:50:30
2350
2
原创 Postgres解决锁表问题
在知道是哪个表被锁了的前提下:查询是否锁表--查询是否锁表了--根据表名查询select oid from pg_class where relname = 'table_name';--根据查出来的oid查询pidselect pid from pg_locks where relation = 'oid';释放锁--如果查询到了结果,表示该表被锁,则需要释放锁定select pg_cancel_backend('pid');在不知道是哪个表被锁了的情况下:查询处于等待中的pro
2020-08-05 10:58:48
497
原创 消息中间件:01消息中间件初识
系统间通信目前,业界通常有两种方式来实现系统间通信,其中一种是基于远程过程调用(Remote Procedure Call) 的方式,另 一种是基于消息队列(MQ) 的方式。基于消息队列的消息数据可以非常简单,比如只包含文本字符串 ;也可以很复杂,比如包含字节流、 字节数组,还可能包含嵌入对象,甚至是Java 对象(经过序列化的对象)。消息在被发送后可以立即返回,由消息队列来负责消息的传递,消息生产者只管将消息发布到消息队列而不用管谁来取,消息消费者只管从消息队列中取消息而不管是谁发布的,这样生产者和
2020-08-01 10:55:01
220
4
原创 设计模式之原型模式
什么是原型模式原型模式(Prototype Pattern)属于创建型模式,用于创建重复的对象。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。基本角色Client:客户端角色。Prototype:抽象原型角色,抽象类或者接口,用来声明clone方法。ConcretePrototype:具体的原型类,是客户端角色使用的对象,即被复制的对象。注意,Prototype通常是不用自己定义的,因为拷贝这个操作十分常用,Java中就提供了Clo
2020-07-22 22:54:43
90
原创 设计模式之工厂模式
工厂模式介绍工厂模式(Factory Pattern)属于创建型模式,它提供了一种创建对象的最佳方式。分类简单工厂(Simple Factory)模式,又称静态工厂方法模式(Static Factory Method Pattern)。工厂方法(Factory Method)模式,又称多态性工厂(Polymorphic Factory)模式或虚拟构造子(Virtual Constructor)模式。抽象工厂(Abstract Factory)模式,又称工具箱(Kit 或Toolkit)模式。简单
2020-07-12 23:18:22
122
原创 设计模式之单例DCL为什么需要volatile
单例模式DCL实现pulic class Singleton { //私有构造函数,方式外部通过new创建对象 private Singleton () { } //类的内部声明变量 //volatile防止指令重排 private static volatile Singleton singleton; //对外暴露一个静态方法,当调用该方法时,才去创建实例(singleton) //加入双重检查,解决线程安全问题,同时支持Lazy Lo
2020-06-28 17:23:48
440
原创 设计模式之单例模式
设计模式之单例模式什么是单例模式单例模式介绍单例模式应用优点三级目录什么是单例模式单例模式介绍单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例模式应用许多时候,整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某
2020-06-15 22:20:48
123
原创 Springboot全局异常处理
Springboot全局异常处理Springboot全局异常处理返回统一数据格式系统异常处理拦截自定义异常定义异常信息(枚举类)自定义异常类Springboot全局异常处理在项目开发过程中,不管是对底层数据库的操作过程,还是业务层的处理过程,亦或是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。如果对每个过程都单独作异常处理, 那系统的代码耦合度会变得很高,此外,开发工作量也会加大而且不好统一,这也增加了代码的维护成 本。针对这种实际情况,我们需要将所有类型的异常处理从各处理过
2020-05-10 16:59:00
303
原创 Idea基本配置之字符编码/激活注解生效/Java编译版本/FileTypes过滤
字符编码UTF8设置注解激活生效Java编译版本File Types 过滤
2020-03-21 21:03:43
1522
原创 Springboot整合Swagger
1.添加maven依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><depen...
2020-03-11 10:33:21
426
原创 MySQL Glossary - Transaction
MySQL Glossary - TransactionMySQL官方文档 事务相关事务基础概念功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart...
2020-03-02 13:33:20
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人