零碎拾遗
文章平均质量分 93
零散,重要,可看的技术;积少成多,终成江河
J3code
B站up:J3code
展开
-
请给系统加个【消息中心】功能,因为真的很简单
个人项目:社交支付项目(小老板)作者:三哥,我相信,打开一个带有社交类型的网站,你或多或少都可以看到如下的界面:1)消息提示2)消息列表这样这样那,这就是我们今天要聊的【消息中心】。原创 2023-09-05 11:31:20 · 339 阅读 · 2 评论 -
评论功能有多简单,两张表就行
个人项目:社交支付项目(小老板)作者:三哥,评论功能相信是很多论坛、视频的基础功能了,而本次我写的个人项目也会涉及到该功能,所以是时候出个文章好好聊聊评论功能了。原创 2023-08-28 08:30:00 · 779 阅读 · 0 评论 -
个人就能搞定的短信登录,实用!
个人项目:社交支付项目(小老板)作者:三哥,我们花了 44 块钱实现了一个发送短信的工具类,那么这篇就要让其派上用场了,来编写一个通过短信验证码方式实现的用户注册与登录。开始之前呢,你们需要先搭建一个基本的 SpringBoot 项目,方便后续的代码编写(不过多赘述)。原创 2023-08-23 09:36:44 · 323 阅读 · 0 评论 -
花了 44 块钱,实现 Java 发送短信功能
花了 44 块钱,体验了一波短信发送功能,舒服!原创 2023-07-03 09:47:17 · 431 阅读 · 0 评论 -
微信扫码登录,做了又好像没做
两天,一个登录都没实现,打包回家吧!原创 2023-06-12 08:30:00 · 206 阅读 · 0 评论 -
干了 2 年程序员,我开了个并发直播课
是的,我是那个一坤年都没到的 Java 程序员...原创 2023-04-07 17:48:00 · 493 阅读 · 1 评论 -
复制粘贴实现,RocketMQ 同步双主双从集群搭建
搭建本集群的:下面开始正文本次我们搭建的集群架构为 2m-2s-sync(同步双写)方式,如图:集群工作流程:服务器环境(端口记得放开)MQ相关端口定制:配置 Host 信息配置如下:配置完成,重启网卡MQ下载地址:https://rocketmq.apache.org/download/本人下载的是 RocketMQ 4.9.4分别上传至对应主机并解压NameServer 启动进入下面文件,修改 NameServer 启动大小JAVA_OPT 修改为下面配置大小修改 NameServer 端原创 2022-12-05 08:30:00 · 793 阅读 · 1 评论 -
阿里面试,HashMap与Redis哈希结构扩容的区别
前段时间在星球里,有星友对我B站上分享的HashMap源码视频提出了一个问题,我觉得他提出的问题非常好,`既有广度又有深度`,要不是我久经沙场(脸皮厚)这么多年,这次可能真要栽在这里了。但还好,凭借我这三寸不烂之舌,即给他完美的解答了疑问,又让我再一次的稳住了声望。...原创 2022-08-10 08:36:38 · 1489 阅读 · 4 评论 -
JUC并发编程基础AQS
获取当前线程获取当前锁的状态state,默认为0判断是否被加锁,就是state不为0的时候第一种没有加锁,调用这个方法compareAndSetState,修改state的值将0变为1,接着讲属性exclusiveOwnerThread的值赋为当前线程,至此当前线程加锁成功!第二种加锁,判断加锁的线程是否为当前线程,如果是则表示重入,将state的值累加就行,否则就是加锁失败1、封装当前获取锁的线程,封装成一个Node节点第一种。条件队列。...原创 2022-07-25 08:44:55 · 517 阅读 · 1 评论 -
刨析 SpringBoot 自动装配原理,其实很简单
J3SpringBoot # 源码 # 自动装配一日我在愉快得遨游时,看到有鱼友在问:SpringBoot 中引入了 Nacos 依赖为啥就可以直接使用 Nacos 中的相关功能呀!认真思考了一番,我立马就想说,自动装配,但这种回答怎么能体现我的牛逼呢!(牛逼症犯了)思索万千,我给出了下面的回答:因为 SpringBoot 的宗旨是,约定大于配置,一切都由约定所决定。当你引入 Nacos 的依赖时,就和 SpringBoot 达成了一个约定环境中需要有 Nacos 相关功能,所以 Sprin..原创 2022-04-22 12:07:33 · 1327 阅读 · 1 评论 -
源码再现,SpringBoot 居然只有一个 IOC 容器
J3SpringBoot # 源码 # 父子容器1、前奏接上一篇《线上出 BUG 原因竟是 Spring 父子容器,反手我就去扒了它的底裤》文章发布后,我就在想平时开发用的基础框架更多的是 SpringBoot 而不是 Spring ,那为什么在 SpringBoot 项目中却从来都没有遇到过有类似的问题(被容器管理的 Bean ,会有获取不到这一问题)。那能不能猜想一下,在 SpringBoot 项目中,只要符合 Bean 的定义且被 IOC 容器管理,那就一定能从容器中获取对应的 Bea..原创 2022-04-09 09:00:00 · 1375 阅读 · 0 评论 -
线上出 BUG 原因竟是 Spring 父子容器,反手我就去扒了它的底裤
J3Spring(父子容器 # BUG)1、事情的缘由一天,J3接到个小需求,对进入数据库的数据线索做拦截处理。进入数据库的数据具体要做三个渠道校验A、B、C而这三个渠道的校验规则都各不相同,只要这其中一个渠道不满足那就不符合入库要求,则不可入库。看到这个,J3内心是无比的窃喜,因为太简单了。说着J3就对着需求写出了下面的代码:@RestController@RequestMapping("/insert")public class InsertController { @A..原创 2022-04-06 08:15:00 · 1678 阅读 · 6 评论 -
个人开发的小破站,居然把掘金的文本编辑组件给搬上来了
J3小夹子 # 文章这是我用小夹子的文本编辑器编写的一篇内容。在这里主要说明的就是,小夹子上线了一个文章内容编写的功能。该功能上线后用户就可以不用复制站外链接就能生成小夹子网唯一的资源文章链接哦!对于平时喜欢做笔记、写日志、写计划的,都可以用小夹子网的文章编写功能,方便又实用。文章编写功能的具体实现呢,主要依赖于前端,毕竟是在网页上写东西,而编写的体验就是关键了,后端倒是只存储一个文章内容字段就 ok 完事了(当然,后端也不简单)。在参照了市面上的很多 Markdown 语法的编辑器,最..原创 2022-04-01 09:34:38 · 2522 阅读 · 3 评论 -
两天开发的网站果然没人用,所以我决定优化一下
J3 - 西行杂文(小夹子 # 开发)上周末在家封闭了两天,就为了解个心结做个小夹子网站出来,最初的功能就是单纯的把我所看过的文章、资料保存起来,方便以后统计、回顾。并且我也是紧接着出了一篇相关文章来说明这件事,大家有兴趣可以看我的这篇文章👉《两天开发个网站,不为别的就为存点小资源》。那,网站开发出来之后呢,我也是自己使用了几天,因为圈子小只能自己当用户了,哈哈!在使用的过程中广场页面中的内容倒是可以正常的获取回显出来,但就是感觉怪怪的,内容总是刷的一下出现和刷的一下消失,这不行,页面交互体..原创 2022-03-27 18:18:13 · 904 阅读 · 0 评论 -
两天开发个网站,不为别的就为存点小资源
两天开发个网站,不为别的就为存点小资源J3 - 西行杂文(小夹子 # 开发)以下“资源”一词如特别说明,一律指学习资源或技术文章从事技术类软件开发也有快两年了(强行增加工作经验),深知持续学习对于这个行业的重要性,所以我时常会从技术广度和深度两个方面不停的搜索资源来给自己充电。就从我刚开始接触这个行业开始,提升自己的唯一途径那就是 B 站看各大“两小时包会,一个月精通”的视频教程,终于不负众望的精通了各类开发语言的 Hello World 写法。那个时候我还啥都不知道,只知道视频教啥我学啥原创 2022-03-21 12:17:30 · 997 阅读 · 8 评论 -
1 年经验面试说说:String、StringBuffer、StringBuilder
J3 - 西行面试题(面试 # 基础 # String)JavaSE 基础题目了,可以说字符串所要了解的内容还是非常多的,其中涉及字符串可变、字符串拼接、字符串安全、字符串内存位置等等。下面,咱们就具体来分析这一问题。1、StringString 是 Java 定义的一个字符串类型类,源码(JDK11,本篇所有源码环境都是 11 )如下:这里说明一点,Java 在不同版本对 String 源码做了点修改,具体改动如下图。改动最大的莫过于将存储字符串的 char 类型数组改成了 by..原创 2022-02-12 19:36:54 · 764 阅读 · 1 评论 -
面试说说:== 和 equals 能说多少说多少
J3 - 西行面试题(面试 # 基础)面试就离不开面试题,如果我是面试者能立马想到的一个面试题就是上面说的这个了,所以今天就以我这个 1 年工作经验的菜鸡,分享我对本题的见解。1、==先来聊聊双等号。它是 Java 程序语言中的运算符,隶属于比较运算符,其用于判断两个变量或者常量的大小,比较的结果是一个布尔值(true 或 false)。比较时会出现两种情况:基本类型比较引用类型比较基本类型比较:对于基本类型,那比较的就是值了。int a = 10;int b = 20;..原创 2022-02-09 17:40:06 · 482 阅读 · 1 评论 -
对象只能new吗?傻瓜、海王都是会五六种方式
J3 - 西行Java(对象创建)绝对不是标题党,我真能用五六种方式创建出对象出来,只不过是在 Java 中。当然,我也绝非海王,这毋庸置疑????????????。那,为啥出这篇文章呢!这就要看看下面这种图了。(出自《疯狂Java讲义》一书)这句话是没错的,一点问题都没有,但确引起了我的另一个思考。除了 new 这种人人都会的方式创建对象以外,还有没有其它别的方式来创建对象呢!答案是有的。因为 Java 支持反射,则我们可以通过反射来创建出一个对象出来(其中有两种);因为 Java原创 2022-01-20 23:09:01 · 1053 阅读 · 4 评论 -
Java 开发 Linux 服务器常用软件安装,保姆教程
Java 开发常用 Linux 服务器软件安装集合,包括 JDK、Redis、Nacos、Docker、MySQL、Nginx...等相关软件保姆级教程安装,安装不好,你来捶我!!!原创 2021-12-12 16:47:12 · 2592 阅读 · 3 评论 -
Log4j重大漏洞、看看我怎么重现与解决
Log4j重大漏洞,看看我是如何重现危险场景及其背后的简单原理,最后来看看我是如何解决的。原创 2021-12-11 17:36:37 · 4035 阅读 · 3 评论 -
解析 MyBatis 中 Mapper 生效的前因后果
J3 - 白起技术(MyBatis # Mapper分析)最近闲了快有半个多月了,一直提不起兴致再去看一些书籍(没有以前疯狂吸食知识的欲望了????)。不过这一两天不知道是什么筋搭错了非常想写点什么,但又不知道写点啥(苦恼)。所以我就结合了一下本人工作中经常用到但没有深入的技术下手了,最后思来想去就选择了 MyBatis 中 Mapper 文件这一块的知识内容入手了。以前只是知道写一个 Mapper 接口,对应着再去写一个 Mapper.xml 文件然后将 Mapper 接口位置和 Mapper原创 2021-08-09 09:26:40 · 561 阅读 · 1 评论 -
synchronized解析及锁膨胀过程,面试再也不怕了
J3 - 白起技术(零碎拾遗)synchronized这个关键字相信大家都不陌生,在多线程并发的情况下使用它来保障共享资源的安全应该是最简单的方式。但是为了高效不应该因为其使用简单而放肆的滥用它,我们应该知其然而知其所以然,这样才能更好的高效开发并且提升自己的知识深度。那我废话不多说了,咱们开始吧!一、简单概述synchronized是Java为多线程并发情况提供的一种保障共享资源安全的一个关键字,它需要作用于对象上。1.1 synchronized特性1.1.1 原子性可见性是指多..原创 2021-01-22 20:22:32 · 844 阅读 · 6 评论