Java
java8 stream 数据丢失(错乱)的问题
说明原因:使用的java8的parallelparrStream是并行的,但是.collect(Collectors.toList()) 使用了非线程安全的集合。 修改办法: 修改办法1:把parallelparrStream改为普通的stream ; 修改办法2: Collectors.toList()改为并行集合。
Java中枚举类的特殊用法-使用枚举实现单例模式和策略模式
场景 设计模式-单例模式-饿汉式单例模式、懒汉式单例模式、静态内部类在Java中的使用示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127555096 设计模式-单例模式-注册式单例模式-枚举式单例模式和容器式单例模式在Java中的使用示例: https://blog.csdn.net/BADAO_LIUMANG_QIZ
JavaScript之闭包
在前端编程中,使用闭包是非常常见的,我们经常有意无意,直接或间接用到了闭包。闭包可以使传递数据更加灵活(比如处理一些点击事件) 又比如下面这个例子:(是不是很亲切~~) 闭包的概念 各种专业文献上的"闭包"(closure)定义非常抽象,很难看懂。我的理解是,闭包就是能够读取其他函数内部变量的函数。 由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解
Java中进行排序比较-Comparaator与Comparable的区别-使用示例
场景 java中进行排序比较时Comparator与Comparable区别: 如果你有一个类,希望支持同类型的自定义比较策略,可以实现接口Comparable 如果某个类,没有实现Comparable,但是又希望对它进行比较,则可以自定义一个Comparator,来定义这个类的比较规则 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 使用Comp
用十条命令在一分钟内检查Linux服务器性能
通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。 uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -n TCP,ETCP 1 top 其中一些命令需要安装sysstat包,有一些由procps包提供。这些命令的输出,有助于快速定位性能瓶颈,
SpringBoot 多环境部署
多个配置文件 application.yaml application-dev.yaml application-test.yaml application-prod.yaml 加载顺序 默认加载 application.yaml profiles.active ==dev 合配置 使用不同配置 application.yaml 中 profiles.active:dev nohup j
别再满屏找日志了!推荐一款 IDEA 日志管理插件,看日志轻松多了!
1.简介 Grep Console是一款方便开发者对idea控制台输出日志进行个性化管理的插件。 2.功能特性 Grep Console的主要功能特性: 支持自定义规则来过滤日志信息; 支持不同级别的日志的输出样式的个性化配置; 总结:通过过滤功能、输出日志样式配置功能,可以更方便开发者在大量的日志信息中筛选出自己比较关注的日志信息。 推荐一个开源免费的 Spring Boot 最全教程
SpringBoot整合OSS文件上传
一、注册阿里云账号并开通OSS服务 1、登录阿里云账号 2、创建一个bucket 3、创建子用户 对自用户分配权限,打开操作OSS的全部权限(也可根据业务需求进行更改) 4、配置上传跨域规则 任何来源: * 允许方法: POST 任何请求头Headers: * 二、文件上传方式 1、服务器直传方式 每个OSS的用户都会用到上传服务。Web端常见的上传方法是用户在浏览器或App端上传文
Java学习必备-文件扩展名
根据动力节点老杜的Java17版入门教程,整理了笔记,详细讲一讲关于文件扩展名 这套JavaSE教程基于Java17讲述,从零基础出发,讲解Java编程的基础知识和实践技巧,涵盖了Java编程的方方面面。 学习地址:https://www.bilibili.com/video/BV1ig4y1c7kP 文件扩展名 什么是文件扩展名 每一个文件都有文件扩展名,扩展名决定了文件的类型,什么是文件扩
vue使用qrcodejs2生成二维码且底部带文字描述,支持下载(日常记录)
使用qrcodejs2生成二维码的方法: /** * 二维码生成 * @param content 生成二维码内容 * @param desc 二维码底部描述 * @param qrcodeDom 挂在dom * @returns {*|HTMLDivElement} */ export function generatorQrcode (content, desc, qrcodeDo
Maximum call stack exceeded(超出最大调用堆栈)错误是什么意思?
你有没有遇到过类似的错误?发生此错误是因为调用堆栈已超出其限制。但是,这是什么意思? 首先,让我们了解什么是调用堆栈。 (https://www.java567.com,搜"javascript") 调用堆栈 调用堆栈是 JavaScript 中的一种数据结构,其中包含正在执行的函数。此结构采用后进先出格式。让我们看一个例子: function printName() {
Git 中止合并——如何在 Git 中取消合并
版本控制是一个帮助管理文件和目录随时间变化的系统。它允许多人在一个项目上进行协作,跟踪修改,并在需要时恢复到以前的版本。 最流行的版本控制系统之一是 Git。Git是 Linus Torvalds 于 2005 年创建的分布式版本控制系统 (DVCS)。它旨在处理管理 Linux 内核源代码的复杂性,但后来被广泛采用并用于各种软件开发项目。 Git 以其速度、灵活性和高效处理小型和大型项目的能力而
MyBatis配置Log4j
MyBatis配置Log4j 出现了这个警告 log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.a
PHP 中的逻辑运算符——初学者指南
逻辑运算符在编程语言中起着关键作用。它们让您可以操作布尔值并评估逻辑条件。 在 PHP 中,有四种基本的逻辑运算符:AND、OR、NOT 和 XOR。本指南将帮助您了解这些运算符,我将使用代码示例和实际用例解释它们的工作原理。 (https://www.java567.com,搜"php") 逻辑与运算符 (&&) AND 运算符,写成“&&”,只有当它的两个操作数
F27SB 软件开发
F27SB Software Development 2GUI Coursework 1: LayoutManagerCreate a digital clocka) Create the layout for your digital clock. The clock should have the followinglayout:so:● HH - displays the hours● MM
java中线程的状态
一:从操作系统上说可以分为 5种 新建:线程被创建出来时 就绪:此时cpu拥有可执行权,但是未被真正执行 运行中:线程正在执行 等待:被阻塞了(sleep wait方法等) 结束:整个线程结束 二:从java源码中分为 6种状态 从Thread源码中我们可以看到一个枚举类 :JAVA给出了以下6种状态 NEW 新建状态 RUNABLE&nb
最小编译器和 UI 框架「GitHub 热点速览」
如果有一个关键词来概述本周的 GitHub 热门项目的话,大概就是 van 和 sectorc 都用到的 smallest。只不过一个是前端的响应式框架,一个是搞编译的 C 编译器。它们除了轻量化这个共同特点之外,还有好用,足以满足你的日常编程所需。 说到编程,EasySpider 便是一个免去敲代码工作量,用看得见的方式搞定爬虫需求的项目。看得见的不只是 EasySpider,还有 DragG
docker容器踩过的坑:在idea可以运行,放到tomcat出现异常
1.docker里边安装tomcat,tomcat会自带jdk版本,使用也是默认的版本,要注意tomcat与是否与想要jdk版本的一致,在创建容器时就需要挂载jdk版本 指令:docker run -id --name=c_tomcat -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps -v /opt/jdk1.8.0_152:/opt/java/ope
自从用了 Kiali 以后才知道,配置 Istio 的 流量管理 是如此容易
在生产环境中,直接登录服务器是非常不方便的,我们可以使用Kiali配置Istio的流量管理。 本文以Istio官方提供的Bookinfo应用示例为例,使用Kiali配置Istio的流量管理。Bookinfo应用的架构图如下: 其中,包含四个单独的微服务: productpage:调用 details 和 reviews 两个服务,用来生成页面。 details:包含了书籍的信息。 review
java中线程的启动方式
1.继承Thread类 重写run方法 public class TreadTest01 extends Thread{ @SneakyThrows @Override public void run() { for (int i = 0; i < 100; i++) { Thread.sleep(100);
脱离 Spring 苦海,Solon v2.3.0 发布
Solon 是什么框架? 一个,Java 新的生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(全球第二级别的生态)。与其他框架相比,它解决了两个重要的痛点:启动慢,费资源。 解决痛点? 由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例: “snowy-spring 版” 启动 30-50秒 “s
聊聊部署在K8S的项目如何获取客户端真实IP
前言 最近部门有个需求,需要对一些客户端IP做白名单,在白名单范围内,才能做一些业务操作。按我们的部门的一贯做法,我们会封装一个client包,提供给业务方使用。(注: 我们的项目是运行在K8S上)本以为这是一个不是很难的功能,部门的小伙伴不到一天,就把功能实现了,他通过本地调试,可以获取到正确的客户端IP,但是发布到测试环境,发现获取到的客户端IP一直是节点的IP,后面那个小伙伴排查了很久,一直
跨平台开发的优势:ReactNative与小程序容器
结合React Native和小程序容器技术,开发者可以通过热重载和快速迭代提高开发效率,并实现统一的代码和逻辑,简化维护和升级过程。这种技术应用价值使得开发者能够更灵活地构建跨平台应用程序,并充分利用多个生态系统的优势。 React Native与小程序容器技术的结合为移动应用开发提供了更广阔的可能性,促进了开发效率和用户体验的提升。开发者可以根据项目需求和技术栈选择适合的技术组合,为用户带
【一步步开发AI运动小程序】十、姿态动作相似度比较
随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序,本系列文章将使用“云智AI运动识别小程序插件”,请先行在微信服务市场或官网了解详情。 在姿态、动作、运动检测时