摘要: Cloneable接口是一个空接口,仅用于标记对象,Cloneable接口里面是没有clone()方法,的clone()方法是Object类里面的方法!默认实现是一个Native方法 1 protected native Object clone() throws CloneNotSupported 阅读全文
posted @ 2018-07-30 16:37 割肉机 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 数组和链表将对象插入指定位置时,大致可以分为两个部分: 1、找到要插入元素的位置 2、进行插入操作 可以得到式子:找到位置所需时间 + 插入所需时间 = 将对象插入指定位置所需总时间 由此可以先假设几个值: 找到插入元素的位置涉及的变量: 要插入的位置为z 获取一个对象引用所需时间m 进行插入操作涉 阅读全文
posted @ 2018-07-30 16:08 割肉机 阅读(779) 评论(0) 推荐(0) 编辑
摘要: spring框架为我们提供了三种注入方式,分别是set注入,构造方法注入,接口注入。今天就和大家一起来学习一下 依赖注入的基本概念 依赖注入(Dependecy Injection),也称为IoC(Invert of Control),是一种有别于传统的面向对象开发的思想,主要用于对应用进行解耦。简 阅读全文
posted @ 2018-07-30 14:36 割肉机 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 要解决这个问题首先要了解什仫是中位数,所谓的中位数就是在一组有序的数字中找到中间的那个数字。如果数字的个数是奇数则直接返回中间的那个数,如果数字的个数是偶数此时这组数据的中位数有两个,取中间两个数的平均值即可。 想法一、不论用什仫排序算法使得该组数据有序,直接取中间值即可。 这种只要你掌握常见的排序 阅读全文
posted @ 2018-07-30 14:22 割肉机 阅读(855) 评论(0) 推荐(1) 编辑
摘要: 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行, 阅读全文
posted @ 2018-07-30 14:18 割肉机 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 糊涂窗口综合症和Nagle算法 TCP/IP详解系列,关于tcp拥塞控制和数据流的地方讲的不细致,或许是涉及概念/算法太多,作者略去了一些对初学者来说比较陌生的细节吧。比如SWS未说明是什么就开始介绍其避免方法,还和nagle扯在了一起,直觉告诉我二者一定有猫腻,边搜索一下,果然很有收获。今天贴在这 阅读全文
posted @ 2018-07-30 14:11 割肉机 阅读(3845) 评论(0) 推荐(0) 编辑
摘要: 首先看一张图片: 虚线表示服务端的状态转移,实现表示客户端的状态转移。 初始的close状态并不是真是的状态,只是为了方便描述开始和终止状态而构造出来的。 从服务端的状态转移开始说: 服务端打开后处于listen状态,等待客户端的连接请求。当服务端收到客户端发来的SYN时,服务端回复SYN和ACK进 阅读全文
posted @ 2018-07-30 13:49 割肉机 阅读(819) 评论(0) 推荐(0) 编辑
摘要: 相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一 阅读全文
posted @ 2018-07-30 13:47 割肉机 阅读(3458) 评论(0) 推荐(0) 编辑
摘要: TCP提供了可靠的传输服务,这是通过下列方式提供的: 分块发送:应用数据被分割成TCP认为最适合发送的数据块。由TCP传递给IP的信息单位称为报文段或段(segment) 定时确认重传:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。 阅读全文
posted @ 2018-07-30 13:46 割肉机 阅读(8450) 评论(0) 推荐(3) 编辑
摘要: TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数 阅读全文
posted @ 2018-07-30 13:42 割肉机 阅读(263103) 评论(7) 推荐(20) 编辑
摘要: explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。简单讲,它的作用就是分析查询性能。 explain关键字的使用方法很简单,就是把它放在select查询语句的前面。 mysql查看是否使用索引,简单的看type类型就可以。如果它 阅读全文
posted @ 2018-07-30 13:35 割肉机 阅读(7657) 评论(0) 推荐(0) 编辑
摘要: 1、经过测试发现当聚集索引新建或者重建时,会按照逻辑顺序重新排列数据页和数据页内的数据行的物理顺序。 2、但修改表时,无论是聚集索引还是堆的数据页都是按自然顺序向后插入数据,页面上的偏移量可以证明。因为数据库的最小读取单元是页,所以页内的物理顺序无关紧要,只需要维护好页内数据的逻辑顺序。 聚集表中插 阅读全文
posted @ 2018-07-30 13:13 割肉机 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方 首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要些的sql是 SELECT * FROM award WHERE n 阅读全文
posted @ 2018-07-30 13:12 割肉机 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 转:原文链接已失效,自动跳转其他不可描述网站,删除原文地址。 看到一篇非常全面的SQL优化文章,在开发的工作中往往不考虑性能上的缺失(在一开始的时候数据量不大也看不出速度上的区别)。但写的越多越应该规范一下写法。 数据库的优化问题 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查 阅读全文
posted @ 2018-07-30 11:12 割肉机 阅读(54071) 评论(3) 推荐(4) 编辑
摘要: JDK提供的几种线程池 newFixedThreadPool创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。 newCachedThreadPool创建一个可缓存的线程池。这种类型的线程池特点是: 1).工作 阅读全文
posted @ 2018-07-30 10:49 割肉机 阅读(319) 评论(0) 推荐(0) 编辑
摘要: hi,all 最近抽时间把JVM运行过程中产生的一些线程进行了整理,主要是围绕着我们系统jstack生成的文件为参照依据。 前段时间因为系统代码问题,造成性能瓶颈,于是就dump了一份stack出来进行分析。 hi,all 最近抽时间把JVM运行过程中产生的一些线程进行了整理,主要是围绕着我们系统j 阅读全文
posted @ 2018-07-30 10:45 割肉机 阅读(2927) 评论(0) 推荐(0) 编辑
摘要: 功能问题,通过日志,单步调试相对比较好定位。 性能问题,例如线上服务器CPU100%,如何找到相关服务,如何定位问题代码,更考验技术人的功底。 58到家架构部,运维部,58速运技术部联合进行了一次线上服务CPU问题排查实战演练,同学们反馈有收获,特将实战演练的试题和答案公布出来,希望对大家也有帮助。 阅读全文
posted @ 2018-07-30 10:37 割肉机 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法: 1 public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地 阅读全文
posted @ 2018-07-30 09:15 割肉机 阅读(207) 评论(0) 推荐(0) 编辑