Java
《实战Java虚拟机 JVM故障诊断与性能优化》读书
最近读了《实战Java虚拟机 JVM故障诊断与性能优化》这本书,有一些收获,特此记录 1.有Java虚拟机规范,各大厂商根据规范自己实现VM,大家平常用的是Hotspot 2.堆一般分为 新生代,老年代。新生代里又分成 伊甸园区,from区,to区。一般对象是在伊甸园区出生,经过垃圾回收进入from to 老年代 3.Java栈的概念,每个线程都有的一个私有的内存空间,平常遇到的stackover
2024 年每个 JavaScript 开发人员都应该知道的 10 个面试问题
https://medium.com/javascript-scene/10-interview-questions-every-javascript-developer-should-know-in-2024-c1044bcb0dfb 这一路,灯火通明
On Java 中文版 基础卷 PDF
本书是布鲁斯 • 埃克尔时隔 15 年,继 Thinking in Java 之后又一力作,基于 Java 的 3 个长期支持版(Java 8、11、17),讲解 Java 核心语法,并对 Java 的核心变化进行详述。全书内容通俗易懂,配合示例讲解逐步深入,并结合实际开发需要,从语言底层设计出发,有效帮读者规避一些常见的开发陷阱。 主体部分共 22 章,内容包含对象、操作符、控制流、初始化和清理
javase Java的基础语法
javaSE java的基础语法 注释 注释并不会被执行 关键字  标识符 java的所有组成部分都需要名字。类名、变量名以及方法名都被成为标识符。 数据类型 java是一种强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(变量的初始化) 基本类型
C++20高级编程 第七章 内存管理
第七章 内存管理 C++内存机制 C++内存重要两类区域:栈区,自由存储区 一般而言,直接通过变量声明方式声明的变量内存都会在栈区中. 例如: 而通过动态分配方式,通过指针索引的内存会在自由存储区中. 例如: 经验法则:每次声明一个指针变量时,务必立即用适当的指针或nullptr进行初始化. 内存泄漏(Memory Leak): 指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,
前端系列:ES6-ES12新语法
目录ECMAScript系列:简介ECMAScript系列:ES6新特性let 关键字const 关键字变量的解构赋值模板字符串简化对象写法箭头函数参数默认值rest 参数spread扩展运算符Symbol迭代器生成器PromiseSetMapclass类数值扩展对象扩展模块化ECMAScript系列:ES7新特性Array.prototype.includes指数操作符ECMAScript系列:
今天了解了Scala
Scala(发音为 "skah-lah")是一种多范式编程语言,其名称是“Scalable Language”的缩写。它设计用于融合面向对象编程(OOP)和函数式编程(FP)的特性。Scala运行在Java虚拟机(JVM)上,因此可以与现有的Java代码无缝集成。这种语言的目标是提供一种能够在各种规模的项目中灵活应对的语言。以下是一些 Scala 的主要特性: 1.多范式: Scala支持面向对象
《优化接口设计的思路》系列:第七篇—接口限流策略
一、前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码
Spring Boot入坑-3-Maven简介
概述 Maven是一个自动化构建工具 能够将支持Maven项目的依赖包从远程仓库拉取到本地仓库,并进行依赖管理 项目中通过pom.xml来描述项目,对项目依赖进行管理与配置 给项目提供编译、打包、安装、部署支持 IDE提供了比较紧密的支持,如IDEA 在Maven项目中,会优先使用本地仓库依赖包,如果本地仓库有相应依赖包,不会去远程仓库拉取最新的依赖包 国内有很多可供直
安装篇 —— windows安装jdk1.8
下载jdk 1、可以去oracle官网进行jdk1.8的下载,网址是:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html 2、直接从我的网盘取:链接:https://pan.baidu.com/s/1w5poRdNz5w1cT2gM1fbpPQ 提取码:7nu0 安装
kafka入门(七):kafka实现高吞吐量
kafka 高吞吐量 顺序写入磁盘 Kafka 使用 磁盘来存储和缓存消息。 Kafka 只能在日志文件的尾部追加新的消息,也就是 顺序写入磁盘。 顺序写入磁盘,让 Kafka 能实现更高的吞吐量。 页缓存 Kafka中大量使用页缓存,这是Kafka 实现高吞吐的重要因素之一。 页缓存,是操作系统实现的一种磁盘存储,用来减少对磁盘 IO 的操作。就是 把磁盘中的数据缓存到内存中,把对磁盘的访问变为
Vue中的跳转和打开新窗口
一、如何在Vue中跳转页面 Vue作为一种前端框架,本身是无法实现后端的页面跳转功能的。它只能将页面作为一个整体进行组合和渲染,因此页面跳转往往需要依赖于前端路由和路由跳转来实现。 在Vue中,一般使用Vue Router实现路由跳转。Vue Router提供了router-link指令和$router对象,可以实现在同一页面内跳转或跳转到其他页面。 1、使用router-link实现页面跳转:
前端随机验证码安全验证sdk
前端必备工具推荐网站(免费图床、API和ChatAI等实用工具): http://luckycola.com.cn/ 前言 验证码:是一种校验区分用户是计算机还是人的公共全自动程序。 作用:防止刷票、论坛灌水、刷页、防止黑客恶意破解密码、盗取用户数据和防止恶意注册登录等等 介绍 这是一款开箱即用、维护简单、接入简单的前端随机验证码安全验证sdk模块. 一、效果展示 在线效果展示地址:点击即可
考研408之C语言基础学习记录
考研408之C语言基础学习记录汇总 前言 这篇文章是我决定考研后写下的C语言基础学习记录,因为在此之前我有过Java项目开发的相关经验,对基础语言的学习也有一些心得,所以学习C语言时也只是快速过一下语法重点,并进行记录总结。这里只是第一次学习C语言基础进行的知识总结,未涉及到刷题后总结,后续刷题后如果觉得有总结的必要,也会在我的博客园中进行发布,读者可以关注了解,一起交流学习,祝成功上岸! 补充
nginx 根据端口进行判断进行自动跳转
listen 80; listen 443 ssl; server_name xxxxxx.org.cn www.xxxxxx.org.cn; large_client_header_buffers 4 1m; fastcgi_intercept_errors on; if ($server_port = 443) {
ajax实现文件上传
ajax上传文件 上传文件我一般采用form表单上传,form简单 form上传文件 开发过程中如果是先将图片上传上去,在提交其他数据 form没有回调函数(还有个问题上传完成之后导致页面跳转) ajax上传文件(js代码) java后端处理
高并发扣款,如何保证结果一致性
转载至我的博客 ,公众号:架构成长指南 在金融系统中,我们会跟钱打交道,而保证在高并发下场景下,对账户余额操作的一致性,是非常重要的,如果代码写的时候没考虑并发一致性,就会导致资损,本人在金融行业干了 8 年多,对这块稍微有点经验,所以这篇聊一下,如何在并发场景下,保证账户余额的一致性 1. 扣款流程是什么样的? 以上流程如果并发量非常低的情况下是没问题的,但是如果在高并发下是很容易出现问
GPT打字机效果—— fetchEventSouce进行sse流式请求
需求背景 在GPT爆发的时候,各项目都想给自己的产品加上AI,蹭上AI的风口,因此在最近的一个需求,就想要给项目加入Ai的功能,原本要求的效果是,查询到对应的数据后,完全展示出来,也就是常规的post请求,后来这种效果遇到了一个很现实的问题:长时间的等待。我们需要在GPT返回全部数据后,前端才能接受并展示,一旦询问的时间过长,就会让用户等待很久,这时候我们需要将前端的展示效果改为想ChatGPT那
大学生期末周1.10日计划
做CS161的思维导图,就包括第二章ppt的内容,以及一些Java细节 数字系统,赶紧排查,明天上课问 英语作文复习训练(复习今天的flow,训练以前教的),自己搞出一套模板 数模:学习线性代数1~2课 数学继续刷极限的题目,以及后面的那个高阶微分方程 服创赛题
面试题:Hadoop的基于进程的计算和Spark基于线程方式优缺点?
Hadoop中的MR中每个map/reduce task都是一个java进程方式运行,好处在于进程之间是互相独立的,每个task独享进程资源,没 有互相干扰,监控方便,但是问题在于task之间不方便共享数据,执行效率比较低。比如多个map task读取不同数据源文件需要将数据源加 载到每个map task中,造成重复加载和浪费内存。而基于线程的方式计算是为了数据共享和提高执行效率,Spark采用了
[代码随想录] 第一天
704.二分查找 [https://leetcode.cn/problems/binary-search/description/] 思路: 二分查找适用于在有序数组中查找目标值,左边边界为left,右边边界为right,每次使用middle=(right+left)/2,将原数组划分为[left,middle]和[middle,right]两个数组,若middle <target,则目
docker自建镜像&上装镜像
创建一个文件名称:Dockerfile 内容: FROM openjdk:8-jre #拉取openjdk:8-jre 这个镜像 ADD 1center-1.0.jar app.jar #jar包放到和dockerfile同级 EXPOSE 8761 #端口 ENTRYPOINT ["java","-jar","
【从零开始重学Java】第11天
前情提示 从零开始重学Java 第0天 从零开始重学Java 第1天 从零开始重学Java 第2天 从零开始重学Java 第3天 从零开始重学Java 第4天 从零开始重学Java 第5天 从零开始重学Java 第6天 从零开始重学Java 第7天 从零开始重学Java 第8_9_10天 Java数据流 关于文件的操作建议使用新的API Java NIO.2 JDK9以后 输入输出流的抽象类新增
docker安装es
Es安装 拉取es docker pull elasticsearch:6.6.1 启动 docker run -p 9200:9200 -p 9300:9300 --name es6.6 -e "discovery.type=gold-application" -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" -
MyBatis实战指南(二):工作原理与基础使用详解
MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。那么,它是如何工作的呢?又如何进行基础的使用呢?本文将带你了解MyBatis的工作原理及基础使用。 一、MyBatis的工作原理 1.1 MyBatis的工作原理 工作原理图示: 1、读取MyBatis配置文件 mybatis-config.xml为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,
Springboot 扩展点
1.ApplicationContextInitializer org.springframework.context.ApplicationContextInitializer 这是整个spring容器在刷新之前初始化ConfigurableApplicationContext的回调接口,简单来说,就是在容器刷新之前调用此类的initialize方法。这个点允许被用户自己扩展。用户可以
Thread 之 join() 方法
案例代码 @Slf4j public class JoinDemo { public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(() -> { log.info("{} 线程启动", Thread.currentTh