
Java高级开发进阶教程
文章平均质量分 86
小董亮出你的8块腹肌吧!
专注后端技术分享!!!
展开
-
Java高级开发进阶教程之系列
。。。。。。。。。。。。。。。。。。。。。。原创 2023-06-26 15:01:38 · 666 阅读 · 0 评论 -
MySQL之分布式事务
分布式事务是为了解决微服务场景下跨多服务多数据库组件操作的数据库一致性问题,分为刚性事务和柔性事务,其中XA协议是实现刚性事务,对应的框架有atmikos,nirayana,seata,柔性事务TCC,框架tcc transaction,seata。刚性事务属于同步操作,适合于短时间的小事务,实现强一致性。柔性事务实现的最终一致性。seata即支持xa的刚性事务,也支持tcc的柔性事务。我们说seata支持不同的事务模式。原创 2023-09-12 11:27:54 · 1584 阅读 · 2 评论 -
MySQL之从单机到集群
SLI: service level indicator,即单位时间内请求得到正常响应的百分比SLO:service level object,是为了更好的量化SLO而定义的指标,表示单位时间内服务可用时长的百分比,也就是我们常见到的几个9SLA:servcei level aggrement,是一个保证达到某SLO的承诺。服务提供企业,如阿里云,在与客户端签订协议时,保证达到某个SLO,这个协议的SLA,当达不到SLO时,做出怎样的赔偿等,如下模拟协议(瞎写的啊!原创 2023-08-30 16:41:44 · 909 阅读 · 0 评论 -
关系型数据库MySQL及其优化
以二维的数据格式来存储数据的数据库叫做关系型数据库,其中关系包括一对一,一对多,多对多,都通过二位数据中的行与行关联来表达关系。全称是structure query language,即结构化查询语言,是一种用来操作关系型数据库的语言,在1970年由boyce和chanberlin提出(也就是BCNF中的BC)DQL:data query language,数据查询语言,或“数据检索语句”,即select ...。用来查询数据。原创 2023-08-12 21:36:04 · 699 阅读 · 0 评论 -
面向对象设计原则和GOF23种设计模式
本文一起看下面向对象的设计原则和GOF 23 种常用的设计模式。原创 2023-07-23 09:19:06 · 235 阅读 · 0 评论 -
lombok和guava工具
本文看下如何通过使用lombok和guava来提高生产力。原创 2023-07-12 14:03:02 · 394 阅读 · 0 评论 -
lamda表达式和stream操作
完整格式:如果是statement只有一行则可以省略{}:1,没有参数,直接返回5() -> 52,接受一个数字类型参数,返回其2倍的值x -> 2*x3,接收两个参数,返回他们的差值4,接收两个int类型整数,返回他们的和5,接收一个string对象,并在控制台打印,不返回任何值。原创 2023-07-08 18:41:17 · 611 阅读 · 0 评论 -
Java框架之ORM
本文看下Java操作数据库相关的内容。原创 2023-07-05 17:54:09 · 3223 阅读 · 0 评论 -
Java框架之springboot starter
因为springboot的普及度逐步提高,一些没有被官方实现提供为starter的框架,也会自己实现一个starter供用户使用,这里以,clone之后使用操作$ pwd截图如下:},...@Configuration // 代表是一个Java config类@ComponentScan("org.apache.shardingsphere.spring.boot.converter") // 配置扫描路径,会扫描并注册相关spring bean。原创 2023-07-03 21:13:16 · 547 阅读 · 0 评论 -
Java框架之springboot基础
本文看下springboot相关的基础内容。原创 2023-07-03 16:05:30 · 571 阅读 · 0 评论 -
多线程之CompletableFuture
/ 使用自定义的线程池执行任务 public static void myThread() {System . out . println("当前线程:" + Thread . currentThread() . getName());System . out . println("运行结果:" + i);try {原创 2023-06-29 13:36:22 · 739 阅读 · 0 评论 -
Java框架之spring 的 messaging
本文看下spring message相关的内容。原创 2023-06-28 17:23:26 · 2359 阅读 · 0 评论 -
Java框架之spring 的 AOP 和 IOC
本文一起看下spring aop 和 IOC相关的内容。原创 2023-06-26 15:00:21 · 1029 阅读 · 0 评论 -
多线程之常用线程安全类型分析
本文一起看下在日常工作中我们经常用到的线程安全的数据类型,以及一些经验总结。原创 2023-06-24 11:37:23 · 1493 阅读 · 1 评论 -
多线程之JUC
本文一起看下jdk并发包的相关内容。原创 2023-06-22 20:35:54 · 790 阅读 · 0 评论 -
多线程之线程池
本文一起看下线程池相关的内容。原创 2023-06-18 11:16:32 · 235 阅读 · 0 评论 -
多线程之线程安全
本文一起看下线程安全相关内容。原创 2023-06-16 14:34:01 · 511 阅读 · 0 评论 -
多线程之基础
先看一个问题,jvm什么时候会退出,看老外写的原版表述try {} } });try {} }运行:如何实现在main函数执行完毕后让jvm退出呢?只需要设置setDaemon(true),就行了,如下:运行,如下:当然我们也可以添加一个jvm的钩子来确定jvm确实是退出了,如下:那么守护进程有什么用呢?原创 2023-06-14 10:08:01 · 1001 阅读 · 0 评论 -
多线程之hook线程
运行,当main函数退出,此时jvm会退出。jvm退出时两个钩子线程都执行了。原创 2023-06-11 12:25:30 · 212 阅读 · 0 评论 -
io之netty
netty当前是网络io框架的事实标准,基于nio实现,框架的作者是韩国一位姓李的朋友,开始我们这位行李的韩国朋友开发一个io框架mina,但后来其离职,mina也就和其没有关系了,所以后来其改进了mina的不足和各种问题,重新开发了一个全新的框架,也就是现在的netty。本文就一起看下其简单的使用和底层原理。原创 2023-06-07 10:46:40 · 455 阅读 · 0 评论 -
io之io分类和io模型
本文一起看下常见的io模型。原创 2023-05-31 18:18:10 · 775 阅读 · 0 评论 -
io之socket编程
本文通过socket编程来实现一个简单的HttpServer。原创 2023-05-31 16:04:54 · 681 阅读 · 0 评论 -
jvm之分析调优
jvm调优不管是工作中还是面试中都异常重要,是衡量一个开发人员技术水平的重要指标,这也是个人的一个弱项,希望通过本文能够提高自我,也更能帮助到正在阅读文章的你,我们就开始吧!原创 2023-05-30 15:17:24 · 746 阅读 · 0 评论 -
jvm之对象大小分析
本文看下计算对象大小相关内容。原创 2023-05-26 17:53:24 · 1193 阅读 · 0 评论 -
jvm之查看线程堆栈
本文一起看下如何查看线程执行的堆栈信息。原创 2023-05-26 14:31:45 · 1706 阅读 · 0 评论 -
jvm之JMX
jvm在运行的过程中有很多的信息,比如堆内存,线程数,加载的类信息,CPU的使用量等,如果我们想要将这些信息暴漏让外界获取,该怎么做呢?此时就需要用到jmx技术了,jmx技术的全称时Java management extension,即,Java管理扩展。那么首先,Java作为面向对象的语言,自然要先将需要暴漏的信息以某种形式组织起来了,组织的形式也比较简单,就是定义bean,只不过因为其用于管理用途,所以叫做management bean,即MBean。原创 2023-05-26 13:55:42 · 1480 阅读 · 0 评论 -
GC之查看GC日志
本文一起看下如何查看GC日志。原创 2023-05-25 13:44:04 · 4518 阅读 · 0 评论 -
jvm之G1 GC
G1 GC 分析原创 2023-05-20 15:04:06 · 2402 阅读 · 0 评论 -
jvm之GC
本文一起看下GC相关的内容。原创 2023-05-19 10:11:42 · 699 阅读 · 0 评论 -
jvm之图形化工具
本文一起看下jvm图形化相关的工具,图形化的工具相比于命令行工具的好处是更加直观,也更容易分析问题。原创 2023-05-10 15:26:16 · 581 阅读 · 0 评论 -
jvm之启动参数
class文件格式:jar包格式:其中[options]就是我们本文要分析的jvm的参数配置,[args]是main函数的参数即main(String[] arags)中的args参数具体可以分为标准参数,非标准参数,系统属性参数等,分别来看下。标准参数标准参数是以开头的参数,这种参数是所有的JVM都会实现和支持的,并且会一直兼容,如-server 设置jvm的运行模式。系统属性参数系统属性参数通过-D设置,如-Dfile.encoding=UTF-8,设置编码。非标准参数。原创 2023-05-07 17:03:03 · 3845 阅读 · 0 评论 -
jvm之常用命令行工具
本文已起看下给我们的Java程序看病常用到的工具都有哪些,通过工具得到指标,通过指标分析病情,从而给出对应的治疗方案。原创 2023-05-04 18:30:38 · 751 阅读 · 0 评论 -
jvm内存结构
本文一起看下jvm的内存结构。原创 2023-05-01 19:43:20 · 133 阅读 · 0 评论 -
jvm之类加载器
定义类Astatic {System.out.println("A 初始化了");定义类B,在其中定义A数组运行,不会看到A 初始化了static {System.out.println("A 初始化了");接着我们执行如下操作,获取类对应字节码的加密结果这里是base64A 初始化了@Override然后使用自定义类加载器加载我们的加密类定义要动态加载的类Astatic {System.out.println("A初始化了!");定义自定义类类加载器。原创 2023-04-30 21:56:36 · 1200 阅读 · 0 评论 -
jvm之字节码
java字节码由单字节的指令(也叫做操作码)组成,但一个 byte 最多能够存储 256 个指令,够用吗?接下来我们来通过一些字节码分析的例子,来实际的了解下各种指令,以及其作用。在正式开始之前我们先来看下方法栈,栈帧,局部变量表等相关概念。JVM会为每个线程分配一个独属于自己的线程栈,如下图:则会分别生成A的栈帧,B的栈帧,C的栈帧,并压入线程栈,如下图:即如下:则局部变量表信息可通过如下方式。原创 2023-04-28 18:45:44 · 1390 阅读 · 0 评论