初始化

0206工作总结

梦想与她 提交于 2020-02-06 23:52:36
学习欲望不断降低,但我相信我终将赢得胜利 LC242 只用一个26位的数组完成hash表的任务,并且能够只用一个数组空间,在时空效率上都做了节约 class Solution { public: bool isAnagram(string s, string t) { if (s.size() != t.size()) return false; int m[26] = {0}; for (int i = 0; i < s.size(); ++i) ++m[s[i] - 'a']; for (int i = 0; i < t.size(); ++i) { if (--m[t[i] - 'a'] < 0) return false; } return true; } }; 今天遇到了初始化的一个注意点 比如对vector<int> ans(3,0)进行了初始化,再对ans push_back时,会直接在0后面接值,这样初始化会占据数组的有效位并有可能导致出错,如需初始化可以用下标更改或者直接不要初始化,画蛇添足。 还是有些函数没搞明白,速度提不上去,主要是理解 来源: https://www.cnblogs.com/Marigolci/p/12271446.html

MySQL源码编译与初始化

陌路散爱 提交于 2020-02-06 23:03:05
1 . MySQL简介 1.1数据库有很多类型: 关系型数据库-->MySQL Oracle 非关系型数据库-->memcached redis 1.2什么叫关系型数据库??? SQL数据库数据与数据之间是有关系的,通过关系能够将一系列数据都提取出来。 1.3什么叫非关系型数据库??? NOSQL(not only SQL)数据库 2.安装源码编译必备的几个软件包 [root@yangwenbo yang] # yum -y install make gcc gcc-c ++ ncurses-devel cmake [root@yangwenbo yang] # rpm -qa make gcc gcc-c ++ ncurses-devel cmake gcc-4 .4 .7-4 .el6 .x86_64 cmake-2 .6 .4-5 .el6 .x86_64 gcc-c ++ -4 .4 .7-4 .el6 .x86_64 ncurses-devel-5 .7-3 .20090208 .el6 .x86_64 make-3 .81-20 .el6 .x86_64 3.源码编译与安装 3.1源码编译 cmake-2.8.6.tar.gz [root@yangwenbo yang]# ls cmake-2.8.6.tar.gz mysql-5.5.22.tar.gz 3.1.1解包

hashMap关键知识点

☆樱花仙子☆ 提交于 2020-02-06 20:13:10
1、数据结构 jdk1.7是数组加链表,jdk1.8是数组加链表加红黑树(链表太长了查询也慢,所以链表长度超过8时就使用红黑树咯) 2、hashMap的初始化大小 1)不给长度时,默认初始化为16,创建map时尽量给个长度,防止不断扩容影响效率。 2)大小为2的n次幂时,散列得比较均匀,那么查询就比较快 3、hashMap的put原理 1)把key值通过hash函数(hashcode与map长度减一的二进制做与运算,这样得出0到长度减一的下标)计算一个位置index 例如: 初始化长度为8 hashcode为11001 那么下标就为0 0111&11001=0 0001 那么下标就为1 初始化长度为8 hashcode为11111 那么下标就为0 0111&11111=0 0111 那么下标就为7 2)检测index所在位置是否有值,有值得话就比较key值是否相等, 不等的话直接把值接在所在对象的链表的后面,相等的话就覆盖原有的值 4、hashMap的扩容原理 1)当map中的元素个数等于map长度乘以加载因子时,就需要扩容了;扩容到原来长度的两倍 2)扩容使用的是头插法,扩容之后链表的顺序为倒序,这也是导致多线程扩容时出现环路导致线程不安全的原因 5、hashMap的get原理 1)把key值通过hash函数计算一个位置index 6、hashMap的加载因子 1

对象状态类

ぐ巨炮叔叔 提交于 2020-02-06 17:58:24
================================================================================ 标题: 对象状态类 作者: 叶飞虎 日期: 2020.01.30 在多线程编程中,但凡对象的操作必须在某种状态下才有效,且对象状态的变化是需要一 定的时钟周期,这时就涉及状态迁移。利用好对象状态可以提高程序的并发能力,同时也能 控制对象状态。 对象状态类的头文件(KYObjState.h)如下: // ======================================= // Unit : 对象状态类 // Version: 4.0.0.0 (build 2020.01.30) // Author : Kyee Ye // Email : kyee_ye(at)126.com // Copyright (C) Kyee workroom // ======================================= #ifndef _KYObjState_H_ #define _KYObjState_H_ #include "KYSyncObj.h" // KYLib 2.0 开始使用 KYLib 命名空间 namespace KYLib { // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Django入门日记 Day3

邮差的信 提交于 2020-02-06 09:07:37
用户注册 I. 初始化一个Django App 命令行中cd到项目文件夹,然后: >python manage . py startapp users 在 setteings.py 中注册新的应用。在 INSTALLED_APPS 列表中加入以下项: 'users.apps.UsersConfig' , 在 urls.py 中为新应用添加路径。添加如下代码: from users import views as user_views urlpatterns = [ path ( 'register/' , user_views . register , name = 'register' ) , ] II. views.py Django 的 UserCreationForm 方法中有用户注册的初始化表单布局(但不包括提交按钮),无需自定义,这里将其赋给变量 form 。 render() 方法返回渲染后的HttpResponse对象并将表单变量传入 register.html 。(在 users --> templates --> users --> 下新建一个 register.html ) from django . shortcuts import render from django . contrib . auth . forms import

C++Primer 变量和基本类型

