自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(371)
  • 收藏
  • 关注

原创 最火编程语言排行榜

IEEE Spectrum 发布了 2021 年编程语言排行榜,官方的标题是:Python 在新技术领域依然是主导地位。Python 近几年随着大数据、数据挖掘、人工智能等领域的发展,越来越受到大家的青睐,由于 Python 上手学习比较简单,除了很多专业的开发人员学习外,非专业的数据处理人员也开始慢慢的接触 Python。从 2018 年开始,Python 的关注度就在快速攀升,并且获得了 TIOBE 的 2018 与 2020年的年度编程语言:国内关注度,参考了百度指数,也是逐年攀升:IE

2021-10-27 15:02:49 36587 23

原创 Java系统环境变量配置

当在命令行窗口运行一个命令时,操作系统首先会在当前目录下查找是否存在该命令对应的可执行文件,如果未找到,操作系统会继续在PATH环境变量中定义的路径下寻找这个文件,如果仍未找到,系统会报错。右键单击桌面上的计算机→属性,在弹出的系统窗口左边选择“高级系统设置”选项,弹出系统属性对话框,在系统属性对话框的“高级”选项卡下单击“环境变量”按钮,弹出“环境变量”对话框。在命令行窗口中执行javac命令,如果能正常地显示帮助信息,说明系统PATH环境变量配置成功,这样系统就会永久性地保存PATH环境变量的设置。

2023-05-10 09:37:36 1042 1

原创 MySQL中添加环境变量和初始化MySQL

在黑框(即CMD) 中输入一个可执行程序的名字,Windows会先在环境变量中的Path所指的路径中寻找一遍,如果找到了就直接执行,没找到就在当前工作目录找,如果还没找到,就报错。右键开始菜单(就是屏幕左下角),选择命令提示符(管理员),打开黑框,敲入mysql,回车。在刚才的黑框中敲入mysqld -initialize-insecure 回车,稍微等待一会,如果出现没有出现报错信息(如下图)则证明 data目录初始化没有问题,此时再查看MySQL目录下已经有data目录生成。如何验证是否添加成功?

2023-05-05 09:41:38 559

原创 Spring框架中的单例Beans是线程安全的么?

由于 incrementCounter() 方法被修饰为 synchronized,在多线程环境下,对计数器的增加操作是同步的,因此最终输出的计数器值应为 2000,证明了单例 Bean 的线程安全性。需要注意的是,虽然Spring保证了对单例Bean的并发访问的线程安全性,但如果你在Bean中引入了非线程安全的外部资源或其他线程安全问题,仍然需要谨慎处理。当你在Spring框架中声明一个单例Bean并配置为默认的单例作用域时,Spring会确保对该Bean的并发访问是线程安全的。

2023-05-03 09:49:59 1083

原创 多态的转型分为向上转型和向下转型

通过多态,可以消除类之间的耦合关系,提高程序的可扩展性和可维护性。也就是说,如果没有进行类型转换,不能调用子类拥有,而父类没有的方法。父类类型相对与子类来说是大范围的类型,Animal是动物类,是父类类型。父类类型向子类类型向下转换的过程,这个过程是强制的。一个已经向上转型的子类对象,将父类引用转为子类引用,可以使用强制类型转换的格式,便是向下转型。多态本身是子类类型向父类类型向上转换(自动转换)的过程,这个过程是默认的。这是因为,明明创建了Cat类型对象,运行时,当然不能转换成Dog对象的。

2023-05-02 10:37:56 1042

原创 怎样实现redis缓存与数据库同步?Redis如何实现分布式阻塞队列?

缓存同步其实就是当缓存的信息发生变化,也就是对后台对缓存的数据进行增、删、改操作后,数据库中的数据发生了变化同时要把缓存中的数据对应删除即可。分布式锁本质上要实现的目标就是在Redis里面占一个“茅坑”,当别的进程也要来占时,发现已经有人蹲在那里了,就只好放弃或者稍后再试。死锁问题:如果逻辑执行到中间出现异常了,可能会导致del指令没有被调用,这样就会陷入死锁,锁永远得不到释放,解决这个问题我们在拿到锁之后,再给锁加上一个过期时间,比如 5s,这样即使中间出现异常也可以保证 5 秒之后锁会自动释放。

2023-04-27 10:22:11 1021

原创 什么是索引?MySQL索引的底层数据结构

