logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

mysql-索引1

MySql的索引是一种数据结构。它可以帮助数据库地查询、更新数据表中的数据。它类似于书籍的目录,通过指向数据行的位置,可以快速定位和访问表中的数据。那为什么使用索引呢?主要就是提升数据检索的效率刚才提到索引是一种数据结构,那它选择的是哪种数据结构呢?让我们一个一个地来看一下吧。

#mysql#数据库
常见的排序算法2

大堆的话,就把当前的最大值放到数组最后了(升序:由小到大),小堆就把当前的最小值放到数组最后(降序:由大到小)。与此同时的是,把值放到数组最后。可能会对堆的结构造成破环,所以需要继续向下调整,循环往复。这里升序排序代码:运行结果:时间复杂度:O(NlogN)空间复杂度:O(1)稳定性:不稳定(由于堆排序,最核心的操作是“建堆”,一旦建堆,原来值相同的元素,就不知道被调整到哪里了,它们之间的相对顺序

#排序算法#算法#数据结构 +1
常见的排序算法1

排序:把无序的序列,变成有序(递增/升序,递减/降序)排序的时候,指定升序/降序,最关键的就是。

#排序算法#算法#数据结构
多线程(2)

lambda是回调函数,它的执行时机是很久之后(操作系统真正创建出线程之后,才会执行),很有可能,后续线程创建好了,但是当前main的方法执行完了,isFinished销毁了。为了解决上述的问题,Java把被捕获的变量给拷贝一份,拷贝给lambda里面,所以外面的变量是否销毁,就不会影响lambda里面的执行了。但是,Thread对象的生命周期和系统中的线程的生命周期是不同的(可能存在Thread

#java#开发语言
文件(Java)

当前IO流对象,read和write属于直接读写文件,效率比较低,要想提高效率:1)写代码的时候,手动创建缓冲区(byte[]),手动减少 read write次数2)使用标准库提供的“缓冲区流” BufferedStream,把InputStream之类的对象套上一层OK啦,到此结束!!!

#java#开发语言
多线程案例编写(阻塞队列)

既然要模拟阻塞队列,就得满足阻塞队列的特性,先来满足第一个线程安全的特性代码示例:当然也可以不用this,新建一个锁对象啥的也可以接下来,就得满足阻塞队列的第二个很长的特性了,就需要使用“wait 和 join了”对于入队,代码示例:所以:对于出队,代码示例:所以:假设有若干个线程使用这个队列,要么所有的线程阻塞在put,要么所有的线程阻塞在take,不可能有一些阻塞在put,有一些阻塞在take

#java#开发语言
多线程案例编写(阻塞队列)

既然要模拟阻塞队列,就得满足阻塞队列的特性,先来满足第一个线程安全的特性代码示例:当然也可以不用this,新建一个锁对象啥的也可以接下来,就得满足阻塞队列的第二个很长的特性了,就需要使用“wait 和 join了”对于入队,代码示例:所以:对于出队,代码示例:所以:假设有若干个线程使用这个队列,要么所有的线程阻塞在put,要么所有的线程阻塞在take,不可能有一些阻塞在put,有一些阻塞在take

#java#开发语言
多线程(1)

通过多进程编程的方式,可以实现“并发编程”的效果。进程整体是一个比较“重”的概念,创建进程/销毁进程 开销比较大,尤其是频繁创建进程的时候(服务器开发)。所以为了解决问题,引入了线程(Thread),轻量级进程(创建 销毁的开销比较小)。

到底了