2021
10-12
10-12
java冒泡排序和选择排序详解
目录1、冒泡排序2、选择排序法总结1、冒泡排序冒泡排序(BubbleSorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序。图解冒泡排序算法的过程原始数组:3,9,-1,10,20第一趟排序(1)3,9,-1,...
继续阅读 >
目录一、直接插入排序二、希尔排序三、冒泡排序四、快速排序五、选择排序(SelectionSort)六、堆排序一、堆排序的基本思想是:二、代码示例七、归并排序总结一、直接插入排序基本思想:将一个记录插入到已排序的有序表中,使插入后的表仍然有序对初始关键字{4938659776132749}进行直接插入排序packageSort;//插入排序publicclassInsertSort{publicstaticvoidmain(String[]args){int[]arr={49,38,65...
ftp/sftp概念及搭建ftp是一种文件传输协议,让客户端和服务端能够互相传递文件,图片等数据;方便快捷;sftp是sshfiletransferprotocol缩写,也是一种文件传输协议.sftp比ftp安全的多,但传输效率要低的多搭建:ftp可以搜索网上教程,很多,在此不过多赘述创建完成后,通过浏览器就可以访问到内容了;sftp用freesshd搭建(记得freesshd的安装路径不要有中文,否则各种报错);这个也可以自行百度,解决方法很多;Java代码代码如下:importjava.io...
目录2.什么是泛型3.使用泛型的好处4.泛型的使用4.1泛型类4.2泛型方法4.3泛型接口5.泛型通配符5.1通配符基本使用5.2通配符高级使用6.总结1.为什么使用泛型早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题。来看一个经典案例:publicstaticvoidmain(String[]args){//测试一下泛型的经典案例ArrayList...
目录不安全的集合Java中提供的安全措施JUC下的安全List集合性能方面不安全的集合在单线程应用中,通常采取newArrayList(),指定一个List集合,用于存放可重复的数据。但在多线程下,往往会出现意想不到的问题,代码如下所示:importjava.util.*;publicclassListTest{publicstaticvoidmain(String[]args)throwsInterruptedException{//创建list集合//List<String>lists=Arrays.asList("1","2"...
后端代码:Monitor.java代码:packagecom.suncreate.kafkaConsumerMonitor.service;importcom.suncreate.kafkaConsumerMonitor.model.ConsumerInfo;importorg.apache.kafka.clients.consumer.ConsumerConfig;importorg.apache.kafka.clients.consumer.KafkaConsumer;importorg.apache.kafka.clients.consumer.OffsetAndMetadata;importorg.apache.kafka.common.PartitionInfo;importorg.apache.kafka.common.TopicPartition...
GeoTools是ArcGis地图与java对象的桥梁,恰如jdbc之于oracle与java。shp文件本身是存有地理对象边界坐标、对象中心城市及城市编号的多多边形字符串。需要使用的依赖如下<!--添加GeoTools依赖--><dependency><groupId>org.geotools</groupId><artifactId>gt-shapefile</artifactId><version>${geotools.version}</version></dependency><dependency><g...
目录1.你知道volatile是如何保证可见性吗?小结:2.悲观锁和乐观锁可以讲下你的理解吗?3.你还知道什么其他的锁吗?总结1.你知道volatile是如何保证可见性吗?我们先看一组代码:publicclassVolatileVisibleDemo{publicstaticbooleaninitFlag=false;publicstaticvoidmain(String[]args){newThread(newRunnable(){@Overridepublicvoidrun(){System...
目录1.你知道JVM内存模型吗?2.你知道重排序是什么吗?3.happens-before是什么,和as-if-serial有什么区别总结1.你知道JVM内存模型吗?在Java的并发中采用的就是JVM内存共享模型即JMM(JavaMemoryModel),它其实是是JVM规范中所定义的一种内存模型,跟计算机的CPU缓存内存模型类似,是基于CPU缓存内存模型来建立的,Java内存模型是标准化的,屏蔽掉了底层不同计算机的区别。那我们先来讲下计算机的内存模型:其实早期计算机...
目录1.你知道线程安全问题吗?2.那如何解决线程安全问题呢?3.那你讲下死锁是什么吧?总结1.你知道线程安全问题吗?线程安全问题:一般指在多线程模式下,多个线程对同一个共享数据进行操作时,第一个线程还没来得及更新共享数据,从而导致另外一个线程没得到最新的数据,并更新数据,从而产生线程安全问题。比较常见的场景有买票。我举个例子吧:需求:比如买周杰伦演唱会的门票,此时有三个窗口同时卖总共100张票。窗口就是...