自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring boot 启动类加载的优化

4、将需要启动的bean写入到项目中的文件,去加载该目录下的bean文件。2、使用自定义配置bean进行加载,减少更多的不必要加载的组件。3、启动spring boot的配置懒加载模式,5、使用编译时优化,减少反射操作的开销。1减少依赖,不用的依赖去掉,

2024-05-25 13:52:48 149

原创 程序员心得

我在想我是否需要写一篇如何优化Spring boot项目,对于bean的加载启动优化呢。大家是否需要呢,如果需要可以留言。

2024-04-12 16:01:44 383 3

原创 手写redis机制

这是一套redis的机制,里面包含了redis的底层的逻辑和使用过程,并且可以自己从下往上进行封装自己所需要的方法。

2024-03-11 13:28:56 457

原创 学习go与Java的讨论

这几天博主学习了一下go,发现比Java简单很多,go的代码更少更为简洁,并且并发问题从内部调用锁即可,此处也是一样,各位觉得用Java需要写多少行代码搞定。此处go代码各位觉得用Java怎样去解决呢,

2024-03-08 18:20:39 615

原创 springcloud的搭建和封装,已进行开源,相互学习代码知识。

gateway:网关服务,包含token认证,接口信息认证是否放行,IP白名单认证,token是否要过期,用户还没有进行退出登录。springcloud架构的统一父工程,(管理子模块,管理依赖插件,依赖版本等)abillty:能力服务块:存放一些非业务相关的微服务,比如网关,身份认证等。coommon:核心工具模块,根据不用的框架功能,划分不同的模块。config:本地的统一配置文件,管理微服务的统一配置信息。core:微服务核心模块,微服务的核心运行模块。exce: 网关中的一些异常信息处理。

2024-03-02 21:10:24 417 1

原创 springcloud和基础服务的搭建以及封装

page分页也进行了封装,只需要添加到pom中,将会自动进行分页,并且后端不需要写任何的分页数据。只需要前端自己传分页参数即可,并且里面封装了很多类型的参数类型。自定义的很多注解,并且也支持多个版本的同一个接口名称,只需要前端自己在header里传版本号即可。

2024-03-02 11:36:59 745 2

原创 spring3.0的坑

以前在Spring的2.7之前时候使用spring.factories类,现在创建不成功

2024-02-24 15:25:46 388

原创 springcloud搭建 初级人员的使用搭建。sentinel使用官网有详细的使用方法

共享的环境配置:api-gateway.yaml 将公共的丢到这个里面。refresh: true #是否支持动态刷新。#name: gateway 动态更新。#添加其他的配置文件的读取。

2024-02-20 13:49:42 533 2

原创 手写mybatis

手写mybatis

2024-02-05 15:12:19 448

原创 手写spring源码

手写spring源码

2024-02-05 02:06:09 361

原创 手写rpc和redis

【代码】手写rpc和redis。

2024-01-23 13:41:34 1104

原创 java 封装server并且一个server下多个implements使用枚举进行管理获取

之前的webscoket没有灵感进行server枚举封装的来看这人。

2024-01-21 12:55:31 440

原创 python AI人工智能的数据补全

【代码】python AI人工智能的数据补全。

2024-01-20 22:07:26 357

原创 aidome数据分离,混淆矩形,过拟合,欠拟合

【代码】aidome数据分离,混淆矩形,过拟合,欠拟合。

2024-01-20 22:03:43 334

原创 LSTM文本输入生成

【代码】LSTM文本输入生成。

2024-01-20 22:00:20 381

原创 RNN神经网络 python

【代码】RNN神经网络 python。

2024-01-20 21:53:37 483

原创 AI决策树

【代码】AI决策树。

2024-01-20 21:51:13 316

原创 python多层感知,人工智能AI技术

【代码】python多层感知,人工智能AI技术。

2024-01-20 21:43:44 348

原创 Java springboot使用webscoket包含心跳机制

【代码】Java springboot使用webscoket包含心跳机制。

2024-01-15 01:58:34 785

原创 CountDownLatchModule 使用

【代码】CountDownLatchModule 使用。

2024-01-14 10:35:09 334 1

原创 使用nginx和Lua实现分布式限流解决高并发问题

local elapsed, err =lock:lock(“limit_key”) --互斥锁 local limit_counter =ngx.shared.limit_counter --计数器。limit_counter:set(key, 1, 1) --第一次需要设置过期时间,设置key的值为1,过期时间为 else。os.time() local limit = 5 --限流大小。limit_counter:incr(key, 1) --第二次开始加1即可 end。

2024-01-13 15:04:23 465 1

原创 一般的注解aop切面解决限流问题。

