推荐阅读:https://www.cnblogs.com/chengxs/p/10919311.html 在进行老生代的标记清除法回收以前,还会有一个新生代的垃圾回收算法执行。 新生代和老生代 所谓新生代,指的是新产生的对象;老生代就是经历过新生代垃圾回收后还“存活”下来的对象。 新生代的垃圾回收算 ...
分类:
Web程序 时间:
2019-08-21 09:38:57
阅读次数:
171
反射(reflect):通过类的Class对象来获取类的相关信息,动态操作类中的字段、调用类中的方法。 获取Class对象的三种方式: Class.forName("全类名") //调用Class类的静态方法来获取指定类的Class对象。 类名.class //通过该类的class属性来获取该类的C ...
分类:
编程语言 时间:
2019-08-20 20:31:17
阅读次数:
111
# TCP协议下的服务端并发,GIL全局解释器锁,死锁,信号量,event事件,线程q## 一、TCP协议下的服务端并发```python'''将不同的功能尽量拆分成不同的函数,拆分出来的功能可以被多个地方使用TCP服务端实现并发 1、将连接循环和通信循环拆分成不同的函数 2、将通信循环做成多线程'... ...
分类:
编程语言 时间:
2019-08-20 00:48:22
阅读次数:
74
步骤一: 首先设置进程池 要点:把队列长度调整到65535,禁止重叠回收,最大故障数改成65530,这三点必须要改,不然实现不了10万并发效果 步骤二: 调整IIS 的appConcurrentRequestLimit设置 在开始--》运行--》输入:c:\windows\system32\inet... ...
分类:
其他好文 时间:
2019-08-19 18:53:13
阅读次数:
83
1.Java堆空间发生频率:5颗星造成原因无法在Java堆中分配对象吞吐量增加应用程序无意中保存了对象引用,对象无法被GC回收应用程序过度使用finalizer。finalizer对象不能被GC立刻回收。finalizer由结束队列服务的守护线程调用,有时finalizer线程的处理能力无法跟上结束队列的增长解决方案单位对应:GB->G,g;MB->M,m;KB->K,k使用-X
分类:
其他好文 时间:
2019-08-19 17:26:58
阅读次数:
83
内存泄漏和内存溢出的关系 内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。 内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。 ...
分类:
其他好文 时间:
2019-08-19 13:08:42
阅读次数:
92
一、引言 单例模式应该算是23种设计模式中比较简单的,它属于创建型的设计模式,关注对象的创建。 二、概念 单例模式是23个“Gang Of Four”的设计模式之一,它描述了如何解决重复出现的设计问题,以设计灵活且可复用的面向对象软件,使对象的实现、更改、测试和重用更方便。 单例模式解决了以下问题: ...
分类:
其他好文 时间:
2019-08-19 00:11:26
阅读次数:
98
这一节我们一起看下分配过程 上面的分配顺序,大家想一下为什么不是从q000开始分配呢?我找了一段分析的很好的。 在分析PoolChunkList的时候,我们知道一个chunk随着内存的不停释放,它本身会不停的往其所在的chunk list的prev list移动,直到其完全释放后被回收。 如果这里是 ...
分类:
Web程序 时间:
2019-08-18 23:40:08
阅读次数:
135
1. 什么是闭包:当内部函数保存到外部时,导致原有的作用域链不被释放,闭包容易造成内存泄露 ~~~javascript function demo(){ //demo()的作用域 demo [{AO}{GO}] 即自己的作用域和全局的作用域 var a; function b(){ //b()的作用 ...
分类:
Web程序 时间:
2019-08-18 19:28:58
阅读次数:
116
一、进程的创建方式 1. os.fork fork操作仅可在类uinx系统使用, Windows并未实现此函数, 即Windows系统不可用。 需要在父进程当中对子进程进行资源回收, 否则易出现孤儿进程、僵尸进程。 若需产生较多的子进程时,进程管理非常不便。 是最接近底层创建的方式,效率很高。 2. ...
分类:
编程语言 时间:
2019-08-18 15:24:41
阅读次数:
96