- 博客(32)
- 资源 (2)
- 收藏
- 关注
原创 git踩坑日记-git远端仓库提示落后 XX个提交
git push -f 可能会造成代码被强制覆盖,请确认当前分支代码已是最新后谨慎操作。命令行会提示解决冲突。
2024-08-22 00:01:04
107
1
原创 架构设计-初学篇
架构模式是针对特定问题的可复用解决方案,它通过特定的结构组合提升某方面的质量属性。选择合适的架构模式解决问题就不用从零开始设计架构,从而避开诸多导致麻烦的陷阱。以下三种是常见的架构模式。
2024-04-16 19:13:37
427
原创 开发工具必备-git
就是电脑里面里面能看到的目录,如learngit 每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。 截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD指向的就是当前分支。 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向masterHEAD││▼master││▼每次提交,master分支都会向前移动一步,这样,随着你不断提交,master。
2023-11-12 00:18:42
143
原创 反思-什么是好代码
如果使用条件语句,而不是条件运算符,这个幼稚错误发生的概率会急剧下降。坚持使用最直观的编码方式,而不是追求代码简短,真的可以避免很多不必要的错误。所以说啊,选择适合的编码方式,强调代码的检查、评审、校验,真的怎么都不算过分。现在,我喜欢使用条件语句,而不是条件运算符。因为,用条件语句这种编码方式,可以给我确定感,我也不需要挑战什么高难度动作;而看代码的人,也可以很确定,很轻松,不需要去查验什么模糊的东西。这种阅读起来的确定性至少有三点好处。第一点是可以减少代码错误;
2023-10-27 14:56:00
124
原创 docker篇-container和 image的区别
容器是镜像实例化而来的,既容器是进程,镜像是文件,容器是基于镜像创建的,容器中的进程依赖于镜像中的文件。docker的镜像是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。docker利用容器来运行应用,docker容器是docker镜像创建的运行实例。
2023-10-25 02:10:38
258
原创 for遍历集合,不能对集合进行remove
在迭代过程中,迭代器会检查modCount的值是否和预期的一样,如果不一样,就说明在迭代过程中,有其他线程修改了ArrayList,此时迭代器会抛出ConcurrentModificationException异常,告诉用户ArrayList的结构已经被修改。如果在迭代过程中,通过迭代器的remove方法删除元素,那么在删除元素的同时,会将expectedModCount的值加1,保持和modCount的值同步,这样就不会抛出ConcurrentModificationException异常。
2023-10-01 00:21:08
175
原创 深入理解Java面向对象三大特征【封装,继承,多态】
封装,是面向对象的根基。面向对象编程就是要设计出一个一个可以组合,可以复用的单元。然后,组合这些单元完成不同的功能。封装的重点在于对象提供了哪些行为,而不是有哪些数据。即便我们把对象理解成数据加函数,数据和函数也不是对等的地位。函数是接口,应该是稳定的;数据是实现,是易变的,应该隐藏起来。设计一个类的方法,先要考虑其对象应该提供哪些行为,然后,根据这些行为提供对应的方法,最后才是考虑实现这些方法要有哪些字段。getter 和 setter 是暴露实现细节的,尽可能不提供,尤其是 setter。
2023-07-13 01:04:16
188
原创 排查慢SQL
我今天梳理了 SQL 优化的思路,从步骤上看,我们需要先进行观察和分析,分析工具的使用在日常工作中还是很重要的。今天只介绍了常用的三种分析工具,实际上可以使用的分析工具还有很多。 我在这里总结一下今天文章里提到的三种分析工具。我们可以通过慢查询日志定位执行慢的 SQL,然后通过 EXPLAIN 分析该 SQL 语句是否使用到了索引,以及具体的数据表访问方式是怎样的。
2023-07-10 21:55:19
1301
1
原创 Kafka-消息引擎系统
消息引擎系统是。,实现松耦合的异步式数据传递。其实就是:系统 A 发送消息给消息引擎系统,系统 B 从消息引擎系统中读取 A 发送的消息。最基础的消息引擎就是做这点事的!
2023-06-22 18:18:02
151
原创 单例模式- DCL懒汉式
的中间状态,而这个时候,如果有其他线程刚好运行到第一层if (instance ==null)这里,这里读取到的instance已经不为null了,主要在于a = new A()这句,这并非是一个原子操作,事实上在 JVM 中这句话大概做了下面 3 件事情。 也就是说上面的第二步和第三步的顺序是不能保证的,最终的执行顺序可能是 1-2-3 也可能是 1-3-2。这里的关键在于线程T1对instance的写操作没有完成,线程T2就执行了读操作。2. 调用 A的构造函数来。(执行完这步 a才是。
2023-06-20 12:25:50
71
原创 Redis-键值数据库
Redis 是典型的键值数据库,对于键值数据库而言,基本的数据模型是 key-value 模型。例如,“hello”: “world”就是一个基本的 KV 对,其中,“hello”是 key,“world”是 value。不同键值数据库支持的 key 类型一般差异不大,而 value 类型则有较大差别。我们在对键值数据库进行选型时,一个重要的考虑因素是它支持的 value 类型。
2023-06-17 09:59:30
124
原创 禁ping下,如何确定该网络是连通的
ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、若在特定时间内没有返回,就是“超时”,会被认为指定的网络地址不存在。在禁ping的情况下,可以使用telnet命令来确认网络的连通性。若指定网络地址存在的话,会返回同样大小的数据包。后,我们无法确认网络的连通性,这时候我们可以使用。但有的电脑,设备,服务器。
2023-06-14 14:05:45
4983
原创 curl常用命令
X是指定什么类型请求(POST/GET/HEAD/DELETE/PUT/PATCH)curl -v可以显示一次http通信的整个过程,包括端口连接和http request头信息。调试:v,--trace,--trace-ascii,--trace-time。查看所有curl命令: man curl或者curl -h。传输:F(POST),G(GET),T(PUT),X。-H代表header头。-d代表传输什么数据。3.发送json格式请求。2.发送POST请求。4.测试网络是否可达。
2023-06-14 13:24:17
952
原创 手撕-排序算法【快速排序|选择排序|冒泡排序】
好尴尬,好久没写排序算法了…面试一上来就说写个排序…一下子懵逼了…面试官还问我你是科班的吗…下次不能再犯同样的错误了。
2023-06-14 01:22:41
57
原创 史上最简单RabbitMQ中IO流异常的解决 org.springframework.amqp.AmqpIOException: java.io.IOException 超级简单
两个 App 端发送和接收消息需要中间人,这个中间人就是消息服务器(比如ActiveMQ/RabbitMQ),三者通信协议就是 MQTT。AMQP 是 Advanced Message Queuing Protocol 的缩写,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,专为面向消息的中间件设计。Epmd 是 Erlang Port Mapper Daemon 的缩写,在 Erlang 集群中相当于 dns 的作用,绑定在4369端口上。,默认用户名密码都是 guest。
2023-05-23 17:13:12
3216
1
原创 Postman实现SSO单点登录并发送请求
之前一直在公司用的postman,所以没有注意到postman发送接口的时候,如果你的网站是需要SSO单点登录或者是其他验证。但是你目前不在公司,不能使用公司的内网,或者是其他验证的话,postman会提醒你先登陆,那这个时候应该怎么办呢?
2023-05-23 16:23:19
845
2
原创 再也不怕Git冲突啦(保姆级教学超详细图文版)
其中=======的上半部分对应的是main分支内容(HEAD指向当前分支,因为合并命令是在main分支中执行的),下半部分对应的是xsy分支内容,现在就可以选择任何一个版本或者合并两个版本作为最终版本来解决冲突了。 冲突产生的原因是因为在合并文件时同一个文件的同一个位置都修改了,并且内容不同,也即两个已经提交的分支的相同文件相同位置的不同操作进行了合并,所以产生了冲突。目前有main分支和xsy分支,两个分支里面都有mytest.txt文件。打开冲突文件,手动修改冲突内容。
2023-05-09 02:18:05
444
原创 算法学习-----分治法
分治法分治法的概念 先分(将问题抽象法) 后解 (将一个小问题一个个具体求解) 合(通过更新,比较等方式将子问题的解合并成一个原问题的解)分治法的经典例子分法的实验(学校)最大子序和代码 package 分治法; public class solution { /* * 问题描述 * 1.用分治算法求解最大子段和问题。要求算法的时间复杂度不超过 O(nlogn)。 最大子段和问题描述:给定由 n 个整数(可
2022-03-21 23:59:18
1729
原创 《数据结构》----树与二叉树
树(1)树的定义:树是n个结点的有限集。(n=0的时候为空树)(2)树的性质:(非空树)①有且仅有一个称之为根的结点。②除根结点以外的其余结点可分为互不相交的有限集T1,T2,T3.....Tn。(每一个集合都是一棵树,称为根的子树)(3)树重要的基本术语(图示)二叉树(1)二叉树的定义:二叉树是n个结点的有限集。(n=0的时候为空树)对于非空树:①有且仅有一个称之为根的节点。②除根节点以外的其余结点分为两个(最多只有两个)互不..
2021-10-24 17:42:06
107
黑龙江大学JAVA实验
2022-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人