总结
文章平均质量分 66
思简行繁乃成
回归本质
展开
-
JVM笔记
0.java程序的执行过程1.JVM的位置2.JVM的体系结构a.简图b.详细图引用都在栈中, 具体对象在堆中3. 类加载器和双亲委派机制JVM 提供了3种类加载器启动类加载器:负责加载 Java_HOME/lib 目录中的类库扩展类加载器:负责加载 Java_HOME/lib/ext 目录中的类库应用程序类加载器:负责加载用户路径(classpath)上的类库 既然有这么多加载器,加载一个类时使用的是哪个类加载器?如果不同类加载器有同名类,以哪个为准,如何避免类名冲突?双亲原创 2021-08-18 18:19:33 · 603 阅读 · 5 评论 -
count(字段名),count(*),count(1)区别?? sql相关知识点和易错点, 持续更新
SQL易错点count(字段名):会忽略该列中所有的null值count(*):不会忽略null值,本质计算的是行数count(1):不会忽略null值,本质计算的是行数当字段名默认非空, default not nullcount(字段名) = count(*) = count(1) = 行数avg(字段名)会忽略null值, 即只计算有非零数字的当字段名默认空, default nullsum(字段名) / count(字段名) = avg(字段名)...原创 2021-08-17 19:22:22 · 340 阅读 · 0 评论 -
xx商城项目(软件+相关问题)持续更新
笔记的目的将遇到的问题和解决的方案列出, 供各位参考, 少走弯路.人人为我, 我为人人,开源精神✌.笔记的目的全套文档、视频、软件视频+文档 下载链接提取码: a9ka单独软件集合Vagrant: goVirtualBox: goPowerDesigner: go其他软件下载连接 go链接包含内容:①alipay.trade.page.pay-JAVA-UTF-8.zip②Navicate客户端.zip③redis-desktop-manager-0.8.8.3原创 2021-08-15 19:12:46 · 1253 阅读 · 3 评论 -
Redis笔记
NoSQLNoSQL = Not Only Sql (不仅仅是sql)泛指非关系型数据库, Redis就是NoSQL特点解耦!方便扩展!(数据之间没有关系,很好扩展!)大数据量高性能!(Redis 一秒写8万次,读取11万次)数据类型是多样型的!(不需要实现设计数据库!随取随用!)传统RDBMS 和 NoSQL对比传统的 RDBMS结构化组织SQL数据和关系都存在单独的表中操作数据,数据定义语言严格的一致性基础的事务…NoSql不仅仅是数据没有原创 2021-08-14 22:29:25 · 80 阅读 · 0 评论 -
Linux笔记
环境搭建1.安装CentOS7.72.购买云服务器购买服务器.购买完毕后,获取服务器的ip地址,重置服务器密码,就可以远程登录了下载 xShell 工具,进行远程连接使用!ps: 打开端口,需要在阿里云的安全组面板中开启对应的出入规则开机一般来说,用户的登录方式有三种:命令行登录ssh登录图形界面登录关机在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。sync # 将数据由原创 2021-08-11 23:02:39 · 236 阅读 · 0 评论 -
Git笔记
相关概念版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。版本控制的作用实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量并行开发、提高开发效率跟踪记录整个软件的开发过程减轻开发人员的负担,节省时间,同时降低人为错误总结:版本控制是用于管理多人协同开发项目的技术常见的版本控制工具Git SVN(Sub原创 2021-08-08 18:32:06 · 93 阅读 · 0 评论 -
[JAVA]重载与重写的区别
相同点: 名词中都有一个 “重” 字。不同点:重写是子类继承父类后,可以对父类中同名同参数的方法进行覆盖操作重载是同一个类中同名的方法有多个,它们的参数列表不同(顺序,个数)也就是说重载实现于一个类中;重写实现于子类中...原创 2021-05-24 22:49:19 · 63 阅读 · 0 评论 -
C++STL中的set、map和priority_queue默认优先级(升降序)备忘录
setset<int> s;//默认升序,相当于 set<int,less<int> >。set<int,less<int> > s; //该容器是按升序方式排列元素。set<int,greater<int>> s; //该容器是按降序方式排列元素。mapmap<T1,T2> m;//默认按键的升序方式排列元素,相当于下方的lessmap<T1,T2,less<T1> >原创 2021-03-21 18:22:06 · 1144 阅读 · 0 评论 -
最小生成树算法Prim和Kruskal(思路代码+详细注释)
Prim算法const int MAXV = 1000;//最大顶点数 const int INF = 0x3f3f3f3f;//一个很大的数int n,m,G[MAXV][MAXV];//顶点数,边数,图的二维数组c'y'b'zint d[MAXV] ;int vis[MAXV] = {false};int prim(){ fill(d,d+MAXV,INF); d[0] = 0; int ans = 0; for(int i=0;i<n;i++){ int u=-1,MIN原创 2021-03-21 16:58:50 · 306 阅读 · 0 评论 -
算法设计与分析 复习资料
知识点复习:第1-2章衡量算法:时间复杂度和空间复杂度时间复杂度:基本操作的运行次数增长次数最优、最差、平均效率的计算渐近符号的含义O(读作“O”),Ω (读作“omega”)和Θ (读作“theta”)6. 汉诺塔问题 2n - 1func:if n!=0 then ;预定值func(n-1, a, c, b) ;将n-1个盘子由a移动到b,以c为辅助柱子(注意参数顺序)move a[n] to c ;将a上的最后一个盘子移动到cfunc原创 2021-01-19 23:00:05 · 432 阅读 · 0 评论 -
[C/C++] 二分查找算法(代码)
文章目录1.求 x 的元素的位置(严格递增(或递减)区间)2.求序列中第一个大于等于 x 的元素的位置3.求序列中第一个大于x的元素的位置1.求 x 的元素的位置(严格递增(或递减)区间)//事关 x 的存在问题//A[]为严格递增序列,left为二分上界,right为二分下界,x为欲查询的数 //这里的二分上界为n-1,[left,right]=[0,n-1],有n个数int binarySearch(int A[], int left, int right, int x){ int mid;原创 2020-11-20 15:45:50 · 769 阅读 · 0 评论 -
节约时间的代码技巧
1.判断奇偶if(b % 2 == 1) // 与 if(b & 1) 等价2.乘或除 2b >> 1 // 与 b / 2 等价b << 1 // 与 b * 2 等价原创 2020-11-20 10:38:04 · 121 阅读 · 0 评论 -
[C/C++]整数进制转换(代码+原理+总结)
文章目录(1)其他进制转换为十进制原理代码(2)十进制转换为其他进制原理代码(3)总结(1)其他进制转换为十进制原理P进制x上的每一个位对十进制而言表达的含义都不同从右到左,各表示个位,P位,P2位,…,Pn位例如:十进制1233表个位,2表十位,1表百位八进制1233表个位,2表8位,1表64位二进制1011表个位,0表2位,1表4位(从右到左)所以P进制x=d1d2…dn换个形式x = d1*Pn-1 + d2*Pn-2 +…+ dn-1*P + dn在使用十进制的乘原创 2020-11-19 21:48:06 · 2889 阅读 · 0 评论 -
[逗号表达式]之运用与理解 while语句括号内加逗号 a=(xx,yy,zz)
逗号表达式:从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值(0假 非0真)值得注意:=的优先级> ,的优先级(这里容易搞混)下面举例(附解释)a=3*4,4*5 //a==12 优先级!a=3*4a=(3*4,4*5)//a==20 优先级!a=4*5a=(a=3*4,4*5)//a==20 a=4*5 与第一个式子的区别a=(a=4,a*4)//a==16 //从左往右逐个计算表达式,,整个表达式的值为最后一个表达式的值while (scanf ("%d%d", &am原创 2020-08-14 22:34:56 · 1290 阅读 · 0 评论 -
游戏项目框架(属性名+方法名)
com.tedu.controller GameListener.java//游戏监听类 属性 private ElementManager em = ElementManager.getManager(); private Set<Integer> set=new HashSet<Integer>(); 方法 public void keyTyped(KeyEvent e) public void keyPressed(KeyEvent e) pub原创 2020-07-18 18:13:24 · 1108 阅读 · 0 评论 -
Java 学习之路(与C、C++和Python对比)(持续跟新)
变量Java,是强类型语言。1.变量必须先声明后使用。2.相同类型的变量才可以相互操作。(不同?强制转化!)输出System.out.print("中文");System.out.println("中文");//自带换行输入Scanner in = new Scanner(System.in);//必须写String str = int.nextLine();//读入字符串...原创 2019-07-17 16:50:44 · 835 阅读 · 0 评论 -
[C++] STL(list,stack,queue,priority_queue,deque)
list双向链表stack栈(后进先出)queue队列(先进先出)priority_queue优先队列deque双端队列容器共用特征:.begin() //起始地址.end() //末尾的后一位的地址(最后一位元素的下一位的地址).size()//返回元素个数,无符号整型.swap(b) // 序列交换::iterator //迭代器(广义指针)list<int&g...原创 2019-09-07 11:24:30 · 240 阅读 · 0 评论 -
[C++]将十进制转化成二进制输出
#include<bits/stdc++.h> using namespace std; int main() { int n ; char a[1001]; cin>>n; itoa(n,a,2); cout<<a<< endl; return 0;}原创 2019-09-07 12:11:42 · 1018 阅读 · 0 评论 -
[C++] STL(vector,set,map,sort,random_shuffle,reverse,unique)
1.vector2.set/multiset/bitset3.map/multimap4.sort5.reverse/random_shuffle/unique1.vectorvector是一个变长数组,支持数组表示法和随机访问成员函数:size/empty;clear;begin/end;front/back;push_back/pop_back;erase;inse...原创 2019-09-11 20:09:36 · 366 阅读 · 0 评论 -
错题-数据结构
Is it possible to replace:是否可以将视频里向量扩容代码中的:for (int i = 0; i < _size; i++) _elem[i] = oldElem[i];in the vector expansion code in the video with:替代为:memcpy(_elem, oldElem, _size * sizeof(T));...原创 2019-09-27 19:58:43 · 231 阅读 · 0 评论 -
C++ 之 默认参数
在c语言中,函数在调用时,形参只能从实参那里取得值。对于多次调用用一函数同一实参时,C++给出了更简单的处理办法。给形参以默认值(成为默认参数),这样就不用从实参那里取值了。注意事项默认参数的顺序,是从右向左的<--,不能跳跃。当声明在前,调用在后,即声明调用分开时,默认参数只能在声明处。一个函数,不能既作重载,又有默认参数。因为当你少写一个参数时,系统无法确认是重载还是默认...原创 2019-09-28 16:52:07 · 251 阅读 · 0 评论 -
C++之引用
概念变量名,本身是一段内存的引用,即别名(alias)。此处引入的引用,是为己有变量起一个别名。C++中引入引用后,可以用引用解决的问题。避免用指针来解决。规则引用没有定义,是一种关系型声明。声明它和原有某一变量(实体)的关系。故而类型与原类型保持一致,且不分配内存。与被引用的变量有相同的地址。声明的时候必须初始化,一经声明,不可变更。可对引用,再次引用。多次引用的结果,是某一变量...原创 2019-09-28 17:28:13 · 272 阅读 · 0 评论 -
[数据结构笔记][含图解] 算法效率层级 大O记号 速度直观图
好算法正确、健壮、可读效率:速度尽可能快;储存空间尽可能少成本 = 运行时间+所需存储空间规模往往是决定计算成本的主要因素T(n):需执行的基本操作次数最坏情况大O记号T(n) = O(f(n)) if 存在c>0,当n>>2后,有T(n)<c*f(n)与T(n)相比 , f(n)更为简洁,但是仍然表示其增长趋势常数项可以忽略 O(f(n)) = O(...原创 2019-09-30 20:44:37 · 393 阅读 · 0 评论 -
tensorflow reduce_mean 和 cast
tf.reduce_mean 计算张量的各个维度上的元素的平均值.Signature: tf.reduce_mean(input_tensor, axis=None, keepdims=None, name=None, reduction_indices=None, keep_dims=None)Docstring:Computes the mean of elements across d...原创 2019-08-22 21:01:54 · 121 阅读 · 0 评论 -
学习篇之 OpenCV (python)
导入模块和定义函数import numpy as npimport cv2import matplotlib.pyplot as pltdef imread(image): image = cv2.imread(image) image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB) return imagedef show(ima...原创 2019-08-16 22:26:35 · 365 阅读 · 0 评论 -
Python学习之路(详细+总结) 一文入门
jupynotebook 基本操作关于cell(代码块)shift+enter 执行当前cell并在下面插入一个cellctrl + enter 只执行当前cellalt + enter 只在下面插入一个cellshift + tab 查看相关函数的参数基本数据类型用type()来查看类型1、整形和浮点型2、布尔型True == 1False == 03、字符串创建字...原创 2019-07-31 17:35:09 · 770 阅读 · 0 评论 -
学习篇之数据分析库pandas
import numpy as npimport pandas as pd #导入numpy、pandas模块Series 数据结构# Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引s = pd.Series(np.random.rand(5))print(s)print(type(s))# 查看数据、数...原创 2019-08-03 18:06:44 · 288 阅读 · 0 评论 -
[C/C++]LeetCode 简单篇之二叉树的最小深度
思路对根节点及它所直接连的子节点全部情况分析一边,以此递归完毕。代码int minDepth(TreeNode* root){ if(!root) return 0; int left=minDepth(root->left); int right=minDepth(root->right); if(!left) ...原创 2019-07-22 12:00:30 · 131 阅读 · 0 评论 -
科学计数法e/E?计算机?表示?
计算机表达10的幂是一般是用E或e,即1.03乘10的8次方,可简写为“1.03E+08”的形式-1.03乘10的8次方,可简写为“-1.03E+08”的形式1.03乘10的-8次方,可简写为“1.03E-08”的形式-1.03乘10的-8次方,可简写为“-1.03E-08”的形式...原创 2019-08-03 09:35:05 · 60416 阅读 · 1 评论 -
[C++]LeetCode 简单篇之二进制求和
思路1.令两字符串长度相等2.从后往前相加3.开头字符单独解决代码(详细解释)class Solution {public: string addBinary(string a, string b) { int la = a.size(); int lb = b.size(); while (la>lb) ...原创 2019-07-29 12:13:23 · 346 阅读 · 0 评论 -
[C/C++]LeetCode 简单篇之对称二叉树
思路若某个二叉树镜像对称,则两个这样的二叉树镜像对称设两个相同二叉树,分别为root1、root2, 满足镜像对称的条件:1 . root1的左子二叉树与root2的右子二叉树镜像对称2 . root1的右子二叉树与root2的左子二叉树镜像对称代码/** * Definition for a binary tree node. * struct TreeNode { * ...原创 2019-07-16 11:23:11 · 233 阅读 · 0 评论 -
[C/C++]LeetCode 简单篇之二叉树的层次遍历 II
思路1.利用数列queue完成每一层的划分2.利用动态数组vector的 insert() 完成倒序代码(详细解释)class Solution {public: vector<vector<int>> levelOrderBottom(TreeNode* root) { vector<vector<int>&g...原创 2019-07-18 11:15:17 · 103 阅读 · 0 评论 -
[C/C++]LeetCode 简单篇之合并两个有序数组
思路将两个初始数组最大数进行比较,较大者拿出所属数组,放到最终数组最后一位。以此类推。代码(附解释)class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { if (m==0) //如果nums1...原创 2019-07-15 15:56:56 · 149 阅读 · 0 评论 -
学习篇之科学计算库numpy
Numpy基础数据结构NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成:实际的数据描述这些数据的元数据多维数组ndarrayimport numpy as npar = np.array([1,2,3,4,5,6,7])print(ar) # 输出数组,注意数组的格式:中括号,元素之间没有逗号(和列表区分)print(ar.ndim) ...原创 2019-08-01 17:28:00 · 207 阅读 · 0 评论 -
np.random.random()的用法
np.random.random(size=None)函数参数np.random.random((100, 50))上方代表生成100行 50列的随机浮点数,浮点数范围 : (0,1)值得注意的是np.random.random([100, 50])效果一样...原创 2019-08-18 17:11:31 · 43905 阅读 · 5 评论 -
numpy中的sign()函数和dot()函数
sign()的用法:大于0的返回1 # sign(2) = 1小于0的返回-1 # sign(-3) = -1等于0的返回0 # sign(0) = 0dot()的用法:dot(x,y) # 两矩阵相乘x*y原创 2019-08-18 17:29:30 · 2518 阅读 · 0 评论 -
if cv2.waitKey(1) & 0xff == ord('q'):break的理解
感谢这些大哥的博客帮助:https://www.jianshu.com/p/30c40d7ce5dchttps://www.jianshu.com/p/b0d3221b0d81https://blog.csdn.net/zhaowei5210/article/details/70920711原创 2019-08-16 18:25:42 · 4287 阅读 · 0 评论 -
python np.newaxis 用法
np.newaxis先明确功能:增加一个维度in1:a=np.array([1,2,3,4,5])print (a.shape)print (a)out1:(5,)[1 2 3 4 5]in2:a=np.array([1,2,3,4,5])b=a[np.newaxis,:]print (a.shape,b.shape)print (a)print (b)out2:...原创 2019-08-21 18:54:42 · 763 阅读 · 0 评论 -
tensorflow模型保存及读取
两种办法CheckpointProtocol_buffer区别:前者可以继续训练,后者只能预测。Checkpoint_save# 定义Saver用于保存模型saver = tf.train.Saver()with tf.Session() as sess: # 变量初始化 sess.run(init) # 运行11个周期 for epoch in...原创 2019-08-23 19:35:17 · 394 阅读 · 0 评论 -
学习篇之tensorflow
创建会话,启动会话import tensorflow as tf# 创建一个常量m1 = tf.constant([[3,3]])# 创建一个常量m2 = tf.constant([[2],[3]])# 矩阵乘法opproduct = tf.matmul(m1, m2)print(product)Tensor("MatMul_3:0", shape=(1, 1), dtype=...原创 2019-08-23 17:53:23 · 162 阅读 · 0 评论