- 博客(5)
- 收藏
- 关注
原创 (一)剑指offer 数组篇
题目 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 答案 这道题的考察点也就是在一个二维数组中查找指定的数是否存在。 可以从数组的左下角来看,向右递增,向上递减,所以就可以从左下角开始查找,当要查的数比左下角小时上移,大时右移。 package j...
2019-09-06 09:35:25 1633 1
原创 排序全家桶(Java实现)
对冒泡排序的一中改进,基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。控制一个数,让他和他后面的所有的数逐一比较,从而找到最小的(或者最大的),然后再将其赋值给这个数,完事后,再控制这个数的下一个数……插入排序的基本操作就是:将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序。
2019-09-06 09:35:14 1130
原创 (四)Java 内存溢出和内存泄漏
文章目录1、内存溢出(out of memory)2、内存泄漏(leak of memory)3、二者关系 1、内存溢出(out of memory) 1)什么是内存溢出? 简单的说就是:内存不够用了。 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。 2...
2019-09-05 00:11:37 516
原创 (三)Java多线程死锁问题
文章目录1、死锁产生的条件2、如何解决死锁问题 1、死锁产生的条件 1)线程死锁的必要条件: 互斥条件: 资源只能被一个或有限个线程使用。 请求与保持条件: 当进程在申请资源被阻塞时,不释放自己拥有的资源。 不剥夺条件: 进程已拥有的资源不能强行剥夺。 循环等待条件: 若干进程之间形成一种头尾相接的循环等待资源关系。 要出现死锁,以上四个必要条件缺一不可。所以,解决死锁问题,就是破坏以上四个条...
2019-09-01 23:27:37 188
原创 (二)Java多线程同步机制
文章目录1、线程安全1.1 一个简单的线程安全例子1.2 什么是线程安全2、synchronized——同步锁2.1 同步方法2.2 同步代码块2.3 静态同步方法/代码块2.4 synchronized释放锁的时机3、Lock——显式锁3.1 Lock锁概述3.2 Lock锁 与 synchronized锁比较4、wait()/notify()/notifyAll()线程通信5、volatile...
2019-09-01 21:04:29 1303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人