![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 54
计算机中的小垃圾
这个作者很懒,什么都没留下…
展开
-
教你如何快速解决二叉树类的算法题
笔记依照于东哥所著算法文章目录二叉树类的题如何思考例题二叉树类的题如何思考二叉树解题的思维模式分两类:1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个 traverse 函数配合外部变量来实现,这叫「遍历」的思维模式。2、是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答案?如果可以,写出这个递归函数的定义,并充分利用这个函数的返回值,这叫「分解问题」的思维模式。无论使用哪种思维模式,你都需要思考:如果单独抽出一个二叉树节点,它需要做什么事情?需要在什么时候(前/中/后原创 2022-04-12 08:55:25 · 379 阅读 · 0 评论 -
(mysql)使用了删除,为什么表的空间还是不变
今天发现了一个问题,当我执行删除语句的时候,删除了表中的一些行,所占的空间是不变的。后面我干脆把整个表的给删除了,发现还是表大小不变。让我感觉有点奇妙,后面阅读了极客文章知道了原因。innoDB表包含两部分:表结构定义和数据。MySQL8.0之前,表结构是存在 .frm 为后缀的文件里,8.0版本则允许把表结构定义放在系统数据表中了。参数 innodb_file_per_table参数 innodb_file_per_table 设置为OFF时,表的数据放在共享表空间,也就是跟数据字典放在一起;当设置原创 2022-03-23 20:41:17 · 2316 阅读 · 0 评论 -
操作系统内存图解
虚拟地址和物理地址相映射的关系有两种一种是用段的方式分配内存一种是用页的方式分配内存![请添加图片描述](https://img-blog.csdnimg.cn/24bbaaf5f6274d90a1d353b97ccfbe5f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6K6h566X5py65Lit55qE5bCP5Z6D5Zy-,size_15,color_FFFFFF,t_70,g_s原创 2022-03-17 12:20:58 · 425 阅读 · 0 评论 -
sort里面的排序算法
如有错误请指出谢谢当我们调用Arrays中的api进行排序的时候,我们有没有想下,里面用的是什么排序呢?今天我们就来看一看public static void sort(int[] a) { //里面又调用了另一个方法 DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0); }static void sort(int[] a, int left, int right,原创 2022-02-25 21:14:16 · 506 阅读 · 2 评论 -
HashMap1.8中的Put源码
当我们再调用hashMap中的put方法的时候,其实put内部又调用了putVal方法public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }在调用putVal方法的时候,就把key的hash计算当成参数传进去了final V putVal(int hash, K key, V value, boolean onlyIfAbsent,原创 2022-02-23 20:00:21 · 379 阅读 · 0 评论 -
面试常问 lock和synchronized的区别
只是当前所了解的总结,如有不完善或错误请指出,谢谢1,两者都是基于去解决线程安全的问题去的。2,从锁的实现方面来谈论:synchronized是JVM来实现的。是关键字层次的,他的原理是通过Monitor(监管器),这个Monitor也是一个class,实例是存储在堆里。每个 Java 对象都可以关联一个 Monitor 对象。如果使用 synchronized 给对象上锁(重量级)之后,该对象头的 Mark Word 中就被设置指向 Monitor 对象的指针,这就是重量级锁。锁原理会再开篇文章讲原创 2022-01-14 18:40:07 · 263 阅读 · 0 评论 -
sql语句的执行过程
相信我们程序员打交道最多的就是数据了,而与数据牵扯到的最多的就是数据库了。sql语句相信都会写,但是我们如果要知道sql语句的执行过程呢?1,首先介绍一条查询语句的执行过程:先了解下mysql的组成。mysql是分为两个部分的,分别是server层和存储引擎层 server层中有连接器,查询缓存,分析器,优化器,执行器等,所有的跨存储引擎操作都是在server层,例如视图,等。存储引擎在mysql中有很多种,MYISAM,InnoDB,Memory,负责的是数据的存储和提取注意 :不同的原创 2022-01-07 20:15:12 · 787 阅读 · 0 评论 -
聊聊几种创建多线程的方法
在这篇文章中,博主来说说博主了解到的几种创建多线程的方法1,直接继承Thread方法,来创建多线程:这种方法是最先接触到多线程所了解到的方法,当需要一个类需要创建多线程的时候让这个类继承Thread,重写其中的run()方法第一步,继承Thread类,重写run方法:class MyThread extends Thread{ @Override public void run() { for (int i = 0; i <100 ; i++) {原创 2021-09-25 16:49:44 · 313 阅读 · 0 评论 -
关于Statement和Prestatement区别
Statement是java.sql包下的一个接口,想必在学习过jdbc的同学们就对这个接口有一定的印象,Statement接口下有很多方法是对sql语句处理的,例如executeQuery(“sql语句”)方法 //3,创建数据库对象 Statement stmt=con.createStatement(); //4,对数据库进行操作 String sql="select * from dept"; ResultSe..原创 2021-09-19 21:59:58 · 1007 阅读 · 1 评论 -
关于java中常见的几个默认初始值和扩容倍数
StringBuffer的默认容量是16,当不赋值的时候,调用续保构造函数的时候,给StringBuffer默认16的容量大小原创 2021-09-11 23:50:36 · 730 阅读 · 2 评论 -
2020-05-20
今天5.20第一天打卡原创 2020-05-20 00:35:30 · 93 阅读 · 0 评论