- 博客(13)
- 收藏
- 关注
原创 桶排序简述(区别于计数排序)
桶排序桶排序适用数据范围桶排序可用于最大最小值相差较大的数据情况,比如[9012,19702,39867,68957,83556,102456]。但桶排序要求数据的分布必须均匀,否则可能导致数据都集中到一个桶中。比如[104,150,123,132,20000], 这种数据会导致前4个数都集中到同一个桶中。导致桶排序失效。对于一个数组[21,8,6,11,36,50,27,42,0,12]步骤:1.找出待排序数组中的最大值max、最小值min最大值max=50,最小值min=02.我们使用
2020-07-20 20:14:55
881
原创 7月3日后端开发-教育业务字节跳动凉经
1.自我介绍2.聊了一下项目,重点说了一下表结构3.MySQL事务是为了解决什么,简单介绍一下你对事务的四个特性的理解4.MySQL事务的默认隔离级别是什么?这个隔离级别什么怎么防止不可重复读的?5.说一下OSI模型七层是哪七层,由下往上。6.简单介绍一下UDP是干什么的,在哪一层?7.介绍一下TCP4次挥手8.介绍一下HTTPS是怎么实现的?SSL是怎么加密的?9.介绍一下HashMap的底层实现原理。算法题:给定一个整数数组,这个数组先单调递增再单调递减。给定一个K值,要求找到对应K值
2020-07-06 18:24:10
765
2
转载 mysql基础知识点与面试常见题型
一、存储引擎MySQL常见的两种存储引擎:MyISAM与InnoDB二、字符集及校对规则字符集指的是一种从二进制编码到某类字符符号的映射。校对规则则是指某种字符集下的排序规则。Mysql中每一种字符集都会对应一系列的校对规则。Mysql采用的是类似继承的方式指定字符集的默认值,每个数据库以及每张数据表都有自己的默认值,他们逐层继承。比如:某个库中所有表的默认字符集将是该数据库所指定的字符集(这些表在没有指定字符集的情况下,才会采用默认字符集)三、索引Mysql索引使用的数据结构主要有BTree索
2020-06-23 16:11:12
320
转载 String、StringBuffer和StringBuilder的区别
StringBuffer类(或者StringBuilder)和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的。但是有
2020-06-16 12:16:44
313
原创 关于三元运算符的转换规则-冷知识
前言这次分享的是关于三元运算符的转换规则代码public static void main(String[] args) { Object o1 = true ? new Integer(1) : new Double(2); Object o2; if (true) { o2 = new Integer(1); } else { o2 = new Double(2.0);
2020-06-07 23:21:43
1198
1
原创 java面试题分享530
前言这次分享的是关于for循环中4个部分的执行顺序。代码求这段代码的输出结果。static boolean foo(char c){ System.out.print(c); return true;}public static void main(String[] args){ int i=0; for(foo('A');foo('B') && i<2;foo('C')){ i++; foo('D'); }}输出结果ABDCBDCB分析这里考
2020-06-01 09:47:18
288
原创 java面试题分享523
前言这次分享的是一道有迷惑性的代码阅读题,主要考察点在于引用传递和值传递的区别。代码求这段代码的输出结果。class Value{ public int i=15;}public class Test{ public static void main(String argv[]){ Test t=new Test( ); t.first( ); } public void first( ){ int i=5;
2020-05-25 15:14:16
325
原创 多线程概念和线程池的分类
线程与进程进程是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间线程是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个线程线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程线程调度分时调度所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。 I抢占式调度优先让优先级高的线程使用CPU ,如果线程的优先级相同,那么会随机选择一 个(线程随机性) , Java使用的
2020-05-21 21:26:58
176
原创 java中多线程的一些概念
线程与进程进程是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间线程是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个线程线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程线程调度分时调度所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。 I抢占式调度优先让优先级高的线程使用CPU ,如果线程的优先级相同,那么会随机选择一 个(线程随机性) , Java使用的
2020-05-21 17:54:33
146
原创 常见数据结构
常见数据结构数据存储的常用结构有:栈、队列、数组、链表和红黑树。我们分别来了解一下:栈- 栈: stack,又称堆栈, 栈(stack) 是限定仅在表尾进行插入和删除操作的线性表。我们把允许 插入和删除的一端称为栈顶,另-端称为栈底,不含任何数据元素的栈称为空栈。栈又称为先进后 出的线性表。 简单的说:采用该结构的集合,对元素的存取有如下的特点- 先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面
2020-05-18 22:27:24
331
原创 第1~2周javaSE学习总结
第1~2周javaSE学习总结Hello WorldHello World,是对这个新奇的世界的问好,它同时也在控制台对你问好。就这样一来一回,只有0和1的世界向我们开启了。知识的重启重新从最基础的hello world到一个个功能模块的实现,是思想层面的升级。第一次学习java时,就像一个着急赶路的人,只顾着看前面的路。第二次学习时,就像是一个旅行者,因为已经知道前面的路是怎么样的了,就...
2020-05-07 16:45:45
213
原创 java运行环境的理解
一.Java体系与特点JavaSE: Java Platform, Standard Edition标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。JavaEE: Java Platform, Enterprise Edition企业版:以企业为环境而开发应用程序的解决方案。JavaME: Java Platform, Micro Edition微型版:...
2020-04-29 17:41:30
220
转载 转载:关于String直接赋值与使用new String的区别
在研究String直接赋值与new String的区别之前我们需要先了解java中的字符串常量池的概念字符串常量池String类是我们平常项目中使用频率非常高的一种对象类型,jvm为了提升性能和减少内存开销,避免字符的重复创建,其维护了一块特殊的内存空间,即字符串池,当需要使用字符串时,先去字符串池中查看该字符串是否已经存在,如果存在,则可以直接使用,如果不存在,初始化,并将该字符串放入字符创...
2020-04-27 23:26:38
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人