自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java攻城狮修炼中

及时总结,颗粒归仓。陌生人一起加油!个人博客:http://fengluo.ink/

  • 博客(124)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 Java 基础 反射

反射是各类框架的灵魂,允许我们在JVM运行时提供分析类,操作类的能力。反射是一种在运行时检查和修改类、方法、属性等程序结构的能力。通过反射,可以动态地获取和操作程序的元数据,包括类的字段、方法、注解等信息。

2024-03-20 23:33:15 555

原创 Java 基础 泛型

泛型(参数化类型)是把确定类型的操作推迟到对象创建或者方法调用时,才能确定具体类型的一种类型。泛型在使用时,将对象类型作为参数,这种参数可以被使用在 类、接口、方法中,称为 泛型类、泛型接口、泛型方法。一般我们在创建对象时,会指定对应的类型,如果没有指定类型,并且也没有指定泛型的话,默认类型就是 Object 类型。

2024-03-20 22:46:07 583

原创 【IDEA】提升效率的必备插件与设置

Jrebel and XRebel 热部署插件。调整窗口字体显示大小。自动导包&删除无用包。

2024-02-07 14:27:04 599

原创 操作系统学习笔记-精简复习版

操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机的基石。操作系统本质上是一个运行在计算机上的软件程序,是最底层的系统软件。操作系统存在屏蔽了硬件层的复杂性。操作系统的内核(Kernel)是操作系统的核心部分,内核是连接软件和硬件的桥梁,决定着系统的性能和稳定性,内核功能一般包括进程管理、内存管理、设备管理、文件管理、网络管理等。

2023-09-17 21:14:43 653

原创 最简单的死锁代码示例

死锁(DeadLock):多个进程/线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于进程/线程被无限期地阻塞,因此程序不可能正常终止。

2023-09-17 15:09:26 734

原创 Maven 知识点总结

