Java
文章平均质量分 92
Dontla
调包侠
展开
-
程序语言的内存管理:垃圾回收GC(Java)、手动管理(C语言)与所有权机制(Rust)(手动内存管理、手动管理内存)
垃圾回收(Garbage Collection,GC)是一种自动内存管理技术。它的核心思想是在程序运行时,由垃圾回收器自动监控内存的使用情况,识别不再被引用的对象,并回收其占用的内存空间。// 错误:重复释放int* ptr;// 未分配内存free(ptr);// 错误:ptr未初始化。原创 2024-10-22 23:47:14 · 1326 阅读 · 0 评论 -
垃圾回收(GC)机制中“Stop the world”问题(暂停世界)
Stop the world”问题主要指在垃圾回收过程中,应用程序执行被全局暂停,导致性能和响应性下降。随着计算机科学的发展,越来越多的垃圾回收器采用并发、分代和增量等技术,努力减少或消除这种暂停,以提升系统的整体性能和用户体验。原创 2024-10-22 23:13:58 · 1193 阅读 · 0 评论 -
Android JNI(Java Native Interface)技术(与NDK(Native Development Kit)配合使用)Java与C++交互,Java调用C++接口
JNI(Java Native Interface)是Java平台的一部分,它允许Java代码和其他语言编写的代码进行交互。这意味着我们可以在Java环境中调用C、C++或者汇编语言等编写的函数,反之亦然。总的来说,JNI是一个强大的工具,它让我们可以在Java代码和其他语言之间建立桥梁。然而,使用JNI也需要注意一些问题,例如字符串操作、异常处理等。原创 2023-11-08 14:32:10 · 319 阅读 · 0 评论 -
http接口url 斜杠问题(“/”)(在 HTTP URL 中,斜杠(`/`)被视为分隔符,用于分隔 URL 的各个部分,斜杠会被编码成%2F)java URLEncoder.encode()
因此,为了避免这种情况,您可以在将路径作为 URL 参数传递之前,对其进行 URL 编码。这将会将斜杠字符和其他特殊字符编码为它们的 URL 编码形式,从而避免它们被解释为 URL 的分隔符。我用java调用http接口给linux设置一个目录的路径,我得参数是通过http url传过去的,但是我发现,如果我的路径中包含一个。当您将包含单个斜杠字符的路径作为 URL 参数传递时,它会被视为新的路径段,并且由于 URL 编码的原因,每个斜杠字符都会被编码为。在 URL 中,每个斜杠字符都表示一个新的路径段。原创 2023-03-30 11:49:04 · 3041 阅读 · 0 评论 -
线程中start()与run()的区别
每个线程都有要执行的任务。线程的任务处理逻辑可以在Tread类的run实例方法中直接实现或通过该方法进行调用,因此run()相当于线程的任务处理逻辑的入口方法,它由Java虚拟机在运行相应线程时直接调用,而不是由应用代码进行调用。而start()的作用是启动相应的线程。启动一个线程实际是请求Java虚拟机运行相应的线程,而这个线程何时能够运行是由线程调度器决定的。start()调用结束并不表示...原创 2020-03-12 15:54:37 · 354 阅读 · 0 评论 -
线程的创建开销大吗?线程创建开销包括哪些?线程池
1-1. 关于时间,创建线程使用是直接向系统申请资源的,这里调用系统函数进行分配资源的话耗时不好说。 关于资源,Java线程的线程栈所占用的内存是在Java堆外的,所以是不受java程序控制的,只受系统资源限制,默认一个线程的线程栈大小是1M(当让这个可以通过设置-Xss属性设置,但是要注意栈溢出问题),但是,如果每个用户请求都新建线程的话,1024个用户光线程就占用了1个G的内存,如果系统比较大...转载 2019-12-03 15:43:55 · 5802 阅读 · 0 评论 -
线程阻塞的概念 (Java 中的睡眠状态sleep 等待状态wait 礼让状态yield 自闭状态join suspend() 和 resume() )
参考文章:什么是线程阻塞?为什么会出现线程阻塞?原创 2019-11-22 10:20:15 · 550 阅读 · 0 评论