/获取客户端等待令牌的时间。if(myRateLimiter == null){ //程序正常执行,执行目标方法。//设置限流速率 rateLimiter.setRate(rate);//使用反射获取方法上是否存在@MyRateLimiter注解。tryAcquire){ //服务降级。//从令牌桶获取令牌的超时时间。//判断客户端获取令牌是否超时。//实现桶的限流和aop切面。//向令牌桶放入令牌的速率。//获取到令牌,直接执行。//获取注解上的参数。

2024-01-13 14:35:36 389 1

原创 令牌捅实现tryAcquire

/ 令牌桶算法实现 acquire。//令牌捅实现tryAcquire。

2024-01-13 14:24:33 352 1

原创 工作窃取算法 ForkJoin框架

/也可以设置为服务器的核数,有相关的计算io/cpu核心数的介绍。

2024-01-13 11:26:14 327 1

原创 apo切面编程解决分布式限流

读取项目classpath目录下的limit.lua脚本文件来确定是否执行限流的操作,调用limit.lua文 件执行的结果返回0则表示执行限流逻辑,否则不执行限流逻辑。local current = tonumber(redis.call(‘get’, key) or “0”) if current + 1 > limit then --如果超出限流大小。if(“0”.equals(result.get(0).toString())){//List设置Lua的KEYS[1]

2024-01-13 11:18:57 385 1

原创 synchronized

通过上面两段描述,我们应该能很清楚的看出Synchronized的实现原理,Synchronized的语义底层是通过一个monitor的对象来 完成,其实wait/notify等方法也依赖于monitor对象,这就是为什么只有在同步的块或者方法中才能调用wait/notify等方法,否则 会抛出java.lang.IllegalMonitorStateException的异常的原因。指令执行时,monitor的进入数减 1,如果减1后进入数为0,那线程退出monitor,不再是这个monitor的所有者。

2023-11-30 11:04:07 31

原创 SimpleDateFormat是不是线程安全

然而看了Calendar内部机制,Calendar并没有线程安全的机制并且本身也不支持线程安全机制。并且set 和clear并没有进行原子性操作。在高并发场景下,同时操作一个SimpleDateFormat时就会发现cal会混乱。然而format()方法也是一样的效果也会导致数据缭乱。通过源码跟踪发现,SimpleDateFormat调用establish方法后,进入Calendarbuilder类,在establish方法中源码是这样进行描述的。

2023-11-29 11:15:03 33 1

原创 Base64 实例

import java.util.Base64;import java.util.UUID;import java.io.UnsupportedEncodingException;public class Java8Tester {public static void main(String args[]){try { // 使用基本编码 String base64encodedString = Base64.getEncoder().encodeToString("runoo

2023-11-25 14:34:52 54 1

原创 java8新特性

Java8Tester.java 文件import java.util.ArrayList;import java.util.Arrays;import java.util.IntSummaryStatistics;import java.util.List;import java.util.Random;import java.util.stream.Collectors;import java.util.Map;public class Java8Tester {public stat

2023-11-25 14:33:18 22 1

原创 ssm和Layui

通过业务层做逻辑判断,进行存储到list或者map集合里面。后台获取到前台的参数,从而将数据渲染到页面,页面也用ajax进行接收,js代码jsp代码<%@ page contentType=“text/html;charset=UTF-8” language=“java” %><% pageContext.setAttribute(“path”, request.getContextPath());%> 火情管理 .

2023-11-25 14:32:12 22 1

原创 根据文件后缀名类型获取对应的工作簿对象

2023-11-25 14:31:10 16

原创 linux面试题

在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 i节点来标识.4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块.5. 链接分为: 硬链接 和 符号链接 .6. 超级块包含了i节点表 和 空闲块表等重要的文件系统信息.7. 某文件的权限为:d-rw-_r–_r–,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是 目录 .8. 前台起

2023-11-25 14:30:01 35

原创 分布式面题

两个对象相互引用会不会被GC?仍然会被GC。因为JVM按照对象在以GC root为根节点的图中的可达性来决定对象是否被GC。相互引用的两个对象,引用数虽然不为0,但如果跟外界其他对象都没有引用关系,即是一个孤岛,仍然会被GC。java中可作为GC Root的对象有1.虚拟机栈中引用的对象(本地变量表)2.方法区中静态属性引用的对象3. 方法区中常量引用的对象4.本地方法栈中引用的对象(Native对象)http://www.importnew.com/16173.html乐观锁与悲观锁悲观

2023-11-25 14:27:36 31 1

原创 ssm和layui图片的上传和读取到页面

//图片List files = filesDao.queryFilesByIdAndName(id, “Damnification”);List imgs=new ArrayList<>();for(int i=0;i<files.size();i++){imgs.add(files.get(i).getPath());}damnification.setImgs(imgs);return damnification;获取每一张图片的角标,通过角标来找到图片,从而通过控制

2023-11-25 14:25:09 80 1

原创 分布式面试题常见的

1、Dubbo的底层实现原理和机制–高性能和透明化的RPC远程服务调用方案–SOA服务治理方案Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况2、描述一个服务从发布到被消费的详细过程务。首先先获取zk的配置信息,然后获取需要暴露的url,然后调用registry.register方法将url注册到zookeeper上去。3、分布式系统怎么做服务治理针对互联网业务的特点,eg 突发的流量高峰、网络延时、机房故障等

2023-11-25 14:24:00 19 1

原创 垃圾收集算法

原始快照就是当灰色对象要删除指向白色对象的引用关系时, 就将这个要删除的引用记录下来, 在并发扫描结束之后, 再将这些记录过的引用关系中的灰色对象为根, 重新扫描一次,这样就能扫描到白色的对象,将白色对象直接标记为黑 色(目的就是让这种对象在本轮gc清理中能存活下来,待下一轮gc的时候重新扫描,这个对象也有可能是浮动垃圾) 以上无论是对引用关系记录的插入还是删除, 虚拟机的记录操作都是通过写屏障实现的。黑色的对象代表已经扫描 过, 它是安全存活的, 如果有其他对象引用指向了黑色对象, 无须重新扫描一遍。

2023-11-25 14:22:13 20

原创 Jvm对象内存分配理解

2023-11-24 15:38:08 36 1

原创 Java 类加载

2023-11-24 11:54:15 24

原创 Java.class文件的理解

Java.class文件的理解。

2023-11-23 18:26:51 29

Jvm对象内存分配理解

Jvm对象内存分配理解

2023-11-25

Jvm对象内存分配理解

Jvm对象内存分配理解

2023-11-24

Jvm对象内存分配理解

Jvm对象内存分配理解

2023-11-24

空空如也

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

TA关注的人

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