老谢的博客

一个IT菜鸟成长的故事

Java面试知识点汇总

为了找到心仪的工作而努力吧 最近在刷各种面经,把学会的知识点汇总一下以便查漏补缺: 未完待续…

2019-05-07 15:36:18

阅读数 2826

评论数 4

java实现排序算法,比较时间复杂度

插入排序、冒泡排序、选择排序、快速排序、归并排序 1.插入排序 【定义】 第一个元素自成一个有序数组A,从第二个元素开始,把每一个元素插入到有序数组A中合适的位置,满足有序的条件。直到最后元素,至此构建成一个有序数组。 【时间复杂度】 O(n2) 【代码】 ....

2019-07-16 18:04:01

阅读数 6

评论数 0

B树、B+树、B*树

B树及其变种是数据库存储主要数据形式之一 二叉搜索树 在说明B树之前,先说明一下B树的基础——二叉搜索树 所有非叶子结点至多拥有两个儿子(Left 和 Right); 所有结点存储一个关键字; 非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如图所示: ...

2019-07-16 10:34:52

阅读数 12

评论数 0

Java面试知识点(四十三)阻塞队列BlockingQueue

固定长度的队列往里放数据,如果放满了还要放,阻塞式队列就会等待,直到有数据取出,空出位置后才继续放;非阻塞式队列不能等待就只能报错了。 多线程环境中,通过队列可以很容易实现数据共享,比如经典的 “生产者” 和 “消费者” 模型中,通过队列可以很便利地实现两者之间的数据共享。假设我们有若干生产者线...

2019-07-15 19:37:35

阅读数 18

评论数 0

Java面试知识点(四十二)多线程中 的各种锁

学习 java 多线程时,最头疼的知识点之一就是 java 中的锁了,什么互斥锁、排它锁、自旋锁、死锁、活锁等等,细分的话可以罗列出 20 种左右的锁,光是看着这些名字就足以让人望而却步了,更别说一个个去理解它们的含义了。其实我要在这里告诉大家,我们看到的其实只是假象,其实根本没有这么多锁,或者这...

2019-07-15 16:48:33

阅读数 38

评论数 0

刷题——[剑指 offer] JAVA 版题解

序号 题解 牛客 OJ 数据结构类型 03 [剑指 offer] 二维数组中的查找 二维数组中的查找 数组 04 [剑指 offer] 替换空格 替换空格 字符串 05 [剑指 offer] 从尾到头打印链表 从尾到头打...

2019-07-15 10:25:09

阅读数 63

评论数 0

Java面试知识点(四十一)I/O 模型 ——阻塞、非阻塞、多路复用、异步

正在执行的进程,由于期待的某些事件未发生,如请求系统资源失败、等待某种操作的完成、新数据尚未到达或无新工作做等,则由系统自动执行阻塞原语 (Block),使自己由运行状态变为阻塞状态。 1.阻塞I/O 通常 IO 操作都是阻塞 I/O 的,也就是说当你调用 read 时,如果没有数据收到,那...

2019-07-15 10:15:26

阅读数 21

评论数 0

Java面试知识点(四十)I/O 基本概念

1.I/O 框架图 2.比特Bit、字节Byte、字符Char Bit 最小的二进制单位 ,是计算机的操作部分 取值 0 或者 1 Byte 是计算机操作数据的最小单位由 8 位 bit 组成 取值(-128-127) Char 是用户的可读写的最小单位,在 Java ...

2019-07-15 09:51:14

阅读数 25

评论数 0

Java设计模式(一)装饰者模式

一、基本概念 1.定义 装饰(Decorator)模式又叫做包装模式,其功能是动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活,是继承关系的一个替换方案。 装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展。装饰模式把客户端的调用委派到被装饰类。装饰模式...

2019-07-12 15:16:45

阅读数 32

评论数 0

Java面试知识点(三十九)深入理解synchronized

