编译器 形象 第二章jvm

Ubuntu 22.04 GCC Arm 12.2.rel1编译 DAPLink

记录一下过程. Arm Mbed 应该属于Arm的机构或者是Arm资助的机构. 常用的 DAPLink 基本上都是从这个项目派生的. 仓库主要是使用 Keil, 对 GCC 的支持是 2020 年才正式合并进来的. Ubuntu 下使用 GCC Arm 编译 ......
DAPLink Ubuntu 22.04 rel1 GCC

《Terraform 101 从入门到实践》 第二章 Providers插件管理

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。 不怕出身低,行行出状元。 插件 Terraform可以对多种平台的多种资源进行管理,这个是通过插件来实现的。 这里的插件,在Terrafor ......
Terraform Providers 插件 第二章 101

Windows下使用Graalvm将Springboot应用编译成exe大大提高启动和运行效率

GraalVM安装 GraalVM安装 安装 请前往GraalVM官网 下载 GraalVM Community 22.3,注意当前支持的Springboot的GraalVM版本必须是22.3 笔者这里下载的Java版本为17,如下图 安装GraalVM的方法与安装JAVA方法大致相同,GraalV ......
Springboot 效率 Windows Graalvm exe

如何让Java编译器帮你写代码

本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开。通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码思想过程和解决思路,并对Java编译器底层有初步了解。 ......
编译器 代码 Java

如何在WSL下交叉编译openwrt

首先我们需要准备一个大小写敏感的文件夹。 然后拉取代码,并且执行代码的先决条件脚本。 注意,如果过程中某项条件不符,你可能要临时修复。 假如下图的组件判定失败(即出现ok=>fail) 那么你就需要执行sudo apt install -y python3-distutils来修复。 然后执行mak ......
openwrt WSL

不懂编译原理?本文教你从零实现最简编译模型!

简介 前两日我偶然间在 GitHub 上发现了一个项目:the-super-tiny-compiler,官方介绍说这可能是一个最简的编译器。刚好之前学过「编译原理」这门课,我的兴趣一下子就上来了,简单看了一下,这个项目是将一个 Lisp 表达式转化为 C 的表达式的编译器,中间涉及词法分析、语法分析 ......
模型 原理

AI换脸实战教学(FaceSwap的使用)---------第二步Tools:处理输入数据集。

续上篇:https://www.cnblogs.com/techs-wenzhe/p/12936809.html 第一步中已经提取出了源视频的人脸照片以及对应人脸遮罩(landmark以及其他自选遮罩) 第二步:利用Tools处理提取号好的数据集,使其对模型的训练产生正向收益。 步骤1:剔除不需要的 ......
实战 FaceSwap 教学 数据 Tools

win32com操作word 第二集:Application&Documents接口

本课程《win32com操作word API精讲&项目实战》以视频为主,文字教程为辅,公众号ID:一灯编程。 先回答一个网友私信问题: win32com和微软的word接口文档有什么关系 win32com的底层调用的是word的接口,理论上,想查看win32com的接口情况,只需要看微软官方的文档即 ......
Application Documents 接口 word win

精华推荐 | 【JVM深层系列】「GC底层调优系列」一文带你彻底加强夯实底层原理之GC垃圾回收技术的分析指南(GC原理透析)

前提介绍 很多小伙伴,都跟我反馈,说自己总是对JVM这一块的学习和认识不够扎实也不够成熟,因为JVM的一些特性以及运作机制总是混淆以及不确定,导致面试和工作实战中出现了很多的纰漏和短板,解决广大小伙伴痛点,我写了本篇文章,希望可以帮助大家夯实基础和锻造JVM技术功底。 什么是垃圾收集(GC) 在JV ......
底层 原理 深层 垃圾 精华

C++ 编译依赖管理系统分析以及 srcdep 介绍