Maven是一个,它包含了一个项目对象模型(POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

2023-09-05 23:15:20 883

原创 Git 基本原理和常用操作

Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。由 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开源的版本控制软件。ssh key 公钥 私钥;

2023-09-03 22:17:11 481 1

原创 计算机组成原理学习笔记-精简复习版

计算机系统=硬件+软件冯诺依曼体系结构主机:主存、运算器、控制器外部设备:外存、IO设备等五大部分:<1> 输入设备,是指将外部信息以计算机能读懂的方式输入进来,如键盘,鼠标等<2> 输出设备,就是将计算机处理的信息以人所能接受的方式输出出来,比如显示屏,打印机。<3> 存储器,存储器分为 主存储器(内存储器,CPU能直接访问)和 辅助存储器(外存储器,协助主存储器记忆更多的信息,辅助存储器的信息需要导入到主存储器中,才可以被CPU访问)。

2023-08-27 20:02:16 1958

原创 装机配置个人存档用

2389 + 1349 + 2397 + 569 + 599 + 799 +183 + 169 + 47 + 993 + 23 + 68 + 139 + 295 + 鼠标 = 10019 元。:先马 XP 850W 全模组 ATX3.0 白金牌电源 799元 jd。:HKC 27英寸 144Hz 2K IPS 1ms 993元 jd。:宏基GM7000 M.2 PCIE4.0 2TB 599元 pdd。:金百达 6000 D5 16G*2 569元 jd。

2023-08-21 00:15:40 132

原创 Redis 客户端有哪些?

从 Spring 将 Lettuce 作为 Redis 的默认客户端可以看出,Lettuce 以及逐渐超越 Jedis 成为了更优秀的 Redis 客户端,Lettuce 支持了更多的 Redis 特性,并且支持多种通信模式,但是 Lettuce 与 Jedis 都没有提供其他高级功能的实现,如分布式锁等,需要我们自己实现或借助 Redisson,csdn界通常的方案是 Lettuce + Redisson 的组合使用,两者相辅相成,各自发挥所长。在并发场景下,直连的方式也存在着线程不安全的问题。

2023-08-01 12:56:42 1088

原创 Redis 简介

Redis(Remote Dictionary Server),远程词典服务器,基于 C/S 架构,是一个基于内存的键值型 NoSQL 数据库,开源,遵守 BSD 协议,Redis 由 C语言 实现。特性:键值型,value 支持多种不同的数据结构,功能丰富性能高,速度快(基于内存、IO 多路复用、良好的数据结构编码)Redis能读的速度是110000次/s,写的速度是81000次/sRedis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

2023-08-01 12:53:26 444

原创 【理财入门】基金入门概念学习

全称叫做证券投资基金,作为一种投资工具,把众多投资人的资金汇集起来,由基金托管人(例如银行)托管,让专业的基金管理公司管理和运作,通过投资股票和债券等投资,获取收益。定期定额投资固定的日期投资某一只基金,比方说你每月10号定投某只基金500元,以后每个月10号都是定投该基金500元(不管该基金是涨还是跌)定期不定额投资(升级版)固定的日期投资某一只基金,投资H日期是固定,但是投资金额会变。主要根据基金涨跌来调整的,比方说基金下跌就多买一点,基金上涨就少买一点。

2023-02-04 21:04:02 1877 1

原创 ArrayList 源码浅析

阅读这篇文章,你可以明白以下问题:ArrayList 的部分源码与扩容机制?为什么有两个空数组?为什么是1.5倍扩容?为什么不能用 foreach 对 ArrayList 做修改?Arrays.copyOf 与 System.arrayCopy ?

2022-10-05 10:29:59 675

原创 Java 设计实现 LRU 缓存

哈希表提供可以在 O(1) 复杂度下 get、put、remove 对应键的节点的能力,双向链表提供模拟访问队列的能力,被访问的节点移到链表头,将被淘汰的节点在链表尾,所以需要双向链表!LRU 的要求:O(1) 复杂度的插入和获取,以及在超过 capacity 限制后,按照最久未使用的策略淘汰旧值,并插入新值,复杂度均为 O(1)。在 Redis 中,如果键值对所占内存达到了所设置的 maxMemory 最大内存则会执行淘汰策略,比如 LRU、LFU 等。所以我们应该牢牢掌握 LRU 的设计。

2022-10-04 20:59:27 750

原创 Java 设计一个有界阻塞队列

有界阻塞队列,通常用于保证任务队列中没有任务时阻塞获取任务的线程,使得线程进入 wait 状态,释放 cpu 资源,在线程池中,有界阻塞队列也通常作为工作队列的实现。我们可以自己实现一个有界阻塞队列,笔者这里使用了 Lock 锁的形势实现了一个简单的有界阻塞队列。

2022-10-02 22:56:55 641

原创 JDK 动态代理模式

动态代理:相比于静态代理来说,动态代理更加灵活。我们不需要针对每个目标类都单独创建一个代理类,并且也不需要我们必须实现接口,我们可以直接代理实现类(CGLIB 动态代理机制)。:用代理对象来代替对真实对象的访问,使得可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能,比如在目标对象的某个方法执行前后增加一些自定义的操作。静态代理:对目标对象的每个方法的增强都是手动完成的,不灵活且麻烦,如果接口一旦新增加方法,目标对象和代理对象都要进行修改,而且需要对每个目标类都单独写一个代理类。

2022-10-02 22:23:57 317

原创 SpringBoot启动流程简要分析

SpringBoot作为Java开发者必备的框架,通过SpringBoot我们可以快速创建一个准生产级别的项目,极大的提升了开发效率,所以通过阅读SpringBoot的源代码,我们可以更好的了解SpringBoot的原理。我们可以通过SpringBoot项目的启动类中找到run方法,查看最后的run方法的源码可以得出大致的启动流程。除了这些,从源码中可以看出,run方法还包括启动时间的统计,异常报告,启动日志等操作。

2022-09-20 17:33:00 225

原创 死锁示例代码详解

多个进程或者线程可以竞争有限数量的资源。两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。

2022-08-22 15:07:17 1268

原创 Java 实现堆排序

1、构造大根堆/小根堆。2、进行堆排序,交换最后一个叶子节点与根节点(当前堆中最大/最小元素),并进行下滤操作(堆化操作),并断开交换后的最后一个节点与树的连接,即排好了一个元素。利用数组存储完全二叉树,利用堆的性质,构造大根堆或者小根堆。核心方法:堆化操作,也成为下滤操作,即保证树为最大堆/最小堆。复杂度:时间复杂度:O(n logn),空间复杂度:O(1)稳定性:不稳定,堆化操作可能会导致相同元素的相对位置发生改变。...

2022-08-12 21:08:05 248

原创 Java 实现归并排序

归并排序,主要是分而治之的思想,将待排序数组对半划分,递归直至分成单个元素,最后进行两路合并,并复制回原数组。复杂度:时间复杂度O(n logn),空间复杂度O(n),空间复杂度可以通过采取一些优化手段降至 O(1)稳定性:稳定,合并时,可以保证相同元素的相对顺序。...

2022-08-11 22:13:14 530

原创 Java 实现快速排序

分而治之,每趟排序选择数组中的一个未排序的元素作为枢轴,也称为基准。复杂度:平均时间复杂度O(n logn),空间复杂度O(1)稳定性:不稳定,枢轴交换时,可能会导致相同元素的相对位置改变。......

2022-08-11 21:31:42 376

原创 如何查看一个Java普通程序中的线程都有哪些?

如何查看一个Java普通程序中的线程都有哪些?

2022-07-17 15:51:56 818

原创 【刷穿剑指】剑指 Offer II 003. 前 n 个数字二进制中 1 的个数

原题链接:剑指 Offer II 003. 前 n 个数字二进制中 1 的个数朴素解法:通过二进制运算,每次右移1位,并逐位对1作与运算即可求出这个数的1的个数进阶解法:通过 i & (i-1) 求1的个数。 考虑一个二进制数 i = 1100,则 i-1 = 1011,那么 i & (i-1) = 1000,此时就求出了一个为1的位,计数器加一,循环直到 i 为 0,循环次数即为该数二进制的 1 的个数。对于朴素解法,时间复杂度为 O(n*k),k 为二进制的位数;对于进阶解法,时间复杂度为 O(n*m)

2022-06-08 13:14:39 179 1

原创 【HL7】快速入门 HL7 协议

博主目前在实习,需要接触到 HL7 协议,本着快速入门好继续摸鱼的想法,现在赶快总结学习一下 HL7。部分资料来自网上收集!HL7 基本介绍HL7 全称卫生信息交换标准(Health Level 7),标准化的卫生信息传输协议,是医疗领域不同应用之间电子传输的协议。HL7 汇集了不同厂商用来设计应用软件之间接口的标准格式,它将允许各个医疗机构在异构系统之间,进行数据交互。HL7 的主要应用领域是 HIS/RIS,主要是规范 HIS/RIS 系统及其设备之间的通信,它涉及到病房和病人信息管理、化验系统、

2022-05-20 11:15:11 14546

原创 【SpringCloud】Feign 声明式服务调用入门学习

1、什么是 FeignFeign 是 Spring Cloud Netflix 组件中的一个轻量级的 RESTful 的 HTTP 服务客户端,实现了负载均衡和 Rest 调用的开源框架,封装了 Ribbon 和 RestTemplate,实现了 WebService 的面向接口编程,进一步降低了项目的耦合度。Feign 内置了 Ribbon,用来做客户端负载均衡调用服务注册中心的服务。Feign 本身并不支持 SpringMVC 的注解,它有一套自己的注解,为了更方便的使用,SpringCloud.

2022-05-15 22:07:35 320

原创 【Swagger】Swagger 注解学习

Swagger 3 已经发布了一段时间了,但是这里我们主要学习目前更主流的 Swagger 2。Swagger 2 整体注解Swagger 2 请求类注解,主要用于 Controller 类上Swagger 2 请求方法注解,主要用于 Controller 类对应的方法上Swagger 2 对象类注解,主要用于 JavaBean 上1、Swagger 2 请求类注解@Api 标识 Swagger 识别的类@Api 放在 @Controller 注解并列的请求类上核心参数包含 value

2022-05-14 15:53:27 2049

原创 【Swagger】神气十足的接口文档框架

Swagger 入门学习1、Swagger 简介1.1、Swagger 是什么?Swagger 是一款 RESTful 接口的文档在线生成软件Swagger 是一款 RESTful 接口的功能测试软件Swagger 是一座前后端开发者沟通的桥梁Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理

2022-05-14 14:41:18 472

原创 【SpringCloud】Ribbon 负载均衡策略设置以及点对点直连

1、Ribbon 负载均衡策略设置示例项目接上一篇文章:【SpringCloud】什么是 Ribbon 以及入门案例_风落_的博客-CSDN博客1.1、全局在启动类或配置类中注入负载均衡策略对象。所有服务请求均使用该策略。@Beanpublic RandomRule randomRule() { return new RandomRule();}多次访问 http://localhost:9090/order/1,控制台打印的 服务提供者 ip 和端口号如下,即随机策略1.2、.

2022-05-11 20:32:39 1141

原创 【SpringCloud】什么是 Ribbon 以及入门案例

1、什么是 Ribbon?Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具,它是基于 Netflix Ribbon 实现的。它不想 Spring Cloud 服务注册中心、配置中心、API网关那样独立部署,但是它几乎存在于每个Spring Cloud 微服务中。包括 Feign 提供的声明式服务调用也是基于该 Ribbon 实现的。Ribbon 默认提供很多种负载均衡算法,例如轮询、随机等等,甚至包含自定义的负载均衡算法。2、Ribbon 解决了什么问题?Ribbon 提供了.

2022-05-11 19:49:15 616

原创 【SpringCloud】Eureka 安全认证

Eureka 安全认证1、添加依赖注册中心添加依赖 security 依赖<!-- spring security 依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>2、配置文件注册中心.

2022-05-01 14:55:14 2946

原创 【SpringCloud】集群下 Eureka 的启动 bug,大坑

如题,笔者创建了两个 Eureka Server 做集群,并引入了 Spring Security 在启动这两个 Server 就出现错误,会有各种 bug,比如There was a problem with the instance info replicator com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serverDiscoveryClient_E

2022-05-01 13:14:18 1193

原创 【SpringCloud】Eureka 整体架构 | CAP 原则 | Eureka 自我保护 | Eureka 优雅停服

Eureka 整体架构Register(服务注册):把自己的 IP 和端口注册给 EurekaRenew(服务续约):发送心跳包,每 30 秒发送一次,告诉 Eureka 自己还活着,如果 90 秒还未发送心跳,宕机Cancel(服务下线):当 Provider 关闭时会向 Eureka 发送小心,把自己从服务列表中删除,防止 Consumer 调用到不存在的服务Get Registry(获取服务注册列表):获取其他服务列表Replicate(集群中数据同步):Eureka 集群中的数据复制与同.

2022-04-30 18:19:38 369

原创 【SpringCloud】Eureka 之服务消费者

Eureka 之服务消费者1、创建项目2、添加依赖pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://ma

2022-04-30 17:39:03 385

原创 【SpringCloud】Eureka 之服务提供者

创建服务提供者1、创建项目 service-provider2、添加依赖 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.

2022-04-30 16:47:00 644

原创 【SpringCloud】搭建高可用 Eureka 注册中心

高可用 Eureka 注册中心高可用的 Eureka 是指搭建多台 Eureka Server 服务,不同的 Eureka Server 之间相互指向注册。搭建多台 Eureka Server 的具体步骤和搭建单节点一样,pom.xml 依赖都是相同的,只是在配置文件 application.xml 中需要做修改!这里以搭建两台集群 Eureka Server 为例:EurekaServer01-application.ymlserver: port: 8761 # 端口spring:

2022-04-30 16:09:06 480

原创 【SpringCloud】Eureka 服务注册中心入门

Eureka 服务注册中心1、什么是注册中心注册中心相当于微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到注册中心,当服务需要调用其他服务时,就到这里找到服务的地址,进行调用。举个例子服务发现:你先要给张三打电话,于是你在通讯录中寻找张三的电话,并拨打电话服务注册:李四告诉了你的电话号,你把电话号存在通讯录中以方便以后在通讯中找到他总结:服务注册中心的作用就是服务的注册和服务的发现2、常见的注册中心Netflix EurekaAlib.

2022-04-29 17:43:56 1657

原创 【面试经验】海康威视Java开发日常实习面经(已oc)

海康威视日常实习面经笔者14号在实习seng上投递的简历,21号晚约了电面,当时在外面,就推迟了半个小时后。下面回想一下题目,估计记不全了。。电面(两位面试官一起面的,估计有一位是主管)1、自我介绍,问了一下项目2、Java基础,详细介绍一下HashMap说了下put、get,1.7和1.8的不同实现,红黑树的转换机制3、JDK1.7中HashMap与1.8的区别?循环链表?1.7头插法,1.8尾插法,并发 put 会导致 resize 链表头插导致指针指向错误,形成循环链表4、有哪

2022-04-23 15:57:04 3753 5

原创 【面试常考】多线程打印问题多种解法及总结

阿里面试原题:创建 n 个线程,依次命名为 T1、T2、T3、、、Tn,请按需打印这些线程的名字 printNum 次。通常我们创建多线程的方式有三种,这里我给出第一种解法(synchronized)的三种形式,后面统一使用 Runnable 接口。一、Synchronized1、继承 Thread 类创建多线程package com.fengluo;import java.util.Scanner;public class Test { private static int n;

2022-04-06 21:43:06 1466 1

原创 【面试经验】阿里暑期实习Java一面凉经

面试是检验自己的最好试炼场,失败不可怕,查漏补缺提升自己才是王道!先说下背景吧,笔者双非大三软件工程,大三上决定 Java,目前大三下寻找暑期实习,不要问我为什么这么晚才决定方向。不过是个保研提前失败的选手罢了。。。在牛客上找了内推,没有做笔试,直接电话约了 6 号的面试。如上面试官说,因为没做笔试,所以上来就是两个题目创建 n 个线程,依次命名为 T1、T2、T3、、、Tn,请按需打印这些线程的名字 printNum 次。请设计类似于微博的部分数据库,包括用户可以发布微博,用户可以关注、.

2022-04-06 18:24:58 1277 3

原创 【面试八股】计算机网络回顾

为了准备暑期实习的面试环节,把常考的八股文梳理一下~八股文绝对不能硬背,应该是 理解 + 反复,从八股中打牢基础、查漏补缺才是正道!计算机网络重点(OSI 七层、TCP/IP 四层模型、IP、TCP、UDP、HTTP、HTTPS)计算机网络模型(为了支持异构网络的互联互通)OSI 七层模型物理层任务:透明的传输比特流功能:为数据段设备提供传送数据通路传输单位:比特(bit)所实现的硬件:集线器,中继器数据链路层任务:将网络层传输下来的 IP 数据报组装成帧

2022-03-31 19:54:11 3218

Java课设-音乐播放器(示波器/频谱)

实现了示波器即音频频谱,界面精美,实现了基本功能

2021-06-15

简约美观登录界面(html+css+js)

调用必应壁纸API实现每日自动更新背景,正则表达式匹配输入,一键实现夜间模式

2021-01-12

基于C语言的台球小游戏(超详细注释).zip

我赌十包辣条,超详细的代码注释你值得拥有,包括图片和背景音乐全部资源。使用VS完成,利用了EasyX图形库,超适合C语言初学者初探游戏设计的大门(或课设)。有问题欢迎咨询^-^

2020-02-15

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

TA关注的人

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