自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 JVM运行时数据区

由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)都只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。与虚拟机栈所发挥的作用是非常相似,它们的区别是虚拟机栈主要为虚拟机执行Java方法(即字节码)服务,本地方法栈则是为虚拟机使用到的本地(Native)方法服务。

2025-01-12 22:08:56 329

原创 JVM调优典型配置的5种方法!

但是,当堆空间较小时,运行一段时间以后,就会出现“碎片”,如果并发收集器找不到足够的空间,那么并发收集器将会停止,然后使用传统的标记、清除方式进行回收。响应时间优先的应用:年老代使用并发收集器,所以其大小需要小心设置,一般要考虑并发会话率和会话持续时间等一些参数。-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4。-XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。

2025-01-12 22:05:15 307

原创 JVM及GC机制

一般,老年代用的算法是标记-压缩算法,即:标记出仍然存活的对象(存在引用的),将所有存活的对象向一端移动,以保证内存的连续。因此,这种方式分配内存和清理内存的效率都极高,这种垃圾回收的方式就是著名的“停止-复制(Stop-and-copy)”清理法(将Eden区和一个Survivor中仍然存活的对象拷贝到另一个Survivor中),这不代表着停止复制清理法很高效,其实,它也只在这种情况下(基于大部分对象存活周期很短的事实)高效,如果在老年代采用停止复制,则是非常不合适的。确定什么时候需要执行GC;

2025-01-12 22:01:33 852

原创 golang游戏开发学习笔记-创建一个能自由探索的3D世界

在构造函数中我们需要传入一个jpg格式的纹理文件路径(调用image/图片格式包下的Decode方法可以解析不同格式文件,这里为了简单,只解析jpg格式),和一个uint32类型的参数,这个参数指定在我们使用多个纹理时,着色器程序中不同纹理的占位符。方法创建一个视图矩阵,它用于将物体坐标转化为我们观察者的视角坐标,这个方法需要三个向量,第一个是观察者处于世界空间中的哪个位置,第二个是观察者要观察的方向,最后是表示观察者所观察方向的正上方的向量(可以通过右向量和观察方向向量叉乘得到)

2025-01-12 04:05:34 1129

原创 Go 不同于其他语言的九个特性_go 相比其他语言的特点

上述函数接收 Foo 的副本并返回一个新的 Foo 对象。上面的函数接收一个指向 Foo 的指针并改变原始对象。按值调用与按引用调用的这种明显区别使您的意图显而易见,并降低了调用函数无意中改变传入对象的可能性(当它不应该发生时(许多初学者开发人员很难做到这一点)握紧)。正如麻省理工总结的:“可变性使得理解你的程序在做什么变得更加困难,并且更难以执行契约”此外,按值调用显着减少了垃圾收集器的工作,这意味着应用程序更快、内存效率更高。

2025-01-12 04:01:52 861

原创 Git远程仓库使用方法(非常详细),从零基础入门到精通,看完这一篇就够了_git仓库

远程仓库在协同开发中起着关键的作用,它提供了一个中央存储库,使多个开发者能够协同工作、共享代码、协同工作、分支管理、解决冲突和跟踪项目的进展。

2025-01-12 03:58:10 1058

原创 Android程序员如何在内卷和倒挂中明哲保身,或是百尺竿头更进一步?

但薪资倒挂真的是一件很正常的事,可以说,这是一种市场规律。而老员工的薪资涨幅都是按照公司制度一年一普调,所以这两个价格存在落差,况且市场价也不是总比内部价要高的,有时候应届生的薪资如同白菜价,进来和老员工干同一种活,这时候,就没人会出来抱怨说自己薪资被倒挂了。关于如何在一次又一次的内卷和倒挂中明哲保身,或者是百尺竿头更进一步!这就完全是靠自己了。因资料和面试题包含的技术点比较多,无法在简书上全部展示,所以整理了PDF文档供大家面试时做参考,需要这份《Android面试题+答案整理》PDF的朋友可以前往。

2025-01-11 13:22:57 760

原创 Android移动应用开发之接收短信读取并显示在TextView_android 读手机短信

就是点击发送短信,然后能够读取短信的内容显示在TextView中。

2025-01-11 13:19:15 400

原创 Android移动应用开发之制作动画基础_android 移动动画

补间动画就是Android会自己帮我们补齐动画,有四种类型分别是透明度、旋转、缩放和评议四种。这里就是把准备好的图片放进去就行,duration表示每帧播放的时长。顾名思义,需要我们准备好一帧一帧的图片,然后连续播放组成动画。相当于将frame.xml当成了一个图片直接调用了。简单来说,就是可以持续改变属性值,达到动画的效果。这里设置id,方便控制动画的进行和停止。点击一下动画开始,再点一下动画结束。

2025-01-11 13:15:33 402

原创 Django documentation_django documetn

