- 博客(28)
- 资源 (12)
- 收藏
- 关注
原创 动态规划,递归,循环的区别和联系
概念本质定义核心特征递归程序调用自身的编程技巧,是 **“自顶向下” 拆解问题 ** 的逻辑(把大问题拆成更小的同类型问题)基于 “递推关系 + 终止条件”,通过函数调用自身实现,天然适配 “分治” 思路,但易重复计算循环重复执行一段代码的结构(for/while),是 **“迭代式” 解决问题 ** 的基础方式从初始条件出发,按固定顺序重复计算,无函数调用开销,逻辑直观动态规划一种算法思想(非具体语法),核心是 “拆解重叠子问题 + 存储子问题解(记忆化)+ 利用最优子结构”
2025-12-12 10:48:11
959
原创 光储充一体化系统的物理公式解析
光伏组件的输出功率由光强和转换效率决定:Ppv=η⋅I⋅APpv=η⋅I⋅A储能系统的充放电状态由能量守恒控制:Et+1=Et+ηcharge⋅Pcharge⋅Δt−Pdischargeηdischarge⋅ΔtEt+1=Et+ηcharge⋅Pcharge⋅Δt−ηdischargePdischarge⋅Δt充电功率受电网和储能联合供电约束:
2025-09-18 19:02:29
450
原创 SpringCloud详解
Spring Cloud 是基于 Spring Boot 的微服务架构开发工具集,提供分布式系统基础设施的一站式解决方案。它通过封装成熟框架(如 Netflix OSS),简化服务发现、配置管理、负载均衡、熔断器等组件的实现,开发者可快速构建弹性、高可用的微服务系统。注:Spring Cloud Netflix 部分组件(如 Zuul)已进入维护模式,建议关注 Spring Cloud Gateway 等新一代替代方案。
2025-06-30 11:07:15
1023
原创 SpringBoot自动配置原理详解
Spring Boot自动配置的本质是基于条件注解的动态Bean装配启动时加载中的配置类;通过条件注解筛选有效配置;用户自定义Bean优先覆盖默认实现;外部化配置实现灵活调整。这一机制大幅减少样板代码,是“开箱即用”能力的核心基础。
2025-06-27 13:55:39
899
原创 JVM的内存模型和内存结构
特性JVM 内存结构 (Runtime Data Areas)JVM 内存模型 (JMM, Java Memory Model)关注点物理/逻辑内存划分:程序运行所需内存区域的划分、用途、生命周期。并发语义:多线程环境下如何正确地、可预测地访问共享内存。核心内容程序计数器、栈 (JVM栈/本地方法栈)、堆、方法区 (元空间)、运行时常量池、直接内存。主内存、工作内存、内存交互操作、volatilefinal, happens-before 原则。目的。
2025-06-24 19:17:36
923
原创 Java模板设计模式详解
模板模式(Template Method Pattern)是一种行为型设计模式,通过定义算法骨架并允许子类重写特定步骤,实现代码复用与扩展。其核心在于控制流程标准化,同时保留关键环节的灵活性。
2025-06-23 13:51:22
344
原创 Java策略模式详解
策略模式(Strategy Pattern)属于行为型设计模式,其核心思想是将一组算法封装成独立的策略类,使它们可以相互替换,且算法的变化独立于客户端。设计原则:遵循开闭原则(对扩展开放,对修改关闭),通过组合替代继承。
2025-06-20 10:20:19
467
原创 Java观察者模式详解
观察者模式(Observer Pattern)是一种行为型设计模式,它定义了对象之间的一对多依赖关系,当一个对象(主题)的状态发生改变时,所有依赖于它的对象(观察者)都会自动收到通知并更新。
2025-06-19 13:44:58
528
原创 Java 装饰器模式详解
装饰器模式(Decorator Pattern)是一种结构型设计模式,通过组合(而非继承)动态扩展对象功能,保持接口一致性且遵循开闭原则。其核心思想是运行时功能叠加,典型应用包括Java I/O流体系(如包装。
2025-06-19 09:37:39
617
原创 Java中代码块的作用
类型位置执行时机核心作用普通代码块方法内部方法调用时限制变量作用域构造代码块类内部(无static)每次new对象时(先于构造器)对象成员初始化静态代码块类内部(有static)类首次加载时(仅一次)静态资源初始化同步代码块方法内部线程进入时线程安全控制。
2025-06-18 17:11:24
1101
原创 Java建造者模式详解
建造者模式()是一种创建型设计模式,将复杂对象的构建过程与其表示分离,使相同的构建过程可创建不同表示的对象。适用于需分步构造、含多个部件的对象(如配置类、复合实体)。
2025-06-18 10:14:56
587
原创 Java工厂模式及抽象工厂模式详解
class ProductA implements Product { public void use() { System.out.println("使用产品A");class ProductB implements Product { public void use() { System.out.println("使用产品B");@Override public void paint() { System.out.println("Windows风格按钮");// 具体产品(Windows风格)
2025-06-16 14:27:41
1766
原创 Java代理静态/动态代理模式
System.out.println("执行数据库查询: " + sql);System.out.println("添加用户: " + name);System.out.println("【CGLIB代理】前置处理");System.out.println("【CGLIB代理】后置处理");System.out.println("【代理】开始事务");System.out.println("【代理】提交事务");// 1. 目标类(非final类)// 2. 真实服务类。// 定义接口和实现类。
2025-06-11 10:56:06
903
原创 Java单列模式总结及实现
/ 多线程下可能创建多个实例。public void doSomething() { /* 业务方法 */ }语法进一步简化了单例实现49。实际开发中应结合性能需求和安全要求选择方案。:枚举单例因其安全性成为企业级开发首选,而Kotlin的。
2025-06-10 18:02:55
914
原创 生成yyyyMM与yyyyMM之间的yyyyMM 格式的年月java源代码
public static String[] getAllMonths(String start, String end) { String regex = "\\d{4}(([0][1-9])|([1][012]))"; //判断YYYY-MM时间格式的正则表达式 if (!start.matches(regex) || !end.matches(regex)) return new String[0]; List<String> list = new ArrayLi.
2021-09-17 16:19:02
365
原创 diytomcat实战,生成一个tomcat镜像
1.在本地主机新建一个目录dockerpackage2.拷贝下载好的tomcat,jdk压缩文件进入apache-tomcat-8.5.55.tar.gz,jdk-8u251-linux-x64.tar.gz
2021-05-28 13:57:16
315
1
原创 docker笔记二
1.删除本地主机中所有停止运行的images镜像文件的命令:docker rmi -f $(docker images -qa)2.删除本机所有容器命令:docker rm $(docker ps -aq)3.启动某个镜像命令:docker run -d -p8080:8080 --name tomcat01 tomcat 备注:-d后台运行 -p本地端口:容器端口 --name 容器名称 镜像名称4.查看某个容器的详细信息:docker inspect tomcat02 容器名称为to...
2021-05-28 10:43:46
141
原创 docker笔记
为什么要使用docker?我在我的电脑上可以运行,软件升级报错环境配置十分麻烦,我每一台机器都要部署运行环境,费时费力发布一个项目,war,jar包,需要mysql。redis,jdk,es,hadoop的环境(不是夸平台的),docker带环境发布开发打包部署上线docker给以上问题给出了解决方案docker jar环境 项目打包带上环境(镜像) 服务器上运行docker核心思想:隔离 打包装箱 每个箱子是相互隔离的dockerhub虚拟机和docker的不同,传统虚拟机模拟完整.
2021-05-26 18:46:22
148
原创 swagger和jwt整合问题笔记
1、引入 swagger开发包 增加pom文件配置 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <...
2019-10-17 11:52:13
1894
原创 Struts2 拦截器技术笔记
java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在strust2中自定义拦截器可以1、实现接口Interceptor (implements Interceptor);2、继承抽象类AbstractI...
2019-08-28 17:45:36
134
转载 java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag解决方案
当访问tomcat的jsp时,报出了这个错误:java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag下载jstl.jar和standard.jar 并且拷贝到tomcat的/lib目录下jstl.jar下载地址:http://repo2.maven.org/maven2/javax/servlet/jst...
2019-08-22 10:09:40
827
原创 java JNI 调用c++编程
一,DLL_Source 文件为第三方提供的dll 二,Dll_test 文件 自己封装的dll 三,testDll 文件 javaweb 程序 四,第三方dll接口文档Call_dll.java文件的代码如下: package com.testDll;import com.sun.org.apache.xpath.internal.operations.Bool;//imp...
2018-10-26 14:31:49
468
翻译 常用的运算技巧
一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一
2012-12-18 13:44:34
458
转载 C#位运算
C#位运算在C#中可以对整型运算对象按位进行逻辑运算。按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位。C#支持的位逻辑运算符如表2.9所示。运算符号意义运算对象类型运算结果类型对象数实例~位逻辑非运算整型,字
2012-12-18 13:36:18
440
转载 sql server中日期时间只取年月日
sql server中日期时间只取年月日 2012-08-07 14:40:06| 分类:sql应用后感 | 标签:|字号大中小 订阅sql server中日期时间只取年月日2009年05月05日 星期二 下午 05:27 select CONVERT(varchar, getdate(), 120 )2004-09-12
2012-12-18 13:19:35
6067
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