C++ 编译依赖管理系统分析以及 srcdep 介绍 如果用 C++ 写一个中小型软件,有要用到很多第三方库的话,相信不少人会觉得比较麻烦。很多新兴的语言都有了统一的依赖管理系统和构建系统,但是 C/C++ 界一直没有比较正统的。(也不奇怪,连统一的 string 都没有,怎么可能有统一的依赖、构建 ......
管理系统 srcdep 系统

一次JVM GC长暂停的排查过程

作者:京东科技 徐传乐 背景 在高并发下,Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」,由于GC期间都存在Stop The World问题,因此很容易导致服务超时,引发性能问题。 事情最初是线上某应用垃圾收集出现Full GC异 ......
过程 JVM

第二章 线程管控

第二章 线程管控 主要内容: 启动线程,并通过几种方式为新线程指定运行代码 等待线程完成和分离线程并运行 唯一识别一个线程 2.1 线程的基本管控 ​ main函数其本声就是一个线程,在其中又可以启动别的线程和设置其对应的函数入口。 2.1.1 发起线程 ​ 不管线程要执行的任务是复杂还是简单,其最 ......
线程 第二章

虚拟化技术浅析第二弹之初识Kubernetes

作者:京东物流 杨建民 一、微服务架构起源 单体架构:可以理解为主要业务逻辑模块(我们编写的代码模块,不包括独立的中间件)运行在一个进程中的应用,最典型的是运行在一个Tomcat容器中,位于一个进程里。单体架构好处是技术门槛低、编程工作量少、开发简单快捷、调试方便、环境容易搭建、容易发布部署及升级, ......
Kubernetes 技术

解读JVM级别本地缓存Caffeine青出于蓝的要诀3 —— 讲透Caffeine的数据驱逐淘汰机制与用法

上一篇文章中我们聊了Caffeine的同步、异步的数据回源方式。本篇文章我们再一起研讨下经Caffeine改良过的异步数据驱逐处理实现,以及Caffeine支持的多种不同的数据淘汰驱逐机制和对应的实际使用。 ......
Caffeine 青出于蓝 要诀 缓存 级别

【JVM故障问题排查心得】「内存诊断系列」Xmx和Xms的大小是小于Docker容器以及Pod的大小的,为啥还是会出现OOMKilled?

为什么我设置的大小关系没有错,还会OOMKilled? 这种问题常发生在JDK8u131或者JDK9版本之后所出现在容器中运行JVM的问题:在大多数情况下,JVM将一般默认会采用宿主机Node节点的内存为Native VM空间(其中包含了堆空间、直接内存空间以及栈空间),而并非是是容器的空间为标准。 ......
大小 容器 OOMKilled 故障 内存

解读JVM级别本地缓存Caffeine青出于蓝的要诀 —— 缘何会更强、如何去上手

继Guava Cache之后,我们再来聊一下各方面表现都更佳的Caffeine,看一下其具体使用方式、核心的优化改进点,窥探其青出于蓝的秘密所在。 ......
青出于蓝 要诀 缓存 Caffeine 级别

解读JVM级别本地缓存Caffeine青出于蓝的要诀2 —— 弄清楚Caffeine的同步、异步回源方式

作为一种对外提供黑盒缓存能力的专门组件,Caffeine基于穿透型缓存模式进行构建。本文就深度全面聊一聊关于Caffeine的多种不同的数据回源方式、以及在同步异步场景下的实现与使用。 ......
Caffeine 青出于蓝 要诀 缓存 级别

像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本

现代.NET和C#在低级/系统程序以及与C/C++/Rust等互操作方面的能力完全令各位刮目相看了,有人用C#开发的64位操作系统: GitHub - nifanfa/MOOS: C# x64 operating system pro...,截图要介绍的是一个结合Roslyn和NativeAOT的实 ......
编译器 应用程序 版本 文件 程序

在windows下导入react项目并且打包编译后部署到nginx上

在windows下导入react项目并且打包编译后部署到nginx上 一、安装npm 二、创建react项目 三、安装nginx 四、总结 最近接手了公司的一个django项目,这是应该前后端分离的项目,前端使用react编写,由于之前没用过react,所以在配置时遇到了一些问题,现在记录下来。 一 ......
windows 项目 react nginx

深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」

相信大多数人的理解是Major GC只针对老年代,Full GC会先触发一次Minor GC,不知对否?我参考了R大的分析和介绍,总结了一下相关的说明和分析结论。 ......
盲点 quot 深层 JVM HotSpotVM

【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康

相信如果经历了我的上一篇Arthas的文章[【JVM实战系列】「监控调优体系」针对于Alibaba-Arthas的安装入门及基础使用开发实战指南]之后,相信你对Arthas的功能和使用应该有了一定的理解了。那么我们就要进行下一步的探索功能。 ......

【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?

我有一个在主机中运行的Docker容器(也有在同一主机中运行的其他容器)。该Docker容器中的应用程序将会计算数据和流式处理,这可能会消耗大量内存。 该容器会不时退出。我怀疑这是由于内存不足,但不是很确定。我需要找到根本原因的方法。那么有什么方法可以知道这个集装箱的死亡发生了什么? ......
节点 容器 故障 内存 心得

ffmpeg库编译安装及入门指南(Windows篇)- 2022年底钜献

ffmpeg是业界最负盛名的开源音视频框架之一,然而它的编译安装对于刚刚入门的朋友来说可能会比较困扰。本文从自身经验出发,记录了在Windows下编译安装ffmpeg的过程,希望能够帮助到读者~ ......
入门指南 Windows 指南 ffmpeg 2022

windows上用vs2017静态编译onnxruntime-gpu CUDA cuDNN TensorRT的坎坷之路

因为工作业务需求的关系,需编译onnxruntime引入项目中使用,主项目exe是使用的vs2017+qt5.12。 onnxruntime就不用介绍是啥了撒,在优化和加速AI机器学习推理和训练这块赫赫有名就是了。 有现成的别人编译好的只有dll动态库,当然我们显然是不可能使用的,因为BOSS首先就 ......

编译安装nmon

nmon 是什么? nmon(Nigel's performance Monitor for Linux)是一种Linux性能监视工具,当前它支持 Power/x86/x86_64/Mainframe/ARM 这五种 CPU 架构的 Linux,能将监控到的数据保存为 JSON 格式便于其他工具进行 ......
nmon

Spring 6 源码编译和高效阅读源码技巧分享

Spring Boot 3 RELEASE版本于2022年11月24日正式发布,其核心框架的 Spring 也在2022年11月16日迎来了从 5.3.x到6.0.x重大版本升级,借着这个机会,更新下 Spring 6 源码编译以及分享下如何高效阅读源码的技巧。 ......
源码 技巧 Spring

过两年 JVM 可能就要被 GraalVM 替代了

大家好,我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态。 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 今天说一说 GraalVM。 GraalVM 是 Oracle 大力发展和想要推广的新一代 JVM ,目前很多框架都已经渐 ......
GraalVM JVM

JVM常用调优参数

JVM内存模型及常用参数 参数解释 -XX:SurvivorRatio:新生代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:为3,表示Eden:Survivor=3:2,一个Survivor区占整个新生代的1/5 -XX:TargetSurvivorRatio:对象动 ......
常用 参数 JVM

Jvm上如何运行其他语言?JSR223规范最详细讲解

一 在Java的平台里,其实是可以执行其他的语言的。包括且不仅限于jvm发展出来的语言。 有的同学可能会说,在java项目里执行其他语言,这不吃饱了撑着么,java体系那么庞大,各种工具一应俱全,放着好好的java不写,还要去执行其他语言干嘛。 写java的都知道,java是需要事先编译的,这意味着 ......
语言 Jvm JSR 223

预编译SQL为什么能够防止SQL注入

前言 之前我一个搞网络安全的朋友问了我一个的问题,为啥用 PreparedStatement 预编译的 SQL 就不会有被 SQL 注入的风险? 第一时间我联想到的是八股文中关于 Mybatis 的脚本 ${} 和 #{} 的问题,不过再想想,为啥 ${} 会有 SQL 注入的风险,而 #{} 就没 ......
SQL