
Java
文章平均质量分 64
Java实战和知识点总结
程序员猫爪
以问题解决为导向,深入学习技术,而不仅仅停留在表面应用的层面。探索技术背后的原理和机制,理解其优势和局限性,以及如何有效地利用该技术解决特定的问题。小程序开发,网站开发,APP开发,爬虫开发,大数据平台开发,人工智能开发
展开
-
Java的 BIO、NIO、AIO?分别的作用和用法
在Java中,BIO、NIO和AIO代表了不同的I/O操作模式。以下是每个模型的简要描述以及相应的代码示例。原创 2025-01-07 11:22:51 · 367 阅读 · 0 评论 -
Java泛型的深度理解,Java当中关于泛型的定义和作用?Java 泛型的作用是什么?Java 泛型擦除是什么?什么是 Java 泛型的上下界限定符?
Java泛型的深度理解,Java当中关于泛型的定义和作用?Java 泛型的作用是什么?Java 泛型擦除是什么?什么是 Java 泛型的上下界限定符?原创 2025-01-06 10:07:34 · 388 阅读 · 0 评论 -
什么是 JDK 动态代理和 CGLIB 动态代理,他们分别有什么区别
【代码】什么是 JDK 动态代理和 CGLIB 动态代理,他们分别有什么区别。原创 2025-01-06 09:32:07 · 447 阅读 · 0 评论 -
Java 当中如何获取前一天的时间?还有上周时间,还有上个月的时间。
是一个流行的日期和时间处理库,提供了比Java原生API更丰富和便捷的功能。类用于表示日期,不包含时间和时区信息。包是Java 8引入的新的日期和时间API,原创 2025-01-06 09:13:54 · 730 阅读 · 0 评论 -
SpringBoot接收RequestBody数据时,参数大写接收不到数据以及解决办法
如果JSON字段名称与Java类中的属性名称不匹配(包括大小写),那么这个字段就无法被正确地映射到Java对象中,从而导致该字段为null或者没有被设置。)中的参数名是大写时无法接收到数据,这可能是因为HTTP请求的Content-Type头以及Spring Boot处理JSON的方式默认情况下对属性名称的大小写敏感。如果可以控制发送请求的一方,最直接的方法是让JSON字段名称和Java类中的属性名称保持一致(包括大小写)。在你的Java类中,你可以使用Jackson库提供的。实例来改变默认的行为。原创 2024-10-23 19:45:17 · 1501 阅读 · 0 评论 -
Java 并发 Map 的 get 方法要加锁么
对于来说,读操作(如get)不需要加锁,而写操作会在内部自动处理锁定。对于通过包装的Map,所有读写操作都需要显式加锁。选择哪种方式取决于你的具体需求和场景。如果性能是一个关键因素,那么通常是更好的选择。原创 2024-08-06 08:49:37 · 340 阅读 · 0 评论 -
Java基础夯实【进阶】——八股文【2024面试题&&案例代码】
在Java中,线程和进程是两个非常重要的概念。进程可以被视为一个执行中的程序的实例,它拥有自己的内存空间和系统资源。而线程则是进程中的一个实体,由进程创建,并允许程序在同一时刻执行多个任务。Java提供了两种实现多线程的方式:一种是通过继承Thread类并重写run()方法来创建线程;另一种是实现Runnable接口,将逻辑代码写入该接口的实现类后,将这个实现类的实例作为参数传递给Thread类的构造函数,从而创建线程。// 任务类@Overridei原创 2024-03-17 16:56:01 · 924 阅读 · 0 评论 -
Java基础夯实——八股文【2024面试题&&案例代码】
字节码是一种中间代码表示形式,它通常是指Java源代码经过编译后生成的一种机器无关的二进制格式。在Java中,当开发人员编写好.java文件(Java源代码)并使用Java编译器(javac)进行编译时,编译器并不会直接生成针对特定平台的机器码,而是生成一种被Java虚拟机(JVM)理解的指令集,这种指令集即被称为字节码,存储在.class文件中。跨平台性。原创 2024-03-17 16:55:00 · 1140 阅读 · 0 评论 -
Java通过HttpClients发起GET、POST、PUT、DELETE、文件上传,文件下载,工具类HttpClientUtil
Java发起,GET 请求,POST提交表单,POST提交JSON,POST请求,post获取图片,form表单提交文件,通过url下载文件,获取响应, 设置基础配置,设置请求头,设置GET参数,设置POST参数,返回数据到前端,设置header原创 2023-12-27 10:44:17 · 1213 阅读 · 0 评论 -
SpringBoot当中的Singleton和Prototype详解
对于注入的类,如果它们被配置为Singleton作用域(这是默认的作用域),那么无论你如何多次调用该类的方法,Spring容器只会创建一个实例,并在所有需要的地方共享这个单例实例。例如,如果你在一个配置类的方法上使用@Scope(“request”),那么每当一个新的HTTP请求到达时,Spring会为这个方法创建一个新的代理对象,并在这个请求的范围内共享这个对象。对于局部变量(在方法内部定义的变量),它们只在该方法的上下文中存在,修改局部变量的值不会影响到其他方法或实例中的变量。原创 2023-12-27 10:40:32 · 2338 阅读 · 0 评论 -
SpringBoot之logback 在Linux系统上启动的时候,设置日志按日期分割并设置指定时间自动清除日志
SpringBoot之logback 在Linux系统上启动的时候,设置日志按日期分割并设置指定时间自动清除日志原创 2023-12-05 09:24:00 · 3057 阅读 · 3 评论 -
Unirest-Java:Java发起GET、POST、PUT、DELETE、文件上传,文件下载工具类介绍
Unirest-Java是一个轻量级的HTTP客户端库,用于在Java应用程序中发送HTTP请求。它提供了简单易用的API,可以方便地处理GET、POST、PUT、DELETE等HTTP方法。Unirest-Java支持异步和同步请求,可以轻松地与JSON、XML等数据格式进行交互。此外,它还支持文件上传和下载、Cookie管理等功能。总之,Unirest-Java是一个功能强大且易于使用的HTTP客户端库,适用于各种Java应用程序。原创 2023-12-05 08:57:42 · 2808 阅读 · 0 评论 -
Java之SpringCloud Alibaba【九】【Spring Cloud微服务Skywalking】
skywalking是一个国产开源框架, 2015年由吴晟开源,2017年加入Apache孵化器。skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、 K8s、 Mesos) 架构而设计。它是一款优秀的APM (Application Performance Management)工具,包括了分布式追踪、性能.指标分析、应用和服务依赖分析等。原创 2023-11-14 18:58:18 · 1099 阅读 · 0 评论 -
Java之SpringCloud Alibaba【八】【Spring Cloud微服务Gateway整合sentinel限流】
网关作为内部系统外的一层屏障,对内起到-定的保护作用,限流便是其中之- - .网关层的限流可以简单地针对不同路由进行限流,也可针对业务的接口进行限流,或者根据接口的特征分组限流。为了保证Gateway的高可用性,可以同时启动多个Gateway实例进行负载,在Gateway的.上游使用Nginx或者F5进行负载转发以达到高可用。下载:sentinel-dashboard-1.8.0.jar。原创 2023-11-07 11:58:54 · 1021 阅读 · 0 评论 -
Java之SpringCloud Alibaba【七】【Spring Cloud微服务网关Gateway组件】
大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去用。每个业务都会需要鉴权、限流、权限校验、跨域等逻辑,如果每个业务都各自为战。自己造轮子实现一遍,会很蛋疼,完全可以抽出来,放到一个统一的地方去做。原创 2023-11-01 08:58:41 · 2469 阅读 · 1 评论 -
Java之SpringCloud Alibaba【六】【Alibaba微服务分布式事务组件—Seata】
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。原子性(atomicity)∶个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。一致性(consistency)∶事务必须是使数据库从一个一致性状态变到另一个一致性状态,事务的中间状态不能被观察到的。隔离性((isolation):一个事务的执行不能被其他事务干扰。原创 2023-09-26 17:06:16 · 1903 阅读 · 0 评论 -
Java之SpringCloud Alibaba【五】【微服务 Sentinel整合openfeign进行降级】
对于push模式的数据源,如远程配置中心(Zookeeper Nocos,Apole等等),推送的操作不应由Sentinel客户端进行,而应该经控制台统一进行管理,直接进行推送,数据源仅负责获取配置中心推送的配置并更新到本地。pll模式的数据源(如本地文件、RDBMS等)一般是可写入的。使用时需要在客户端注册数据源:将对应的读数据源注册至对应的 RuleManager,将写数据源注册至tansport的。热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。原创 2023-08-29 09:50:44 · 1204 阅读 · 0 评论 -
Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】
如果其中的下单服务不可用,就会出现线程池里所有线程都因等待响应而被阻塞,从而造成整个服务链路不可用,进而导致整个系统的服务雪崩.如图所示;服务雪崩效应:因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应导致服务不可用的原因:稳定性、恢复性Reliability && Resilience常见的容错机制:隔离前:b)信号隔离信号隔离也可以甲于限制并发访问,防止阻塞扩散、与线租隔离最大不同在于执行依赖代码的线程依然是请求线程(该线程需要通过信号申请,如果客户端原创 2023-08-16 11:18:55 · 1688 阅读 · 1 评论 -
JMeter快速入门,你也来试试手吧!
JMeter快速入门,你也来试试手吧!💖今天给大家分享一个超级实用的工具——JMeter!🛠️这是一个用于性能测试的开源工具,可以帮助你测试Web应用程序在多用户并发访问下的性能。🎉原创 2023-08-07 10:38:44 · 204 阅读 · 0 评论 -
IDEA 模块不加载依旧是灰色 没有变成小蓝色的方块
但通常在Maven的配置中,您会找到一个名为“ignoredFiles”的列表,其中包含被忽略的文件和目录。您可以通过取消选中所需的文件或目录来告诉Maven在构建时包括它们。Settings > Build, Execution, Deployment > Build Tools > Maven > Ignored Files下降对应的模块勾选掉。原创 2023-07-27 09:26:39 · 1362 阅读 · 0 评论 -
Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】
在没有明确指定配置的情况下,默认使用的是。读取不到对应的信息克隆并设置Group又可以继续读取到对应的配置信息Spring Cloud Alibaba Nacos Config从 0.2.1版本后,可支持自定义Data ld的配置。关于这部分详细的设计可参考这里。#group:默认是Default-group - data-id : com.itblueboxmall.common2.properties refresh : true。原创 2023-07-12 09:04:21 · 2962 阅读 · 0 评论 -
Java之SpringCloud Alibaba【二】【微服务调用组件Feign】
SpringCloud Alibaba是一个用于构建微服务的开源框架,其中Feign组件是用于服务间调用和负载均衡的工具。在SpringCloud Alibaba中使用Feign需要先定义接口,然后使用FeignClient注解将接口映射为远程服务调用。Feign支持负载均衡和容错处理,可以方便地集成到SpringCloud Alibaba的微服务架构中。原创 2023-07-03 09:25:28 · 2596 阅读 · 1 评论 -
Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】
随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程:单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的,以及各有什么优缺点。Sping Cou Aliaba致力于提供微服务开发的一站式解决方案。原创 2023-06-25 09:04:10 · 3126 阅读 · 1 评论 -
Java的SpringBoot 框架开发的时候常见的状态码有哪些
Java的SpringBoot 框架开发的时候常见的状态码有哪些,200是成功,三开头是重定向,四开头得是前端错误,五开头的是后端错误。原创 2023-05-05 10:21:22 · 603 阅读 · 0 评论 -
Springboot Java多线程操作本地文件,加读写锁,阻塞的线程等待运行中的线程执行完再查询并写入
在上面的示例中,我们在写线程中使用了独占锁(lock() 方法),在读线程中使用了共享锁(lock(0L, Long.MAX_VALUE, true) 方法)3、性能:在 Java 5 之前,synchronized 的性能比 Lock 要好,但是在 Java 5 之后,Lock 的性能得到了大幅度提升,特别是在高并发的情况下,Lock 的性能优势更加明显。同时,我们还需要在读线程中使用 lock() 方法获取共享锁,这样可以确保读线程在写线程执行完毕后再执行,避免在主线程中,原创 2023-03-01 09:47:15 · 3312 阅读 · 0 评论 -
JeecgBoot开发多租户SAAS数据隔离,查询数据库,改造多租户后 Mybatis-plus 查询数据库的SQL语句tenant-id[租户Id] 一直为0
JeecgBoot开发多租户SAAS数据隔离,查询数据库,改造多租户后 Mybatis-plus 查询数据库的SQL语句tenant-id[租户Id] 一直为0,JeecgBoot开发多租户SAAS查询数据或者对外开发接口的时候会自动进行数据隔离原创 2022-12-03 09:20:17 · 1952 阅读 · 3 评论 -
Java爬虫【一篇文章精通系列-案例开发-巨细】HttpClient5 + jsoup + WebMagic + spider-flow【万字长文一篇文章学会】
网络爬虫 ( web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,在java的世界里,我们经常用HttpClient ,jsoup ,WebMagic 这几种技术来实现爬虫。原创 2022-11-28 10:53:49 · 1131 阅读 · 1 评论 -
Java 之 ElasticSearch7.x.x + SpringBoot + 爬虫 + 项目实战【一篇文章精通系列】【SpringBoot集成ElasticSearch+项目实战】
一、ElasticSearch的Java官方文档1、查看官方文档2、找到了原生的依赖3、初始化二、创建SpringBoot项目1、创建项目2、完善依赖3、创建ElasticSearchClientConfig配置类二、索引库API操作1、在测试类当中注入对应的内容2、创建索引3、获取索引(判断索引是否存在)4、删除索引三、文档API操作1、创建文档2、获取文档3、获取文档信息4、更新文档记录5、删除文档记录6、批量插入数据7、查询四、项目实战(创建项目搭建工程)1、创建新项目2、引入一些静原创 2022-11-13 15:39:23 · 1361 阅读 · 1 评论 -
Java + SpringBoot 操作 ElasticSearch7.x.x工具类RestHighLevelClientUtils
Java + SpringBoot 操作 ElasticSearch7.x.x工具类RestHighLevelClientServiceElasticSearch创建索引,删除索引,判断 index 是否存在,根据 id 删除指定索引中的文档,根据 id 更新指定索引中的文档,根据 id 更新指定索引中的文档,根据某字段的 k-v 更新索引中的文档,添加文档 手动指定id,简单模糊匹配 默认分页为 0,10, term 查询 精准匹配,term 查询 精准匹配,返回列表,term 查询 ,返回列表,查原创 2022-11-10 15:26:44 · 1770 阅读 · 2 评论 -
Java之词义相似度计算(语义识别、词语情感趋势、词林相似度、拼音相似度、概念相似度、字面相似度)
1、词语相似度计算2、 短语相似度值3、 词形词序句子相似度值、优化的编辑距离句子相似度值、标准编辑距离句子相似度值、gregeor编辑距离句子相似度值4、词语情感趋势值5、词林相似度值、拼音相似度值、概念相似度值、字面相似度值...原创 2022-06-24 21:51:02 · 4535 阅读 · 6 评论 -
Java 之 Spring Boot 发送邮箱(解决依赖找不到异常)
Could not autowire. No beans of 'JavaMailSender' type found.解决javax.mail.internet.MimeMessage 解决Java 之 Spring Boot 发送邮箱(解决依赖找不到异常)原创 2022-05-28 19:35:32 · 4563 阅读 · 1 评论 -
Java之MyBatis 批量删除数据,两种方式(注解,XML)
1、MyBatis之 XML 批量删除数据public int deleteSysStudentStuIds(Long[] stuIds);<delete id="deleteSysStudentStuIds" parameterType="String"> delete from sys_student where stu_id in <foreach item="stuId" collection="array" open="(" separato原创 2022-02-18 20:58:04 · 3003 阅读 · 1 评论 -
Java之MyBatis 批量插入数据,两种方式(注解,XML)
1、MyBatis之 XML 批量插入数据int insertStudentList(List<SysStudent> sysStudent); <insert id="insertStudentList"> insert into sys_student(sut_id, stu_name, stu_year) values <foreach item="item" index="index" collection="list" sepa原创 2022-02-18 20:37:26 · 3510 阅读 · 0 评论 -
Git分布式版本控制工具【IDEA版】【安装和使用以及上传代码到Gitee】(一篇文章精通系列)
一、目标了解Git基本概念能够概述git工作流程能够使用Git常用命令熟悉Git代码托管服务能够使用idea操作git二、Git概述1、开发中的实际场景场景一:备份小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流场景二:代码还原这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?场景三:协同开发小刚和小强先后原创 2021-09-12 17:28:18 · 929 阅读 · 0 评论 -
Java之Maven【IDEA版】入门到精通(一篇文章精通系列)
一、Maven简介1、传统项目管理状态分析jar包不统一,jar包不兼容工程升级维护过程操作繁琐2、Maven是什么Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)POM (Project Object Model):项目对象模型3、Maven的作用项目构建:提供标准的、跨平台的自动化项目构建方式依赖管理:方便快捷的管理项目依赖的资源jar包),避免资源间的版本冲突问题统一开发结构:提供标准的、统一的项目结构二、原创 2021-09-11 18:32:06 · 7875 阅读 · 4 评论 -
Java实现雪花算法(snowflake)-生成永不重复的ID(源代码+工具类)使用案例
雪花算法是由Twitter公司开源的snowflake(雪花)算法。1、雪花算法的原理雪花算法会生成一个64位的二进制数据,为一个Long型。(转换成字符串后长度最多19),其基本结构:第一位:为未使用第二部分:41位为毫秒级时间(41位的长度可以使用69年)第三部分:5位datacenterld和5位workerld(10位的长度最多支持部署1024个节点)第四部分:最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)snowflake生成的ID整体上按原创 2021-09-09 14:13:21 · 5521 阅读 · 0 评论 -
Java之使用阿里云发短信项目案例以及源代码
一、开通阿里云短信功能官网:https://www.aliyun.com/product/sms1、登录注册2、创建账号点击右上角自定义对应的名称3、点击添加权限搜索短信点击完成记住这里的账号和密码4、添加签名等待审核通过5、添加模板等待审核通过二、Java开发1、查看规范开发手册看到实例代码2、下载示例代码(我在这里提供了简化后的代码)https://download.youkuaiyun.com/download/qq_44757034/原创 2021-09-02 15:23:56 · 355 阅读 · 0 评论 -
Java 之SpringData Redis快速入门 以及( Redis快速入门安装和使用)
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十八(Redis以及SpringDataRedis )一、Redis快速入门完成了商品的详情展示,下一步自然是购物了。不过购物之前要完成用户的注册和登录等业务,我们需要使用到Redis技术,—起来回顾下。1、NoSQLRedis是目前非常流行的一款NoSql数据库。 什么是NoSQLNoSQL 简介NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"原创 2021-09-01 17:29:38 · 369 阅读 · 0 评论 -
Java AI 实现人工智能- 我在Github上发现的-基于Java的计算机视觉 Java实现人脸识别(开源代码-(人脸识别-自动驾驶-汽车追踪-手写数字识别器))带你导入代码并测试使用
Java实现人脸识别 Java AI 实现人工智能- 我在Github上发现的-基于Java的计算机视觉 (开源代码-(人脸识别-自动驾驶-汽车追踪-手写数字识别器))带你导入代码并测试使用原创 2021-08-29 09:30:30 · 6915 阅读 · 15 评论 -
Tomcat配置访问任意其它路径的图片和文件:Tomcat配置虚拟目录
一、配置虚拟目录配置完成以上配置相当于在tomcat的server.xml文件当中配置:下面自动生成二、通过浏览器访问对应目录下的图片访问路径:http://localhost:8080/pic/1.png原创 2021-04-03 21:25:49 · 793 阅读 · 0 评论