北城余情 提交于 2020-02-06 07:05:32
还是从最基础的来看吧,简单的大概看一下吧。 char是8位类型,最多只能包含256种字符,许多外文 字符集 所含的字符数目超过256个,char型无法表示。如中文字符,就可用 wchar_t来表示 Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。能够使计算机实现跨语言、 跨平台 的文本 转换 及处理。 void* 指针 可用于存放任意对象的地址 作用:拿它与其他类型的指针比较、作为函数的输入或输出、赋给另一个void*指针 不能直接操作void*指向的对象 指向指针的引用 引用本身不是一个对象,因此不能定义指向引用的指针,但是指针是对象,存在对指针的引用 r到底是什么? 最简单的方法是从右向左阅读r的定义。离变量最近的符号对变量的类型个有最直接的影响。 所以,在此例中,r是一个引用。r引用的是一个int指针。 const与指针中,用名词顶层const 表示指针本身是个常量,而用底层const表示指针所指的对象是一个常量。 constexpr和常量表达式 常量表达式——值不会改变并且在编译过程中就能得到计算结果的表达式。用常量表达式初始化的const对象也是常量表达式。 constexpr变量 允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式。声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化:

linkin大话面向对象--java关键字

房东的猫 提交于 2020-02-06 06:51:11
java中的关键字有以下几个,他们不能作任何其它的用途。 发现没,java中的关键字全是小写,java是严格区分大小写的。 abstract default null synchronized boolean do if package this break double implements private threadsafe byte else import protected throw extends instanceof case false int return true catch final interface short try char finally long static void class float native super while for new switch continue public transient static用法: static 表示 “ 全局 ” 或者 “ 静态 ” 的意思,用来修饰成员变量和成员方法,也可以形成静态 static 代码块,但是 Java 语言中没有全局变量的概念。 被 static 修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载, Java 虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此, static

深入理解JVM( 一 )--类加载过程详解

巧了我就是萌 提交于 2020-02-06 06:20:21
深入理解JVM( 一 )–类加载过程详解 文章目录 深入理解JVM( 一 )--类加载过程详解 一、Java文件从编码完成到最终执行过程 二、类加载过程详解 1、类加载的过程 2、类加载五个阶段: 2.1 加载: 2.2 链接:包含验证、准备、解析三个过程 2.21 验证 2.22 准备 2.23 解析 2.3 初始化 如果向学习和理解JVM的话,《深入理解JVM虚拟机》这本圣经必不可少的,我也是你们其中一份子,这本书看了一遍后有很多不懂,沮丧。。。也不敢装懂,不过该懂得还是懂一些,因此打算写几篇JVM得博客,巩固知识,也希望大伙能提点我的错误和不足 《深入理解JVM虚拟机》的分享链接:链接:https://pan.baidu.com/s/1fnTMWfC7Zi3HVJ5C78O80Q 提取码:hhmo 一、Java文件从编码完成到最终执行过程 编译:Java文件通过javac命令编译生成字节码,也就是.class文件 运行:.class文件交给JVM虚拟机进行 类加载 ,到最后执行过程 二、类加载过程详解 1、类加载的过程 过程: JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。 注意点:JVM 不是一开始把所有的类 加载进内存,而是需要的时候 有且仅有一次 加载 2、类加载五个阶段: 类加载的顺序除了 解析 之外是 固定 的( 可以在

const in C/C++

↘锁芯ラ 提交于 2020-02-06 04:53:33
1. const 对象必须初始化,因为一旦创建后值不能改变。 Eg :   const int i = GetSize(); // 正确 : 运行时初始化   const int j = 42; // 正确:编译时初始化   j = 33; // 错误:试图向 const 对象写值   const int k; // 错误: k 是一个未经初始化的常量 2.默认状态下, const 对象仅在文件内有效。 若想在多个文件内工作,只在一个文件中定义 const ,而在其他多个文件中声明并使用它。 解决办法,对于 const 变量,不论声明定义都加 extern ,这样只需定义一次即可。 Eg :   //file1.cc 定义并初始化一个常量,该常量能被其他文件访问   Extern const int bufSize = fcn();   //file1.h   Extern const int bufSize; // 与 file1.cc 中定义的 bufSize 是同一个 3.把引用绑定到 const 对象上,称之为 对常量的引用 Eg1 :   const int c = 1024;    const int &r1 = c; // 正确   r1 = 42; // 错误: r1 是对常量的引用   int &r2 = c; // 错误:试图让一个非常量引用指向一个常量引用

const限定符

只谈情不闲聊 提交于 2020-02-06 04:53:03
本文整理了C++ Primer中对const的使用。 1.const对象一旦创建后其值就不能改变,所以const对象必须初始化。 1 const int i = get_size(); //正确 2 const int j = 42; //正确 3 const int k; //错误,k没有初始化 2.用来给const初始化的值是不是const类型都无关紧要。 1 int i = 42;             2 const int ci = i; //用非const初始化const,正确 3 int j = ci;              //const给非const赋值,正确 3.默认状态下,const对象仅在文件内有效 const是编译器在编译过程中,把用到该变量的地方替换成相对应的值。为了实现这个替换,编译器必须知道const变量的初始值。 如果程序包含多个文件,则每个用了const对象都必须能访问到它的初始值才行。为了做到这一点,就必须在每一个用到该变量的文件中都有对它的定义。 为了支持这一用法,同时避免对同一变量的重复定义,默认情况下const对象只在文件内有效,多个文件内出现了同名const对象时,知识不同文件中分别定义了独立的变量。 如果需要在文件内共享,那么使用extern关键字。 1 //file.cpp 2 extern const int i = 3;