的官网文档整理了一下,这其中不包括太多的代码案例,只是把常用的知识点、核心内容和开发常见的问题汇总一下。主要针对新手、开发人员使用(看过源码的大佬请忽略)。应用程序测试的常规位置是在应用程序的 tests.py文件中。测试系统将自动在其中找对应的。,这部分文档介绍挺详细,而且对于新手没有太大的难度,易于理解,代码完整。中,但这是我认为新手可能经常忽略的部分。

2024-12-17 08:48:15 440

原创 DirectX12(D3D12)基础教程(十七)——让小姐姐翩翩起舞(3D骨骼动画渲染

【代码】DirectX12(D3D12)基础教程(十七)——让小姐姐翩翩起舞(3D骨骼动画渲染。

2024-12-17 08:44:34 449

原创 day09-Linux运维-vim编辑器与显示文件内容的命令_在limux中怎么显示在vim命令里目录的内容呢

1.-n 不换行显示2 .> 输出重定向3.>> 追加输出重定向4.-e 激活特殊符号 \t \nseq 生成序列:seq -w 100文件合并-b 显示行号 不统计空白行-n 显示行号统计空白行。

2024-12-17 08:37:03 391

原创 c语言:通讯录(静态版本)_静态通讯录的描述

/因为删除完之后,元素个数就会减去1,由原来的3变成了2,,再添加新元素的时候,就会直接把新元素的内容放在下标为2的位置上,这样的话,即使之前的最后一个元素。//在这里,[ ]的优先级等于->,,但是,data和[ ]是不可以先进行结合的,因为,这是在一个调用函数中,形参那部分接受到的只有指针变量pc。//如果想删除最后一个,是删除不掉的,因为,如果10个元素,最后一个下标为9,判断条件是

2024-12-17 08:29:36 1720

原创 C语言经典面试题_c语言面试题库

struct st1/*字段a占用了一个字节的7个bit*//*字段b占用了2个bit*//*字段c占用了7个bit*/}s1;sizeof(s1)等于3。因为一个位域字段必须存储在其位域类型的一个单元所占空间中,不能横跨两个该位域类型的单元。也就是说,当某个位域字段正处于两个该位域类型的单元中间时,只使用第二个单元,第一个单元剩余的bit位置补(pad)0。于是可知Sizeof(s2)等于3*sizeof(int)即12struct st2。

2024-12-17 08:25:56 673

原创 C语言经典面试题_c语言面试题库(1)

struct st1/*字段a占用了一个字节的7个bit*//*字段b占用了2个bit*//*字段c占用了7个bit*/}s1;sizeof(s1)等于3。因为一个位域字段必须存储在其位域类型的一个单元所占空间中,不能横跨两个该位域类型的单元。也就是说,当某个位域字段正处于两个该位域类型的单元中间时,只使用第二个单元,第一个单元剩余的bit位置补(pad)0。于是可知Sizeof(s2)等于3*sizeof(int)即12struct st2。

2024-12-17 08:22:14 655

原创 C语言笔记5(指针上)_p_num+i---&num[i]

/利用取地址符&,获取变量a的地址,给指针变量pa赋值。//利用指针运算符*获取pi指向的内存,即为i的值。//声明一个指针变量pi,指向i。//定义并初始化一个int数组。//创建一个普通二维数组。//1、指向某个地址。//定义一个字符数组。//定义一个普通变量。

2024-12-17 08:18:34 388

原创 C语言数组与指针常考笔试题(原题+解析+原码)_int arr[5]笔试题

D:\gtee\C-learning-code-and-project\test_916\Debug\test_916.exe (进程 25604)已退出,代码为 0。D:\gtee\C-learning-code-and-project\test_916\Debug\test_916.exe (进程 30036)已退出,代码为 0。D:\gtee\C-learning-code-and-project\test_916\Debug\test_916.exe (进程 22716)已退出,代码为 0。

2024-12-17 08:14:53 564

原创 C语言指针初阶--详解_int p2 = #

指针必须结合内存来理解!把内存想象成很长很长的大走廊,走廊上有很多很多房间,每个房间的大小都是一个字节。每个房间都有一个门牌号,门牌号是从0开始,依次递增,房间号就叫“地址”,可以用另外的一块内存空间来保存这个地址,这样的内存空间就称之为“指针变量”。认识指针就要先认识内存,认识内存就要先知道地址指针变量其实涉及两方面的信息:1.这个地址从哪开始 2.这个地址有多长。有这两方面信息才能共同确定一块内存空间,地址多长就体现在指针类型里,例:int* 对应的内存就是4个字节指针变量的声明:定义了指针变量

2024-12-17 08:11:12 706

原创 C语言快捷键+一堆宝藏技巧,全网最全~_“多 y ÷ 一(爿”ρ`

debug 和 release,它包含调试信息,并且不作任何优化,便于程序员调试程序.,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的以便用户很好地使用。X86 环境下 debug 的运行结果:debug文件下它的大小为:X86 环境下 release的运行结果:通过调试结果,我们可以知道 release 里面不包含任何的调试结果。

2024-12-17 08:07:32 875

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除