MySQL的默认的存储引擎InnoDB采用的B+树的数据结构来存储索引,选择B+树的主要的原因是:第一阶数更多,路径更短,第二个磁盘读写代价B+树更低,非叶子节点只存储指针,叶子阶段存储数据,第三是B+树便于扫库和区间查询,叶子节点是一个双向链表。第一:在B树中,非叶子节点和叶子节点都会存放数据,而B+树的所有的数据都会出现在叶子节点,在查询的时候,B+树查找效率更加稳定。③:B+树便于扫库和区间查询。第二:在进行范围查询的时候,B+树效率更高,因为B+树都在叶子节点存储,并且叶子节点是一个双向链表。

2023-04-27 10:05:35 610

原创 Spring Boot中的监视器是什么?

Spring Boot包含了许多内置的监视器,可以让同学们实时了解您的应用程序的各种指标。值得说明的是,笔者所列列举的只是一个简单的示例,Spring Boot的监视器具有许多更高级的功能,如记录和警报。我们应该能够看到所有可用的监视器端点,包括我们刚刚创建的/monitor/metrics/memory.used端点。5.访问您的自定义监视器端点(例如,http://localhost:8080/monitor/metrics/memory.used),以查看指标的当前值。

2023-04-26 11:12:24 1626 1

原创 什么是微服务?微服务架构有哪些功能?

同样,在微服务架构中,熔断机制也是起着类似的作用。当一条链路的某个微服务架构不可用或者响应时间太长时,会进行服务的降级,进而调用熔断该节点的微服务架构,快速返回错误的响应信息;微服务架构中,系统会被拆分为若干个微服务架构,每个微服务架构又是一个独立的应用程序。系统中的各个微服务架构可被独立部署,各个微服务架构之间是松耦合的。在分布式系统中,服务之间是相互依赖的,如果一个服务出现了故障或者网络延迟,在高并发的情况下,就会导致线程阻塞,在很短的时间内该服务的线程资源会消耗殆尽,最终使得该服务不可用。

2023-04-20 16:49:43 475

原创 jsp有哪些内置对象?作用分别是什么?

6.config: 表示当前JSP页面的配置信息。可以使用它来获取JSP页面的初始化参数、ServletContext等信息。可以使用它来获取客户端提交的表单数据、URL参数、HTTP头等信息。可以使用它来存储和获取全局信息,比如数据库连接池、全局配置等。可以使用它来获取其他内置对象、页面范围的属性等信息。可以使用它来设置响应的状态码、HTTP头、响应的内容等信息。可以使用它来存储和获取用户相关的信息,比如登录信息、购物车信息等。可以使用它来引用当前JSP页面的属性、方法等信息。5.out: 表示输出流。

2023-04-18 10:32:32 953

原创 DStream是什么?怎样对DStream进行操作?

DStream由一系列连续的RDD表示,每个RDD都包含来自特定间隔的数据,如下图所示。SparkStreaming对流数据按照秒/分等时间间隔进行微批划分,每个微批就是一个RDD,这些个时间上连续的RDD就组成了。大多数和RDD中的类似,但有一些特殊的针对特定类型应用使用的函数,比如updateStateByKey状态函数、window窗口函数等,后续具体结合案例讲解。)就是对其底层的RDD进行操作。对RDD操作会返回新的RDD,对DStream进行操作也会返回新的DStream。

2023-04-17 11:09:40 904

原创 SpringBoot自动配置的原理是什么?

将来在项目当中,我要想使用这个技术,我直接将组件对应的坐标直接引入进来,就已经自动配置好了,就可以直接使用了。这个注解就是进行条件装配。这是因为在实际的项目开发当中,我们可能会用到很多第三方的技术,并不是所有的第三方的技术官方都给我们提供了与SpringBoot整合的starter起步依赖,但是这些技术又非常的通用,在很多项目组当中都在使用。我们前面案例当中所使用的阿里云OSS对象存储服务,现在阿里云的官方是没有给我们提供对应的起步依赖的,这个时候使用起来就会比较繁琐,我们需要引入对应的依赖。

2023-04-17 11:03:23 694

原创 Java中的单例模式有哪些优点和缺点?