1.synchronize关键字用于加锁,用来解决多线程中,多个线程对同一资源访问所造成的数据不安全的问题 2.使用synchronized修饰,相当于加了一把锁,对于synchronized锁定的资源,同一时间,只能有一个线程访问,保证了原子性。 线程不安全的代码示例: class T...

2019-07-11 19:45:41

阅读数 43

评论数 0

js获取数据传到后台,数据不完整

今天在做一个项目的时候,使用js从前端获取到一个数据,然后利用layui的open方法打开一个url,同时把数据作为url的一部分一起传递到后台,但是数据却丢失了一部分 原数据: <1020588779.3.1562565595895@DESKTOP-5ATR426> ...

2019-07-11 17:08:59

阅读数 35

评论数 0

Java面试知识点(三十八)实现线程自定义顺序执行——join()解析

【问题】 现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行? 要保证 T1、T2、T3 三个线程顺序执行,可以利用 Thread 类的 join 方法。Thread 类中的 join 方法的主要作用就是同步,它可以使得线程之间的并行执行变为...

2019-07-10 17:09:13

阅读数 38

评论数 0

Java面试知识点(三十七)多线程基本概念

基本概念 进程 (Process):一个程序运行起来时在内存中开辟一段空间用来运行程序,这段空间包括 heap、stack、data segment 和 code segment。例如,开一个 QQ 就表明开了一个 QQ 进程。 线程 (Thread):每一个进程中都至少有一个线程。线程是...

2019-07-10 15:31:05

阅读数 135

评论数 0

计算机网络基础(三)GFW(中国防火长城)工作原理

GFW,即 Great Wall of China, 中国防火长城的简称,是中国政府过滤和监控互联网的一套软硬件系统。GFW 的作用主要是用于分析和过滤中国境内外网络间的互相访问。也就是说,他不仅能限制国内网民访问境外的某些站点,也能限制国外用户访问国内的站点。 我们通常说的 “被墙”,就是指访...

2019-07-10 10:25:12

阅读数 88

评论数 0

计算机网络基础(一)通信的基础——IP、DNS、MAC地址

1.网络——以太网、局域网、互连网、因特网 要形成互联就要用到网络,下面讲一下以太网与互联网的区别。 先讲一下计算机网络(network),就是将一台以上的计算机互连起来,互连的计算机之间可以实现通信,实现信息共享,这就是网络。 1)互联网的英文是 internet(inter- p...

2019-07-09 13:59:51

阅读数 85

评论数 0

数据库面试知识点(三)事务

1.什么是事务? 事务是对数据库中一系列操作进行统一的回滚或者提交的操作,主要用来保证数据的完整性和一致性。 2.事务的四大特性ACID 原子性(Atomicity): 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,...

2019-07-09 10:54:14

阅读数 103

评论数 0

数据库面试知识点(二)索引

待续

2019-07-09 09:27:48

阅读数 84

评论数 0

数据库面试知识点(一)基本概念

待续

2019-07-09 09:27:00

阅读数 73

评论数 0

Java面试知识点(二十二)(补充1)synchronized和lock

一、什么是可重入锁 Lcok 在 Java 中是一个接口,一般在面试问题中问到的可能是 ReentrantLock 与 synchronized 的区别。ReentrantLock 是 Lock 的一个实现类,字面意思的话就是可重入锁,那么什么是可重入锁呢。 可重入锁是锁的一个相关概念,并不是...

2019-07-08 19:27:57

阅读数 61

评论数 0

Java面试知识点(一)(补充3)如何让HashMap线程安全

Java HashMap 是非线程安全的。在多线程条件下,容易导致死循环,具体表现为 CPU 使用率 100%。因此多线程环境下保证 HashMap 的线程安全性,主要有如下几种方法: 使用 java.util.Hashtable 类,此类是线程安全的。 使用 java.util.concurre...

2019-07-08 17:17:54

阅读数 85

评论数 0

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