- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 1.5 新倚天屠龙之Java传 程序 = 数据结构 + 算法
一个大三生Neo在学Java中进入了电脑中的《倚天屠龙》世界,成为冰火岛幼年张无忌,看他如何一步步学习,成长为JAVA大侠,驰骋江湖。 这一节我们驻足观看张翠山如何教导张无忌Neo :程序 = 数据结构 + 算法的
2023-06-23 13:02:24 276
原创 1.6 新倚天屠龙之Java传--八大数据类型
一个大三生Neo在学Java中进入了电脑中的《倚天屠龙》世界,成为冰火岛幼年张无忌,看他如何一步步学习,成长为JAVA大侠,驰骋江湖。 这一节我们看看张翠山夫妇跟张无忌Neo如何讲述八大数据类型
2023-06-22 22:24:46 200
原创 1.4 新倚天屠龙之Java传--夜谈Java的运行
Neo穿越到电脑Java世界的《倚天屠龙传》位面,成为了冰火岛时期的张无忌,一起夜谈Java的运行,聊聊类的运行。各位看官可以驻足观看哈
2023-06-21 23:34:02 235
原创 1.3 新倚天屠龙之Java传--JAVA的由来
Neo穿越到电脑Java世界的《倚天屠龙传》位面,成为了冰火岛时期的张无忌,跟随殷素素,张翠山在冰火岛学习Java口诀,讲述java在这个位面的历史,如何从C,C++少林武学演化而来。各位看官可以驻足观看哈
2023-06-20 23:06:01 128
原创 1.2 新倚天屠龙之Java传-- Java口诀
Neo穿越到电脑Java世界的《倚天屠龙传》位面,成为了冰火岛时期的张无忌,跟随殷素素,张翠山在冰火岛学习Java口诀,各位看官是否好奇这个Java口诀?可以驻足观看哈
2023-06-19 19:19:26 139
原创 1.1 新倚天屠龙之Java传-- 穿越java世界成了张无忌?
Neo是一个大三生,初学Java,深夜发现自己穿越到电脑Java世界的《倚天屠龙传》位面,成为了冰火岛时期的张无忌,看他怎么在倚天屠龙Java世界中一步步成长,叱咤风云
2023-06-18 22:37:00 210
原创 【小墨mysql】mysql之四------sql优化
这一期我们主要讲述如何优化我们的数据库mysql,从以下几个方向进入:如何找到mysql瓶颈?mysql查询缓慢原因sql优化系统优化
2023-03-05 15:53:40 94
原创 idea debug实践
之前大家应该或多或少都有用过idea debug。可以用于代码调试,观察具体运行过程,但是可能用得不太全面,本章通过将我们用到的,常用的debug方式介绍下,系统的去让大家有个全面了解
2022-10-07 20:47:35 416 1
原创 log日志使用教程(slf4j log4j logback)
我们平时常用各种日志框架,但是却比较少去对比和理解为什么要这么使用,本章会把常用的日志框架logback log4j放在一起对比,同时给个合适的推荐
2022-10-05 17:15:08 1498
原创 (已解决)Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(已解决)Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
2022-09-21 14:44:09 5968
原创 中间件(redis,rabbitmq,zookeeper,kafka)集群讨论及搭建
一,前言大家好,我是小墨。这一篇文章我们来一个中间件的集群的搭建的大团圆章节,将围绕我们使用的主流几个中间件(我使用过的)的集群构建方式进行原理讨论和实际搭建方案探讨,包括redis,rabbitmq,zookeeper,然后我们对这些中间件集群进行总结,尽量提炼出一些知识出来一起分享,注意本文不涉及实际搭建过程。zookeeper,高度强调可用性,redis,强调数据的读写速率rabbitmq,强调可靠性kafka,强调高吞吐量
2020-10-20 11:03:50 2760 2
原创 秒杀业务的设计及解决思路
今天我们来谈谈秒杀项目的设计和解决思路,当然对于那么大的请求量,整个架构都得进行各种更高层次的升级,我们现在不谈论千万级别QPS的架构解决方案,就聊聊假设只有数万QPS下秒杀活动,server服务的考虑出发点和几种解决方案,对于秒杀项目的解决网上都有不少的解决方案,讲得很详细,我根据我实际做的项目谈谈解决方案,然后升级到更高并发量后如何对架构进行优化。考虑因素1,恶意请求2,超卖3.并发压力4.数据库压力根据这些然后推出一个解决方案
2020-10-18 16:02:45 481 2
原创 分布式事务---消息队列解决方案(本地消息表)
这一章我们介绍下分布式情况下进行事务的处理的方法----消息队列异步解决方案,也通过这个方案我们聊一聊分布式中的BASE理论在这里的体现。对于事务我不多加介绍,分布式事务有几种解决方案如:2PC(两阶段提交),3PC(三阶段提交),补偿事务(TCC),消息队列异步。但是考虑到分布式下各种异常情况考虑下,常见生产方案一般都是消息队列异步解决方案,使用本地消息表保证异步的消息一致性,我们结合分布式理论聊聊消息队列异步解决方案。
2020-10-17 16:16:58 1962
原创 【小墨java】jvm之一-----jvm基础
一,前言大家好,我是小墨。这一章我们介绍下jvm知识基础,众所周知,运行一个 Java 应用程序,我们必须要先安装 JDK 或者 JRE 包。这是因为 Java 应用在编译后会变成字节码,然后通过字节码运行在 JVM 中,而 JVM 是 JRE 的核心组成部分,jvm不仅做了java字节码的分析和执行,同时也进行了自动内存分配管理机制,使得大家开发是不需要关注对象的内存分配和回收,但是如果我们能够对jvm了解更深,我们将拥有内存的管理能力,进行jvm层次调优,提升我们的应用服务性能。所
2020-10-14 21:48:05 164
原创 【小墨mysql】mysql系列之三---事务
大家好,我是小墨。这一章我们继续mysql的学习-----mysql事务。事务(transaction)定义为一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务。而mysql事务作为mysql的重点,工作中会频繁使用到,本文尽量深入浅出的讲全,通过联系mysql的锁,版本控制等内容讲解全,与大家分享。
2020-10-13 20:01:36 150
原创 【小墨mysql】mysql系列之二---binlog
一,前言大家好,我是小墨。这一章我们接着深入了解mysql,我们讲讲mysql的binlog(binary log 二进制日志),binlog记录了mysql数据更新或者潜在发生更新的sql操作,保存在磁盘中。二,binlog介绍...
2020-10-06 20:53:27 152 1
原创 redis之--redis持久化
大家好,我是小墨。redis作为一个内存型非关系型数据库,在使用内存保证了读写的快速,也需要使用磁盘的持久化来保证数据的安全性。我们这一章就讲讲redis如何进行持久化工作。
2020-10-06 14:57:47 117
原创 【小墨mysql】mysql系列之一---索引
一,前言大家好,我是小墨,这个章节我将做mysql系列文章,和大家一起分享自己学习的内容,一起进步。我们对于mysql的索引其实或多或少都有使用到,本章节将讲述索引的使用,分类,来源,结构等,希望能看完本文后能够给大家一个对mysql索引有个更深的理解。二,索引的来源这节我们将从mysql的数据结构入手,从底层入手了解mysql的组织结构。我们先从heidiSql(数据库的操作工具)一张截图看起,你可以看到heidiSql展示的一张表空间至少为16KB,但是我们显示出的数据其实只有三列而已。这里就
2020-09-29 10:20:53 426
原创 【小墨java】java基础之---线程池ThreadPoolExecutor原理解析
大家好,我是小墨,这期介绍线程池。线程池顾名思义就是事先创建若干个可执行的线程放入一个池(容器)中,需要的时候从池中获取线程不用自行创建,使用完毕不需要销毁线程而是放回池中,从而减少创建和销毁线程对象的开销。底层使用ThreadPoolExecutor实现,我们讲讲底层原理
2020-09-18 22:50:26 182
原创 rabbitmq之二---消息可靠性
我们在rabbitmq系列文章中讲了rabbitmq基础rabbitmq消息可靠性这第二篇rabbitmq文章,我们需要理解消息在发送过程中需要经过provider-----> broker----->consumer,那我们该怎么确保消息在传输过程中能够被消费者正确消费到,如果存在问题该怎么进行处理。
2020-09-13 15:54:38 269
原创 rabbitmq之一---消息队列基础
大家好,我是小墨,这期博客会以rabbitmq作为消息队列的代表来概述rabbitmq如何实现消息队列的功能。前后会更新几期希望能够将我在学习和使用rabbitmq的过程学到的内容尽量讲解全。二,消息队列简介消息队列中间件在项目中常用的三个功能为:异步、削峰、解耦,这几个都比较好理解,不加赘述,更详细可参考:消息队列基础,但是会使项目更加的复杂,相对不可靠,需要用户去尽量保证功能的可靠性。
2020-09-12 13:10:41 228
原创 redis之---redis集群方案
本篇文章主要写redis的集群方案相关知识,欢迎大家多多斧正,如果觉得小墨我写得用心的话,可以点个赞啊。redis提供原生的高可用方案有:1,主从复制2,哨兵机制3,cluster我们比较下: - 复制:复制主要实现了数据的多机备份以及对于读操作的负载均衡和简单的故障恢复。缺陷是故障恢复无法自动化、写操作无法负载均衡、存储能力受到单机的限制。 - 哨兵:在复制的基础上,哨兵实现了 自动化 的 故障恢复。缺陷是 写操作 无法 负载均衡,存储能力 受到 单机 的限制。 - 集群:通过集群,
2020-09-05 21:42:04 494
原创 java基础之---concurrentHashMap分析
大家好,我是小墨,be foolish,be hungry。本篇文章主要写redis的集群方案相关知识,欢迎大家多多斧正,如果觉得小墨我写得用心的话,可以点个赞啊。我之前写过一篇 [hashmap源码分析]hashmap无法处理多线程并发的情况,而古老的hashtable采用内置锁syncronized则影响并发速度,一次只能允许一个线程去访问,对于concurrentHashMap则采用锁
2020-08-31 09:54:39 246
原创 java基础之--hashmap源码分析
大家好,我是小墨,be foolish,be hungry。本篇文章主要写redis的集群方案相关知识,欢迎大家多多斧正,如果觉得小墨我写得用心的话,可以点个赞啊。本文以分析jdk1.8源码为例,对hashmap分析,由于很多文章都涉及过hashmap源码分析,本文只针对重点进行分析
2020-08-27 14:12:25 168
原创 异步编程学习之二:future详解
大家好,我是小墨,be foolish,be hungry。本篇文章主要写redis的集群方案相关知识,欢迎大家多多斧正,如果觉得小墨我写得用心的话,可以点个赞啊。对异步线程比较感兴趣,所以这章将通过讲解future使用方法,阅读futureTask源码,进行异步学习,后面会出一篇博客写异步进阶---completableFuture学习
2020-08-03 15:28:03 646
原创 多线程学习一:java线程状态转换
大家好,我是李小墨,be foolish,be hungry。本篇文章主要写java线程状态转换,欢迎大家多多斧正,如果觉得小墨我写得用心的话,可以点个赞啊。主要讲述java线程状态转换,参入使用少量代码
2020-07-16 00:15:48 150
原创 java并发系列之———AQS详解
大家好,我是小墨,be foolish,be hungry。本篇文章主要写AQS相关知识,欢迎大家多多斧正,如果觉得小墨我写得用心的话,可以点个赞啊。AQS( AbstractQueuedSynchronizer 抽象队列同步器 ) 是java juc并发工具类的基础,本文主要将基于ReentrantLock可重入锁的源码结合讲述AQS如何管理线程之间的协作
2020-07-04 23:46:38 287
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人