CSDN博主:【java_wxid】
CSDN博主:点击【Java廖志伟】
CSDN社区:点击【幕后大佬】
码云:点击【互联网Java工程师知识扫盲】
随笔 - 882,  文章 - 0,  评论 - 1,  阅读 - 51135
06 2023 档案
【线上处理经验】中间件问题:羊群效应
摘要:文章目录 1. 羊群效应是什么? 2. 如何实现羊群效应的解决? 2.1. 负载均衡 2.2. 限流降级 2.3. 异常熔断 2.4. 服务降级 3. 技术手段 3.1. 针对负载均衡技术的技术手段 3.2. 针对限流降级技术的技术手段 3.3. 针对异常熔断技术的技术手段 3.4. 针对服务降级技 阅读全文
posted @ 2023-06-30 22:52 我是廖志伟 阅读(36) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring Boot启动过程中做了哪些事情?
摘要:文章目录 1. 加载应用程序类 2. 加载依赖项 3. 自动配置 4. 创建ApplicationContext 5. 执行CommandLineRunner 6. 启动嵌入式Web服务器 7. 运行应用程序 8.总结 1. 加载应用程序类 在Spring Boot启动过程中,首先会加载应用程序中的 阅读全文
posted @ 2023-06-30 19:30 我是廖志伟 阅读(54) 评论(1) 推荐(0) 编辑
【Spring面试全家桶】SpringBoot中的spring.factories文件有什么作用?
摘要:文章目录 底层实现原理 实现步骤 底层工作原理 源码解释 1. spring.factories文件: 2. Spring Framework的SPI机制 3. org.springframework.boot.autoconfigure.AutoConfigurationPackage类 4. o 阅读全文
posted @ 2023-06-30 12:15 我是廖志伟 阅读(26) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@SpringBootApplication注解有什么用?为什么一定要写它?
摘要:文章目录 底层实现原理 实现步骤 底层工作原理 底层涉及的类和方法有哪些作用 1. SpringApplication类 2. SpringBootConfiguration类 3. EnableAutoConfiguration类 4. ComponentScan类 @SpringBootAppl 阅读全文
posted @ 2023-06-30 08:30 我是廖志伟 阅读(8) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】单例Bean是单例模式吗?
摘要:文章目录 单例Bean是单例模式吗 1. 实现一个类的单例模式 2. 创建一个单例Bean 3. 应用程序中单例Bean的使用 单例Bean是单例模式吗 是的,单例Bean是一种单例模式的应用。在Spring中,单例Bean是一种特殊的Bean实例,每个单例Bean只会被创建一次,并被容器管理。这种 阅读全文
posted @ 2023-06-29 19:15 我是廖志伟 阅读(103) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring AOP和AspectJ有什么区别?
摘要:文章目录 Spring AOP和AspectJ有什么区别? 1. 面向的对象不同 2. AOP 实现方式不同 3. 支持的切面类型不同 4. AOP 表达式不同 5. 性能差异 Spring AOP和AspectJ有什么区别? 1. 面向的对象不同 Spring AOP Spring AOP 是针对 阅读全文
posted @ 2023-06-29 12:15 我是廖志伟 阅读(236) 评论(0) 推荐(0) 编辑
【架构师基本功】微服务架构
摘要:文章目录 一、熟悉微服务原则 1. 单一职责原则(SRP):每个服务应该有一个清晰的职责,而且这个职责应该尽可能地独立。 2. 接口隔离原则(ISP):每个服务应该暴露少量的接口,而不是一个巨大的接口。 3. 依赖倒置原则(DIP):微服务应该依赖于抽象而不是具体的实现。 4. 开放封闭原则(OCP 阅读全文
posted @ 2023-06-29 09:52 我是廖志伟 阅读(16) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Bean的实例化和Bean的初始化有什么区别?
摘要:文章目录 Bean的实例化和Bean的初始化有什么区别? 1. Bean的实例化 2. 属性注入 3. BeanPostProcessor的前置处理 4. 初始化方法调用 5. BeanPostProcessor的后置处理 Bean的实例化和Bean的初始化有什么区别? Bean的实例化是指创建Be 阅读全文
posted @ 2023-06-29 08:30 我是廖志伟 阅读(229) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】SpringBoot的自动配置
摘要:文章目录 1. 自动配置 2. Web自动配置源码分析 2.1 配置DispatcherServlet 2.2 配置嵌入式Servlet容器 2.3 配置静态资源的访问路径 2.4 配置错误页面 2.5 配置消息转换器 2.6 配置编码方式 3. 总结 Spring Boot是Spring框架的一种 阅读全文
posted @ 2023-06-29 08:30 我是廖志伟 阅读(17) 评论(0) 推荐(0) 编辑
【架构师基本功】分层架构
摘要:文章目录 一、表示层 二、业务逻辑层 三、数据访问层 分层架构是一种常见的软件架构模式,它将软件系统分解为若干个不同的层次,每个层次完成独立的功能,并同其他层次进行交互。通常,分层架构包含表示层、业务逻辑层、数据访问层三个基本层次。接下来,我们将对分层架构进行详细介绍。 一、表示层 表示层是分层架构 阅读全文
posted @ 2023-06-28 22:23 我是廖志伟 阅读(80) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring类型
摘要:文章目录 Spring类型转化有哪些方式 Spring类型转换服务ConversionService Spring类型转换器TypeConverter Spring类型在实战中的问题与解决方案 1. Spring类型的自动装配失败 2. Spring类型注入的顺序问题 3. Spring类型的循环依 阅读全文
posted @ 2023-06-28 12:15 我是廖志伟 阅读(8) 评论(0) 推荐(0) 编辑
【架构师基本功】事件驱动架构
摘要:文章目录 1. 基本概念 1.1 事件生成器(Event Source) 1.2 事件总线(Event Bus) 1.3 事件处理器(Event Processor) 2. 架构原则 2.1 较弱的耦合 2.2 松散的耦合 2.3 高度可扩展 3. 优缺点 3.1 优点 3.1.1 可扩展性 3.1 阅读全文
posted @ 2023-06-28 08:46 我是廖志伟 阅读(18) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Bean的详解
摘要:文章目录 注册一个Bean有哪些方式 SpringBoot中有几种定义Bean的方式 Spring中有哪些父子? ApplicationContext BeanDefinition DefaultListableBeanFactory DeanFactory ApplicationContext和D 阅读全文
posted @ 2023-06-28 08:30 我是廖志伟 阅读(12) 评论(0) 推荐(0) 编辑
Docker:第五章:基于centos7的docker安装配置部署教程以及基于docker Tomcat镜像使用的项目部署教程
摘要:基于centos7的docker安装配置部署教程基于docker Tomcat镜像使用的项目部署教程. 将服务器的yum包更新到最新.(此操作需要十分钟左右更新成功无报错为下图所示) sudo su切换root用户 命令:yum update 安装需要的软件包, yum-util 提供yum-con 阅读全文
posted @ 2023-06-27 19:52 我是廖志伟 阅读(49) 评论(0) 推荐(0) 编辑
【架构师基本功】AKF划分原则
摘要:文章目录 一、可用性 1.单一节点可用性 2.系统可用性 3.地理可用性 二、扩展性 1.垂直扩展 2.水平扩展 三、灵活性 1.可配置性 2.可扩展性 3.可组合性 AKF划分原则是架构师必须掌握的基本功之一,它是由三位资深架构师Martin Fowler、Howard Lewis Ship和Pr 阅读全文
posted @ 2023-06-27 19:20 我是廖志伟 阅读(121) 评论(0) 推荐(0) 编辑
【架构师基本功】微内核架构
摘要:文章目录 一、什么是内核? 二、微内核架构的概念 1.微内核 1. 进程调度 2. 线程管理 3. 内存管理 2.服务 1. 用户空间下运行的操作系统组件 2. 提供操作系统的各种服务 3. 服务通过微内核提供的接口调用与微内核通信 3.应用程序 1. 应用程序的启动 2. 应用程序调用服务 3. 阅读全文
posted @ 2023-06-27 15:33 我是廖志伟 阅读(18) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Lookup方法注入你真的会用吗
摘要:文章目录 @Lookup方法的定义 @Lookup方法的实现 @Lookup方法的使用场景 @Lookup方法的注意事项 @Lookup方法的扩展 @Lookup方法的底层工作原理 @Lookup方法实战的问题与解决方案 @Lookup方法是Spring框架中的一种依赖注入方式,用于解决原型Bean 阅读全文
posted @ 2023-06-27 12:15 我是廖志伟 阅读(73) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Import注解你真的会用吗
摘要:文章目录 @Import之导入ImportBeanDefinitionRegistrar类型的作用 @Import之导入ImportSelector类型的作用 @Import之导入普通类的作用 @Import之底层工作原理剖析 @Import之实战问题与解决方案 问题一:@Import导入的配置类无 阅读全文
posted @ 2023-06-27 08:15 我是廖志伟 阅读(14) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Primary注解你真的会用吗
摘要:文章目录 @Primary注解的作用 @Primary注解的使用 1. 常见使用 1.1 在单个配置类中标记@Primary 1.2 在单个@Service、@Controller等注解的类中标记@Primary 2. 高级用法 2.1 使用@Qualifier与@Primary组合 2.2 使用@ 阅读全文
posted @ 2023-06-27 08:00 我是廖志伟 阅读(135) 评论(0) 推荐(0) 编辑
【架构师基本功】高可用设计原则
摘要:文章目录 1. 备份和恢复机制 2. 负载均衡 1. 垂直扩展 2. 水平扩展 3. 使用负载均衡设备 3. 避免单点故障 1. 使用冗余组件 2. 使用热备份 4. 异地容灾 1. 备份数据到异地 2. 备份系统到异地 3. 配置冗余系统 高可用性是指系统在遭受故障或异常情况时仍然能够保持其正常运 阅读全文
posted @ 2023-06-26 18:35 我是廖志伟 阅读(147) 评论(0) 推荐(0) 编辑
【架构师基本功】高可扩展设计原则
摘要:文章目录 1. 分离需要变化的部分 1. 分析系统中哪些部分需要变化,哪些不需要变化。 2. 将需要变化的部分与不需要变化的部分分离开来。 3. 将需要变化的部分定义为一个独立的模块或组件,将其与其他组件隔离开来,实现模块化设计。 2. 遵循“开闭原则” 1. 系统设计阶段 2. 扩展阶段 3. 修 阅读全文
posted @ 2023-06-26 18:33 我是廖志伟 阅读(13) 评论(0) 推荐(0) 编辑
【架构师基本功】高并发设计原则
摘要:文章目录 分布式架构设计原则 缓存设计原则 异步消息处理原则 数据库设计原则 负载均衡原则 安全性设计原则 作为一名架构师,高并发设计是必备的基本功之一。下面介绍几个高并发设计的原则。 分布式架构设计原则 采用分布式的架构可以实现负载均衡和容错性,以及容易扩展性。分布式架构的设计需要考虑网络通信、分 阅读全文
posted @ 2023-06-26 15:31 我是廖志伟 阅读(92) 评论(0) 推荐(0) 编辑
面试:第十四章:大厂中高级java程序员面试题
摘要:最近收集了一些在大厂工作月薪20k的中高级java开发工程师面试题,给大家分享一下 阅读全文
posted @ 2023-06-26 13:11 我是廖志伟 阅读(174) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Resource注解你真的会用吗
摘要:文章目录 注入各种类型的依赖项 依赖注入方式 在多个作用域中进行依赖注入 创建和管理JDBC数据源、JMS队列和其他类型的资源 @Resource和@Autowired注解的区别 @Resource和@Inject注解的区别 @Resource注解的作用域范围 @Resource注解的使用注意事项 阅读全文
posted @ 2023-06-26 12:15 我是廖志伟 阅读(21) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Lazy注解你真的会用吗
摘要:文章目录 @Lazy在字段上的作用 @Lazy在方法和参数上的作用 @Lazy在构造方法上的作用 @Lazy注解的用法 @Lazy注解和其他注解的关系 @Lazy注解在实际开发中的应用场景和注意事项 1. 延迟加载 2. 循环依赖 3. 注意事项 @Lazy注解底层工作原理 @Lazy在字段上的作用 阅读全文
posted @ 2023-06-26 08:30 我是廖志伟 阅读(342) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Configuration注解你真的会用吗
摘要:文章目录 @Configuration注解声明配置类 @Configuration注解声明Bean对象 @Configuration注解声明Bean对象的作用域 1. singleton 2. prototype 3. web request 4. web session 5. web applic 阅读全文
posted @ 2023-06-26 08:15 我是廖志伟 阅读(8) 评论(0) 推荐(0) 编辑
【架构师基本功】架构设计协议PAXOS
摘要:文章目录 一、PAXOS协议概述 二、PAXOS协议的基本过程 1.准备阶段(prepare) 2.承诺阶段(promise) 3.接受阶段(accept) 4.承诺响应阶段(acknowledge) 5.学习阶段(learn) 三、PAXOS协议的特性 1.高可用性 2.高可扩展性 3.高性能 4 阅读全文
posted @ 2023-06-25 19:23 我是廖志伟 阅读(8) 评论(0) 推荐(0) 编辑
【架构师基本功】架构设计协议CAP/BASE
摘要:文章目录 一、CAP/BASE协议介绍 二、CAP协议 1. 一致性(Consistency) 2. 可用性(Availability) 3. 分区容错性(Partition tolerance) 三、BASE协议 1. 基本可用性(Basically Available) 2. 软状态(Soft 阅读全文
posted @ 2023-06-25 18:51 我是廖志伟 阅读(32) 评论(0) 推荐(0) 编辑
【架构师基本功】基础架构设计原则
摘要:文章目录 1. 可用性 1. 多次合适的部署 2. 高可用性 3. 备份 4. 灾难恢复 2. 可扩展性 1. 反射机制 2. 面向对象编程(OOP) 3. API 和协议 4. 设计模式 5. 配置管理 6. 安全管理 3. 安全性 1. 加密技术 2. 多重身份验证 3. 安全门禁 4. 安全日 阅读全文
posted @ 2023-06-25 16:17 我是廖志伟 阅读(15) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring AOP
摘要:文章目录 Spring AOP有哪些使用方式 1. 基于XML配置方式 2. 基于注解方式 3. 基于Java配置方式 4. 基于Schema配置方式 SpringAOP之ProxyFactoryBean 1. ProxyFactoryBean类简介 2. 使用ProxyFactoryBean创建代 阅读全文
posted @ 2023-06-25 10:45 我是廖志伟 阅读(4) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring中Bean是线程安全的吗?
摘要:文章目录 Spring中Bean是线程安全的吗 1. Bean的作用域声明 2. Spring容器创建Bean实例 3. 多线程环境下的线程安全问题 4. 使用ThreadLocal解决线程安全问题 Spring中Bean是线程安全的吗 1. Bean的作用域声明 在Spring中,我们可以使用@S 阅读全文
posted @ 2023-06-24 20:30 我是廖志伟 阅读(41) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring中的Bean创建的生命周期有哪些步骤?
摘要:文章目录 Spring中的Bean创建的生命周期有哪些步骤? 1. 实例化Bean的步骤 2. 设置Bean属性步骤 3. 调用Bean的“初始化方法”步骤 4. Bean可以使用步骤 5. 调用Bean的“销毁方法”步骤 代码示例 Spring中的Bean创建的生命周期有哪些步骤? 1. 实例化B 阅读全文
posted @ 2023-06-24 16:15 我是廖志伟 阅读(22) 评论(0) 推荐(0) 编辑
James邮件服务器
摘要:James邮件服务器 James邮件服务器 安装James 打开虚拟机,打开SecureFXPortable.exe 上传apache-james-3.0-beta4-app.zip 到/opt、 打开SecureCRTPortable.exe cd /opt 解压apache-james-3.0- 阅读全文
posted @ 2023-06-24 16:14 我是廖志伟 阅读(37) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring工具
摘要:文章目录 Spring工具之国际化 1. 使用MessageSource接口 2. 使用注解 3. 使用Spring Boot自动配置 Spring工具之资源加载 Spring工具之获取运行时环境 Spring工具之事件发布 Spring工具之Order比较器 Spring工具之类的元数据读取器 S 阅读全文
posted @ 2023-06-24 14:30 我是廖志伟 阅读(4) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring容器启动流程是怎样的
摘要:文章目录 Spring容器启动流程是怎样的 1. 加载配置文件 2. 实例化Bean 3. 属性设置 4. 初始化方法 5. 使用Bean 6. 销毁方法 Spring容器启动流程是怎样的 1. 加载配置文件 Spring容器通过BeanFactory或ApplicationContext从配置文件 阅读全文
posted @ 2023-06-24 13:45 我是廖志伟 阅读(24) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】SpringMVC处理一个请求的流程是怎样的?
摘要:文章目录 概念和组件 步骤 细节和补充 底层工作原理 实战中SpringMVC处理一个请求的问题与解决方案 概念和组件 在Spring MVC的请求处理流程中,有几个重要的概念和组件需要了解: DispatcherServlet:它是Spring MVC的入口,接收并处理所有的请求。Dispatch 阅读全文
posted @ 2023-06-24 11:15 我是廖志伟 阅读(11) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring中的事务
摘要:文章目录 Spring中的事务是如何实现的? 1. 事务管理器(TransactionManager) 2. 事务定义(TransactionDefinition) 3. 事务状态(TransactionStatus) 4. 事务切面(TransactionAspectSupport) 5. 事务注 阅读全文
posted @ 2023-06-24 10:30 我是廖志伟 阅读(4) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Autowired你真的会用吗
摘要:文章目录 1.@Autowired底层工作原理 2.@Autowired高级用法 1. @Autowired 可以用于构造函数 2. @Autowired 可以结合 @Qualifier 使用 3. @Autowired 可以结合 @Primary 使用 4. @Autowired 可以结合 @La 阅读全文
posted @ 2023-06-23 19:45 我是廖志伟 阅读(7) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Conditional你真的会用吗
摘要:文章目录 @Conditional应用场景 @Conditional底层实现原理 @Conditional用法 实战中@Conditional的问题与解决方案 @Conditional应用场景 @Conditional 是一个 Spring 框架中的注解,可以根据特定的条件来决定是否创建某个 Bea 阅读全文
posted @ 2023-06-23 11:45 我是廖志伟 阅读(40) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@ComponentScan你真的会用吗
摘要:文章目录 1.@ComponentScan介绍 2.@ComponentScan底层实现 3.@ComponentScan高级用法 1. 指定排除和包含的类 2. 指定扫描的类 3. 指定扫描的特定注解 @ComponentScan之扫描索引 4.实战中@ComponentScan的问题与解决方案 阅读全文
posted @ 2023-06-23 08:45 我是廖志伟 阅读(13) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Bean之自定义注解
摘要:文章目录 1.自定义注解 2.@Bean的底层实现 3.@Bean 注解的属性 4.@Bean的自定义注解高级用法 1. 自定义@Bean注解属性 2. 自定义注解中引用其他注解 5.实战中@Bean之自定义注解的问题与解决方案 1.自定义注解 自定义注解可以给我们带来很大的灵活性和可读性,同时也可 阅读全文
posted @ 2023-06-22 19:45 我是廖志伟 阅读(41) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Bean中的autowireCandidate属性
摘要:文章目录 1. autowireCandidate属性的含义 2. autowireCandidate属性的使用场景 (1) 当存在多个相同类型的Bean时,我们可以通过设置autowireCandidate属性的值来指定哪些Bean可以被自动装配。在Spring中,当存在多个相同类型的Bean时, 阅读全文
posted @ 2023-06-22 11:45 我是廖志伟 阅读(44) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Bean中的autowire属性
摘要:文章目录 1.autowire属性 2.自动装配Bean 3.实战中@Bean中的autowire属性的问题与解决方案 1.autowire属性 在Spring中,@Bean注解用于配置一个Bean实例,并且可以使用属性autowire来指定Bean的自动装配方式。autowire属性可以有四个值: 阅读全文
posted @ 2023-06-22 08:45 我是廖志伟 阅读(68) 评论(0) 推荐(0) 编辑
【实现每秒1,000,000个请求的秒杀接口】
摘要:文章目录 建立高并发架构优化数据库访问使用缓存限流熔断措施安全防范接口优化持续优化 实现每秒1,000,000个请求的秒杀接口,需要考虑以下步骤: 建立高并发架构 使用分布式系统架构,采用集群、分布式缓存、消息队列等技术,分摊请求压力,提升系统承载能力。建立高并发架构需要使用分布式系统架构,这是因为 阅读全文
posted @ 2023-06-22 08:25 我是廖志伟 阅读(75) 评论(0) 推荐(0) 编辑
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
摘要:文章目录 Hive的安装与配置1. 安装 JDK2. 下载和安装 Hive3. 配置环境变量4. 配置 Hive 的元数据存储5. 配置 Hive6. 启动 Hive HBase的安装与配置通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBa 阅读全文
posted @ 2023-06-22 08:15 我是廖志伟 阅读(160) 评论(0) 推荐(0) 编辑
【JDK8/11/17流行版本对比详解】
摘要:文章目录 JDK8、JDK11和JDK17在互联网企业中流行的原因JDK8语言特性和API1. Lambda表达式2. Stream API3. Default方法4. 可重复注解5. 时间日期API6. 函数式接口7. CompletableFuture8. 新的集合处理方法9. Nashorn 阅读全文
posted @ 2023-06-22 08:08 我是廖志伟 阅读(832) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring之6.0核心新特性介绍
摘要:文章目录 1. WebFlux 2. Reactive Spring Data 3. Spring Native 4. Spring WebSocket支持 5. Kotlin扩展支持 6. JUnit5支持 7.实战中Spring之6.0核心新特性的问题与解决方案 Spring 6.0是目前最新的 阅读全文
posted @ 2023-06-21 19:45 我是廖志伟 阅读(76) 评论(0) 推荐(0) 编辑
理论:第六章:SpringCould组件有哪些,他们的作用是什么(说七八个)?微服务的CAP是什么?BASE是什么?
摘要:先讲五大核心组件,(偷个懒,嘻嘻)这里我引用一位大佬讲解的,原文地址是:https://juejin.im/post/5be13b83f265da6116393fc7 一、业务场景介绍 先来给大家说一个业务场景,假设咱们现在开发一个电商网站,要实现支付订单的功能,流程如下: 创建一个订单后,如果用户 阅读全文
posted @ 2023-06-21 15:16 我是廖志伟 阅读(18) 评论(0) 推荐(0) 编辑
接口文档:第二章:使用Swagger接口的文档在线自动生成
摘要:上一章:商城接口文档:第一章:简洁版接口文档。花了二天搞了一个比较简洁的接口文档,浪费时间不说,写的也不太好,不满意。这一章使用Swagger接口的文档在线自动生成省下不少时间,而且很规范。 导入Maven 版本号请根据实际情况自行更改。 <dependency> <groupId>io.sprin 阅读全文
posted @ 2023-06-21 13:01 我是廖志伟 阅读(87) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring之@Configuration底层原理详解
摘要:文章目录 1. BeanDefinition解析 2. 代理对象生成 3.实战中Spring之@Configuration的问题与解决方案 4.Java代码示例 @Configuration注解是Spring框架中常用的注解之一,它的作用是定义一个配置类,并且在其中定义一些Bean对象和Bean之间 阅读全文
posted @ 2023-06-21 11:45 我是廖志伟 阅读(41) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring之事务及传播机制底层原理详解
摘要:文章目录 1.事务管理器 2.事务传播机制 3.实战中Spring之事务及传播机制的问题与解决方案 1. 事务传播机制 2. 事务锁定 3. 异常处理 Spring框架的事务管理机制是其非常关键的一个特性。在Spring中,事务管理机制主要涉及到两个部分:事务管理器和事务传播机制。 1.事务管理器 阅读全文
posted @ 2023-06-21 08:30 我是廖志伟 阅读(30) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring之AOP底层实现原理详解
摘要:文章目录 1. 代理模式 2. 动态代理 1.JDK动态代理 2.CGLIB动态代理 3.实战中Spring之AOP的问题与解决方案 4.Java代码示例 Spring AOP底层实现原理主要包括代理模式和动态代理两方面。 1. 代理模式 在代理模式中,客户端通过代理来访问对象,代理持有对真实对象的 阅读全文
posted @ 2023-06-20 19:45 我是廖志伟 阅读(42) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring之初始化前、初始化、初始化后详解
摘要:文章目录 1. 初始化前 2. 初始化 (1)定位 (2)载入 (3)初始化 3. 初始化后 Spring是一个基于IoC(Inversion of Control)的容器,其核心是IoC容器,而IoC容器的核心是Bean工厂。初始化过程是IoC容器创建Bean工厂的过程,其中包括初始化前、初始化、 阅读全文
posted @ 2023-06-20 11:45 我是廖志伟 阅读(43) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring之依赖注入底层原理详解
摘要:文章目录 扫描并加载BeanDefinition 实例化Bean 注入Bean依赖关系 初始化Bean 将Bean注册到容器 实战中Spring之依赖注入的问题与解决方案 Spring的依赖注入底层原理主要是基于Java反射机制和BeanFactory实现的。具体的实现分为以下几个步骤: 扫描并加载 阅读全文
posted @ 2023-06-20 08:45 我是廖志伟 阅读(60) 评论(0) 推荐(0) 编辑
【ETL工具将数据源抽取到HDFS作为高可靠、高吞吐量的分布式文件系统存储】
摘要:ETL工具的安装与配置 常见的ETL工具包括Apache Nifi、Talend、Informatica、Datastage等。不论使用哪个工具,将数据源抽取到HDFS作为高可靠、高吞吐量的分布式文件系统存储是ETL工具的一项基本功能。 基于Talend工具): 1. 下载Talend工具安装包 在 阅读全文
posted @ 2023-06-20 08:30 我是廖志伟 阅读(58) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring之推断构造方法底层原理详解
摘要:文章目录 底层原理 1.推导器工作原理 2.推导器运行原理 3.推导器总结 Java代码示例 实战中Spring之推断构造方法有哪些问题以及解决方案 推断构造方法(Inferred Constructor)是Java 10中引入的新特性,它可以让Java编译器推断出一个构造方法的参数列表。这样,我们 阅读全文
posted @ 2023-06-19 19:45 我是廖志伟 阅读(43) 评论(0) 推荐(0) 编辑
实战:第八章:支付宝Native,JSAPI支付与微信Native,JSAPI,MWEB支付实现
摘要:首先是H5的支付,先看控制层的代码 @Autowired AliPayH5Bean aliPayH5Bean; @Autowired WxPayH5MWEB wxPayH5MWEB; @Autowired WxPayH5JSAPI wxPayH5JSAPI; @LoginRequired(isNee 阅读全文
posted @ 2023-06-19 17:10 我是廖志伟 阅读(80) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】Spring之Bean的生命周期步骤详解
摘要:文章目录 1.实例化Bean 2.依赖注入 3.调用Bean的初始化方法 4.使用Bean 5.调用Bean的销毁方法 1.实现DisposableBean接口 2.使用destroy-method属性 6.总结 Bean的生命周期是指从创建Bean对象,到Bean对象的销毁的整个过程。Spring 阅读全文
posted @ 2023-06-19 11:45 我是廖志伟 阅读(86) 评论(0) 推荐(0) 编辑
【Spring面试全家桶】@Value注解
摘要:文章目录 1. 解析属性值 2. 注入属性值 3. @Value注解高级用法 4.实战使用@Value注解出现的问题以及解决方案 1. 无法读取配置文件中的值 2. 类型转换错误 一、使用Spring提供的转换器 二、手动进行类型转换 3. 环境变量无法读取 4. 多个值的注入 @Value是Spr 阅读全文
posted @ 2023-06-19 08:45 我是廖志伟 阅读(59) 评论(0) 推荐(0) 编辑
【Apache Spark】
摘要:文章目录 Apache Spark的安装与配置Apache Spark用法Apache Spark的组件1. Spark Core2. Spark SQL3. Spark Streaming4. MLib5. GraphX6. SparkR7. PySpark8. Spark Submit Apac 阅读全文
posted @ 2023-06-19 08:27 我是廖志伟 阅读(64) 评论(0) 推荐(0) 编辑
【动态连接】
摘要:文章目录 动态连接小故事 动态连接 JVM动态连接指的是在程序运行时动态加载Java类以及链接和使用这些类的过程。这种方式可以在程序运行时以及运行时期间动态的加载一些类,为程序的灵活性以及可扩展性提供了很大的便利。 JVM的动态连接主要包括以下几个步骤: 加载:指的是将类的字节码文件加载到内存中,并 阅读全文
posted @ 2023-06-18 15:15 我是廖志伟 阅读(62) 评论(0) 推荐(0) 编辑
【CompletableFuture事件驱动异步回调】
摘要:文章目录 CompletableFuture事件驱动异步回调小故事 CompletableFuture事件驱动异步回调 CompletableFuture 是 Java 8 提供的一个强大的异步编程框架,它提供了一种基于事件驱动的回调方式,可以让我们非常方便地实现异步操作,并在操作完成后自动触发相应 阅读全文
posted @ 2023-06-18 11:00 我是廖志伟 阅读(83) 评论(0) 推荐(0) 编辑
【跨代引用】
摘要:文章目录 跨代引用小故事 跨代引用 跨代引用(Cross-Generation Reference)指的是对象之间的引用关系跨越了年轻代和老年代之间的边界。在垃圾收集时,由于存在跨代引用,年轻代和老年代之间会产生交互,这就需要进行特殊处理。 在 JVM 内存模型中,对象通过引用相互连接。如果一个对象 阅读全文
posted @ 2023-06-18 10:00 我是廖志伟 阅读(227) 评论(0) 推荐(0) 编辑
【JIT技术】
摘要:文章目录 1. JIT技术的概述2. JIT技术的工作原理3. JIT编译器的优点4. JIT编译器的缺点5. JIT技术的应用小故事 JIT(Just-In-Time)技术是Java虚拟机的一个重要组成部分,其主要作用是将Java的字节码转换为机器码,以提高Java程序的运行速度。以下是关于JIT 阅读全文
posted @ 2023-06-18 07:30 我是廖志伟 阅读(108) 评论(0) 推荐(0) 编辑
【Lock锁的使用与原理】
摘要:文章目录 Lock锁的使用与原理1. 基本使用2. 可重入锁3. 公平锁Lock锁的原理Lock锁的优缺点总结 小故事 Lock锁的使用与原理 Lock锁是Java Concurrency API中的一个重要机制,它用于实现多线程并发访问共享资源时的线程同步。与synchronized关键字相比,L 阅读全文
posted @ 2023-06-17 16:45 我是廖志伟 阅读(102) 评论(0) 推荐(0) 编辑
【栈帧操作数栈】
摘要:文章目录 栈帧操作数栈小故事 栈帧操作数栈 栈帧(Stack Frame)是在方法调用时创建的一个数据结构,其中包含局部变量和操作数栈。操作数栈(Operand Stack)是Java虚拟机中的一种数据结构,它用于存储方法执行时所需的操作数。 当一个方法被调用时,Java虚拟机会创建一个栈帧,并将其 阅读全文
posted @ 2023-06-17 14:00 我是廖志伟 阅读(43) 评论(0) 推荐(0) 编辑
分布式部署:第一章:zookeeper集群和solrcloud及redisCluster集群搭建
摘要:电商系统部署 第1章 集群解决方案 课程目标 目标1:说出什么是集群以及与分布式的区别 目标2:能够搭建Zookeeper集群 目标3:能够搭建SolrCloud集群 目标4:能够搭建RedisCluster集群 1.集群概述 1.1什么是集群 1.1.1集群概念 集群是一种计算机系统, 它通过一组 阅读全文
posted @ 2023-06-17 11:31 我是廖志伟 阅读(95) 评论(0) 推荐(0) 编辑
【OOM异常排查经验】
摘要:文章目录 OOM异常排查经验1. 查看OOM异常堆栈信息2. 查看Java堆内存使用情况3. 分析内存泄漏4. 优化代码和设置JVM参数 小故事 OOM异常排查经验 OOM(Out Of Memory)异常在Java中是一种很常见的异常,它通常是由于应用程序请求的内存超出了可用的内存范围,导致Jav 阅读全文
posted @ 2023-06-17 11:00 我是廖志伟 阅读(92) 评论(0) 推荐(0) 编辑
我的分享:第六章:IDEA的优秀插件
摘要:给大家分享一下IDEA比较好用的插件,提供地址:https://blog.csdn.net/win7system/article/details/83508313 个人常用插件MyBatis.log可以在控制台打印sql语句,常用于检查数据库中可执行的sql语句在xml中执行不了等问题 代码审查之前 阅读全文
posted @ 2023-06-17 09:38 我是廖志伟 阅读(6) 评论(0) 推荐(0) 编辑
【三色标记】
摘要:文章目录 JVM三色标记小故事 JVM三色标记 JVM三色标记是Java虚拟机在执行垃圾回收时使用的一种算法。这种算法将所有对象分为三种颜色:白色、灰色和黑色。初始时,所有对象都是白色的。在执行垃圾回收前,Java虚拟机会将某些对象标记为灰色,表示这些对象可能需要被回收,但是它们的引用对象还没有被标 阅读全文
posted @ 2023-06-17 09:30 我是廖志伟 阅读(83) 评论(0) 推荐(0) 编辑
【记忆集与卡表】
摘要:文章目录 1. 程序计数器(Program Counter Register)2. 虚拟机栈(VM Stack)3. 本地方法栈(Native Method Stack)4. Java堆(Java Heap)5. 方法区(Method Area)记忆集卡表小故事 JVM(Java虚拟机)的内存结构分 阅读全文
posted @ 2023-06-17 07:30 我是廖志伟 阅读(106) 评论(0) 推荐(0) 编辑
【线程的生命周期】
摘要:文章目录 线程的生命周期小故事 线程的生命周期 线程生命周期指的是一个线程从被创建到运行到结束的整个过程。一般来说,线程生命周期包括以下几个阶段: 新建状态(New):当一个线程被创建时,它处于新建状态。此时系统分配了线程所需的资源,但线程还没有开始运行。 就绪状态(Runnable):当线程的 s 阅读全文
posted @ 2023-06-16 19:45 我是廖志伟 阅读(42) 评论(0) 推荐(0) 编辑
【 Executor线程池原理与源码】
摘要:文章目录 Executor线程池原理与源码1. 线程池原理2. Executor框架源码3. 代码示例4. 总结 小故事 Executor线程池原理与源码 Executor是Java中一种常用的线程池实现,它提供了一种基于线程池的异步任务执行框架。在Java中,如果我们需要执行一个异步任务,通常会直 阅读全文
posted @ 2023-06-16 12:30 我是廖志伟 阅读(64) 评论(0) 推荐(0) 编辑
【JVM线上调优】
摘要:文章目录 1. 监控JVM内存使用情况2. 调整JVM堆大小3. 调整GC策略4. 监控JVM线程使用情况5. 监控JVM运行时信息小故事 JVM在线调优是保证Java应用程序高性能和稳定性的重要一环。通过调优,可以在保证可用性和稳定性的前提下,提高应用程序的吞吐量,降低响应时间,减少资源占用等问题 阅读全文
posted @ 2023-06-16 12:15 我是廖志伟 阅读(54) 评论(0) 推荐(0) 编辑
【虚拟机字节码执行引擎】
摘要:文章目录 虚拟机字节码执行引擎小故事 虚拟机字节码执行引擎是Java虚拟机的核心部分,它负责将Java源代码编译后的字节码文件解释成机器语言并执行。 虚拟机字节码执行引擎 下面是一个简单的代码示例,演示了如何使用Java字节码实现一个简单的加法运算: public class Adder { pub 阅读全文
posted @ 2023-06-16 08:45 我是廖志伟 阅读(19) 评论(0) 推荐(0) 编辑
【栈帧局部变量表】
摘要:文章目录 栈帧局部变量表小故事 栈帧局部变量表 栈帧(Stack Frame)是指在Java虚拟机(JVM)栈中,每个方法被调用时所分配的内存区域。栈帧由操作数栈(Operand Stack)、局部变量表(Local Variable Table)和帧数据(Frame Data)组成。其中,局部变量 阅读全文
posted @ 2023-06-16 08:45 我是廖志伟 阅读(58) 评论(0) 推荐(0) 编辑
【无锁并发框架Disruptor】
摘要:文章目录 无锁并发框架Disruptor一、Disruptor的原理二、Disruptor的使用1. 定义数据对象2. 定义数据处理逻辑3. 创建Disruptor对象4. 注册消费者事件处理器5. 启动Disruptor6. 发布Event 小故事 无锁并发框架Disruptor Disrupto 阅读全文
posted @ 2023-06-16 08:15 我是廖志伟 阅读(142) 评论(0) 推荐(0) 编辑
【GC的过程】
摘要:文章目录 1. 标记阶段2. 清除阶段3. 压缩阶段小故事 GC(垃圾回收)是程序自动管理内存的一种机制,通过扫描内存中的对象和引用,自动确定哪些对象是已死的(即无法再被访问),并将这些对象标记为垃圾,释放它们所占用的内存空间。下面我们将介绍GC的过程,并附上Java代码示例来说明。 1. 标记阶段 阅读全文
posted @ 2023-06-16 08:00 我是廖志伟 阅读(70) 评论(0) 推荐(0) 编辑
【安全点与安全区域】
摘要:文章目录 安全点安全区域小故事 安全点和安全区域都是指在某种危险环境中,可以保证人员生命安全的特定区域或位置。以下是它们的具体介绍: 安全点 安全点是指在危险环境中,为避免受到危险影响,人员可以撤离至的安全场所,通常也称为“避难所”。安全点的选择应遵循以下原则: 1.避免选择低洼地形和危险地带。 2 阅读全文
posted @ 2023-06-16 07:30 我是廖志伟 阅读(239) 评论(0) 推荐(0) 编辑
【volatile关键字】
摘要:文章目录 volatile关键字可见性有序性小故事 volatile关键字 volatile是Java中的关键字,它用于修饰变量,可以保证多个线程修改该变量时的可见性和有序性。下面我们来详细介绍一下volatile关键字。 可见性 当一个线程修改了一个volatile变量的值,其他线程能够立即看到这 阅读全文
posted @ 2023-06-15 19:45 我是廖志伟 阅读(15) 评论(0) 推荐(0) 编辑
【CompareAndSwap底层原理】
摘要:文章目录 CompareAndSwap底层原理小故事 CompareAndSwap底层原理 CompareAndSwap(CAS)是一种并发编程中的操作,它可以判断一个变量的当前值是否与预期值相同,如果相同,就将该变量的值设置为新值。CAS操作通常用于多线程并发访问的情况下,保证数据的一致性和正确性 阅读全文
posted @ 2023-06-15 12:30 我是廖志伟 阅读(57) 评论(0) 推荐(0) 编辑
【 class文件结构】
摘要:文章目录 1. 魔数(Magic Number)2. 版本号(Version)3. 常量池(Constant Pool)4. 访问标志(Access Flags)5. 类信息(Class Information)6. 属性表(Attributes)小故事 JVM(Java Virtual Machi 阅读全文
posted @ 2023-06-15 08:45 我是廖志伟 阅读(42) 评论(0) 推荐(0) 编辑
【Future&ForkJoin框架原理】
摘要:文章目录 Future&ForkJoin框架原理小故事 Future&ForkJoin框架原理 Future: Future是一种异步计算机制,可以在一个线程中提交一个任务,并在另一线程中的某个时候获取该任务的结果。Future提供了一个get方法,该方法会阻塞调用线程直到计算结果可用。Future 阅读全文
posted @ 2023-06-15 08:15 我是廖志伟 阅读(25) 评论(0) 推荐(0) 编辑
【空间分配担保策略】
摘要:文章目录 1. 什么是空间分配担保策略?2. 为什么需要空间分配担保策略?3. 如何实现空间分配担保策略?(1)基于伙伴系统的空间分配担保策略。(2)基于页式系统的空间分配担保策略。 4. 空间分配担保策略的优缺点小故事 空间分配担保策略是计算机内存管理中的一个重要机制,它用于保证进程在申请内存时获 阅读全文
posted @ 2023-06-15 07:30 我是廖志伟 阅读(64) 评论(0) 推荐(0) 编辑
【ThreadLocal】
摘要:文章目录 ThreadLocal小故事 ThreadLocal ThreadLocal类是Java中一个很重要的多线程工具,它提供了一种线程安全的变量访问方式。 ThreadLocal允许我们创建只在当前线程中有效的变量。也就是说,只要我们把变量放到ThreadLocal中,就可以保证每个线程都拥有 阅读全文
posted @ 2023-06-14 19:45 我是廖志伟 阅读(14) 评论(0) 推荐(0) 编辑
IDEA运行web项目需要的一些配置(tomcat,maven)
摘要: 阅读全文
posted @ 2023-06-14 17:51 我是廖志伟 阅读(22) 评论(0) 推荐(0) 编辑
【AtomicReference原子引用&AtomicInteger原子整型】
摘要:文章目录 1. AtomicReference原子引用 2. AtomicInteger原子整型 小故事 AtomicReference和AtomicInteger是Java提供的两种原子类,用来实现原子性操作。 1. AtomicReference原子引用 AtomicReference可以看做是 阅读全文
posted @ 2023-06-14 12:30 我是廖志伟 阅读(13) 评论(0) 推荐(0) 编辑
【方法调用(解析与分派)】
摘要:文章目录 方法调用(解析与分派)小故事 方法调用(解析与分派) 方法调用是指在程序运行时,程序通过方法名来执行这个方法的过程。方法调用的实现需要解析和分派两个步骤。 解析(Resolution)是指确定要调用的方法的过程。这个过程分为静态解析和动态解析两种方式: 静态解析:在编译期间就可以确定要调用 阅读全文
posted @ 2023-06-14 12:15 我是廖志伟 阅读(24) 评论(0) 推荐(0) 编辑
【内存泄漏与溢出】
摘要:文章目录 1. 静态集合类导致的内存泄漏2. 非常规使用ThreadLocal导致的内存泄漏3. 大量对象创建导致的内存溢出小故事 JVM(Java虚拟机)的内存管理机制是其一个重要的特色,这个机制包含了Java堆、方法区、虚拟机栈、本地方法栈和程序计数器等内存组成部分。但是,由于Java开发人员常 阅读全文
posted @ 2023-06-14 08:45 我是廖志伟 阅读(40) 评论(0) 推荐(0) 编辑
【阻塞队列BlockingQueue&非阻塞队列ConcurrentLinkedQueue&同步队列SyncQueue】
摘要:文章目录 阻塞队列BlockingQueue非阻塞队列ConcurrentLinkedQueue同步队列SyncQueue小故事 阻塞队列BlockingQueue 阻塞队列是一种数据结构,它具有线程安全性,可以用于多线程环境中的生产者消费者模式,其中生产者将消息插入队列,消费者将消息从队列中删除并 阅读全文
posted @ 2023-06-14 08:15 我是廖志伟 阅读(13) 评论(0) 推荐(0) 编辑
【强软弱虚引用】
摘要:文章目录 强引用软引用弱引用虚引用总结小故事 Java中的垃圾回收机制是自动的,JVM会定期检查对象是否可达。通过引用计数技术,JVM会根据对象的引用数来判断对象是否为垃圾,如果对象不再被引用,那么它就会被垃圾回收器回收。而强、软、弱、虚引用则是在Java中非常重要的概念,本文将详细介绍这四种引用类 阅读全文
posted @ 2023-06-14 08:00 我是廖志伟 阅读(17) 评论(0) 推荐(0) 编辑
【垃圾回收器】
摘要:文章目录 类型小故事 垃圾回收器是一种自动内存管理机制,它可以在程序执行过程中自动清理不再使用的内存,从而避免内存泄漏和程序崩溃。 类型 垃圾回收器可以分为不同的类型,主要包括以下几种: 引用计数法:当对象没有被引用时,垃圾回收器会自动将其从内存中删除,但这种方法无法解决循环引用的情况。 标记-清除 阅读全文
posted @ 2023-06-14 07:30 我是廖志伟 阅读(114) 评论(0) 推荐(0) 编辑
【Synchronized关键字】
摘要:文章目录 Synchronized关键字1. 对代码块进行同步2. 对方法进行同步 小故事 Synchronized关键字 Synchronized是Java中的关键字,它用于控制多线程之间的访问,保证同一时刻只有一个线程可以执行被锁定的代码块或方法。在多线程编程中,Synchronized是一种非 阅读全文
posted @ 2023-06-13 19:45 我是廖志伟 阅读(25) 评论(0) 推荐(0) 编辑
全文检索工具:第一章:Spring-data-elasticSearch搜索
摘要:快速上手:导入删除查询 引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependenc 阅读全文
posted @ 2023-06-13 19:16 我是廖志伟 阅读(27) 评论(0) 推荐(0) 编辑
【CountDownLatch&CyclicBarrier&Semaphore应用与原理】
摘要:文章目录 1. CountDownLatch 2. CyclicBarrier 3. Semaphore 小故事 1. CountDownLatch CountDownLatch是一种同步工具,它允许一个或多个线程等待一组事件的完成。CountDownLatch类的初始化计数器设置为N,唤醒操作者( 阅读全文
posted @ 2023-06-13 12:45 我是廖志伟 阅读(3) 评论(0) 推荐(0) 编辑
【方法返回地址】
摘要:文章目录 方法返回地址小故事 方法返回地址 Java虚拟机中的方法返回地址(Return Address)是指一个方法在执行到return语句时,需要跳转到调用该方法的位置继续执行。在Java虚拟机中,方法返回地址使用栈帧(Stack Frame)的方式进行保存和恢复。 以下是一个简单的示例代码,展 阅读全文
posted @ 2023-06-13 12:15 我是廖志伟 阅读(215) 评论(0) 推荐(0) 编辑
【逃逸分析】
摘要:文章目录 逃逸分析小故事 逃逸分析 在Java中,对象的创建和回收是需要成本的。有时,我们可能会创建不必要的对象,这会增加垃圾回收器的工作量,降低系统的性能。 逃逸分析是一个在Java虚拟机中进行的技术,它可以识别对象在整个程序中的生命周期,以便优化对象的创建和回收。 逃逸分析的目的是确定对象的使用 阅读全文
posted @ 2023-06-13 08:45 我是廖志伟 阅读(12) 评论(0) 推荐(0) 编辑
【深入理解同步器AQS】
摘要:文章目录 1. AQS原理2. AQS实现方式2.1 同步状态的管理2.2 等待队列的管理2.3 线程的阻塞与唤醒 3. AQS应用场景4. AQS代码实现总结小故事 AQS(AbstractQueuedSynchronizer)是Java中提供的一个同步器框架,可以用来实现各种同步工具,如Reen 阅读全文
posted @ 2023-06-13 08:15 我是廖志伟 阅读(65) 评论(0) 推荐(0) 编辑
【可达性分析】
摘要:文章目录 “GC Roots”对象JVM 的可达性分析过程小故事 JVM 的可达性分析是 Java 虚拟机自动进行垃圾回收的一种技术,其基本思路是通过一系列的“GC Roots”对象作为起始点,从这些根对象开始向下搜索,搜索到的对象称为“可达对象”,而没有搜索到的对象则认为是“不可达对象”,即可以进 阅读全文
posted @ 2023-06-13 08:00 我是廖志伟 阅读(126) 评论(0) 推荐(0) 编辑
【垃圾回收算法】
摘要:文章目录 1. 标记-清除算法2. 复制算法3. 标记-压缩算法小故事 垃圾回收算法是指自动垃圾回收机制的具体实现方法。它们被用来在程序运行时自动管理内存,并且确保不再使用的内存可以被清理掉,从而减少内存泄漏和程序崩溃的风险。 常见的垃圾回收算法有标记-清除、复制和标记-压缩等。以下是它们的详细介绍 阅读全文
posted @ 2023-06-13 07:30 我是廖志伟 阅读(91) 评论(0) 推荐(0) 编辑
【MySQL的CheckPoint技术】
摘要:MySQL的 CheckPoint (CheckPoint)技术,又称" redo log"(Redo log),是 MySQL数据库的核心技术之一,其目的是在发生故障或故障时,保证数据库中存储的数据可以得到有效的修复。对数据库进行的修改,包括写入,更新,删除等,都要进行相应的文档化,以确保数据在任 阅读全文
posted @ 2023-06-12 21:57 我是廖志伟 阅读(77) 评论(0) 推荐(0) 编辑
分布式CAP理论(英文版)
摘要:In a distant country, there is a place called the Distributed Kingdom. The residents here have unique talent and courage to work together to create a 阅读全文
posted @ 2023-06-12 09:05 我是廖志伟 阅读(21) 评论(0) 推荐(0) 编辑
【程序员有哪些绝对不能踩的坑】
摘要:文章目录 一、你在编写代码时,会特别注意哪些流程?二、你在工作过程中踩过哪些坑?你是如何处理的呢?三、结合自身工作经验,分享一下程序员有哪些要避免的坑吧。 程序员编写高质量、可维护、安全且高效的代码,通常需要大量研究和经验。但也需要避免许多技术陷阱。一起来聊聊程序员有哪些绝对不能踩的坑吧! 一、你在 阅读全文
posted @ 2023-06-12 08:45 我是廖志伟 阅读(23) 评论(0) 推荐(0) 编辑
【如何入门编程】
摘要:文章目录 一、自学编程需要注意什么?二、编程初学者学什么语言好?三、编程中,有哪些好的习惯从一开始就值得坚持?四、如何学习编程?五、编程新手如何提高编程能力六、编程资料分享![在这里插入图片描述](https://img-blog.csdnimg.cn/9b49dcdd0cc3446fa29af72 阅读全文
posted @ 2023-06-12 07:45 我是廖志伟 阅读(111) 评论(0) 推荐(0) 编辑
【如何系统的学习it技术】
摘要:文章目录 一、it技术介绍二、学习前的准备工作三、学习时的具体操作四、如何巩固学习 无论是初学者还是有经验的专业人士,在学习一门新的IT技术时,都需要采取一种系统性的学习方法。那么作为一名技术er,你是如何系统的学习it技术的呢。 一、it技术介绍 IT技术介绍是关于信息技术领域的介绍,涉及了计算机 阅读全文
posted @ 2023-06-11 14:15 我是廖志伟 阅读(61) 评论(0) 推荐(0) 编辑
聊聊能独立或带领团队Java工程师成员完成服务端代码的研发工作能力
摘要:作为一个能独立或带领团队Java工程师成员完成服务端代码的研发工程师,需要具备以下方面的技能和能力: 扎实的编程基础。熟悉Java语言和相关框架(如Spring、MyBatis等),对于常用的数据结构和算法有深刻的理解和应用能力。 对于数据库技术有一定的了解。熟悉关系型数据库(如MySQL、Orac 阅读全文
posted @ 2023-06-11 11:30 我是廖志伟 阅读(16) 评论(0) 推荐(0) 编辑
聊聊【需求分析、文档编写、原型设计文档输出能力】
摘要:需求分析、文档编写和原型设计是软件开发中非常重要的工作环节,以下是它们的详细解释: 需求分析 需求分析是指对用户需求进行分析和调查的过程,以便于建立准确的需求文档。在需求分析过程中,需要了解用户的真实需求,梳理用户的业务流程和功能需求,识别用户的目标和问题,为软件开发提供明确的方向。 需求分析的核心 阅读全文
posted @ 2023-06-11 10:30 我是廖志伟 阅读(189) 评论(0) 推荐(0) 编辑
聊聊结合业务需求给出合理的技术解决方案,改进现有模块功能,提高系统的可扩展性,封装性,稳定性
摘要:针对提高系统的可扩展性、封装性、稳定性,改进现有模块功能,以下是我给出的一些技术解决方案: 使用面向对象编程的设计模式:可以采用一些设计模式如单例模式、工厂模式、观察者模式等,来提高系统的可扩展性和封装性。 应用微服务架构:可以将系统拆分成多个独立的服务,使得每个服务都可以独立地开发、部署和扩展,从 阅读全文
posted @ 2023-06-11 09:30 我是廖志伟 阅读(64) 评论(0) 推荐(0) 编辑
聊聊深入挖掘业务需求,可0-1设计高可用、高并发、高伸缩的分布式项目架构,环境搭建、自动化部署、服务器环境线上排查、性能评估
摘要:深入挖掘业务需求是设计一个高可用、高并发、高伸缩的分布式项目架构的基础。在挖掘业务需求时,需要从多个方面来考虑,例如业务场景、用户量、数据量、安全性等,以便于设计出更适合业务需求的分布式项目架构。 在设计分布式项目架构时,需要考虑高可用、高并发、高伸缩性等问题。为了实现高可用,可以采用主从或者集群等 阅读全文
posted @ 2023-06-10 17:00 我是廖志伟 阅读(15) 评论(0) 推荐(0) 编辑
【炫技的代码写法】
摘要:文章目录 一、编程语言介绍二、炫技代码分享三、案例分享四、如何学习高级技术 程序员常常被视为具有超强技术能力的人才,而他们手中的代码也往往充满了令普通人惊叹的炫技操作。程序员的你,有哪些炫技的代码写法?快来和大家一起分享一下吧~ 一、编程语言介绍 编程语言是一种人和计算机之间进行通信的方式,它是一种 阅读全文
posted @ 2023-06-10 15:45 我是廖志伟 阅读(59) 评论(0) 推荐(0) 编辑
【深入研究Hotspot源码与Linux内核】
摘要:文章目录 如何研究代码实现核心组件1. 类加载器(Class Loader)2. 字节码解释器(Bytecode Interpreter)3. 内存管理器(Memory Manager) 如何研究 深入研究Hotspot源码与Linux内核源码是一个复杂且耗时的过程。这里我们仅提供一个概述,帮助你了 阅读全文
posted @ 2023-06-10 10:15 我是廖志伟 阅读(112) 评论(0) 推荐(1) 编辑
聊聊Linux常用命令、Docker容器化、本地镜像仓库、GitLab私服、Jenkins自动化部署
摘要:Linux常用命令: ls:列出目录下的文件和子目录。cd:切换当前目录。mkdir:创建目录。rm:删除文件或目录。cp:复制文件或目录。mv:移动文件或目录。pwd:显示当前工作目录的路径。touch:创建新文件。cat:显示文件内容。grep:查找文件中的指定字符串。 Docker容器化: D 阅读全文
posted @ 2023-06-09 20:30 我是廖志伟 阅读(22) 评论(0) 推荐(0) 编辑
Docker:第三章:简单入门和深入理解
摘要:本人亲自阅读推荐 Docker 极简入门指南:https://gitbook.cn/gitchat/column/5a13be9775462408e0da8d9d 深入浅出 Docker 技术栈实践:https://gitbook.cn/gitchat/column/59e464726958416d 阅读全文
posted @ 2023-06-09 20:30 我是廖志伟 阅读(5) 评论(0) 推荐(0) 编辑
【Kubernetes中Gateway和ServiceEntry使用、SDS认证授权等使用】
摘要:文章目录 1. Gateway和ServiceEntry使用2. SDS认证授权使用1. 部署Istio服务网格2. 配置SDS3. 确认Istio SDS已启用4. 配置认证和授权策略5. 配置Kubernetes Secrets6. 更新Istio Gateway配置 Kubernetes中的G 阅读全文
posted @ 2023-06-09 19:45 我是廖志伟 阅读(40) 评论(0) 推荐(0) 编辑
【Netty底层数据交互源码】
摘要:文章目录 如何学习Netty的底层小故事关键组件Java的NIO库Netty的I/O多路复用机制和异步编程模型TCP/IP协议栈的工作原理,包括三次握手、滑动窗口、拥塞控制等机制Netty的事件驱动模型,如何定义和使用ChannelHandler,以及它们如何与Netty的事件模型进行交互使用Net 阅读全文
posted @ 2023-06-09 08:15 我是廖志伟 阅读(25) 评论(0) 推荐(0) 编辑
各种高性能IO通信模型
摘要:文章目录 理论基础小故事讲解 理论基础 高性能的IO通信模型通常用于网络编程中,它们的选择取决于应用的需求。以下是一些常见的IO通信模型: 阻塞式IO:这是最基本的IO通信模型。在这种模型中,当一个线程进行IO操作(例如读取或写入数据)时,它会被阻塞,直到操作完成。这种方式简单易懂,但在多线程或多进 阅读全文
posted @ 2023-06-09 08:00 我是廖志伟 阅读(32) 评论(0) 推荐(0) 编辑
【Kubernetes的Knative Servina、Knative Eventing 核心概念及Broker、Channel and Trigger使用】
摘要:Knative是一个构建在Kubernetes上的平台,它提供了一些高级别的抽象,简化了构建和管理云原生应用程序的过程。其中,Knative Serving用于自动管理应用程序的版本和流量分发,让开发者只需要专注于代码编写;Knative Eventing为云原生应用程序提供了事件驱动的能力,支持事 阅读全文
posted @ 2023-06-09 07:45 我是廖志伟 阅读(35) 评论(0) 推荐(0) 编辑
双亲委派机制
摘要:在一个遥远的王国里,有两个王国——狮子王国和天鹅王国。狮子王国的国王和天鹅王国的国王都有一个共同的目标:保护自己的人民免受侵害。在这两个王国中,有一个特别的保护者——狮子和天鹅的双重守护者。 起初,狮子和天鹅的双重守护者每次都会根据收到的求助信息,立即前往需要帮助的地方。但是,随着时间的推移,他们开 阅读全文
posted @ 2023-06-09 07:07 我是廖志伟 阅读(34) 评论(0) 推荐(0) 编辑
类加载机制
摘要:在一个遥远的世界里,有一座名叫“魔法森林”的地方。森林里住着一群神奇的生物,它们的生活依靠一种叫做“魔法”的能量。魔法森林里有各种各样的魔法植物,比如能够为人们带来好运的“幸运草”,还有能够治愈疾病的“治愈之花”。 在这个魔法森林里,有一只名叫“魔法书”的神奇生物。它的身躯是一本巨大的魔法书,里面记 阅读全文
posted @ 2023-06-08 21:42 我是廖志伟 阅读(10) 评论(0) 推荐(0) 编辑
【Kubernetes的DevOps自动化,Jenkins上的Pipeline实现自动化构建、测试、部署、发布以及Bookinginfo实例的部署灰度发布故障注入流量】
摘要:文章目录 步骤对于Kubernetes的DevOps自动化,Jenkins上的Pipeline可以实现自动化构建、测试、部署和发布。对于Bookinginfo实例的部署灰度发布故障注入流量 步骤 对于Kubernetes的DevOps自动化,Jenkins上的Pipeline可以实现自动化构建、测试 阅读全文
posted @ 2023-06-08 19:15 我是廖志伟 阅读(81) 评论(0) 推荐(0) 编辑
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
摘要:Kubernetes系统原理: Kubernetes是一个开源的容器编排平台,主要用于自动化容器部署、扩展和管理。它的核心原理是通过定义Pod和Deployment等资源对象来描述应用程序的部署状态,然后通过Kubernetes控制器来自动化管理这些资源对象的状态。Kubernetes还提供了负载均 阅读全文
posted @ 2023-06-08 12:15 我是廖志伟 阅读(16) 评论(0) 推荐(0) 编辑
聊聊【产品需求讨论、项目开发计划制定、控制项目风险、负责技术小组日常管理工作、进度检验与管理、任务分配、Code审查、负责指导、培训普通开发工程师、代码review、审核开发工程师的设计与研发质量】
摘要:在一个软件开发项目中,产品需求讨论、项目开发计划制定、控制项目风险、负责技术小组日常管理工作、进度检验与管理、任务分配、Code审查、负责指导、培训普通开发工程师、代码review、审核开发工程师的设计与研发质量等任务通常由项目经理(Project Manager)或团队领导(Team Lead)负 阅读全文
posted @ 2023-06-08 08:00 我是廖志伟 阅读(17) 评论(0) 推荐(0) 编辑
【动态规划的Java实现及其应用】
摘要:文章目录 动态规划(Dynamic Programming,DP)概述 动态规划的实现步骤 动态规划的底层工作原理 动态规划的实际应用场景 动态规划(Dynamic Programming,DP)概述 动态规划是一种优化算法,旨在解决具有重叠子问题和最优子结构的问题。它将问题分解为子问题,并将子问题 阅读全文
posted @ 2023-06-08 08:00 我是廖志伟 阅读(276) 评论(0) 推荐(0) 编辑
【毕业季】以梦为马,不负韶华!历尽千帆去,归来仍少年!
摘要:文章目录 1、回顾自己的大学时光,分享自己的成长经历、收获和遗憾2、给即将毕业的同学们一些建议3、在学习中遇到的一些挫折以及解决方法4、在校期间的学习经验和方法分享5、自己对未来职业发展的规划和期望6、大学期间的创业经历和启示7、自己在职场中的经验分享 岁月不居,时节如流。转眼又是一年毕业季。希望我 阅读全文
posted @ 2023-06-08 07:15 我是廖志伟 阅读(65) 评论(0) 推荐(0) 编辑
【二分查找的Java实现及其应用】
摘要:文章目录 二分查找(Binary Search)概述 二分查找的实现步骤 二分查找的底层工作原理 二分查找的实际应用场景 二分查找的其他应用领域 二分查找(Binary Search)概述 二分查找是一种在有序数组中查找特定元素的搜索算法。它的时间复杂度为 O(log n),对于大数据集具有较高的性 阅读全文
posted @ 2023-06-08 03:00 我是廖志伟 阅读(21) 评论(0) 推荐(0) 编辑
happens-before和as-if-serial语义
摘要:尝试用一个小故事来解释happens-before和as-if-serial语义。 从前,有一个叫做小米的学生,他有一个爷爷,叫做老张。老张年轻的时候是一个研究数学的教授,他有一个特殊的爱好——下象棋。小米受到爷爷的影响,从小就学会了下象棋。一天,老张带着小米到公园下象棋。公园里有很多人在下象棋,他 阅读全文
posted @ 2023-06-07 22:38 我是廖志伟 阅读(14) 评论(0) 推荐(0) 编辑
【 Kubernetes的Kiali、prometheus、grafana和ELK系统】
摘要:文章目录 介绍使用与配置安装使用Helm安装使用Kubectl安装配置KialiPrometheus、Grafana和ELKPrometheus和GrafanaELK 总结 介绍 Kiali、Prometheus、Grafana和ELK系统都是Kubernetes的监控和日志数据分析工具。它们可以帮 阅读全文
posted @ 2023-06-07 20:00 我是廖志伟 阅读(208) 评论(0) 推荐(0) 编辑
【Kubernetes的Service Mesh发展历程及Istio架构、存储供应使用NFS flexvolume CSI接口】
摘要:文章目录 Kubernetes的Service Mesh发展历程存储供应使用NFS flexvolume CSI接口Istio架构存储供应使用NFS flexvolume CSI接口 Kubernetes的Service Mesh发展历程 自2017年起,Service Mesh成为Kubernet 阅读全文
posted @ 2023-06-07 12:15 我是廖志伟 阅读(9) 评论(0) 推荐(0) 编辑
【Kubesphere 云平台使用、具备两地三中心与三地五中心容灾架构实战】
摘要:Kubesphere 是一个基于 Kubernetes 的开源云原生平台,支持多云、多数据中心、多集群管理。在实现高可用性方面,Kubesphere 支持两地三中心或三地五中心容灾架构。 以下是具体实现步骤: 部署 Kubesphere 首先,需要在两个或三个数据中心中分别部署 Kubesphere 阅读全文
posted @ 2023-06-07 08:45 我是廖志伟 阅读(37) 评论(0) 推荐(0) 编辑
【贪心算法的Java实现及其应用】
摘要:文章目录 贪心算法概述贪心算法的实现步骤贪心算法的Java实现贪心算法的局限性贪心算法与其他算法的比较 贪心算法概述 贪心算法是一种在解决问题时总是做出在当前看来是最好选择的算法。贪心算法的基本思想是通过每一次的局部最优解来达到全局最优解。贪心算法可以应用于许多问题,如求解最大最小问题、最优装载问题 阅读全文
posted @ 2023-06-07 08:00 我是廖志伟 阅读(207) 评论(0) 推荐(0) 编辑
【蚁群算法的Java实现及其应用】
摘要:文章目录 Java实现蚁群算法 实现步骤 底层工作原理 代码示例 优化方案 Java实现蚁群算法 实现步骤 定义问题:首先,需要明确需要优化的问题类型。例如,可以是求解最优路径、求解最短路径、最小生成树等。 确定蚁群参数:蚁群算法的参数包括蚂蚁数量、信息素初始浓度、信息素更新方式、蚂蚁遍历新路径的概 阅读全文
posted @ 2023-06-07 08:00 我是廖志伟 阅读(228) 评论(0) 推荐(0) 编辑
【AI歌手】
摘要:文章目录 一、你听过AI歌手的音乐呈现吗?作为听众你的感受如何?二、你认为这种新型演艺模式能否获得广泛的市场认可?原因是什么?三、你认为AI歌手会取代流行歌手成为主流吗?四、你所了解到的这类AI应用还有哪些呢?可以分享一下。 你听过AI歌手吗?近日,“AI孙燕姿”火遍全网,AI孙燕姿翻唱林俊杰的《她 阅读全文
posted @ 2023-06-07 07:30 我是廖志伟 阅读(87) 评论(0) 推荐(0) 编辑
【Kubernetes测试生产环境整体部署及全链路测试、自动化运维平台Jenkins与Devops环境搭建】
摘要:文章目录 1. Kubernetes测试生产环境整体部署2. 全链路测试3. 自动化运维平台Jenkins与Devops环境搭建 1. Kubernetes测试生产环境整体部署 首先,需要安装和配置Kubernetes集群。可以使用Kubeadm工具进行快速部署,具体步骤如下: 安装Docker和K 阅读全文
posted @ 2023-06-06 19:15 我是廖志伟 阅读(41) 评论(0) 推荐(0) 编辑
【深入研究NIO与Netty线程模型的源码】
摘要:在这篇文章中,我们将深入研究NIO和Netty的线程模型的源码。首先,我们会概述一下NIO和Netty的基本概念,然后分析Netty的线程模型以及如何处理IO事件。我们将详细讨论Netty的Buffer、Channel、Selector和EventLoop等组件。 NIO和Netty简介 NIO(N 阅读全文
posted @ 2023-06-06 12:15 我是廖志伟 阅读(23) 评论(0) 推荐(0) 编辑
【Kubernetes的Configmap、SecretMetric service及HPA、Wordpress应用Mysql主从PVPVCSCHPA】
摘要:文章目录 1. Configmap2. Secret3. Metric service及HPA4. Wordpress应用Mysql主从PVPVCSCHPA Kubernetes是一个开源的容器编排平台,它可以让用户更轻松地管理、部署和扩展容器应用。以下是对于Configmap、Secret、Met 阅读全文
posted @ 2023-06-06 12:15 我是廖志伟 阅读(10) 评论(0) 推荐(0) 编辑
【如何入门Python】
摘要:文章目录 方向一:你是如何学习/自学 Python 的?方向二:Python 的练手项目有哪些值得推荐?方向三:Python 有哪些入门学习方法和值得推荐的经典教材?方向四:怎么用最短时间高效而踏实地学习 Python?方向五:如何处理 Python 入门难以进步的现象?方向六:Python 编程, 阅读全文
posted @ 2023-06-06 09:31 我是廖志伟 阅读(38) 评论(0) 推荐(0) 编辑
【如何获得铁粉】
摘要:文章目录 提供有价值的内容在社交媒体上积极互动利用社交媒体工具增加曝光度关注并互动其他有影响力的人维护铁粉关系给铁粉的话 想获得铁粉,需要以下几个步骤: 提供有价值的内容 铁粉是因为对你的内容或品牌产生了强烈的认同感、支持和依赖而产生的。因此,提供有价值的内容是获得铁粉的前提。 在社交媒体上积极互动 阅读全文
posted @ 2023-06-06 09:27 我是廖志伟 阅读(357) 评论(0) 推荐(0) 编辑
【回溯算法的Java实现及其应用】
摘要:文章目录 回溯算法概述 回溯算法的实现步骤 回溯算法的Java实现 回溯算法的底层工作原理 回溯算法的实际应用场景 回溯算法在场景中解决的问题 总结 回溯算法概述 回溯算法是一种通过迭代地尝试各种可能的解来解决问题的方法。回溯算法通常用于搜索问题的解空间,例如八皇后问题、数独问题、全排列问题等。回溯 阅读全文
posted @ 2023-06-06 08:15 我是廖志伟 阅读(128) 评论(0) 推荐(0) 编辑
【遗传算法的Java实现及其应用】
摘要:文章目录 Java中实现遗传算法 遗传算法简介 实现步骤 代码示例(Java) 应用场景 解决的问题 遗传算法工作原理 Java中实现遗传算法 遗传算法简介 遗传算法(Genetic Algorithm,GA)是一种启发式搜索算法,它受到生物进化过程的启发,通过模拟自然选择和遗传机制来寻找最优解。遗 阅读全文
posted @ 2023-06-06 08:00 我是廖志伟 阅读(198) 评论(0) 推荐(0) 编辑
故事会【JVM内存模型】
摘要:员可以通过编写 Java 代码,创建各种 Java 对象,就像在这个王国中创建各种公民一样。JVM 的内存管理机制会负责分配和回收这些对象,就像国王管理着这个国家的资源一样。 比如,当你创建一个 Java 对象时,JVM 会在堆上为这个对象分配一块内存。当这个对象不再被任何线程引用时,JVM 就会自 阅读全文
posted @ 2023-06-06 07:50 我是廖志伟 阅读(4) 评论(0) 推荐(0) 编辑
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
摘要:文章目录 步骤部署命令执行命令紧急扩容 步骤 部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos的步骤如下: 安装Docker和Kubernetes环境。 部署MySQL: a. 在Kubernetes中创建一个MySQL的Se 阅读全文
posted @ 2023-06-05 19:15 我是廖志伟 阅读(55) 评论(0) 推荐(0) 编辑
【百万级并发服务器架构的设计】
摘要:文章目录 设计要素 负载均衡器 无状态服务 缓存 消息队列 数据库 内存数据库 非阻塞IO 微服务架构 容错和故障恢复 设计要素 设计一个支持百万级并发的服务器架构需要考虑许多关键因素,包括: 负载均衡器: 这是用来分发流量到服务器的设备或软件,因为如果所有流量都直接请求单一服务器,那么这台服务器将 阅读全文
posted @ 2023-06-05 11:52 我是廖志伟 阅读(44) 评论(0) 推荐(0) 编辑
架构:第八章:架构师之路
摘要: 阅读全文
posted @ 2023-06-05 11:52 我是廖志伟 阅读(7) 评论(0) 推荐(0) 编辑
【递归算法的Java实现及其应用】
摘要:文章目录 递归算法概述 递归算法的实现步骤 递归算法的Java实现 递归算法的底层工作原理 递归算法的底层代码讲解(优先级高) 递归算法的实际应用场景 递归算法在场景中解决的问题 递归算法的优点和缺点 总结 递归算法概述 递归算法是一种通过调用自身来解决问题的方法。递归算法通常用于解决具有递归特性的 阅读全文
posted @ 2023-06-05 08:00 我是廖志伟 阅读(57) 评论(0) 推荐(0) 编辑
【遗传模拟退火算法的Java实现及其应用】
摘要:文章目录 Java实现遗传模拟退火算法 实现步骤是怎么样的 代码示例 底层工作原理 实际应用场景,在场景中解决了什么问题 优化方案 Java实现遗传模拟退火算法 实现步骤是怎么样的 遗传模拟退火算法是一种基于遗传算法和模拟退火算法的启发式优化算法。它的基本思路是在解决优化问题时模拟生物进化的过程,利 阅读全文
posted @ 2023-06-05 08:00 我是廖志伟 阅读(171) 评论(0) 推荐(0) 编辑
网络四元组
摘要:在一个遥远的小村庄里,有四个特别的朋友,他们分别叫做小明、小红、小华和小丽。这四个朋友有一个共同的爱好,那就是研究网络知识。他们经常一起探讨网络的原理,分析网络的结构,还经常一起设计和搭建网络。 一天,小明突然提出了一个问题:“我们在讨论网络的时候,经常会提到四元组这个概念。但是,四元组到底是什么呢 阅读全文
posted @ 2023-06-04 19:19 我是廖志伟 阅读(84) 评论(0) 推荐(0) 编辑
【枚举算法的Java实现及其应用】
摘要:文章目录 枚举算法概述 枚举算法的实现步骤 Java实现枚举算法 枚举算法的底层工作原理 枚举算法的底层代码讲解 枚举算法的实际应用场景 枚举算法在场景中解决的问题 总结 枚举算法概述 枚举算法是一种通过列举所有可能情况来解决问题的方法。这种算法在解决一些特定类型的问题时非常有效,例如素数判断、排列 阅读全文
posted @ 2023-06-04 10:30 我是廖志伟 阅读(62) 评论(0) 推荐(0) 编辑
故事会【伪共享】
摘要:伪共享(False Sharing)是计算机科学中一个普遍存在的性能问题,当多个线程同时访问共享数据结构时,由于数据结构存储在多个处理器核心的缓存行中,导致缓存行的共享,从而影响性能。这个问题在Java内存模型中尤其明显,因为Java中的对象是存储在堆内存中的,而所有线程共享堆内存。 让我们来通过一 阅读全文
posted @ 2023-06-04 08:47 我是廖志伟 阅读(18) 评论(0) 推荐(0) 编辑
故事会【深拷贝和浅拷贝】
摘要:从前,有一个繁忙的城市。在这个城市里,有两个非常要好的朋友,小明和小红。他们分别经营着自己的商店,小明的商店卖的是水果,小红的商店卖的是鲜花。 一天,小红发现她的鲜花生意非常好,但是她的鲜花不够卖。于是她想到了小明,她认为如果小明的水果店能帮她进货,那么她就能满足更多顾客的需求了。于是,小红找到了小 阅读全文
posted @ 2023-06-03 20:23 我是廖志伟 阅读(12) 评论(0) 推荐(0) 编辑
故事会【Fail-safe和Fail-fast】
摘要:从前,有一个计算机王国。这个王国的居民们,也就是各种软件和硬件设备,每天都在忙碌地工作。他们互相协助,确保王国的正常运作。 王国里有两个重要的居民:Fail-safe和Fail-fast。他们各自负责在特定情况下确保王国的安全。 Fail-safe(失效安全)是一个安全专家,他负责确保王国的安全。当 阅读全文
posted @ 2023-06-03 19:52 我是廖志伟 阅读(20) 评论(0) 推荐(0) 编辑
面试:第二章:各种框架和中间件以及缓存数据库
摘要:讲讲SpringMVC的工作原理和常用注解 1、用户向服务器发送请求,请求被SpringMVC的前端控制器DispatcherServlet截获。 2、DispatcherServlet对请求的URL(统一资源定位符)进行解析,得到URI(请求资源标识符),然后根据该URI, 通过配置或注解调用Ha 阅读全文
posted @ 2023-06-03 18:56 我是廖志伟 阅读(36) 评论(0) 推荐(0) 编辑
【分治算法的Java实现及其应用】
摘要:分治算法的Java实现及其应用 分治算法概述 分治算法是一种将问题分解为更小、相似的子问题的解决策略。通过递归地解决子问题,然后将它们的解合并,分治算法能够有效地解决规模庞大或复杂的问题。在计算机科学领域,分治算法被广泛应用于排序、查找、图算法等问题。 分治算法的实现步骤 分解(Divide):将问 阅读全文
posted @ 2023-06-03 10:00 我是廖志伟 阅读(43) 评论(0) 推荐(0) 编辑
基础数论实际应用场景
摘要:文章目录 基础数论 文章结构 1. 底层工作原理 2. 实际应用场景 2.1 密码学 2.2 安全协议 2.3 整数分解 3. 实现步骤 3.1 选择合适的质数 3.2 设计算法 3.3 实现安全协议 4.1 随机化 4.2 分治策略 4.3 并行化 4.4 近似算法 基础数论 文章结构 引言:简要 阅读全文
posted @ 2023-06-02 21:41 我是廖志伟 阅读(234) 评论(0) 推荐(0) 编辑
java锁:第二章:可重入锁和递归锁
摘要:可重入锁是什么? 可以防止死锁,是同一把锁 代码: package com.javaliao.backstage; class Phone{ public synchronized void sendSMS(){ System.out.println(Thread.currentThread().g 阅读全文
posted @ 2023-06-02 16:34 我是廖志伟 阅读(7) 评论(0) 推荐(0) 编辑
【计数排序算法思想及其应用】
摘要:本文主要介绍Java中计数排序(Counting Sort)算法的基本原理、实现方式以及使用场景。计数排序是一种线性时间复杂度的非比较排序算法,通过计数数组来统计输入数据中每个元素出现的次数,然后按照数组下标顺序输出排序后的结果。本文将深入剖析计数排序的思想及其在实际应用中的价值。 一、计数排序算法 阅读全文
posted @ 2023-06-02 08:19 我是廖志伟 阅读(61) 评论(0) 推荐(0) 编辑
【插入排序算法思想及其应用】
摘要:本文主要介绍Java中插入排序算法的基本原理、实现方式以及使用场景。插入排序是一种简单的排序算法,其基本思想是通过将元素逐个插入到已排序的序列中,从而实现元素的排序。本文将深入剖析插入排序的思想及其在实际应用中的价值。 一、插入排序算法思想 插入排序是一种简单的排序算法,其基本思想是通过将元素逐个插 阅读全文
posted @ 2023-06-02 08:18 我是廖志伟 阅读(67) 评论(0) 推荐(0) 编辑
【快速排序算法思想及其应用】
摘要:本文主要介绍Java中快速排序(Quick Sort)算法的基本原理、实现方式以及使用场景。快速排序是一种高效的排序算法,通过选取一个基准元素并将待排序序列划分为小于基准元素和大于基准元素的两部分来实现排序。本文将深入剖析快速排序的思想及其在实际应用中的价值。 一、快速排序算法思想 快速排序是一种高 阅读全文
posted @ 2023-06-02 08:18 我是廖志伟 阅读(228) 评论(0) 推荐(0) 编辑
【基数排序算法思想及其应用】
摘要:本文主要介绍Java中基数排序(Radix Sort)算法的基本原理、实现方式以及使用场景。基数排序是一种非比较排序算法,它通过将整数按照每个位数分别进行排序,然后按照顺序输出排序后的结果。本文将深入剖析基数排序的思想及其在实际应用中的价值。 一、基数排序算法思想 基数排序是一种非比较排序算法,通过 阅读全文
posted @ 2023-06-02 08:17 我是廖志伟 阅读(86) 评论(0) 推荐(0) 编辑
【选择排序算法思想及其应用】
摘要:本文主要介绍Java中选择排序算法的基本原理、实现方式以及使用场景。选择排序是一种简单的排序算法,其基本思想是在未排序的序列中找到最小(或最大)的元素,并将其放在已排序序列的末尾。本文将深入剖析选择排序的思想及其在实际应用中的价值。 一、选择排序算法思想 选择排序是一种简单的排序算法,其基本思想是在 阅读全文
posted @ 2023-06-02 08:17 我是廖志伟 阅读(66) 评论(0) 推荐(0) 编辑
【归并排序算法思想及其应用】
摘要:本文主要介绍Java中归并排序(Merge Sort)算法的基本原理、实现方式以及使用场景。归并排序是一种稳定的排序算法,通过将数组拆分为子数组并对子数组进行排序,然后将子数组合并成有序序列来实现。本文将深入剖析归并排序的思想及其在实际应用中的价值。 一、归并排序算法思想 归并排序是一种稳定的排序算 阅读全文
posted @ 2023-06-02 08:17 我是廖志伟 阅读(26) 评论(0) 推荐(0) 编辑
【希尔排序算法思想及其应用】
摘要:本文主要介绍Java中希尔排序(Shell Sort)算法的基本原理、实现方式以及使用场景。希尔排序是一种插入排序的改进版本,通过引入增量序列实现高效的排序。本文将深入剖析希尔排序的思想及其在实际应用中的价值。 一、希尔排序算法思想 希尔排序是插入排序的改进版本,它通过引入增量序列实现高效的排序。具 阅读全文
posted @ 2023-06-02 08:16 我是廖志伟 阅读(293) 评论(0) 推荐(0) 编辑
【冒泡排序算法思想及其应用】
摘要:本文主要介绍Java中冒泡排序算法的基本原理、实现方式以及使用场景。冒泡排序是一种简单易懂的排序算法,其原理是通过比较相邻的元素并进行交换,从而实现元素的排序。本文将深入剖析冒泡排序的思想及其在实际应用中的价值。 一、冒泡排序算法思想 冒泡排序是一种简单的排序算法,其基本思想是通过比较相邻的元素并进 阅读全文
posted @ 2023-06-02 08:16 我是廖志伟 阅读(131) 评论(0) 推荐(0) 编辑
【最短路径数据结构及其应用】
摘要:本文主要介绍Java中最短路径数据结构的基本原理、实现方式以及使用场景。最短路径问题在计算机科学中具有广泛的应用,如网络拓扑、导航定位、路径规划等。Java中的最短路径数据结构可以帮助我们高效地解决这些问题。 一、最短路径的基本概念 在最短路径问题中,我们需要找到两个节点之间的最短路径,或者找到图中 阅读全文
posted @ 2023-06-02 08:13 我是廖志伟 阅读(127) 评论(0) 推荐(0) 编辑
【图论基础数据结构及其应用】
摘要:本文主要介绍Java中图论基础数据结构的基本原理、实现方式以及使用场景。图论是研究非线性方程组及其解的数学领域,广泛应用于计算机科学中,如网络拓扑、交通网络、地理信息系统等。 一、图的基本概念 图是由节点(Vertex)和边(Edge)组成的数据结构。节点表示图中的对象或实体,而边表示节点之间的关系 阅读全文
posted @ 2023-06-02 08:13 我是廖志伟 阅读(88) 评论(0) 推荐(0) 编辑
【Trie树数据结构及其应用】
摘要:本文主要介绍Java中Trie树数据结构的基本原理、实现方式以及使用场景。Trie树是一种高效的字符串存储和检索数据结构,具有很高的空间和时间效率。 一、Trie树的基本概念 Trie树,也称字典树或前缀树,是一种特殊的树形数据结构。它用于存储和检索大量具有相同前缀的字符串。Trie树的每个节点表示 阅读全文
posted @ 2023-06-02 08:13 我是廖志伟 阅读(72) 评论(0) 推荐(0) 编辑
【赫夫曼树数据结构及其应用】
摘要:本文主要介绍Java中赫夫曼树数据结构的基本原理、实现方式以及使用场景。赫夫曼树(Huffman Tree)是一种带权路径最短的二叉树,广泛应用于数据压缩和编码等领域。 一、赫夫曼树的基本概念 赫夫曼树是一种特殊的二叉树,它具有以下特点: 赫夫曼树的叶子节点带权值。 赫夫曼树的权值越小,离根节点越近 阅读全文
posted @ 2023-06-02 08:12 我是廖志伟 阅读(53) 评论(0) 推荐(0) 编辑
【B树和B+树数据结构及其应用】
摘要:本文主要介绍Java中B树和B+树数据结构的基本原理、实现方式以及使用场景。B树和B+树是一种广泛应用于数据库和文件系统的数据结构,它们具有高度平衡的特点,可以支持大规模数据的索引和存储。 一、B树的基本概念 B树是一种自平衡的多路搜索树,它的每个节点可以存储多个键值对。B树具有以下特点: 每个节点 阅读全文
posted @ 2023-06-01 19:30 我是廖志伟 阅读(84) 评论(0) 推荐(0) 编辑
【红黑树数据结构及其应用】
摘要:本文主要介绍Java中红黑树数据结构的基本原理、实现方式以及使用场景。红黑树是一种自平衡二叉搜索树,它在二叉搜索树的基础上增加了颜色约束,确保树的高度在最坏情况下保持O(log n),从而实现高效的查找、插入和删除操作。 一、红黑树的基本概念 红黑树是一种自平衡二叉搜索树,它具有以下特点: 每个节点 阅读全文
posted @ 2023-06-01 19:00 我是廖志伟 阅读(30) 评论(0) 推荐(0) 编辑
【二叉树和二叉搜索树数据结构及其应用】
摘要:本文主要介绍Java中二叉树和二叉搜索树数据结构的基本原理、实现方式以及使用场景。二叉树和二叉搜索树是一种常见的非线性数据结构,它们在编程和实际应用中具有广泛的应用。 一、二叉树的基本概念 二叉树是一种树形结构,每个节点最多可以有两个子节点,分别称为左子节点和右子节点。二叉树可以是完全二叉树、满二叉 阅读全文
posted @ 2023-06-01 09:46 我是廖志伟 阅读(51) 评论(0) 推荐(0) 编辑
【树论基础数据结构及其应用】
摘要:本文主要介绍Java中树论基础数据结构的基本原理、实现方式以及使用场景。树是一种非线性数据结构,提供了多种实现方法,适用于许多不同的应用场景。 一、树的基本概念 树是一种非线性数据结构,由节点和边组成。节点分为根节点、内部节点和叶子节点。每个节点可以有多个子节点,子节点之间的关系形成了树的结构。 二 阅读全文
posted @ 2023-06-01 09:42 我是廖志伟 阅读(55) 评论(0) 推荐(0) 编辑
【PriorityQueue优先级队列及其应用】
摘要:本文主要介绍Java中PriorityQueue优先级队列的基本原理、实现方式以及使用场景。PriorityQueue是一种具有优先级的队列,按照元素的优先级顺序出队,适用于需要处理具有优先级关系的数据结构。 一、PriorityQueue的基本概念 PriorityQueue是一种基于优先级堆实现 阅读全文
posted @ 2023-06-01 09:35 我是廖志伟 阅读(178) 评论(0) 推荐(0) 编辑
【Queue队列数据结构及其应用】
摘要:本文主要介绍Java中Queue队列数据结构的基本原理、实现方式以及使用场景。Queue是一种先进先出(FIFO)的数据结构,提供了很多有用的方法,适用于多种应用场景。 一、Queue的基本概念 Queue是一种先进先出(FIFO)的数据结构,它类似于普通队列的概念。Queue中的元素按照加入队列的 阅读全文
posted @ 2023-06-01 09:34 我是廖志伟 阅读(117) 评论(0) 推荐(0) 编辑
【ListStack栈数据结构及其应用】
摘要:本文主要介绍Java中ListStack栈数据结构的基本原理、实现方式以及使用场景。ListStack是一种基于Java中的List接口实现的栈,提供了比ArrayStack更丰富的功能,适用于多种应用场景。 一、ListStack的基本概念 ListStack是一种基于List接口实现的栈,它继承 阅读全文
posted @ 2023-06-01 09:31 我是廖志伟 阅读(18) 评论(0) 推荐(0) 编辑
【Java中的Vector详解】
摘要:Java中的Vector是一个基本的、广泛应用的数据结构,它基于数组实现,具有动态扩容的能力,并支持同步访问和线程安全。本文将详细讲解Vector的实现原理、特性和使用场景。 一、数组实现 Vector是基于数组实现的。其内部包含一个存储元素的数组,所有的元素都被存储在这个数组中。这种基于数组的实现 阅读全文
posted @ 2023-06-01 09:29 我是廖志伟 阅读(173) 评论(0) 推荐(0) 编辑
【LinkedListStack栈数据结构及其应用】
摘要:本文主要介绍Java中LinkedListStack栈数据结构的基本原理、实现方式以及使用场景。LinkedListStack是基于Java中的LinkedList实现的栈,具有双向链表的特性,提供了丰富的功能,适用于多种应用场景。 一、LinkedListStack的基本概念 LinkedList 阅读全文
posted @ 2023-06-01 09:28 我是廖志伟 阅读(39) 评论(0) 推荐(0) 编辑
【ArrayStack栈数据结构及其应用】
摘要:本文主要介绍Java中ArrayStack栈数据结构的基本原理、实现方式以及使用场景。栈是一种具有后进先出(LIFO)特性的数据结构,Java中的ArrayStack使用数组实现,具有简单易用的特点,适用于多种应用场景。 一、栈的基本概念 栈(Stack)是一种线性数据结构,遵循后进先出(LIFO) 阅读全文
posted @ 2023-06-01 09:26 我是廖志伟 阅读(63) 评论(0) 推荐(0) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

南北踏尘
点击右上角即可分享
微信分享提示