摘要:手写一个内存泄露的程序是面试官经常问的问题。 造成内存泄漏,就是让运行的程序无法访问存储在内存中的对象,下面是Java实现: 1. 创建一个长时间运行的线程(使用线程池泄露的速度更快)。 2. 线程通过ClassLoader加载某个类(也可以用自定义ClassLoader)。 3. 这个类分配了大量 阅读全文
posted @ 2020-01-13 23:23 murphy_gb 阅读 (101) 评论 (0) 编辑
摘要:一、什么是空指针异常 当程序需要对象实例的时候返回 就会抛出空指针异常( ,简称 NPE )。包括以下情况: 调用一个 对象实例的方法 访问或修饰 对象的字段 获取数组为 时的长度 访问或修饰数组为 时的索引值 抛出 对象为 时的异常 虽然代码很难万无一失地避免所有NPE,但是也要尽量减少。所以一些 阅读全文
posted @ 2019-12-26 11:11 murphy_gb 阅读 (144) 评论 (0) 编辑
摘要:Redis占用内存大小 我们知道Redis是基于内存的key value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。 1、通过配置文件配置 通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小。 redis的 阅读全文
posted @ 2019-11-23 17:55 murphy_gb 阅读 (38) 评论 (0) 编辑
摘要:mysql提供的explain工具可以输出一些有用的信息。 一下是相关的部分返回值的意义。 select_type 表示SELECT的类型,常见的取值有: SIMPLE :简单表,不使用表连接或子查询 PRIMARY :主查询,即外层的查询 UNION :UNION中的第二个或者后面的查询语句 ty 阅读全文
posted @ 2019-09-13 10:47 murphy_gb 阅读 (44) 评论 (0) 编辑
摘要:Nginx应该是现在最火的web和反向代理服务器,没有之一。她是一款诞生于俄罗斯的高性能web服务器,尤其在高并发情况下,相较Apache,有优异的表现。 那除了负载均衡,她还有什么其他的用途呢,下面我们来看下。 一、静态代理 Nginx擅长处理静态文件,是非常好的图片、文件服务器。把所有的静态资源 阅读全文
posted @ 2019-09-03 11:03 murphy_gb 阅读 (409) 评论 (0) 编辑
摘要:前言 乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。 目录 一、基本概念 二、实现方式(含实例) 三、优缺点和适用场景 四、面试官追问:乐观锁加锁吗? 五、面试官追问:CAS有哪 阅读全文
posted @ 2019-09-02 19:39 murphy_gb 阅读 (75) 评论 (1) 编辑
摘要:第一章 策略模式 00设计原则: 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码放在一起。 把会变化的部分取出并封装起来,好让其它部分不会受到影响。结果如何?代码变化引起的不经意后果变少,系统变得更有弹性。 00设计原则: 针对接口编程,而不是针对实现编程。 “针对接口编程” 阅读全文
posted @ 2019-08-28 19:24 murphy_gb 阅读 (210) 评论 (0) 编辑
摘要:UDP主要特点: (1)UDP是无连接的, 即发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可以释放),因此减少了开销和发送数据之前的时延。 (2)UDP使用尽最大努力交付, 即不保证可靠交付,因此主机不需要维持复杂的连接状态表(这里面有很多参数)。 (3)UDP是面向报文的。 发送方的 阅读全文
posted @ 2019-08-23 00:53 murphy_gb 阅读 (581) 评论 (2) 编辑
摘要:作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题。这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查。由于在生产环境中,一般没办法debug(其实有些问题,debug也白扯。。。),所以我们需要借助一些常用命令来查看运行时的具体情 阅读全文
posted @ 2019-08-19 13:35 murphy_gb 阅读 (413) 评论 (0) 编辑
摘要:TCP报文段的首部格式 序列号seq: 占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack: 占4个字节,期待收到对方下一 阅读全文
posted @ 2019-08-17 17:03 murphy_gb 阅读 (247) 评论 (0) 编辑