自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 数据库

参考链接 (一)什么是存储过程?有哪些优缺点? 存储过程是一些预编译的SQL语句。 更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。 存储过程是一个预编译的代码块,执行效率比较高 一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通信速率 可以一定程度上确保数据安全 如果你对存储过程不熟悉,建议阅读:存储过程详解-博客园 (

2020-08-24 14:45:37 95

原创 C++字符串函数

1.基础函数 输入输出:cin,cout,getchar,gets,putchar,puts,printf,scanf 格式化:sprintf,sprintf_s,wsprintf,wsprintf_s,swprintf,swprintf_s (请仔细比较这几组函数的区别) 格式化值: %% -返回百分号 %b –返回二进制数 %c –返回与ASCII值相对应的字符 %d –带有正负号的十进制数 %e –科学计数符号(如:1.2e+2) %u –不带正负号的十进制数.%ul 不带符号的长整型 %f – 浮

2020-08-18 16:50:24 501

原创 插入排序和希尔排序

插入排序 参考博客: 希尔和插入 希尔排序图解 直接插入排序 折半插入排序 直接插入排序 直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已经排序号的有序表中,从而得到一个新的,记录数量增1的有序表 排序方法 1、简单方法 首先在当前有序区R[1…i-1]中查找R[i]的正确插入位置k(1≤k≤i-1);然后将R[k..i-1]中的记录均后移一个位置,腾出k位置上的空间插入R[i]。 注意:若R[i]的关键字大于等于R[1..i-1]中所有记

2020-08-14 21:40:22 200

原创 归并排序

归并排序: 原理:归并排序方法就是把一组n个数的序列,折半分为两个序列,然后再将这两个序列再分,一直分下去,直到分为n个长度为1的序列。然后两两按大小归并。如此反复,直到最后形成包含n个数的一个数组。 拆分 合并: #include<iostream> #include<cstring> using namespace std; int a[]={5,6,3,1,2,8,4,7}; int hebing(int *arr,int l,int r,int mid) { int

2020-08-14 11:49:04 85

原创 DFS试题集合

你有一个用于表示一片土地的整数矩阵land,该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小,返回值需要从小到大排序。 示例: 输入: [ [0,2,1,0], [0,1,0,1], [1,1,0,1], [0,1,0,1] ] 输出: [1,2,4] int cnt=0; vector<int> pondSizes(vector<vector<int&g

2020-08-10 16:58:03 329

原创 java线程池

线程池: 参考博客: Java线程池详解 1.线程池的优势 :线程池适合:单个任务耗时少,但是任务量大的场景,这样可以避免频繁的创建和销毁线程,提高效率。 (1)、降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗; (2)、提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行; (3)方便线程并发数的管控。因为线程若是无限制的创建,可能会导致内存占用过多而产生OOM,并且会造成cpu过度切换(cpu切换线程是有时间成本的(需要保持当前执行线程的现场,并

2020-08-09 21:51:19 149

原创 Android 消息传递机制 handler

Handler: 1. handler 作用:用于子线程更新主线程 UI,发送消息和处理消息。 2. handler 四要素: (1)消息 message (2)消息队列 messageQueue,用来存放Handler发送过来的消息,内部通过单链表的数据结构来维护消息列表,等 待Looper的抽取。 (3)looper 从消息队列中取消息, 主线程默认创建的。通过Looper.loop()不断地从MessageQueue中抽取Message,按分发机制将消息分发给目标处理者。 (4)Handle

2020-07-29 16:58:10 203

原创 java 接口和回调

接口回调 我对接口回调的理解就是:回调方类A的一个方法a通过调用类B的一个方法b去调用类A的另一个方法c。其实是一个类去请求另一个类后得到回复再去调用本类的另一个方法,至于同步回调就是方法b中的逻辑执行完再去执行方法c,而异步回调就是b和c一起再执行。下面是一个乘客与司机的同步回调案例: interface Callback{ //回调方类A的接口 boolean Consider(int money); //思考是否付钱,就是方法c void PayFor(int

2020-07-27 15:58:43 128

原创 java notify 和 wait

notify 和 wait wait()方法是从运行态回阻塞态。 notifi( ) 方法是从阻塞态回运行态。 wait()和notify()均用于同步方法或同步代码块并且必须是内建锁。 wait()方法就是使线程停止运行,会释放对象锁。 wait()方法会使当前线程调用该方法后进行等待,并且将该线程置入锁对象的等待队列中,直到接到通知或被中断为止。 wait()方法只能在同步方法或同步代码块中调用,如果调用wait()时没有适当的锁,会抛出异常。 wait()方法执行后,当前线程释放锁,其他线程可以

2020-07-26 11:04:39 121

原创 【Cmake】利用NDK进行Android的交叉编译(附实例)

Cmake NDK android 交叉编译

2020-07-25 22:35:26 246

原创 Android面经

RecyclerView而是用了ListView 面经1 面经2 3 最后一个看 4

2020-07-18 10:55:20 181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除