- 博客(94)
- 收藏
- 关注
原创 PyTorch安装
1、Anaconda下载官网下载之后按步骤安装,记住所安装的路径,安装完成搜索Anaconda Prompt,有则安装成功2、conda环境配置不同的项目,需要不同的环境,使用conda创建不同的环境分区conda create -n pytorch python=3.6 3、...
2022-05-08 20:43:25
554
原创 git在项目中常使用的命令
git在项目中常使用的命令1.创建版本号通过git init命令把这个目录变成Git可以管理的仓库把文件添加到版本库用命令git add告诉Git,把文件添加到仓库:git add 文件名用命令git commit -m 告诉Git,把文件提交到仓库:-m后面输入的是本次提交的说明git commit -m 说明文字疑难解答:Q:输入git add readme.txt,得到错误:fatal: not a git repository (or any of th.
2020-12-31 13:55:54
202
原创 牛客题目总结
一、Vector & ArrayList的主要区别1)同步性:Vector是线程安全的,也就是说是同步的 ,而ArrayList 是线程序不安全的,不是同步的 。2)数据增长:当需要增长时,Vector默认增长为原来一倍 ,而ArrayList却是原来的50% ,这样,ArrayList就有利于节约内存空间。 如果涉及到堆栈,队列等操作,应该考虑用Vector...
2020-03-01 23:04:17
145
原创 牛客题目总结
一、类加载器比较两个类是否相等,只有这两个类是由同一个类加载器加载才有意义。否则,即使这两个类是来源于同一个Class文件,只要加载它们的类加载器不同,那么这两个类必定不相等。补充:1. 什么是类加载器? 把类加载的过程放到Java虚拟机外部去实现,让应用程序决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。 2. 有哪些类加载器,分别加载哪些类 ...
2020-02-28 17:16:43
209
原创 牛客题目总结
一、RMIRMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。使用这种机制,某一台计算机上的对象可以调用另外一台计算机上的对象来获取远程数据。RMI是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径。在过去,TCP/IP套接字通讯是远程通讯的主要手段,但此开发方式没有使用...
2020-02-27 15:21:19
170
原创 HTML、CSS、JavaScript复习总结
一、相关概念HTML可以将元素分类方式分为行内元素、块状元素和行内块状元素三种使用display属性能够将三者任意转换块状元素自动换行转换方法(1)display:inline;转换为行内元素(2)display:block;转换为块状元素(3)display:inline-block;转换为行内块状元素二、行内元素(一).相关概念行内元素最常使用的就是span,其他的只在特...
2020-02-25 15:31:21
814
原创 2月22日
一、线程同步的方法1 同步方法 即有synchronized关键字修饰的方法 由于java的每个对象都有一个内置锁 当用此关键字修饰方法时 内置锁会保护整个方法。在调用该方法前 需要获得内置锁 否则就处于阻塞状态2 同步代码块 即有synchronized关键字修饰的语句块 被该关键字修饰的语句块会自动被加上内置锁 从而实现同步3 使用特殊域变量(volatile)实现线程同步...
2020-02-22 21:17:14
116
原创 牛客题目八
一、两个最基本的java回收算法:复制算法和标记清理算法复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法标记清理:一块区域,标记可达对象(可达性分析),然后回收不可达对象,会出现碎片,那么引出标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象两个概念:新生代和年老代新生代:初始对象,生命周期短的永久代:长时间存在的对象整个...
2020-02-20 15:33:10
132
原创 Redis
1.Redis是一个开源的底层使用C语言编写的key-value存储数据库。数据类型(原子性的操作):string(字符串)、hash(哈希)、list(列表)、set(无序集合)、zset(sorted set:有序集合)2.应用场景缓存数据 消息队列相当于消息订阅系统,比如ActiveMQ、RocketMQ。如果对数据有较高一致性要求时,还是建议使用MQ)计数器比如统计点击...
2020-02-19 22:06:40
115
原创 面试问题
事务的隔离界别 读未提交(Read Uncommitted) 读提交(Read Committed) 可重复读(Repeated Read)--->MySQL默认隔离级别 串行化(Serializable) 数据库锁从数据库系统角度分为三种:排他锁、共享锁、更新锁。 从程序员角度分为两种:一种是悲观锁,一种乐观锁。 Object里的函数 String的hashCode 双向链...
2020-02-17 22:19:06
447
原创 加精面经总结
1.坚持就是胜利,只要有进步,哪怕是一点点的进步,坚持下来都能有大的收获。面试就会有面试记录。有了挂掉的面试记录总是不太好的。建议:不要太早投心仪的公司、0 offer时不投面试挂过的公司(提高通过率)要寻找适合自己的学习方法。自己的面经对于自己最有针对性,优先弄清楚自己的面经。多面试可以给自己更多的经验,在面试中成长。刷leetcode,我觉得100就够了(针对面试),尽量先做...
2020-02-13 21:24:39
198
原创 牛客网题目七
1.在Cache更新时,把数据同时写入Cache和主存的策略是写直法写通(写直达)是指,每当Cache收到写数据(store)指令时,若写命中,则CPU会同时将数据写到Cache和主存。如果写不命中:写分配,只在数据写不命中产生作用,即,给数据分配一个*** line 。先在主存块中更新到主存中,然后分配一个***行,将数据写到Cache中。 这种方式充分利用了空间局部性,但每次写不...
2020-02-13 17:27:59
258
原创 牛客网题目六
1.广义表即我们通常所说的列表(lists)。它放松了对表元素的原子性限制,允许他们有自身结构。广义表的长度:最大括号中的 逗号数+1广义表的深度:展开后含括号的层数。2.数组和矩阵不同,数组元素可以是字符,即字符数组,矩阵中都是数3.环境变量可在编译source code时指定javac一次可同时编译数个Java源文件javac.exe能指定编译结果要置于哪个目录(dir...
2020-02-12 16:34:05
601
原创 牛客网题目五
1.AOP:AOP将散落在系统中的“方面”代码集中实现AOP有助于提高系统可维护性AOP是一种设计模式,Spring提供了一种实现2.关于Spring的理解IoC的实现原理就是工厂模式加反射机制DI依赖注入是由容器动态地将某种依赖关系的目标对象实例注入到应用系统中的各个关联的组件之中Spring默认使用JDK动态代理来创建AOP代理,当需要代理的类不是代理接口的时候,自...
2020-02-10 10:29:55
364
原创 牛客网java题目四
1、jar 将许多文件组合成一个jar文件javac 编译javadoc它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。javah把java代码声明的JNI方法转化成C\C++头文件。 JNI可参考java核心技术卷二第12章2、3、执行顺序从左到右:父类静态代码块 ->子类静态代码块 ->...
2020-02-09 18:42:28
496
原创 面向对象思想
一、三大特性1、封装利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外的接口使其与外部发生联系。用户无需关心对象内部的细节,但可以通过对象对外提供的接口来访问该对象。优点:减少耦合:可以独立地开发、测试、优化、使用、理解和修改 减轻维护的负担:可以更容易被理解,并且在调试的时候可...
2020-02-09 10:05:16
120
原创 结构型设计模式
目录1、适配器模式2、桥接模式3、组合模式4、装饰模式5、外观模式6、享元模式7、代理模式1、适配器模式1)把一个类接口转换成另一个用户需要的接口。2)鸭子(Duck)和火鸡(Turkey)拥有不同的叫声,Duck 的叫声调用 quack() 方法,而 Turkey 调用 gobble() 方法。要求将 Turkey 的 gobble() 方法...
2020-02-08 11:37:57
170
原创 Redis复制与分片
一、复制通过使用 slaveof host port 命令来让一个服务器成为另一个服务器的从服务器。一个从服务器只能有一个主服务器,并且不支持主主复制。1)链接过程主服务器创建快照文件,发送给从服务器,并在发送期间使用缓冲区记录执行的写命令。快照文件发送完毕之后,开始向从服务器发送存储在缓冲区中的写命令; 从服务器丢弃所有旧数据,载入主服务器发来的快照文件,之后从服务器开始接受主...
2020-02-08 11:03:26
220
原创 Redis的持久化、事务、事件
一、持久化Redis 是内存型数据库,为了保证数据在断电后不会丢失,需要将内存中的数据持久化到硬盘上。RDB持久化将某个时间点的所有数据都存放到硬盘上。可以将快照复制到其它服务器从而创建具有相同数据的服务器副本。如果系统发生故障,将会丢失最后一次创建快照之后的数据。如果数据量很大,保存快照的时间会很长。AOF持久化将写命令添加到 AOF 文件(Append Only...
2020-02-08 10:57:53
148
原创 Redis与Memcached的区别、Redis键的过期时间、数据淘汰策略
一、Redis与Memcached的区别两者都是非关系型内存键值数据库,主要有以下不同:1)数据类型Memcached 仅支持字符串类型,而 Redis 支持五种不同的数据类型,可以更灵活地解决问题。2)数据持久化Redis 支持两种持久化策略:RDB 快照和 AOF 日志,而 Memcached 不支持持久化3)分布式Memcached 不支持分布式,只能通过在客户端...
2020-02-08 10:41:30
234
原创 Redis的概述、数据类型、数据结构、使用场景
一、概述Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性能。二、数据类型数据类型 可以存储的值 操作 STRING 字符串...
2020-02-08 10:29:03
141
原创 MySQL的切分、复制
一、切分1、水平切分水平切分又称为 Sharding,它是将同一个表中的记录拆分到多个结构相同的表中。当一个表的数据不断增多时,Sharding 是必然的选择,它可以将数据分布到集群的不同节点上,从而缓存单个数据库的压力。2、垂直切分垂直切分是将一张表按列切分成多个表,通常是按照列的关系密集程度进行切分,也可以利用垂直切分将经常被使用的列和不经常被使用的列切分到不同的表中。...
2020-02-07 20:00:20
212
原创 MySQL的数据类型
1、整型TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT 分别使用 8, 16, 24, 32, 64 位存储空间,一般情况下越小的列越好。INT(11) 中的数字只是规定了交互工具显示字符的个数,对于存储和计算来说是没有意义的。2、浮点数FLOAT 和 DOUBLE 为浮点类型,DECIMAL 为高精度小数类型。CPU 原生支持浮点运算,但是不支...
2020-02-07 19:51:36
228
原创 存储引擎
1、InnoDB是 MySQL 默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎。实现了四个标准的隔离级别,默认级别是可重复读(REPEATABLE READ)。在可重复读隔离级别下,通过多版本并发控制(MVCC)+ Next-Key Locking 防止幻影读。主索引是聚簇索引,在索引中保存了数据,从而避免直接读取磁盘,因此对查询性能有很大的提升。内部做了...
2020-02-07 19:47:34
92
原创 查询性能优化
1、使用Explain进行分析Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。比较重要的字段有:select_type : 查询类型,有简单查询、联合查询、子查询等 key : 使用的索引 rows : 扫描的行数2、优化数据访问1)减少请求的数据量只返回必要的列:最好不要使用 SELECT * 语句。 只返回...
2020-02-07 11:42:09
121
原创 索引优化、索引的优点、使用条件
1、独立的列在进行查询时,索引列不能是表达式的一部分,也不能是函数的参数,否则无法使用索引。例如下面的查询不能使用 actor_id 列的索引:SELECT actor_id FROM sakila.actor WHERE actor_id + 1 = 5;2、多列索引在需要使用多个列作为条件进行查询时,使用多列索引比使用多个单列索引性能更好。例如下面的语句中,最好把 act...
2020-02-07 11:36:22
263
原创 MySQL索引
索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。1.B+Tree索引是大多数 MySQL 存储引擎的默认索引类型。因为不再需要进行全表扫描,只需要对树进行搜索即可,所以查找速度快很多。因为 B+ Tree 的有序性,所以除了用于查找,还可以用于排序和分组。可以指定多个列作为索引列,多个索引列共同组成键。适用于全键值、键值范围和键前...
2020-02-07 11:28:06
99
原创 B+Tree原理
1.数据结构B Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具有 B Tree 的平衡性,并且通过顺序访问指针来提高区间查询的性能。在 B+ Tree 中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右相邻 key 分别是 keyi和 k...
2020-02-07 11:22:09
1877
原创 行为型设计模式
目录1、责任链模式2、命令模式3、解释器模式4、迭代器模式5、中介者模式6、备忘录模式7、观察者模式8、状态模式9、策略模式10、模板方法模式11、访问者模式12、空对象模式1、责任链模式1)使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止。2)...
2020-02-07 11:01:21
221
原创 牛客网笔试题目三
1、按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0;0&1=0;1&0=0;1&1=1;即:两位同时为“1”,结果才为“1”,否则为0例如:3&5即 0000 0011 & 0000 0101 = 0000 0001因此,3&5的值得1...
2020-02-06 19:57:58
951
原创 创建型设计模式
目录1.单例模式2.简单工厂模式3.工厂方法模式4.抽象工厂模式5.生成器模式6.原型模式1.单例模式1)确保一个类只有一个实例,并提供该实例的全局访问点。2)使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量。//1.懒汉式-线程不安全/...
2020-02-06 10:07:10
180
原创 牛客网笔试题目二
1.select count(*) from table 表示返回表中包括空行和重复行在内的行数,但是会扫描所有列select count(1) from table 也是返回表中包括空行和重复行在内的行数,不会扫描所有列,1其实就是表示有多少个符合条件的行,但是此时没有where,所有没条件也就是返回总行数select count(id) from table 表示返回表中存在该列id的...
2020-02-05 20:43:07
964
原创 SQL事务管理、字符集、权限管理
一、事务管理基本术语:事务(transaction)指一组 SQL 语句; 回退(rollback)指撤销指定 SQL 语句的过程; 提交(commit)指将未存储的 SQL 语句结果写入数据库表; 保留点(savepoint)指事务处理中设置的临时占位符(placeholder),你可以对它发布回退(与回退整个事务处理不同)。MySQL 的事务提交默认是隐式提交,每执行一条语句就...
2020-02-05 11:03:41
134
原创 SQL存储过程
一、存储过程存储过程可以看成是对一系列 SQL 操作的批处理。使用存储过程的好处:代码封装,保证了一定的安全性; 代码复用; 由于是预先编译,因此具有很高的性能。命令行中创建存储过程需要自定义分隔符,因为命令行是以 ; 为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。包含 in、out 和 inout 三种参数。给变量赋值都需要用 s...
2020-02-05 10:52:58
177
原创 SQL查询进阶
一、分组查询把具有相同的数据值的行放在同一组中。指定的分组字段除了能按该字段进行分组,也会自动按该字段进行排序。GROUP BY 自动按分组字段进行排序,ORDER BY 也可以按汇总字段来进行排序。SELECT col, COUNT(*) AS numFROM mytableGROUP BY colORDER BY num;WHERE 过滤行,HAVING 过滤分组...
2020-02-05 10:34:25
587
原创 SQL
一、基础模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。主键的值不允许修改,也不允许复用(不能将已经删除的主键值赋给新数据行的主键)。SQL(Structured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL。各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL 等。...
2020-02-05 10:19:58
153
原创 I/O复用
select/poll/epoll 都是 I/O 多路复用的具体实现,select 出现的最早,之后是 poll,再是 epoll。selectint select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);select 允许应用程序监视一组文件描述符,...
2020-02-05 09:52:05
166
原创 Socket的I/O模型
IO模型一个输入操作通常包括两个阶段:等待数据准备好 从内核向进程复制数据对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待数据到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复制到应用进程缓冲区。Unix 有五种 I/O 模型:阻塞式 I/O 非阻塞式 I/O I/O 复用(select 和 poll) 信号驱动式 I/O(SIG...
2020-02-05 09:35:36
200
原创 GET和POST比较
作用GET 用于获取资源,而 POST 用于传输实体主体。参数GET 和 POST 的请求都能使用额外的参数,但是 GET 的参数是以查询字符串出现在 URL 中,而 POST 的参数存储在实体主体中。不能因为 POST 参数存储在实体主体中就认为它的安全性更高,因为照样可以通过一些抓包工具(Fiddler)查看。因为 URL 只支持 ASCII 码,因此 GET 的参数中如果存在...
2020-02-05 09:00:29
181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人