- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 2024 JVM 常见面试题整理汇总
1、内存泄露和内存溢出是什么意思?内存泄露:申请的内存空间没有被正确释放,导致内存被白白占用。内存溢出:申请的内存超过了可用内存,内存不够了。两者关系:内存泄露可能会导致内存溢出。用一个有味道的比喻,内存溢出就是排队去蹲坑,发现没坑位了,内存泄漏,就是有人占着茅坑不拉屎,占着茅坑不拉屎的多了可能会导致坑位不够用。
2024-08-08 11:32:01
139
1
原创 2024 Java 常见面试题整理汇总
1、ArrayList与LinkedList的区别数据结构 ArrayList基于动态数组实现,通过数组存储元素,支持随机访问(根据索引快速访问元素)。 LinkedLsit基于双向链表实现,通过节点间的引用关系存储元素,不支持随机访问,需要顺序遍历链表来访问元素。 插入和删除操作 ArrayList在中间或末尾插入/删除元素时,需要移动移动后续元素,效率较低,在末尾增加元素时效率较高。 LinkedList在插入和删除操作上效率较高,特别是在中间插入/删除元素时,只需调整相邻节点的
2024-08-08 11:29:51
232
原创 关于 Yolo 模型目标检测精度与训练关系的思考
b. 预训练的初始模型,就像一个六岁的幼儿;他能否认识所看到的物品(对象),取决于老师有没有准确的教过他这个物品的标准(专业)名称。训练模型和教育幼儿类似,你要用专业人士的视角来标注训练数据。比如你标注建筑工地的图片,那标注上的词汇 应是建筑领域的专业词语,而不是一个大众 的泛泛认知。只有这样训练出来的模型 才能具备具体领域的专业知识。a. yolo 预训练模型使用的数据集是通用数据集 ,一般不能直接拟合特定的客户场景;需要在确定客户的使用场景之后 ,从客户侧获取足够多的图片做二次训练。
2023-12-22 16:45:36
691
原创 Arm 64 Ubuntu 20.04 常用软件源
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restr
2023-12-12 11:01:48
1450
原创 CentOs 7 修改默认SSH 端口步骤
第三步:永久停用 selinux , vi /etc/selinux/config 修改为disabled。第五步:修改sshd 配置 vim sshd_config 新增一个Port 2222。第七步:查看ssh 状态 systemctl status sshd。第六步:重启ssh systemctl restart sshd。第二步:停用selinux setenforce 0。第一步:root 登录系统。
2023-11-28 16:35:27
538
原创 CentOS 7 无界面版本设置静态IP步骤
第三步:生成网络配置文件(nmcli conn add ifname ens5f0 con-name ens5f0 type ethernet)第二步:进入网络配置目录(cd /etc/sysconfig/network-scripts/)第五步:重启网络配置(systemctl restart network)第一步:root 用户登录系统。第四步:修改配置文件 并保存.HWADDR=MAC地址。DEVICE=网卡名称。NETMASK=掩码。GATEWAY=网关。
2023-11-17 10:17:10
281
原创 Tomcat 实现Servlet 容器能力关键节点源码剖析
一、SpringBoot 内嵌 Tomcat 的启动流程 org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory#getWebServer public WebServer getWebServer(ServletContextInitializer... initializers) { if (this.disableMBeanRegistry) { Registry.disable
2022-05-24 11:42:34
331
原创 SpringBoot的 《spring.main》属性配置原理解析
近日Spring-Boot 项目中遇到一个 因 BeanDefinition 名称重复导致 工程不能启动的问题;定位其原因,发现原因是引入上游的开放 jar 中定义的两个 @FeignClient 接口中 name 属性相同导致注册BeanDefinition时 allowBeanDefinitionOverriding 校验不过。org.springframework.beans.factory.support.DefaultListableBeanFactory#registerB...
2022-04-19 11:14:16
992
原创 微服务布署资源申请原则
易横向扩展服务器:单节点资源最小化,如应用服务器。利于资源节约。扩容风险高的服务器:3到5年资源容量预估和预留,如数据库服务器。
2022-04-13 21:08:20
421
原创 SpringBot通过 RuntimeException 推测 运行时方法栈的入口类
private Class<?> deduceMainApplicationClass() { try { StackTraceElement[] stackTrace = new RuntimeException().getStackTrace(); for (StackTraceElement stackTraceElement : stackTrace) { if ("main".equals(stackTraceElement.getMethodName())..
2022-04-12 18:12:13
286
原创 SpringBoot中SpringMVC 整合启动嵌入式Tomcat 原理及源码解析
SpringBoot中SpringMVC 整合启动Tomcat 原理及源码解析
2022-04-09 18:30:25
1106
原创 GIT 多人共用同一分支协作开发的分支管理方案
方案作用:1、避免编译不通过的代码 合入开发分支,导致其他开发人员获取到编译失败代码。2、避免本地代码规范检查不完整,将 有缺陷的代码合入开发分支。方案图示:方案实施操作手册:1、开发人员角色设置为 Developer2、开发分支设置为 Protect3、Gitlab 集成 Jenkins ,配置 merge request 创建5S后代码检查。...
2022-04-06 15:22:45
1954
原创 Mysql 亿级数据量 慢SQL及数据库性能优化实践方案
一、msysql 慢SQL 参数配置long_query_time:5S ,执行时间超过5秒 就记录慢SQL 日志。熟悉MySQL 执行计划参数说明。二、业务代码中常见慢SQL类型及应对方案2.1 嵌套查询,多层嵌套中产生的临时表无法走索引优化SQL 效率低方案:消除嵌套2.2 多表联合查询,当联合查询中主表数据量达千万级时,联表消耗大。方案:单表查询,内存中联合;先过滤再联合2.3 百万以上大数量 COUNT 和 SUM 函数耗时随数据量线性增长。方案:按常用统计维
2022-04-05 11:41:48
3728
原创 Spring中动态代理的四种使用场景AOP 、@lazy、@Configuration、@Async
AOP 切面编程:为切点配置包含的类生成代理 bean 实例。@lazy:懒加载,被注解的bean 不是不实例化,而是先创建一个代理bean 注入。@Configuration:配置类注解,生成的配置类bean 实例是代理,执行@bean 的方法之前 先判断单例池中是否已有该对象实例,确保@bean 注解的对象单例。@Async :动态生成 实现异步调用的代理类。...
2022-04-04 15:25:48
1703
原创 clickHouse 使用常见问题踩坑
经验 一:neighbor 函数 和 order by 同时使用时 要先order by 固定顺序, 后在结果集上 前进后退,否则 neighbor 取到的值可能前后错乱。原因分析:推测neighbor 和order by 平级时 可能是先执行neighbor 后执行order by 。经验 二: 在嵌套查询外层 使用LIMIT 时 需要同时使用order by ,不能依赖 子查询的顺序 取LIMIT 1 ,否则 由子查询结果字段衍生的字段值会丢失。...
2022-04-02 22:05:25
1090
原创 ClickHouse 分片分布式表本地表配置及使用
1、Ck资源配置:(16C 64G 1T)* 32、CK 3台机器的初始化配置文件<yandex> <clickhouse_remote_servers> <!--集群配置,需要在Config.xml 中配置--> <perfprod_3shards_1replicas> <!--集群模式配置 3 分片 1副本 --> <shard> ...
2022-04-02 22:00:59
1487
原创 clickhouse 部署&集群监控实施方案
1、本地搭建CK单机服务服务架构:win10 + VM16 + CentOS7 + CK22、centOS 网络配置:安装好 VMware 和 CentOS 7。使用静态固定IP设置方便测试;配置VMware 使用Net 网络模式。Step1: 关闭需要配置网络的虚拟机。Step2: 更改虚拟机网络设置:菜单栏 → 虚拟机 → 设置 → 网络适配器网络连接选择:自定义-VMnet8(NAT模式)Step3: 菜单栏→编辑 →虚拟网络编辑器 ...
2022-04-02 21:43:06
1861
原创 @Transactional Spring 事务常见失效原因
Spring 实现事务的方式是在子类中重写 @Transactional 注解的方法;在子类重写的方法中,第一步 :开启数据库事务,第二步:执行被代理方法 ,第三步:提交事务或回滚事务。因此需要通过代理对象调用@Transactional 注解的方法 事务方可生效,直接调用被代理对象的方法并不会经过事务逻辑。代码案例:@Servicepublic class UserService { @Transactional(rollbackFor = {Exception.class})
2022-04-01 23:12:42
776
原创 【DDD基本概念】领域驱动设计(Domain-Driven-Design)是什么?
DDD 是一套软件设计开发思想,用来指导软件工程师开发出一个能够把领域概念表达出来的有效实现。学习DDD需要知道的基础知识包括:OOP,UML。一、领域驱动模型设计(DDD)概念:二、模型设计驱动编码实现(MDD)三、编码实现反馈领域概念...
2022-03-30 22:31:29
396
原创 使用JDK动态加载jar包和JavaBean反射机制实现基于接口代理的RPC分布式服务调用
分布式服务框架概述:服务协调中间件:Zookeeper 负责服务注册、发现、通知。服务提供方:服务启动 使用 Spring ApplicationListener 接口 当容器中bean 完成加载时,变量容器中的bean 将RPC bean 发布到Zookeeper ,并保存到内存。服务监听 使用netty 启动远程服务请求监听端口,接收到远程服务请求数据 通过反射方式调用本地服务。服务消费方:服务发现 通过主动拉取Zookeeper 数据和watch 监听服务变更。服务调用..
2020-05-14 15:04:11
522
原创 Java 程序员常用工具汇总
Eclipse memory analyzer tool (MAT) 内存分析工具Postman http 请求模拟工具B compare 代码对比工具X mind 脑图绘制工具Jdgui 反编译工具
2020-04-22 14:22:49
288
原创 使用inner Join 优化 基于 In 实现的批量删除主表中包含子表的数据SQL语句
批量删除MySQL 表数据时 in 关键字适用于 删除数据少量的业务场景,当in 关键字包含的列表数量级过大时 效率比较地下。优化场景:A 表为数据主表,B表为A表中已经失效的数据记录,实现从A中删除所有失效数据。适用 In 关键字实现的SQL:delete from A where A.ID in ( select ID from B)使用 inner Join 实现...
2020-04-22 13:01:42
528
原创 基于EMQX 构建的 简易云打印机系统
1、打印机向业务系统注册,获取三元组数据 设备编号、设备名称、设备密码2、设备注册完成后 和 EMQX 机器建立连接(鉴权规划通过业务系统集成 EMQX Servlet SDK 方式实现 ),成为Subscriber。3、用户购买商品产生新订单4、业务系统构造打印订单报文Publish 到EMQX 。5 、EMQX 向发布打印消息6、打印机打印订单问题:尚不确定打印机如何与所属商...
2020-04-21 11:53:00
381
原创 Java 拉取 nexus 私服 maven 仓库目录及jar包到本地,快速实现 nexus 2 仓库快速迁移复制
最近公司重整CenterOs 服务器资源,项目组一直使用的基于 nexus2 搭建的Maven 私服所在的服务器要资源回收。于是我打算在部门现有的一台闲置的Wiin10 开发主机上重新搭建一个Maven 私服。说做就做!第一步将原服务器仓库里的jar包和其他文件按照仓库目录结构拉取到本地通过分析...
2020-04-17 17:10:00
3303
1
原创 2020 摩擦问题汇总
1、SQL 在数据库中执行的过程分析2、Tomcat 性能调优方案3、KAFKA 、 Activity 导致消息丢失的场景有哪些 ,如何应对4、KAFKA 吞吐量大的原因是什么
2020-04-10 15:10:23
142
原创 使用Nginx 响应Json 报文的方式为IOS APP提供 Apple App Site Association Universal Links (通用连接)查询功能
问题概述:开发的项目中IOS客户端早期是通过短信内置短连接打开APP 和 微信中短连接打开APP的方式实现唤醒APP,这种方式需要中介网页通过JS 延时执行的方式判断 系统是否安装了APP。目前微信屏蔽了Scheme 打开 外部应用的方式。IOS 要做到从外部直接打开APP 需要使用到Universal Links 。IOS app 第一次启动时,系统默认从支持HTTPS的注册域名下获...
2020-04-10 09:43:07
5990
3
原创 Java 并发编程关键字(volatile、synchronized)语义及其实现细节
一、Java 程序执行过程概述Java 源文件编译成java字节码,执行时JVM将字节码载入到内存中 ,再由语言解释器和JIT转换成所在机器的汇编指令交给CPU执行。二、Java 并发编程面对的挑战Java 语言设计之初即选择支持多线程,java先天支持多线程的特性使得其良好的适应了现代CPU运算能力的提升及多核心的发展方向。并发编程的目的是,在保证程序运行结果正确的前提下尽可能的压榨...
2020-04-01 23:29:50
192
原创 Windows 系统 nginx-1.16.1 手动配置反向代理和部署前端Web工程
nginx+tomcat 简单的前后端分离部署 和 反向代理配置静态web部署配置: 1、将web工程文件夹拷贝到 Nginx 解压路径【nginx-1.16.1\html】下,示例中web工程文件夹名称为sweb。2、添加 location节点:location /sweb/ { root html; index ...
2019-11-22 16:18:54
962
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人