一、什么是System.gc()?System.gc()是用Java,C#和许多其他流行的高级编程语言提供的API。当它被调用时,它将尽最大努力从内存中清除垃圾(即未被引用的对象)。名词解释:GC,GarbageCollection,垃圾回收,下文会经常使用。二、谁可以调用System.gc()?System.gc()可以从应用程序堆栈的各个部分调用:您自己开发的应用程序可以显式的调用System
分类:
编程语言 时间:
2019-11-30 22:45:45
阅读次数:
127
区别: “==” 比较的是两个引用在内存中指向的是不是同一对象(即同一内存空间),也就是说在内存空间中的存储位置是否一致。(引用类型) 如果两个对象的引用相同时(指向同一对象时),“==”操作符返回true,否则返回flase。 注:如果有对内存分配及变量存储位置(堆、栈、方法区常量池、方法区静态区 ...
分类:
编程语言 时间:
2019-11-30 19:37:51
阅读次数:
113
汉诺塔的非递归实现(栈) 美国学者找的规律:若是偶数,将a、b、c顺时针排列,否则a、c、b排列,然后反复做: (1)最小盘顺时针移动一个 (2)那两个柱子将最小的移动了,空的话直接移 借助堆栈以非递归(循环)方式求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为“a”)通过借助 ...
分类:
其他好文 时间:
2019-11-29 13:05:47
阅读次数:
104
ORA-12519: TNS:no appropriate service handler found 当使用阿里的Druid连接池时报的这个错,也是同样的原因 重启应用时报错,错误信息如题, ORA-12516:TNS:监听程序找不到符合协议堆栈要求的可用处理程 ,然后项目启动失败,使用可视化工具 ...
分类:
数据库 时间:
2019-11-28 13:36:58
阅读次数:
241
一、概念 是利用锁的机制来实现同步的。 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。 可见性:必须确保在锁被释放之前,对共享变量所做的 ...
分类:
其他好文 时间:
2019-11-28 01:24:31
阅读次数:
82
转自MiloYip大神的博客 【原文】http://www.cnblogs.com/miloyip/archive/2010/09/17/behind_cplusplus.html 在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarn ...
分类:
编程语言 时间:
2019-11-26 19:16:14
阅读次数:
80
public class MyExceptionUtils { /** * 输入异常的堆栈信息 * @param aThrowable * @return */ public static String getStackTrace(Throwable e) { final Writer result ...
分类:
其他好文 时间:
2019-11-26 13:39:19
阅读次数:
58
1,为啥需要自旋锁 很多时候我们并不能采用其他的锁,比如读写锁、互斥锁、信号量等。一方面这些锁会发生上下文切换,他的时间是不可预期的,对于一些简单的、极短的临界区完全是一种性能损耗;另一方面在中断上下文是不允许睡眠的,除了自旋锁以外的其他任何形式的锁都有可能导致睡眠或者进程切换,这是违背了中断的设计 ...
分类:
其他好文 时间:
2019-11-26 13:29:23
阅读次数:
72
public class MyExceptionUtils { /** * 输入异常的堆栈信息 * @param aThrowable * @return */ public static String getStackTrace(Throwable e) { final Writer result ...
分类:
其他好文 时间:
2019-11-26 13:25:12
阅读次数:
76
tomcat线程优化 tomcat线程池在tomcat服务中每一个用户请求都是一个线程,所以可以使用线程池来提高性能。1、线程池是什么?线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后创建线程后自动启动这些任务,线程池线程都是后台线程。每个线程都使用默认的堆栈大小。它由线程池管理器,工作 ...
分类:
编程语言 时间:
2019-11-25 14:56:20
阅读次数:
83