可能的开发混淆,使用单例对象(尤其在类库中定义的对象)时,开发人员必须记住自己不能使用new关键字实例化对象。开销,虽然数量很少,但如果每次对象请求引用时都要检查是否存在类的实例,将仍然需要一些开销。实例控制,单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。灵活性,因为类控制了实例化过程,所以类可以灵活更改实例化过程。类定义中含有一个该类的静态私有对象;单例模式的类只提供私有的构造函数;

2023-04-11 10:23:10 556

原创 JVM对Java的原生锁做了哪些优化?

此时,JVM会在锁对象的对象头中记录指向线程栈中锁记录的指针,以及用于保存原始对象的指针。这样,当一个线程尝试获取该锁时,JVM会将该线程的栈帧中的锁记录与锁对象头中的指针进行比较。否则,表示有其他线程争夺该锁,此时JVM会将锁升级为重量级锁。当多个线程同时访问该方法时,JVM会根据锁的状态来选择使用偏向锁、轻量级锁或重量级锁。当一个线程获取锁后,JVM会将锁的对象头标记为偏向锁。这种情况下,锁的获取和释放不需要额外的开销,因为偏向锁会记录线程ID,使得在该线程持有锁期间,其他线程无法获取该锁。

2023-04-11 10:21:11 407

原创 什么是分布式任务调度?怎样实现任务调度

其中,Job 负责定义需要执行的任务,Trigger 负责设置调度策略,Scheduler 将二者组装在一起,并触发任务开始执行。当任务调度以集群方式部署,同一个任务调度可能会执行多次,比如在上面提到的电商系统中到点发优惠券的例子,就会发放多次优惠券,对公司造成很多损失,所以我们需要控制相同的任务在多个运行实例上只执行一次。如果将任务调度程序分布式部署,每个结点还可以部署为集群,这样就可以让多台计算机共同去完成任务调度,我们可以将任务分割为若干个分片,由不同的实例并行执行,来提高任务调度的处理效率。

2023-04-07 15:16:46 608

原创 Java高频面试:Spring Bean的生命周期分为几个阶段

Bean的实例化阶段:Spring框架会取出BeanDefinition的信息进行判断当前Bean的范围是否是singleton的,是否不是延迟加载的,是否不是FactoryBean等,最终将一个普通的singleton的Bean通过反射进行实例化;Spring Bean的生命周期是从Bean 实例化之后,即通过反射创建出对象之后,到Bean成为一个完整对象,最终存储到单例池中,这个过程被称为Spring Bean的生命周期。UserDao实例化对象,但尚未初始化,将UserDao存储到到三级缓存;

2023-04-07 15:01:03 443

原创 Spring对JDK和CgLib动态代理该怎么选?

