- 博客(183)
- 资源 (6)
- 收藏
- 关注
原创 要看就看最好,16万字全网最硬核redis总结,谁赞成,谁反对?(被粉丝疯狂催更,已有人反馈看完专栏拿到大厂offer!!!)
被粉丝疯狂催更,已有人反馈看完专栏拿到大厂offer,非常适合应届毕业生和初中级工程师!!!
2021-10-10 21:30:39 12649 40
原创 Java中各种死锁详细讲述及其解决方案(图文并茂,浅显易懂)
1、简介在遇到线程安全问题的时候,我们会使用加锁机制来确保线程安全,但如果过度地使用加锁,则可能导致锁顺序死锁(Lock-Ordering Deadlock)。或者有的场景我们使用线程池和信号量来限制资源的使用,但这些被限制的行为可能会导致资源死锁(Resource DeadLock)。这是来自Java并发必读佳作 Java Concurrency in Practice 关于活跃性危险中的描述。我们知道Java应用程序不像数据库服务器,能够检测一组事务中死锁的发生,进而选择一个事务去执行;在Java程
2021-07-01 22:51:46 3746 76
原创 单例模式(万字长文精讲)
1、单例模式的定义单例模式(Singleton Pattern),确保一个类只有一个实例,并提供对它的全局访问点。这是在java-design-patterns.com中对于单例模式的定义,其原文定义如下:Ensure a class has only one instance, and provide a global point of acess to it.简单来说就是确保系统中只创建特定类的一个对象(全文的重点和围绕展开的都是如何安全的更高效的去将类的实例化限制为一个对象)。2、单例
2021-06-27 21:24:39 1925 19
原创 java并发之Condition图解与原理剖析
1、Condition定义Condition是一个接口,定义在juc中(java.util.concurrent.locks.Condition),它的主要功能类似于wait()/notify(),但是Condition其实现比wait()/notify()使用更加灵活,简洁、适用场景更加丰富。2、Condition之于Lock与wait()/notify()之于synchronized2.1 wait()/notify()之于synchronizedjava.lang.Object中定义了一
2021-06-26 22:46:57 1726 27
原创 线程间之间是如何通信的?
有经典,有干货,微信搜索【李子捌】关注这个傻瓜式坚持的程序员。简介:线程开始运行,拥有自己的栈空间,就会如同一个脚本一样,按照既定的代码一步步的执行,直到终止。但是,如果每个线程之间都是孤立的,那么它们的价值就会很少;反之,如果多个线程能够配合着完成工作,将会带来各方面巨大的收益。1、volatile和synchronized关键字说明:(不做过多说明,需要的话可以看我的往期)Java支持多线程访问一个对象或者对象的成员变量,由于每个线程都拥有这个变量的拷贝(为了执行速度更快),所以程序执.
2021-06-16 22:27:57 1867 6
原创 Java线程基础
简介:线程是操作系统调度的最小单元,在多核环境中,多个线程能同时执行,如果运用得当,能显著的提升程序的性能。一、线程初步认识1、什么是线程操作系统运行一个程序会为其启动一个进程。例如,启动一个Java程序会创建一个Java进程。现代操作系统调度的最小单元是线程,线程也称为轻量级进程(Light Weight Process),一个进程中可以创建一个到多个线程,线程拥有自己的计数器、堆栈和局部变量等属性,并且能访问共享的内存变量。处理器会通过快速切换这些线程,来执行程序。2、Java本身就是
2021-06-14 22:18:14 2508 8
原创 单例模式双重检查锁定与延迟初始化你不得不知道的底层原理
简介在Java多线程中,有时候可能需要采用延迟初始化来降低初始化类和创建对象的开销。双重检查锁(饿汉式单例中经常用)是常见的延迟初始化方案,但它是一个错误的用法。本文将分析双重检查锁定的错误根源,以及两张线程安全的延迟初始化方案。1、双重检查锁定的由来在Java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时,程序员可能会采用延迟初始化。但要争取实现线程安全的延迟化需要一些技巧,以此来避免不必要的问题。非线程安全延迟初始化代码示例:package
2021-06-13 01:31:19 2914 4
原创 Java内存模型之happens-before
简介happens-before是JMM的核心概念。理解happens-before是了解JMM的关键。1、设计意图JMM的设计需要考虑两个方面,分别是程序员角度和编译器、处理器角度:程序员角度,希望内存模型易于理解、易于编程。希望是一个强内存模型。编译器和处理器角度,希望减少对它们的束缚,以至于编译器和处理器可以做更多的性能优化。希望是一个弱内存模型。因此JSR-133专家组设计JMM的核心目标就两个:为程序员提供足够强的内存模型对编译器和处理器的限制尽可能少下面通过
2021-06-12 21:44:33 1334 6
原创 MySQL数据库基础-全网最详细
一、操作数据库1、创建数据库CREATE DATABASE IF NOT EXISTS user;2、删除数据库DROP DATABASE IF EXISTS user;3、使用数据库-- 如果使用的表名或者字段名是一个特殊字符,则需要带``USE `user`;4、查看数据库-- 查看所有的数据库SHOW DATABASE;二、数据库的列类型1、数值类型TINYINT1 byte(-128,127)(0,255)小整数值SMALLINT2 by
2021-06-03 22:25:55 1983 5
原创 详述Java线程池实现原理
一、写在前面1.1 线程池是什么线程池(Thread Pool) 是一种池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。线程过多会带来额外的开销,其中包括创建销毁线程的开销,操作系统调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。这种做法,一方面避免了处理任务是创建销毁线程开销代价,另一方面避免了线程数量膨胀导致的过分调度问题,保证了对操作系统内核的充分利用。本文描述的线程池是JDK提供的ThreadPoolExecuto
2021-06-03 21:58:58 1762 44
原创 HashMap详解
摘要散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。HashMap是Java程序员使用最频繁的的用于键值对(key value)数据处理的容器,在JDK1.7(Java Developmet Kit)时HashMap采取的是数组+链表的形式存储数据,JDK1.8对HashMap进行了存储结构上的优化,引入了红黑树数.
2021-06-02 22:55:02 21477 25
原创 MySQL事务详述
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《MySQL之事务详述》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录一、简介二、事务操作三、事务特性四、并发问题一、简介在MySQL中事务是一个绕不开的话题。事务是一.
2022-03-02 08:54:22 823
原创 MySQL修改数据库、表、字段的字符编码
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《MySQL之流程函数》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录一、简介二、案例三、解决方式一、简介很多情况下我们创建一张表忘记设置默认的字符编码,MySQL会为其设.
2022-02-28 11:42:45 9634
原创 MySQL之流程函数
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《MySQL之流程函数》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录一、简介二、流程函数一、简介流程函数在MySQL中使用的不是非常频繁,但是涉及到条件筛选等特殊场景时..
2022-02-27 12:17:28 1257
原创 MySQL之DCL(Data Control Language)
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《DCL(Data Control Language)》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录一、简介二、用户管理三、权限管理一、简介DCL(Data Contro.
2022-02-26 20:34:42 1012 4
原创 看看我给面试官是如何娓娓道来synchronized锁升级过程的
知乎高赞,看看我给面试官是如何娓娓道来synchronized锁升级过程的!!!
2021-12-06 09:06:09 1047 9
原创 面试官synchronized连环问,学会Monitor之后轻松拿下
知乎高赞!!!!我们Java程序员编码时谈论的最多的两个字就是对象,Java中几乎所有的技术都是围绕对象展开。本文将要讲述的Monitor并不是Java对象,而是在操作系统中关联的“对象”,Monitor是Java重量级锁synchronized实现的关键,因此学习Java单机同步机制就离不开对Monitor的剖析。Monitor经常被人们称为监视器锁和管程。
2021-12-02 21:33:51 1786
原创 线程的三种创建方式你get了吗?
创建线程的方式有三种,Thread、Runnable+Thread、Callable+FutureTask+Thread;这三者如何选择呢?
2021-11-27 11:29:52 653 1
原创 Hystrix结合Turbine使用详述
Hystrix Dashboard虽然好用,但是它有一个缺点:一个Hystrix Dashboard只能收集一个微服务的Hystrix流。也就是说对于每个微服务,我们都需要开启一个Hystrix Dashboard来监控其健康情况。可以看到如下Hystrix Dashboard只能输入一个actuator端点地址。
2021-11-18 09:02:29 979 1
原创 MySQL之group by
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。
2021-11-17 09:15:47 2446 3
原创 Hystrix Dashboard使用及面板参数详述
Hystrix Dashboard是一个通过收集actuator端点提供的Hystrix流数据,并将其图表化的客户端。如果需要通过图表化的界面查看被断路器保护的方法相关调用信息、或者实时监控这些被断路器保护的应用的健康情况,就可以使用Hystrix Dashboard。
2021-11-17 09:00:18 1994
原创 Hystrix使用及其配置详解
目录1、简介2、正文2.1 Hystrix使用场景2.2 Hystrix处理异常2.3 Hystrix处理超时2.4 Hystrix断路器阈值设置2.5 Hystrix与Fegin集成1、简介在微服务中,服务与服务之间的调用经常出现两个不确定性因素:网络延迟 服务异常延迟在微服务中是一个非常重要的性能指标,随着服务的增加,调用链越来越复杂,此时低延迟往往是微服务系统架构中首要目标;高网络延迟可能会拖垮整个微服务,这是不允出现的。此外服务内部可能会发生未知异常,
2021-11-16 00:10:35 4497 4
原创 MySQL之函数
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《MySQL之函数》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、正文2.1 文本处理函数2.2 日期处理函数2.3 数值处理函数2.4 聚集函数1、简介..
2021-11-15 07:16:19 1295 6
原创 MySQL中组合字段之concat()
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《MySQL中使用正则表达式》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、正文2.1 字段拼接2.2 字段执行算术计算1、简介MySQL是关系型数据库,我们在使
2021-11-15 07:14:00 1964 4
原创 MySQL中使用正则表达式
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《MySQL中使用正则表达式》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、正文2.1 语句顺序2.2 如何区分大小写2.3 正则表达式与like的区别.
2021-11-13 00:29:44 1507 3
原创 MySQL之like操作符
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《MySQL之like操作符》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、正文2.1 %通配符2.2 _通配符2.3 通配符使用注意事项1、简介当对未知或.
2021-11-13 00:27:55 1429 6
原创 MySQL操作符之(and、or、in、not)
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《where使用》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、正文2.1 and操作符2.2 or操作符2.3 in操作符2.4 not操作符2.5 操作符
2021-11-11 22:35:09 2801 2
原创 MySQL之where使用
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《where使用》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、正文2.1 where子句位置2.2 操作符2.3 空值null1、简介当我们需要获取数.
2021-11-11 09:22:37 1528 2
原创 MySQL之order by使用
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《select、distinct、limit使用》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、正文2.1 单个列排序2.2 多个列排序2.3 排序的方式2.4 or
2021-11-09 21:27:40 1120 4
原创 MySQL之select、distinct、limit使用
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《select、distinct、limit使用》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、select2.1 查询单个列2.2 查询多个列2.3 查询所有列.
2021-11-09 20:04:01 7972 9
原创 Spring Cloud Config一文学会
1、简介传统配置的痛点: 在以前的项目中,我们通过配置文件、操作系统变量、Java系统属性等方式配置Java项目;在spring boot爆火之后我们的配置信息都写在application.yml或application.properties文件中,这些配置文件随着项目的打包与应用一起发布;但是当我们需要修改配置文件中的配置信息的时候,需要更新配置文件重新构建、重新发布;如果配置信息配置在操作系统环境变量或者Java系统属性中则需要重启应用。 配置文件中往往有一些敏感信息,比如数据库密码
2021-11-09 08:47:07 1102 4
原创 如何查看MySQL数据库状态及信息(内存、数据库、编码格式、表、列、索引等)
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。 本篇总结的是 《如何查看MySQL数据库状态及信息》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、简介2、正文2.1 查看所有数据库2.2 查看正在使用的数据库2.3 查看当前数据库中的表
2021-11-07 23:34:09 11000 6
原创 MySQL基本概念和正确发音(表、列、行、注解等讲解)
备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末关注私信作者,我们一起去大厂。 本篇总结的是 《MySQL基本概念》,后续会每日更新~关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录1、什么是数据库2、MySQL数据库重要概念2.1 表2.2 列2.3 行2.4 主键3、SQL应该
2021-11-07 20:42:36 4215 15
原创 编写代码最应该做好的事情是什么?(备战2022春招或暑期实习,每天进步一点点,打卡100天,Day8)
备战2022春招或暑期实习,祝大家每天进步亿点点!Day8 本篇总结的是 《编写代码最应该做好的事情》,后续会每日更新~ 关于《Redis入门到精通》、《并发编程》等知识点可以参考我的往期博客:《Redis从入门到精通》系列《并发编程》系列 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!1、简介著名的图灵奖得主:尼古拉斯·沃斯,提出一个著名的等式:程序 = 算法 +数据结构。因此我们程序员应该花精力做好学好算法和数据结构,但是这并不是我们编写代码..
2021-11-06 08:18:18 620 7
《名企算法与数据结构题目最优解》--左程云著
2018-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人