- 博客(119)
- 资源 (1)
- 收藏
- 关注
原创 2 Spring IoC
该属性是 Bean 实例的唯一标识,程序通过 id 属性访问 Bean,Bean 与 Bean 间的依赖关系也是通过 id 属性关联的。:该属性是 Bean 实例的唯一标识,程序通过 id 属性访问 Bean,Bean 与 Bean 间的依赖关系也是通过 id 属性关联的。:指定该 Bean 所属的类,注意这里只能是类,不能是接口。创建一个工程名为 spring-ioc-demo 的项目,:指定该 Bean 所属的类,注意这里只能是类,不能是接口。
2024-04-30 22:38:19 231 4
原创 1 Spring
Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。根据功能的不同,可以将一个系统中的代码分为主业务逻辑与系统级业务逻辑两类。它们各自具有鲜明的特点:主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供系统级服务,如日志、安全、事务等,复用性强。Spring 根据代码的功能特点,将降低耦合度的方式分为了两类:IoC 与 AOP。
2024-04-30 22:18:46 369 7
原创 12 Dubbo + Hystrix 熔断器仪表盘
Spring Boot 2.x 版本开启 Hystrix Dashboard 与 Spring Boot 1.x 的方式略有不同,需要增加一个。在 Provider 和 Consumer 项目增加 Hystrix 仪表盘功能,两个项目的改造方式相同(这里以 Consumer 为例)的话,则该选项不起作用。
2024-04-29 17:09:56 26 8
原创 11 Dubbo + Hystrix 实现服务熔断
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过RPC相互调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证 100% 可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。为了解决这个问题,业界提出了熔断器模型。
2024-04-29 17:03:08 6 1
原创 7 什么是 Dubbo
dubbo是一款高性能、轻量级的开源Java RPC分布式服务框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。她最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。
2024-04-27 13:38:39 17 4
原创 5.2 Linux 下手动安装 Zookeeper
Zookeeper 部署有三种方式,单机模式、集群模式、伪集群模式,以下采用手动安装的方式部署。注意: 集群为大于等于3个奇数,如 3、5、7,不宜太多,集群机器多了选举和数据同步耗时长,不稳定。
2024-04-26 09:49:17 21 4
原创 5.1 基于 Docker 安装 Zookeeper
Zookeeper 部署有三种方式,单机模式、集群模式、伪集群模式,以下采用 Docker 的方式部署。注意: 集群为大于等于3个奇数,如 3、5、7,不宜太多,集群机器多了选举和数据同步耗时长,不稳定。
2024-04-26 00:57:49 84 4
原创 3 什么是 Zookeeper
ZooKeeper 是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper 通过其简单的架构和 API 解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。Zookeeper Atomic Broadcast,有效解决了 Zookeeper 集群崩溃恢复,以及主从同步数据的问题。Looking:选举状态。Following:Follower 节点(从节点)所处的状态。
2024-04-25 11:07:00 109 6
原创 1 Java 泛型
泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。
2024-04-23 20:05:36 1026 13
原创 5 线程池的使用
在 Java 中,我们可以利用多线程来最大化地压榨 CPU 多核计算的能力。但是,线程本身是把双刃剑,我们需要知道它的利弊,才能在实际系统中游刃有余地运用。在进入主题之前,我们先了解一下线程池的基本概念。线程池,本质上是一种对象池,用于管理线程资源。在任务执行前,需要从线程池中拿出线程来执行。在任务执行完成之后,需要把线程放回线程池。通过线程的这种反复利用机制,可以有效地避免直接创建线程所带来的坏处。我们先来看看线程池带来了哪些好处。降低资源的消耗。
2024-04-19 21:24:36 1255 9
原创 4 线程创建新增方式(JKD 5.0)
提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。
2024-04-19 21:02:43 281 5
原创 1 线程的基本概念
进程和线程算是操作系统内两个很基本、很重要的概念了,进程是操作系统中进行保护和资源分配的基本单位,操作系统分配资源以进程为基本单位。而线程是进程的组成部分,它代表了一条顺序的执行流
2024-04-17 23:38:47 1111 8
原创 7 使用 Mac 自带服务器实现本地文件访问
这个文件夹就是本地服务器的文件夹,然后你就可以把你自己的文件放入到其中的。注意这种文件是直接就开始下载的,如果是图片会直接打开。服务器的,我们只要打开就可以使用了,根本不用去部署什么。表明服务器已经启动了,就是这么简单。输入本机开机密码,密码输入完成之后在本地浏览器中输入。,那么我就可以在浏览器中直接使用。文件夹中,他的路径对应的就是。,其中有个压缩包叫测试下载。
2024-04-13 17:35:04 354 3
原创 程序员如何开展自己的副业
此外,您还可以通过撰写技术文章、发表演讲等方式,展示自己的专业能力,吸引更多的客户。您可以利用网络平台,如淘宝、京东、拼多多等,开设自己的网店,销售自己开发的软件、插件或其他技术产品。通过建立个人品牌,您可以提高自己在行业内的知名度和影响力,从而为自己带来更多的副业机会。在建立个人品牌的过程中,您需要不断输出高质量的内容,展示自己的专业能力和价值观。作为程序员,您拥有丰富的专业知识和技能,这是您开展副业的最大优势。关键在于找到自己擅长和感兴趣的领域,充分发挥自己的专业知识和技能,为自己的副业发展创造条件。
2024-04-12 09:54:11 394 1
原创 2 Mac 终端神器 iTerm2 -- 告别黑白
Mac OS 自带的终端,系统默认使用dash作为终端,用起来虽然有些不太方便,界面也不够友好,iTerm2是一款相对比较好用的终端工具。安装完成后,在/bin目录下会多出一个zsh的文件。我们可以使用命令修改默认使用zsh1同时iTerm2还有一些常用操作包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等。
2024-04-10 11:52:53 972 2
原创 1 Homebrew 的安装和简单使用
作为 linux 系统的忠实粉丝,我们都很喜欢 (Debian/Ubuntu) 系列的apt包管理系统和 (Redhat/Fedora) 系列的yum包管理系统。包括 Windows 用户都有多种方便的软件管理工具,如:360软件管理,QQ 软件管理,迅雷软件管理等多种。Mac OS X系统下面之前有老牌的 Macports,Fink包管理系统,包括 apple 的官方Mac App Store。所以我们也向在苹果下找到一款比较新的,方便的包管理系统,没错,她就是Homebrew。什么是Homebrew。
2024-04-10 11:22:48 1107
原创 ArrayBlockingQueue 和 LinkedBlockingQueue
顾名思义:基于数组的阻塞队列。数组是要指定长度的,所以使用时必须指定长度,也就是它是一个有界阻塞队列。(有界是指他的容量大小是固定的,不能扩充容量,在初始化时就必须确定队列大小。它实现了接口,有着队列、集合以及阻塞队列的所有方法。它内部使用来保证线程安全。支持对生产者线程和消费者线程进行公平的调度,默认情况下是不保证公平性的。公平性通常会降低吞吐量,但是减少了可变性和避免了线程饥饿问题。是一个阻塞队列,内部由来实现线程安全,由Condition的await和signal来实现等待唤醒的功能。
2024-04-09 17:35:28 817
原创 Java 集合容器
Java 中的容器主要可以分为四个大类,分别是ListMapSet和Queue。其中又可以分为同步容器和并发容器,那么除了这两类容器外,剩下我们可以把它归类为集合容器(暂且这么分类)。今天我们就来简单复习下 Java 中的集合类。Java 中的集合包括三大类,它们是Set(集)、List(列表)和Map(映射),它们都处于java.util包中,SetList和Map都是接口,它们有各自的实现类。Collection是最基本的集合接口,声明了适用于 Java 集合的通用方法,list和set都继承自。
2024-04-08 23:31:16 947
原创 Java 容器--同步容器和并发容器
Java 中的容器主要可以分为四个大类,分别是ListMapSet和Queue,但并不是所有的 Java 容器都是线程安全的。说到线程安全的问题,我们先来理解两个名词同步容器和并发容器。
2024-04-08 22:41:37 656
原创 跨越门槛:零基础入行IT行业的实用指南
自学基础知识 互联网上有大量的免费资源,如在线课程、教程、论坛和视频,这些都是学习IT知识的宝库。同时,阅读相关书籍和文档也是必不可少的。GitHub是一个很好的平台,你可以在上面展示你的项目,并与其他开发者交流。今天,我想和那些对IT充满热情但没有任何相关背景知识的朋友们分享一些实用的建议,帮助你们成功进入这个充满机遇的行业。你需要确定自己最感兴趣的方向,这将决定你学习的路径和未来的职业发展。准备面试 当你准备好申请工作时,确保你熟悉常见的面试问题,并且能够清晰地解释你的项目和你在项目中的角色。
2024-04-07 14:11:35 231
原创 Java 并发编程知识点梳理
AbstractOwnableSynchonizer 为抽象类,可以由线程以独占方式拥有的同步器。此类为创建锁和相关同步器(伴随着所有权的概念)提供了基础。AbstractOwnableSynchronizer 类本身不管理或使用此信息。但是,子类和工具可以使用适当维护的值帮助控制和监视访问以及提供诊断。AbstractQueuedLongSynchronizer 为抽象类,以 long 形式维护同步状态的一个 AbstractQueuedSynchronizer 版本。
2024-04-07 11:33:36 1145 1
原创 Java 并发容器 -- 队列
Queue(队列):一种特殊的线性表,它只允许在表的前端(front)进行删除操作,只允许在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。每个元素总是从队列的rear端进入队列,然后等待该元素之前的所有元素出队之后,当前元素才能出对,遵循先进先出(FIFO)原则。下面是Queue类的继承关系图:图中我们可以看到,最上层是Collection接口,Queueadd(E e):增加元素;:删除元素;clear():清除集合中所有元素;size()
2024-04-06 13:14:10 943
Java开发的推箱子游戏(内含源码+指导视频+设计文档)-完整版
2024-04-04
Java开发的屏幕截图工具BS(内含源码+指导视频+设计文档)-完整版
2024-03-28
Java开发的模拟写字板(内含源码+指导视频+设计文档)-完整版
2024-03-28
Java开发的连连看游戏(内含源码+指导视频+设计文档)
2024-03-28
Java开发的雷电游戏(内含源码+指导视频+设计文档)
2024-03-28
Java开发的飞机大战游戏(内涵源码+指导视频+设计文档)-完整版
2024-03-28
Java开发的俄罗斯方块游戏(内含源码+运行视频+设计文档)
2024-03-28
Java语言实现的超级玛丽游戏
2024-03-24
Java开发贪吃蛇游戏教程
2024-03-24
Java开发的五子棋游戏
2024-03-23
Java语言实现坦克大战游戏
2024-03-23
Java小游戏之Wumplus
2024-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人