本文参考 "C++智能指针简单剖析" 内存泄露 我们知道一个对象(变量)的生命周期结束的时候, 会自动释放掉其占用的内存(例如局部变量在包含它的第一个括号结束的时候自动释放掉内存) 这样会编译错误. 但是如果这样写呢? 程序结束的时候会自动释放 的内存, 但是由 算符创建的匿名变量却一直留在内存中, ...
分类:
编程语言 时间:
2018-10-22 20:49:54
阅读次数:
155
python 提供了2种方法解决该问题的问题:1,悲观锁;2,乐观锁 悲观锁:在查询商品储存的时候加锁 select_for_update() 在发生事务的commit或者是事务的rollback时,自动释放该锁,这样其他用户就可以接着查询该商品。 乐观锁:乐观锁不是真正的锁,在创建订单之前查询商品 ...
分类:
编程语言 时间:
2018-10-09 20:06:39
阅读次数:
248
只有通过属性改变的引用对象才使相同的改变 自动释放和垃圾回收器回收 ...
分类:
Web程序 时间:
2018-10-04 17:22:18
阅读次数:
130
ReentrantLock与synchronized一样都可以用来控制多线线程对共享资源的访问。 synchronized关键字是隐式的获得锁,即进入synchronized方法或者synchronized代码会自动的获得锁,离开同步方法或者同步代码块自动释放锁。 ReentrantLock相对于s ...
分类:
其他好文 时间:
2018-10-04 10:04:10
阅读次数:
134
问题描述: Tomcat启动,提示异常,服务自动释放! 问题解决: 01、人工解压到制定的目录webapps/yhs-web/ 02、或者重新打包,部署! ...
分类:
其他好文 时间:
2018-10-03 22:37:42
阅读次数:
239
主要相同点:Lock能完成synchronized所实现的所有功能 。 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。Lock还有更强大的功能,例如,它的try ...
分类:
编程语言 时间:
2018-10-01 01:12:15
阅读次数:
212
1、为什么要进行垃圾回收: 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象 的内存时,该内存便成为垃圾。 垃圾回收能自动释放内存空间,减轻编程的负担,JVM的一个系统级线程会自动释放该内存块。垃圾回收意味 ...
分类:
编程语言 时间:
2018-09-22 12:53:21
阅读次数:
156
视频面试,上来就是一道算法题,LeetCode上的原题,440题(qaq,后悔当初没写到) 然后是java的一些问答题 Map的实现方式有哪些,分别是怎么实现的? 常见的实现主要有HashMap(最常见的,内部无序的)、TreeMap(排过序的)及WeakMap(这个用于内存自动释放的); 关于Ha ...
分类:
其他好文 时间:
2018-09-18 00:19:00
阅读次数:
243
一. 线程管理 1. 连接和分离线程 pthread_join(threadid,status)阻塞当前线程,直到threadid所指线程结束 pthread_detach(threadid,status)父线程调用,将该子线程的状态设置为detached,则该线程运行结束后会自动释放资源,父线程不 ...
分类:
其他好文 时间:
2018-09-09 21:06:53
阅读次数:
294
程序的内存分配栈(stack):有编译器自动分配和释放,存放函数的参数、局部变量、临时变量、函数返回地址等; 堆(heap):一般有程序员分配和释放,如果没有手动释放,在程序结束时可能由操作系统自动释放(?这个可能针对Java那样的有回收机制的语言而说的,对于c/c++,这样的必须要手动释放开辟的堆 ...
分类:
其他好文 时间:
2018-09-07 16:47:05
阅读次数:
184