
学习笔记
青云8969
keep calm and keep coding
展开
-
HashMap的求容量方法tableSizeFor(n)
Java8对许多内置的容器进行了优化与拓展,其中对HashMap的改变尤其大。之后将进行总结。最近在看HashMap的源码时,发现了里面好多很不错的算法,相比Java7从性能上提高了许多。其中tableSizeFor就是一个例子。tableSizeFor的功能(不考虑大于最大容量的情况)是返回大于输入参数且最近的2的整数次幂的数。比如10,则返回16。该算法源码如下:static final int tableSizeFor(int cap) { int n = cap - 1; n |原创 2021-01-12 19:49:22 · 419 阅读 · 0 评论 -
前中后序遍历二叉树(非递归做法)
前序void PreOrderIteration1(pTree node){ if(node == nullptr) return; stack<pTree> s; pTree p = node; s.push(p); while(!s.empty()) { p = s.top(); cout<<p->_data<<" "; s.pop(); .原创 2020-07-21 21:28:03 · 2655 阅读 · 0 评论 -
正数负数之源码反码补码
正数原码/反码/补码均相同example: 5原码:0000 0101反码:0000 0101补码:0000 0101负数原码:对应正数的原码,首位取1即可反码:首位不变,其余各位取反补码:反码+1example:-5原码:1000 0101反码:1111 1010补码:1111 1011...原创 2020-07-21 20:06:11 · 364 阅读 · 0 评论 -
SQL小记
求每门课的最高分同学的数据select t1.学号,t1.课程号,t1.成绩from table t1where t1.成绩 = (select max(t2.成绩)from table t2where t2.课程号 = t1.课程号group by t2.课程号)求每个部门薪水前三名同学的数据select * from table a left join table bon a.id=b.id and a.salary<b.salarygroup by a.id .原创 2020-07-21 18:02:51 · 195 阅读 · 0 评论 -
Mysql面试常见问题总结
MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。 选择合适的表字段数据类型和存储引擎,适当的添加索引。 mysql库主从读写分离。 找规律分表,减少单表中的数据量提高查询速度。 添加缓存机制,比如memcached,apc等。 不经常改动的页面,生成静态页面。 书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1, field_2, fiel原创 2020-06-21 11:49:07 · 335 阅读 · 0 评论 -
红黑树——简单明了的学生思路
在看红黑树之前一定要了解链表、二叉搜索树、二叉平衡树等等基础哦!红黑树 Red-Black Tree 为什么? 为了解决二叉搜索树的缺点,使最差搜索时间都能达到O(logN)。比如应用在HashMap底层Hash链表过长时优化。 是什么? 本质上就是二叉搜索树,通过优化和性质来确保其较平衡。性质:所有结点均为红色或黑色 根节点为黑色 红色结点子结点只能为黑色 任一结点到叶子结点的路径上黑色结点的数量都相同 叶子节点下的或Null结点为黑色 做什么? .原创 2020-06-11 21:51:23 · 8360 阅读 · 1 评论 -
Java值传递的一些理解
首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中。更何况,要想知道Java到底是传值还是传引用,起码你要先知道传值和传引用的准确含义吧?可是如果你已经知道了这两个名字的准确含义,那么你自己就能判断Java到底是传值还是传引用。这就好像用大学的名词来解释高中的题目,对于初学者根本没有任何意义。一:搞清楚 基本类型 和 引用类型的不同之处int num = 10;.原创 2020-06-08 17:09:12 · 3228 阅读 · 0 评论 -
Flink学习路线
Flink学习资料官方文档https://flink.apache.org/ 官方视频课程https://github.com/flink-china/flink-training-course/blob/master/%E8%AF%BE%E7%A8%8B%E8%A1%A8%EF%BC%88%E6%8C%81%E7%BB%AD%E6%9B%B4%E6%96%B0%EF%BC%89.md...原创 2020-02-19 17:43:08 · 1904 阅读 · 0 评论 -
数据库
数据库分类:关系型数据库:oracel mysql sqlserver非关系型数据库(NoSQL):键值类 列存储类:Cassandra \ HBase 文档型数据库:MongoDB 图形型数据库: 时间序列数据库(TSDB):InfluxDB,TDengineHadoop平台SparkDocker知识点总结概念模型:E-R(实体-联系...原创 2020-01-05 14:59:20 · 493 阅读 · 0 评论 -
markdown语法总结
快捷键撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shift + H无序列表:Ctrl/Command + Shift + U有序列表:Ctrl/Command + Shift + O检查列表:Ctrl/Command + Shift + ...原创 2019-11-02 09:39:11 · 561 阅读 · 0 评论 -
Java基础总结
Java learning基础: .java文件,通过编译生成.class文件(javac),再通过JVM生成机器码运行(java) 不同文件 一个文件只有一个public类,类名=文件名 非public类可有多种 面向对象语言,类中:类方法,类属性,类方法内面向过程 public class Hello { public static void main(Stri...原创 2019-11-01 13:12:26 · 2009 阅读 · 0 评论 -
Linux 解析
基础:lspwdmkdir testrmdir testrm test //removemv oldname newnamecp test test1 //copyclearsudo //按照root执行sudo apt-get install package_namechmod +x package_name //给文件加可执...原创 2019-10-14 19:50:30 · 532 阅读 · 0 评论 -
C++常用方法总结
基础sizeof(...);//返回大小,以字节为单位typeid(a).name();//返回类型to_string(2); //返回字符串“2”string s="123";s[0];//类型为chars.fing('2'); //返回索引1 struct ListNode { int val; ListNode *next; ListNod...原创 2019-10-13 11:07:15 · 817 阅读 · 0 评论 -
leetcode刷刷刷
记录一些leetcode题目的小技巧算法思路+实现报错:warning: control reaches end of non-void function注意返回值1.求众数int key=nums[0];count=1;遍历:遇到同样的数count+1,否则count-1;count=0时,key换成当下的数,count=1;key即为众数;2.求最大子序...原创 2019-10-10 19:54:58 · 1718 阅读 · 0 评论 -
InfluxDB总结
https://docs.influxdata.com/influxdb/v1.7/introduction/getting-started/influx helpinflux -version...command line interface (CLI)先打开influxd服务器 influxdhelpshow databases;use db_name;show m...原创 2019-10-08 12:33:05 · 253 阅读 · 0 评论 -
MySQL必知必会——语句总结
https://dev.mysql.com/doc/refman/8.0/en/Mysql使用:图形界面C/S模式使用Mysql: 连接Mysql服务器: mysql -h hostname/host_IP -p port -u username -p 指定主机 指定端口,默认3...原创 2019-10-08 12:26:41 · 1822 阅读 · 0 评论 -
Python基础总结
Python语法基础第一句python# print('HelloWorld !\n')主函数#if __name__ == '__main__': 格式#注意缩进和冒号#同一行多条语句间加分号 #\是续行符和转义符 多加一个也是取消转义符号#hex()转为16进制字符串 oct()转为8进制字符串#'''或者"""三个引号多行注释 """允许字符串跨多行#\r ...原创 2019-08-09 13:46:30 · 1822 阅读 · 0 评论