Java
C++ 设计模式(单例+工厂)
C++ 设计模式(单例+工厂) 更好的阅读体验:【前往作者个人站点 - AriesfunのBlog】 文章内容若有疑问或错误,欢迎交流、指正,互相学习哈。 目录C++ 设计模式(单例+工厂)1.单例模式(1).概念(2).应用场景(3).实现单例模式(懒汉式较常用)(3-1).单例模式实现(懒汉+饿汉)(3-2).用类模板优化写法(懒汉式)(3-3).其他拓展(4).考虑多线程下的安全问题(懒汉
Java线程创建和销毁的开销
server对于每一个新来的请求都创建一个新的线程去处理: 开销主要在于3点: 创建和销毁线程的开销,Java的线程对应的是OS的线程,创建时需要OS辅助操作,频繁的销毁对GC也有压力 线程会消耗内存,且可运行的线程越多所占用的内存越大(如果只是创建但是没有执行的话,由于有虚拟内存的存在所以OS只分配了虚拟内存,只有当真正去访问这些内存时,操作系统才会将虚拟内内存映射到物理内存上,才真正消耗物
JVM学习之:堆(Heap)和非堆(Non-heap)内存
JVM学习之:堆(Heap)和非堆(Non-heap)内存 堆(Heap)和非堆(Non-heap)内存: 堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非
java springcloud 大文件分片上传处理
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所有浏览器。 支持文件批量上传 支持文件夹上传,且要求在服务端保留层级结构。文件夹数量要求支持到10W。 支持大文件断点续传,要求刷新浏览器,重启浏览器,重启电脑后仍然能够继续上传。文件
springbatch remote partition
SpringBatch远程分区demo *使用框架版本 springbatch版本过高会报错 list.of 原因: java9才开始支持这个形式 所有依赖版本与公司项目版本一致 总体架构图 其中: Master作为系统的指挥中枢,其主要的作用是将任务分区,例如按照数据表中的id主键进行分区,并将分区信息分发给slave节点,一般并没有具体的Step实现, Master将创建出多个
Zabbix 分布式监控平台
目录一、Zabbix 概述1. Zabbix 是什么2. Zabbix 监控原理3. Zabbix 监控对象4. Zabbix 常见的五个程序5. Zabbix 工作原理二、部署 Zabbix1. 环境2. 部署 Zabbix 服务端3. 部署 Zabbix 客户端 一、Zabbix 概述 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网
常用注解之@PathVariable与@RequestParam详解
@PathVariable和@RequestParam 首先说一下Request了解一下请求参数是什么 在访问各种各样网站时,经常会发现网站的URL的最后一部分形如:?xxxx=yyyy&zzzz=wwww。这就是HTTP协议中的Request参数,它有什么用呢?先来看一个例子: 在知乎中搜索web浏览器跳转到新页面后,URL变为https://www.zhihu.com/search?t
Hadoop:哪个数据节点是最近的数据节点来检索数据以及节点如何实现容错性
Q1 who can decide which Data Node is the closest datanode to retrieve the data? 当客户端要读一个文件的某个数据块时,它就需要向NameNode节点询问这个数据块存储在哪些DataNode节点上,这个过程如下图:当然,客户端至少需要向NameNode传输三个参数:文件路径、读取文件的起始位置、读取文件的长度,而Name
redis实战-商城系统
本文主要基于黑马的redis视频 编写 redis实战-商城系统 短信登录:使用redis共享session来实现 商户查询缓存:理解缓存击穿,缓存穿透,缓存雪崩等问题 优惠卷秒杀:Redis的计数器功能, 结合Lua完成高性能的redis操作,同时了解Redis分布式锁的原理,包括Redis的三种消息队列 附近的商户:利用Redis的GEOHash来完成对于地理坐标的操作 U
2023年百度之星程序设计竞赛初赛1题解java
每次出题都出其不意---->群友蓝桥国三ac一道题 根据官方的视频题解整理 依据难度的划分 第五题:促销糖果 分析:从答案出发想吃K个糖果,必定有k个糖纸,考虑换购,则有一张糖纸是不可以换的(因为你必须至少要买一颗糖果)则换购的数量为(k-1)/减去换购的糖果则是买的糖果 第一题公园 思路 :T 和F汇合与点g然后一起到达N,用三段dfs.然后枚
学好Elasticsearch系列-聚合查询
本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 先看后赞,养成习惯。 点赞收藏,人生辉煌。 目录概念doc values 和 fielddatamulti-fields(多字段)类型聚合分类分桶聚合Histogram 聚合指标聚合Percentiles 聚合cardinality聚合管道聚合嵌套聚合基于查询结果和聚合 & 基于聚合结果的查询聚合排序
学好Elasticsearch系列-分词器
本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 先看后赞,养成习惯。 点赞收藏,人生辉煌。 目录规范化:normalization字符过滤器:character filterHTML Strip Character FilterMapping Character FilterPattern Replace Character Filter令牌过滤器(tok
每日汇报 第七周第二天 JAVA复习&PTA
今日学习: 继续从网站中复习,PTA刷题时又复习了一下C++的vector用法和unordered_map unordered_map是一个将key和value关联起来的容器,它可以高效的根据单个key值查找对应的value。 key值应该是唯一的,key和value的数据类型可以不相同。 unordered_map存储元素时是没有顺序的,只是根据key的哈希值,将元素存在指定位置,所
Spring事务同步工具类
Spring的事务提供了一套事务同步的机制,暴露一些钩子给用户来执行自己的逻辑。基于此封装了事务钩子工具类。有时候可能我们想当前方法事务提交之后执行一些逻辑,比如发送消息到MQ中,那么可以很优雅的使用该工具类来实现这个目的,而不用将发生消息到MQ这段逻辑放到事物方法外面。 不使用该工具类写法 使用工具类后
JavaScript简介
JavaScript简介 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。 JavaScript是脚本语言 JavaScript是一种轻量级的编程语言 JavaScript是可插入HTML页面的编程代码 JavaScript插入HTML页面后,可由所有的现代浏览器执行 将要学习什么 Java
微信小程序给图片做动态标注的示例
在微信小程序中实现图片标注尺寸的功能,涉及到图像处理、绘图、交互等多个方面。以下是一个简化的教程,帮助你了解如何在微信小程序中实现图片标注的功能: 步骤 1:准备页面结构和样式 首先,创建一个页面用于图片标注尺寸。在 wxml 文件中设置一个 <image> 标签用于显示图片,以及一个 <canvas> 标签用于绘制标注。您还可以添加交互组件如 <button>
Typecho 反向代理 http 访问强制启用生成 https 链接
问题描述 微酷是使用Nginx反向代理内网的Typecho站点,为了效率内网访问不需要使用https,这样Typecho接收到的请求是http协议的,于是网站内部资源链接被修改成了http。 解决方案 分析了下源代码,最终定位到解析 url 依赖varTypechoRequest.php文件中的isSecure()函数,如下: 也就是说生成的网页链接是http还是https取决于上面3个,其实作
jar包加密( ClassFinal)
1:源码地址 参考地址:https://gitee.com/roseboy/classfinal 2:打包 可以选择拉下源码后,本地直接package一下,把加密的这个jar包先打好。自己研究的话 也可以不用打包,直接找到启动类,启动也是没问题的。 3:启动 启动后根据提示写入参数,但是在此过程中,加密包所在的地址中,不要包含中文! 启动加密jar包:java -jar class
解锁Spring组件扫描的新视角
本文分享自华为云社区《Spring高手之路10——解锁Spring组件扫描的新视角》,作者: 砖业洋__。 首先,我们将探讨一些Spring框架中IOC(Inversion of Control)的高级特性,特别是组件扫描的相关知识。组件扫描是Spring框架中一个重要的特性,它可以自动检测并实例化带有特定注解(如@Component, @Service, @Controlle
maven构建非法字符解决办法
使用maven做版本构建时候碰到了一个问题,有个java源码始终编译报错,错误发生在文件第一行。 出错内容是: ***.java:[1,1] 非法字符: 65279 此问题是文件编码问题。这一个java文件的编码格式是UTF-8 BOM格式的。其它源码的编码格式都正常。 修改方法具体如下: 先在eclipse的 project explorer中选中这个java文件,在右键菜单中选中
使用$.ajax 来调取后台接口,一定要用try/catch包起来
1、因为如果不用try/catch 包起来,如果遇到连不上接口的情况,就会只在控制台输出信息,前台收不到报错信息 try{ var response = await $.ajax({type: 'POST',url: url,data: null,contentType: "application/json;charset=UTF-8",dataType: "json"})