操作字符串时,经常需要对字符串进行一些判断,如判断字符串是否以指定的字符串开始、结束,是否包含指定的字符串,字符串是否为空等。上述涉及的方法都是用于判断字符串的,并且返回值均为 boolean 类型。在所使用的方法中,equals()方法是比较重要的,在 String 类中重写了父类 Object 中的 equals(方法。判断时,结果一定为 false。

2023-04-06 15:06:19 557

原创 Nginx的优点有哪些?为什么Nginx这么火?

Nginx采用的是多进程模式运行,其中有一个master主进程和N多个worker进程,worker进程的数量我们可以手动设置,每个worker进程之间都是相互独立提供服务,并且master主进程可以在某一个worker进程出错时,快速去"拉起"新的worker进程提供服务。Nginx本身是开源的,我们不仅可以免费的将Nginx应用在商业领域,而且还可以在项目中直接修改Nginx的源码来定制自己的特殊要求。Nginx的设计极具扩展性,它本身就是由很多模块组成,这些模块的使用可以通过配置文件的配置来添加。

2023-04-04 10:12:29 493

原创 java技术栈是什么意思?一次认全9大主流技术栈!

Java技术栈是指一组在Java开发中广泛使用的技术和工具集合,包括Java编程语言、Java虚拟机、Java类库、Web开发框架、数据库、IDE等。这个代码示例演示了如何使用Spring Boot和MySQL构建一个简单的RESTful API,其中Spring Boot是Java技术栈的一个重要组成部分,它简化了应用程序的开发和部署过程。Struts是一个用于构建基于Java的Web应用程序的MVC框架,提供了一个统一的架构来处理请求、响应和数据验证。

2023-03-28 10:18:07 1010

原创 Java反编译工具是做什么的?【用法及注意事项】

需要注意的是,虽然反编译工具可以将 Java class 文件反编译成 Java 源代码,但由于编译器的优化等原因,反编译后的源代码可能并不完全等同于原始的源代码。一款免费的 Java 反编译工具,可以将 Java class 文件反编译成 Java 源代码,并支持将 Java 8 的字节码反编译成 Java 7 或 Java 6 的源代码。一款开源的 Java 反编译工具,可以将 Java class 文件反编译成 Java 源代码,并支持将反编译后的源代码保存到指定目录。

2023-03-28 10:11:07 514

原创 Java学习之JavaWeb篇

有Java基础的同学应该知道,Web技术在工作中是何等的重要,后台管理系统、小程序、APP等应用都离不开JavaWeb技术,在找工作时,Javaweb是必考点,也是加分项!急你所急,解你所需,黑马《2023最新JavaWeb开发教程》重磅发布啦!整个学习路线不仅紧贴企业实际开发需求,摒弃了传统路线中的很多“老旧技术点”,还用实战案例贯穿整个学习过程,将理论与实践相结合,让大家学练结合,用一套教程,搞定前后端开发!⑤参照企业开发模式,需求分析-表结构设计-接口文档-功能接口实现-测试-联调。

2023-03-24 10:28:23 366

原创 Java中5大高效的库

1.Apache Commons Lang:Apache Commons Lang 是一个广泛使用的 Java 库,提供了许多常用的功能,如字符串处理、类型转换、数组操作等。5.Apache Commons IO:Apache Commons IO 是一个常用的 Java IO 操作库,提供了许多便捷的 IO 操作方法。2.Guava:Guava 是一个由 Google 开发的 Java 库,提供了许多实用的工具和集合类。以上是一些常用的高效Java库和它们的功能和代码演示。

2023-03-22 10:30:26 557

原创 什么是分布式任务调度?怎样实现任务调度

其中,Job 负责定义需要执行的任务,Trigger 负责设置调度策略,Scheduler 将二者组装在一起,并触发任务开始执行。当任务调度以集群方式部署,同一个任务调度可能会执行多次,比如在上面提到的电商系统中到点发优惠券的例子,就会发放多次优惠券,对公司造成很多损失,所以我们需要控制相同的任务在多个运行实例上只执行一次。如果将任务调度程序分布式部署,每个结点还可以部署为集群,这样就可以让多台计算机共同去完成任务调度,我们可以将任务分割为若干个分片,由不同的实例并行执行,来提高任务调度的处理效率。

2023-03-20 10:10:08 925

原创 MySQL数据库基本操作—— DQL查询

查询关键字: SELECT 在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访问企业官网、电商网站,在这些网站中我们所看到的数据,实际都是需要从数据库中查询并展示的。而且在查询的过程中,可能还会涉及到条件、排序、分页等操作。那么,主要学习的就是如何进行数据的查询操作。G. 查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息。C. 查询年龄小于等于 20 的员工信息。F. 查询年龄不等于 88 的员工信息。C. 查询所有员工的工作地址,起别名。B. 查询年龄小于 20 的员工信息。

2023-03-16 10:41:28 318

原创 Java swing是做什么的?有什么作用?

AWT的起初设想就是为了统一实现不同操作系统的图像界面,但问题是,不同操作系统图形库的功能可能不一样,在一个平台上存在的功能在另外一个平台上则可能不存在,为此AWT不得不通过牺牲功能来实现平台无关性。其中在java.awt包及其子包下的一些类属于原有AWT组件的底层实现,而在javax.swing包及其子包下的一些类则属于Swing后期扩展的,这也从侧面反映出Swing组件对AWT组件的依赖性,接下来通过一张图来描述Swing组件的主要类,如图所示。

2023-03-14 15:11:45 341

原创 什么是Java静态属性?有什么作用?

然后在静态内部类Inner中,编写了一个show()方法,在show()方法中打印了外部静态变量m,第14~15行代码声明了一个内部类对象inner,并使用inner对象调用show()方法测试对外部类静态变量m的调用。在图3-18中,3名学生均来自A大学。与成员内部类相比,在形式上,静态内部类只是在内部类前增加了static关键字,但在功能上,静态内部类只能访问外部类的静态成员,通过外部类访问静态内部类成员时,可以跳过外部类直接访问静态内部类。在学习静态属性之前,先来看一个案例,如文件3-13所示。

2023-03-13 16:08:36 739

原创 微信小程序的代码由哪些结构组成?

其中,每个页面由4 个基本文件组成,它们分别是:js文件(页面的脚本文件,存放页面的数据、事件处理函数等)、json文件(当前页面的配置文件,配置窗口的外观、表现等),.wxml 文件(页面的模板结构文件)和.wxss 文件(当前页面的样式表文件)。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。小程序中的每一个页面,可以使用.json 文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖app.json 的window 中相同的配置项。小程序项目中也不例外:通过不同。

2023-03-09 16:37:52 609

原创 消息中间件有什么优势?消息中间件常用协议有哪些?

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM 开发的一个即时通讯协议,有可能成为物联网的重要组成部分。通过MQ 架构设计,就可将紧急重要(需要立刻响应)的业务放到该调用方法中,响应要求不高的使用消息队列,放到MQ队列中,供消费者处理。Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

2023-03-08 17:01:25 386

原创 怎样编写java程序

搭建好了Java开发环境之后,下面就来学习一下如何开发Java程序。为了让初学者更好地完成第一个Java程序,接下来通过几个步骤进行逐一讲解。1.编写Java源文件在D盘根目录下新建一个test文件夹,并在该文件夹中新建文本文档,重命名为HelloWorld.java后,用记事本方式打开,在其中编写一段Java代码,如文件1所示。文件1 HelloWorld.java文件1中的代码实现了一个Java程序,下面对其中的代码进行解释说明。● class是一个关键字,它用于定义一个类。在Java中,类就是一个程

2023-03-07 10:54:58 8703 3

原创 Spring Cloud Hystrix原理详细介绍

借助官网的一个例子来说明,假设某个应用程序依赖30多个服务,每个服务正常运行的概率是99.99%,那么系统可用的概率是99.9930=99.7%,也就是说,每个服务出现故障的概率是0.3%,十亿个请求的故障就是3000000个,即使所有依赖具有出色的正常运行时间,每个月至少会有2小时以上的服务是不可用的,现实情况中,情况可能会更糟糕。(5) 在一段时间内,如果服务调用的异常次数超过一定阈值,就会触发熔断停止对特定服务的所有请求,在一定时间内对服务调用直接降级,一段时间后再次进行自动尝试恢复。

2023-03-03 14:44:34 461

原创 字符流定义及如何深入理解字符流的编码

执行流程是:先通过UTF-8编码把“黑马”编码成几个字节比如13 42 35 86 59 47,然后再通过GBK编码,把该码值解码成对应的字符比如“传智人”,然后“传智人”进入缓冲区会通过GBK编码编码成刚才的字节 也就是13 42 35 86 59 47,然后再通过字节流写入到b.txt中,当打开b.txt时,记事本软件会按照此文件编码格式-UTF-8解码成“黑马”,所以我们看到的是没有乱码。三、文本文件的底层存储的也是字节,我们打开文件看到的字符,是记事本软件所做的解码。字符流只能对文本字符进行操作。

2023-03-01 10:08:59 302

原创 Java程序开发中如何使用lntelliJ IDEA?

创建好chaptero1项目之后,就可以在项目中创建Java类了。在IDEA项目结构页面中,右击chapter01项目下的sre文件夹,在弹出的快捷菜单中选择New→Java Class命令,进入New Java Class选项界面,有很多可以选择的类型,本次选择Class选项创建一个Java类,并在上面的文本框中输入类名称HelloWorld,然后按Enter键完成Java类的创建。单击工具栏中的▶按钮运行程序,或者单击代码中HelloWorld类左侧的▶按钮运行程序,控制台显示运行结果,如下图所示。

2023-02-28 11:01:53 454

原创 Spring Boot框架有哪些优点?

例如,在Web开发时,只需在构建项目时选择对应的Web场景依赖启动器spring-boot-starter-web,Spring Boot项目便会自动导入spring-webmvc、spring-web、spring-boot-starter-tomcat等子依赖,并自动下载和获取Web开发需要的相关JAR包。在构建Spring应用时,我们只需要添加相应的场景依赖,Spring Boot就会根据添加的场景依赖自动进行配置,在无须额外手动添加配置的情况下快速构建出一个独立的Spring应用。

2023-02-28 10:29:45 1057

原创 Python的标准模块介绍:sys、os、random和time

上述代码首先导入了time模块,使用time()函数获取了当前的时间,然后使用pow()函数计算1000的10000次方,在计算该结果时会产生一定的计算时间,计算结束后再次使用time()函数获取当前的时间,最后计算两个时间的差值,以得到程序执行的时间。上述代码首先导入了random模块与time模块,然后定义了两个列表name_li1与name_li2, 遍历列表name_li1,调用choice()函数随机选择一个元素,并将随机获取的元素每隔2秒添加到列表name_li2中,直至全部添加。

2023-02-23 10:39:37 666

原创 获取servlet转发和响应重定向的方式是什么?

ServletRequest对象用于获取客户端发送的请求数据,为了监听ServletReauest对象的创建和销毁过程,Servlet API提供了ServletReauestListener接口,当Web应用程序中注册了一个或多个实现了ServletRequestListener接口的事件监听器时,Web容器在创建或销毁每个ServletRequest对象时都会产生一个ServletRequestEvent事件对象,然后依次调用每个ServletRequest事件监听器中的相应处理方法。

2023-02-22 10:32:52 295

原创 Java代码加密混淆工具有哪些?

Allatori Java Obfuscator:Allatori Java Obfuscator是一个商业化的Java代码混淆工具,可以帮助开发者对Java代码进行加密、混淆和优化,以增加应用程序的安全性和保护知识产权。DexGuard:DexGuard是一个商业化的Java代码混淆工具,可以帮助开发者对Android应用程序的Java代码进行加密、混淆和优化,以增加应用程序的安全性和保护知识产权。在Java中,代码加密混淆工具可以帮助开发者将源代码进行加密和混淆处理,以增加代码的安全性和保护知识产权。

2023-02-21 10:33:05 2144

原创 Spring Cloud是什么?怎么理解Spring Cloud?

Spring Cloud 并不是一个项目,而是一组项目的集合。由于 Spring Cloud 不像 Spring 社区其他项目那样相对独立,它是拥有诸多子项目的大型综合项目. 可以说是对微服务架构解决方案的综合套件的组合,起包含的各个子项目也都是进行独立的更新和迭代,各自都维护自己的发布版本号.因此每一个 Spring Cloud 的版本都会包含多个不同版本的子项目,为了管理每一个版本的子项目清单,避免 Spring Cloud 的版本号与其子项目的版本号相混淆,没有采用版本号的方式,而是通过命名的方式。

2023-02-16 10:43:28 507 1

原创 Java多级缓存是为了解决什么的?

CDN:Content Delivery Network,即内容分发网络,它是构建在现有网络基础上的虚拟智能网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、调度及内容分发等功能模块,使用户在请求所需访问的内容时能够就近获取,以此来降低网络拥塞,提高资源对用户的响应速度。为了提高缓存的可用性,会在原有的缓存节点上加入 Master/Slave 的设计。分布式缓存是与应用分离的缓存服务,最大的特点是,自身是一个独立的应用/服务,与本地应用隔离,多个应用可直接共享一个或者多个缓存应用/服务。

2023-02-14 14:55:54 450

原创 【Java技术】基于Http的文件断点续传实现

我对RandomAccessFile类的理解是:RandomAccessFile类是java提供的一个可以用于随机读写文件内容的类,我们可以对RandomAccessFile类关联的文件中的任意位置和任意大小的数据进行任意的读写操作;因此要想完成文件的断点续传操作,该类的使用是必不可少的!(4). 可以通过打开线程任务中模拟意外情况的代码,让下载出现意外,当程序出现意外后,配置文件不会删除,且会记录下所有线程已经完成的下载量,以便于下次执行下载任务的时候,可以在此基础上继续完成下载任务;

2023-02-14 14:41:39 831

原创 面板组件应该怎样使用?Swing面板组件介绍

第21~26行代码创建创建了一个面板组件pane并在panel中添加了4个按钮,第28行代码设置panel面板在滚动面板sollane中显示:第30行代码向f容器窗口中添加滚动面板组件srellPane最后,在main() 方法中使用SwingUtilities工具类封装好的createAndShowGUI( )方法显示CUI程序。如果在构造方法中设定显示组件和滚动条策略,可以调用JScrollPane提供的成员方法法进行设置,JScrollPane面板滚动策略的执行方法如表所示。

2023-02-10 14:53:55 401

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除