
java全路线:理论基础&源码
文章平均质量分 91
涉及java开发从基础到架构师需要的所有知识点
玖柒_lin
我很懒,还没有添加简洁~
展开
-
java—17 微服务框架
应用程序在启动和运行的时候,往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。配置主要有以下几个特点:① 配置是独立于程序的只读变量配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置。② 配置伴随应用的整个生命周期配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为。比如:启动时需要读取服务的端口号、系统在运行过程中需要读取定时策略执行定时任务等。③ 配置可以有多种加载方式。原创 2024-10-30 21:36:32 · 671 阅读 · 0 评论 -
java—14 ZooKeeper
ZooKeeper中的数据是保存在节点(znode)上的,多个znode之间够成一棵树形的目录 结构。树是由节点所组成,ZooKeeper的数据存储也同样是基于节点,这种节点就做Znode;但是,不同于树的节点,Znode的引用方式是路径引用,类似于文件路径: /a/b;这种的 层级结构,让每一个Znode节点拥有唯一的路径,就像命名空间一样,对不同信息做出 清晰的隔离。读锁(Read Lock): 并发的时候,多个线程都可以去执行读操作,彼此不会阻塞。加读锁成功的前提是:没有对其待访问的资源加写锁。原创 2025-04-24 21:38:28 · 805 阅读 · 0 评论 -
java—13 RocketMQ
RocketMQ架构上主要分为四部分,分别为Producer、Consumer、NameServer和 BrokerServer。原创 2025-04-24 21:16:13 · 592 阅读 · 0 评论 -
java—12 kafka
号称史上最快的消息队列,它实际类似于Socket的一系列接口,他跟Socket的区别是:普 通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字 的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议 (TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。RocketMQ的所有消息都是持久化的,先写入系统PAGECACHE,然后刷盘,可以保证内存与磁盘都有 一份数据,而访问时,直接从内存读取。原创 2025-04-24 19:51:23 · 799 阅读 · 0 评论 -
java—11 Redis
Redis就是缓存,Redis基于内存,将大量访问的数据放到缓存,而不是数据库,这样不会访问数据库,如果都放到内存,内存是jvm中的,无法保证多线程共享同一份内存,所以使用Redis。数据存在内存中,但是可以对其进行持久化,这样内存宕机之后,数据也不会丢失。Redis是开源的(BSD许可),数据结构存储于内存中,被用来作为数据库,缓存和消息代理。原创 2025-04-24 16:15:25 · 342 阅读 · 0 评论 -
java—10 并发编程
五、ConcurrentHashMap。二、ThreadLocal。四、并发容器和线程池。原创 2025-04-24 13:37:00 · 108 阅读 · 0 评论 -
java—09 JVM源码解析
之前的话,通过Linux或者Windows开发,当需要跨平台时,程序不能运行。java出现后,产生了jvm,针对不同的操作系统,产生了不同的java虚拟机。在Java虚拟机中执行的指令,称为Java字节码指令。下面显示了同一个Java程序,被编译为一组Java字节码的集合之后,可以通过Java虚拟机运行于不同的操作系统上,它以Java虚拟机为中介,实现了跨平台的特性。原创 2024-09-12 22:33:46 · 1413 阅读 · 1 评论 -
java—07 springboot介绍
但是如果我们需要自定义依 赖版本,那么额外还需要在标签中引入自定义的版本。spring-boot-starter-parent的父pom是spring-boot-dependencies。在spring-boot-dependencies.pom里面包含了开发中常用的版本集合。开发手册:Spring Boot Reference Documentation。安装ApiPost插件,在IDE中测试(替代postman)springboot特性1:属性管理。原创 2024-08-19 21:09:30 · 372 阅读 · 0 评论 -
java—06 Mybatis应用与源码
Java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;3>通过Statement对象执行SQL语句,并获得结果对象ResultSet。# 采用预编译的方式构建SQL语句,将字符串作为参数传入,无SQL注入的问题。$ 采用值传递的方式构建SQL语句,直接拼接字符串,会带来SQL注入的问题。支持较差,需要自己写SQL,返回后, 需要自己将数据组装为POJO。原创 2023-12-19 20:04:09 · 783 阅读 · 0 评论 -
java—04 MySQL原理 InnoDB存储引擎
MySQL底层逻辑原创 2023-12-16 23:15:52 · 173 阅读 · 0 评论 -
java—03 集合与容器:List、HashMap(II)
是集合框架中最核心的实现,高频使用的容器之一。原创 2025-04-04 18:29:59 · 343 阅读 · 0 评论 -
java—03 容器:ArrayList, Hashmap (I)
ArrayListHashmap。原创 2023-12-16 19:10:13 · 183 阅读 · 0 评论 -
java—02 反射 泛型(II)
这样的话,用户明确了什么类型,该类就代表着什么类型,用户在使用的时候就不用担心强转的问题和运行时转换异常的问题了。泛型是编程语言中一种支持参数化类型的特性,允许在定义类、接口、方法时使用类型参数(TypeParameters),而在使用时执行具体的类型。定义时不确定类型:在编写类、接口或方法时使用类型占位符(如<T>),实际使用时再传入具体类型(如String、Integer)除了在类上使用泛型,可能就仅仅在某个方法上需要使用泛型,外界仅仅关心该方法,不关心类其他的属性,这时可以采用类型方法。原创 2025-04-04 18:11:49 · 1017 阅读 · 0 评论 -
java—02 反射、泛型(I)
泛型 ※反射、容器 ※※※一、反射二、泛型三、容器。原创 2023-12-04 19:19:18 · 376 阅读 · 0 评论 -
java—01 设计模式和设计原则(II)
实现注意点:子类的所有方法必须在父类中声明,或子类必须实现父类中声明的所有方法;代码示例要点:当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松;当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。要考虑子类的修改,而且在缺乏规范的环境下,这种修改可能带来非常糟糕的结果:大片的代码需要重构。② 降低代码的灵活性:子类必须拥有父类的属性和方法,让子类自由的世界中多了些约束。原则定义:所有引用基类的地方必须能透明地使用其子类的对象。原创 2025-03-26 15:47:27 · 1138 阅读 · 0 评论 -
java—01 设计模式&设计原则(I)
研发 --> 架构 (定义、例子,框架或接口中用过相关的开发)Single Reposibility Principle定义:一个类或者模块/服务/架构只负责完成一个职责。电商拆分成订单、库存、物流、支付。LSP:Liskov Substitution Principle定义:多用组合,少用继承。(在自己的类里引用其他的类(new一个类))含义:(1)里氏替换原则是针对继承而言的,如果继承是为了实现代码重用,也就是为了共享方法,那么共享的父类方法就应该保持不变,不能被子类重新定义。子类只能通过新添加方法来原创 2023-12-02 15:21:40 · 1177 阅读 · 0 评论