
SQL优化
dooduoaixuexi
学而时习之,不亦说乎
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
后端程序员必备的Linux基础知识
一 从认识操作系统开始1.1 操作系统简介1.2 操作系统简单分类二 初探Linux2.1 Linux简介2.2 Linux诞生简介2.3 Linux的分类三 Linux文件系统概览3.1 Linux文件系统简介3.2 文件类型与目录结构四 Linux基本命令4.1 目录切换命令4.2 目录的操作命令(增删改查)4.3 文件的操作命令(增删改查)...原创 2019-09-24 11:30:57 · 797 阅读 · 0 评论 -
hashmap源码分析及常用方法测试_一点课堂(多岸学院)
HashMap 简介底层数据结构分析JDK1.8之前JDK1.8之后HashMap源码分析构造方法put方法get方法resize方法HashMap常用方法测试感谢 changfubai 对本文的改进做出的贡献!HashMap 简介HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。JDK1.8 之前...原创 2019-09-23 17:27:51 · 546 阅读 · 1 评论 -
BIO,NIO,AIO分类详解
熟练掌握 BIO,NIO,AIO 的基本概念以及一些常见问题是你准备面试的过程中不可或缺的一部分,另外这些知识点也是你学习 Netty 的基础。BIO,NIO,AIO 总结1. BIO (Blocking I/O)1.1 传统 BIO1.2 伪异步 IO1.3 代码示例1.4 总结2. NIO (New I/O)2.1 NIO 简介2.2 NIO的特性/NIO与IO...原创 2019-09-20 10:42:25 · 1186 阅读 · 0 评论 -
方方面面ArrayList
ArrayList简介ArrayList核心源码ArrayList源码分析System.arraycopy()和Arrays.copyOf()方法两者联系与区别ArrayList核心扩容技术内部类ArrayList经典DemoArrayList简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添...原创 2019-09-20 10:31:41 · 417 阅读 · 0 评论 -
乐观锁&悲观锁,你笑了还是哭了?
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让...原创 2019-09-20 10:15:50 · 882 阅读 · 0 评论 -
【收藏】算法学习资源推荐
我比较推荐大家可以刷一下 Leetcode ,我自己平时没事也会刷一下,我觉得刷 Leetcode 不仅是为了能让你更从容地面对面试中的手撕算法问题,更可以提高你的编程思维能力、解决问题的能力以及你对某门编程语言 API 的熟练度。当然牛客网也有一些算法题,我下面也整理了一些。LeetCodeLeetCode(中国)官网如何高效地使用 LeetCode牛客网牛客网官网剑指...原创 2019-09-20 10:13:15 · 983 阅读 · 0 评论 -
数据结构各知识点文章导引
Queue什么是队列队列的种类Java 集合框架中的队列 Queue推荐文章Set什么是 Set补充:有序集合与无序集合说明HashSet 和 TreeSet 底层数据结构推荐文章List什么是ListList的常见实现类ArrayList 和 LinkedList 源码学习推荐阅读Map树Queue什么是队列队列是数据结构中比...原创 2019-09-19 14:41:40 · 884 阅读 · 0 评论 -
十二道编程题超强解析——剑指offer
一、斐波那契数列题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n=2,第一步有n种跳法:跳1级、跳2级、到跳n级跳1级,剩下n-1级,则剩下跳法是f(n-1)跳2级,剩下n-2级,则剩下跳法是f(n-2)......跳n-1级,剩下1级,则剩下跳法是f(1)跳n级,剩下0级,则剩下跳法是f(0)所以在n>=2的情况下:f(n)=f(n-1) f(n-...原创 2019-09-19 14:29:44 · 994 阅读 · 0 评论 -
这几道字符串算法题怎么样?
说明1. KMP 算法2. 替换空格3. 最长公共前缀4. 回文串4.1. 最长回文串4.2. 验证回文串4.3. 最长回文子串4.4. 最长回文子序列5. 括号匹配深度6. 把字符串转换成整数1. KMP 算法谈到字符串问题,不得不提的就是 KMP 算法,它是用来解决字符串查找的问题,可以在一个字符串(S)中查找一个子串(W)出现的位置。KMP 算法把...原创 2019-09-19 14:07:32 · 976 阅读 · 0 评论 -
有人说这些链表算法题很简单
1. 两数相加题目描述问题分析Solution2. 翻转链表题目描述问题分析Solution3. 链表中倒数第k个节点题目描述问题分析Solution4. 删除链表的倒数第N个节点问题分析Solution5. 合并两个排序的链表题目描述问题分析Solution1. 两数相加题目描述Leetcode:给定两个非...原创 2019-09-19 12:19:19 · 539 阅读 · 0 评论 -
网易校招编程题,你会吗?
网易 2018下面三道编程题来自网易2018校招编程题,这三道应该来说是非常简单的编程题了,这些题目大家稍微有点编程和数学基础的话应该没什么问题。看答案之前一定要自己先想一下如果是自己做的话会怎么去做,然后再对照这我的答案看看,和你自己想的有什么区别?那一种方法更好?问题一 获得特定数量硬币问题小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是...原创 2019-09-19 12:16:16 · 940 阅读 · 0 评论 -
“N皇后”两种算法解析
N皇后题目描述n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1...原创 2019-09-19 12:13:12 · 1236 阅读 · 0 评论 -
J2EE基础知识_一点课堂(多岸学院)
Servlet总结阐述Servlet和CGI的区别?CGI的不足之处:Servlet的优点:Servlet接口中有哪些方法及Servlet生命周期探秘get和post请求的区别什么情况下调用doGet()和doPost()转发(Forward)和重定向(Redirect)的区别自动刷新(Refresh)Servlet与线程安全JSP和Servlet是什么关系JSP工...原创 2019-09-23 17:35:17 · 544 阅读 · 0 评论 -
Java IO与NIO的爱恨纠葛_一点课堂(多岸学院)
IO流学习总结一 Java IO,硬骨头也能变软二 java IO体系的学习总结三 Java IO面试题NIO与AIO学习总结一 Java NIO 概览二 Java NIO 之 Buffer(缓冲区)三 Java NIO 之 Channel(通道)四 Java NIO之Selector(选择器)五 Java NIO之拥抱Path和Files六 NIO学习总结以及NI...原创 2019-09-23 17:38:21 · 927 阅读 · 0 评论 -
Java基础知识大全_一点课堂(多岸学院)
1. 面向对象和面向过程的区别面向过程面向对象2. Java 语言有哪些特点3. 关于 JVM JDK 和 JRE 最详细通俗的解答JVMJDK 和 JRE4. Oracle JDK 和 OpenJDK 的对比5. Java和C 的区别6. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同7. Java 应用程序与小程序之间有那些差别8. 字符...原创 2019-09-23 17:41:46 · 1135 阅读 · 1 评论 -
Shell编程入门
Shell 编程入门走进 Shell 编程的大门为什么要学Shell?什么是 Shell?Shell 编程的 Hello WorldShell 变量Shell 编程中的变量介绍Shell 字符串入门Shell 字符串常见操作Shell 数组Shell 基本运算符算数运算符关系运算符逻辑运算符布尔运算符字符串运算符文件相关运算符shell流程...原创 2019-09-24 11:28:33 · 1015 阅读 · 0 评论 -
OSI、TCP、UDP等常见问题
一 OSI与TCP/IP各层的结构与功能,都有哪些协议五层协议的体系结构1 应用层域名系统HTTP协议2 运输层运输层主要使用以下两种协议UDP 的主要特点TCP 的主要特点3 网络层4 数据链路层5 物理层总结一下二 TCP 三次握手和四次挥手(面试常客)为什么要三次握手为什么要传回 SYN传了 SYN,为啥还要传 ACK为什么要四次挥手...原创 2019-09-24 11:21:51 · 1103 阅读 · 0 评论 -
最全计算机网络知识总结
目录结构一计算机概述)二物理层)三数据链路层 )四网络层 )五运输层 )六应用层)一计算机概述003333">(1),基本术语99CC33"> 结点 (node):网络中的结点可以是计算机,集线器,交换机或路由器等。99CC33"> 链路(link ):从一个结点到另一个结点的一段物理线路。中间没有任何其他交点。99CC33"> ...原创 2019-09-24 11:12:55 · 847 阅读 · 0 评论 -
HTTPS中的TLS
1. SSL 与 TLS2. 从网络协议的角度理解 HTTPS3. 从密码学的角度理解 HTTPS3.1. TLS 工作流程3.2. 密码基础3.2.1. 伪随机数生成器3.2.2. 消息认证码3.2.3. 数字签名3.2.4. 公钥密码3.2.5. 证书3.2.6. 密码小结3.3. TLS 使用的密码技术3.4. TLS 总结4. RSA 简单示例5...原创 2019-09-24 11:08:50 · 602 阅读 · 0 评论 -
Java集合框架必问面试题集锦
Arraylist 与 LinkedList 异同补充:数据结构基础之双向链表ArrayList 与 Vector 区别HashMap的底层实现JDK1.8之前JDK1.8之后HashMap 和 Hashtable 的区别HashMap 的长度为什么是2的幂次方HashMap 多线程操作导致死循环问题HashSet 和 HashMap 区别Concurrent...原创 2019-09-24 10:58:12 · 610 阅读 · 0 评论 -
JVM垃圾回收,搞定!_一点课堂(多岸学院)
上文回顾:《可能是把Java内存区域讲的最清楚的一篇文章》写在前面本节常见面试题:问题答案在文中都有提到如何判断对象是否死亡(两种方法)。简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。如何判断一个常量是废弃常量如何判断一个类是无用的类垃圾收集有哪些算法,各自的特点?HotSpot为什么要分为新生代和老年代?常见的垃圾回...原创 2019-09-24 10:46:00 · 527 阅读 · 0 评论 -
超详细!Java内存区域讲解_一点课堂(多岸学院)
写在前面(常见面试题)基本问题拓展问题一 概述二 运行时数据区域2.1 程序计数器2.2 Java 虚拟机栈2.3 本地方法栈2.4 堆2.5 方法区2.6 运行时常量池2.7 直接内存三 HotSpot 虚拟机对象探秘3.1 对象的创建3.2 对象的内存布局3.3 对象的访问定位四 重点补充内容String 类和常量池String s...原创 2019-09-24 10:43:20 · 463 阅读 · 0 评论 -
Java多线程重要知识点思维导图_一点课堂(多岸学院)
多线程系列文章重要知识点与思维导图Java多线程学习(一)Java多线程入门Java多线程学习(二)synchronized关键字(1)注意:可重入锁的概念。另外要注意:synchronized取得的锁都是对象锁,而不是把一段代码或方法当做锁。 如果多个线程访问的是同一个对象,哪个线程先执行带synchronized关键字的方法,则哪个线程就持有该方法,那么其他线程只能呈等待...原创 2019-09-24 10:08:03 · 774 阅读 · 0 评论 -
synchronized关键字使用、底层原理等_一点课堂(多岸学院)
synchronized关键字最主要的三种使用方式的总结修饰实例方法,作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 。也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类成员( static 表明这是该类的一个静态资源,不管new了多少个对象,只有一份,所以对该类的所...原创 2019-09-23 18:21:24 · 899 阅读 · 0 评论 -
LinkedList该有的都有了_一点课堂(多岸学院)
简介内部结构分析LinkedList源码分析构造方法添加(add)方法根据位置取数据的方法根据对象得到索引的方法检查链表是否包含某对象的方法:删除(remove/pop)方法LinkedList类常用方法测试:简介LinkedList是一个实现了List接口和Deque接口的双端链表。LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现...原创 2019-09-23 17:57:29 · 948 阅读 · 0 评论 -
Java集合框架常见面试题总结_一点课堂(多岸学院)
List,Set,Map三者的区别及总结Arraylist 与 LinkedList 区别ArrayList 与 Vector 区别(为什么要用Arraylist取代Vector呢?)HashMap 和 Hashtable 的区别HashSet 和 HashMap 区别HashMap 和 ConcurrentHashMap 的区别HashSet如何检查重复comparable 和...原创 2019-09-23 17:46:56 · 911 阅读 · 0 评论 -
sql 语句在 MySQL 中的执行流程分析
本文来自木木匠投稿。一 MySQL 基础架构分析1.1 MySQL 基本架构概览1.2 Server 层基本组件介绍1) 连接器2) 查询缓存(MySQL 8.0 版本后移除)3) 分析器4) 优化器5) 执行器二 语句分析2.1 查询语句2.2 更新语句三 总结四 参考本篇文章会分析下一个 sql 语句在 MySQL 中的执行流程,包括 ...原创 2019-09-19 14:08:10 · 931 阅读 · 0 评论 -
什么是黑盒测试和白盒测试?
什么是黑盒测试和白盒测试?任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内...原创 2019-09-17 09:47:18 · 7570 阅读 · 0 评论 -
操作系统知识复习
操作系统知识复习1、操作系统两个最基本特征并发和共享2、操作系统的主要功能处理机管理、存储器管理、设备管理和文件管理处理机管理:主要是对进程的管理:进程控制、进程同步、进程通信、调度。存储器管理:内存分配、内存保护、地址映射、内存扩充设备管理:缓冲管理、设备分配、设备处理文件管理:文件存储空间的管理、目录管理、文件的读/写管理和保护进程1、进程的特征结构特征:程序段 数据段 ...原创 2019-09-17 09:44:16 · 1113 阅读 · 0 评论 -
Struts框架
Struts框架定义:Struts是流行和成熟的基于MVC设计模式的Web应用程序框架。Model1 = JSP JavaBeanModel2 = JSP Servlet JavaBeanStruts中action就是Controller,Struts2是webwork的升级同时吸收两者的优势,不是一个全新的框架。Struts2:servlet2.4 jsp2.0 java...原创 2019-09-16 11:09:00 · 915 阅读 · 0 评论 -
Maven基础
Maven基础1.什么是maven?Maven:基于项目对象模型pom的项目管理工具2.常用命令mvn compile 编译mvn test 测试mvn package 打包mvn clean 删除target目录mvn install 安装Jar包到本地仓库mvn archetype:generate 自动建立项目骨架3.目录结构src-main-javasr...原创 2019-09-16 11:05:58 · 841 阅读 · 0 评论 -
Java虚拟机
Java虚拟机垃圾收集器young区1.Serial关注点:stw的时间 复制算法 STW2.ParNew关注点:stw的时间 Serial的多线程版本 复制算法 STW参数 -XX:ParallelGCThreads 并行线程数3.Parallel Scavenge关注点:达到一个可控制的吞吐量(吞吐量优先) 复制算法所谓吞吐量就是CPU运行用户代码的时间和CPU消耗的时间的...原创 2019-09-16 11:01:57 · 909 阅读 · 0 评论 -
Json解析工具Jackson的注解
Json解析工具Jackson的注解@JsonIgnoreProperties此注解是类注解,作用是json序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影响。@JsonIgnore此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。@JsonFormat此注解用于属性或者方法上(最好是属性上),可以方便的把Dat...原创 2019-09-16 10:58:54 · 1019 阅读 · 0 评论 -
Java注解处理器
深入理解Java注解 - 注解处理器如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement):Java使用Annotation接口来代表程序元素前面的注解,该接口是...原创 2019-09-16 10:55:40 · 927 阅读 · 0 评论 -
Java注解入门
深入理解Java注解 - 注解入门要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。Java提供的元注解Java5.0定义了4个标准的元注解:@Target @Retention @Documented @Inherited1.@Target注解作用:用于描述注解的使用范围(即:被描述的注...原创 2019-09-16 10:52:31 · 387 阅读 · 0 评论 -
Java序列化
Java序列化对于一个存在Java虚拟机中的对象来说,其内部的状态只是保存在内存中。JVM退出之后,内存资源也就被释放,Java对象的内部状态也就丢失了。而在很多情况下,对象内部状态是需要被持久化的,将运行中的对象状态保存下来(最直接的方式就是保存到文件系统中),在需要的时候可以还原,即使是在Java虚拟机退出的情况下。对象序列化机制是Java内建的一种对象持久化方式,可以很容易实现在JVM中...原创 2019-09-16 10:49:25 · 873 阅读 · 0 评论 -
类装载器ClassLoader
类装载器ClassLoader类装载器工作机制类装载器就是寻找类的节码文件并构造出类在JVM内部表示对象的组件。在Java中,类装载器把一个类装入JVM中,要经过以下步骤:[1.]装载:查找和导入Class文件;[2.]链接:执行校验、准备和解析步骤,其中解析步骤是可以选择的:[2.1]校验:检查载入Class文件数据的正确性;[2.2]准备:给类的静态变量分配存储空间;[2.3]解析:将...原创 2019-09-16 10:40:49 · 887 阅读 · 0 评论 -
为什么需要泛型?
泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码:public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); list.add("qqyumidi"); list.add("corn")...原创 2019-09-16 10:36:34 · 495 阅读 · 0 评论 -
Java面试知识点总结①——Java基础
大纲[x] 一、Java基础(语言、集合框架、OOP、设计模式等)[x] 二、Java高级(JavaEE、框架、服务器、工具等)[x] 三、多线程和并发[x] 四、Java虚拟机[x] 五、数据库(Sql、MySQL、Redis等)[x] 六、算法与数据结构[x] 七、计算机网络[x] 八、操作系统(OS基础、Linux等)[x] 九、其他一、Java基础(语言、集合...原创 2019-09-17 09:54:39 · 1446 阅读 · 0 评论 -
Java面试知识点总结②——Java高级
大纲[x] 一、Java基础(语言、集合框架、OOP、设计模式等)[x] 二、Java高级(JavaEE、框架、服务器、工具等)[x] 三、多线程和并发[x] 四、Java虚拟机[x] 五、数据库(Sql、MySQL、Redis等)[x] 六、算法与数据结构[x] 七、计算机网络[x] 八、操作系统(OS基础、Linux等)[x] 九、其他二、Java高级(JavaE...原创 2019-09-17 09:57:42 · 1157 阅读 · 1 评论