- 博客(213)
- 资源 (22)
- 收藏
- 关注
原创 Linux指令入门(一)目录结构和文件管理指令
什么是 Shell在我们学习 Linux 指令之前,先来说一下什么是 Shell?Shell 把我们输入的指令,传递给操作系统去执行,所以 Shell 是一个命令行的用户界面。早期程序员没有图形界面用,就用 Shell。而且图形界面制作成本较高,不能实现所有功能,因此今天的程序员依然在用 Shell。你平时还经常会看到一个词叫作bash(Bourne Again Shell),它是用 Shell 组成的程序。这里的 Bourne 是一个人名,Steve Bourne 是 bash 的发明者。我们今天
2022-06-08 13:24:39
454
原创 一道比较有意思的算法题
1、一个二维矩阵,矩阵中每个位置有不一样高的柱子,小球只能往高度相同的柱子或者更低的柱子滚动,判断一个小球能否滚落出矩阵(返回值为bool类型,小球可以向右,向下,斜向走)2、给定一个字符串s,和字符串字典strDict,使用strDict中的字符串来组成s,并用|分割......
2022-06-08 13:24:07
318
转载 经典的测试开发面试题
1、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库进行备案。 然后,要获取判断的依据和标准: 根绝需求说明书,产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是都确认的直接依据;如果没有文档依据,根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;根据用户的一般使用习惯,来确认是否是缺陷;与设计人员,开发人员和客......
2022-06-08 13:23:10
1001
原创 曾经苹果的创始人沃兹和乔布斯花了4天时间才开发出来的打砖块小游戏?如今用180行代码轻松搞定!
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>document</title> <style> .container { width: 500px; height: 500px; border: 1px solid #000;
2022-06-08 13:22:52
215
原创 leetcode每日一题:摩尔投票
思路:抓住重点:出现超过一半的元素,可以让两两不一样的元素对消,剩下的一个或多个相同的元素就是所要返回的元素了。
2022-06-08 13:22:19
99
原创 set是如何做到去重的?
set是如何做到去重的?按照万能的百度的答案:不操作直接返回false?我说这两个答案,面试官很明显都是持有怀疑的态度翻回去看jdk源码,我才发现。。。都不对hashset中add()方法: public boolean add(E e) { return map.put(e, PRESENT)==null; }点进去,map的put方法 final V putVal(int hash, K key, V value, boolean onlyIfAbse
2022-06-08 13:21:08
452
转载 kpu 处理器_深度学习及 KPU 基础知识
1. 阅读完本章文档可以了解什么?了解深度学习一些基础内容了解 K210 内部 KPU 的特性了解 KPU 使用过程中可能会遇到的问题,以及问题的解决方法
2022-06-07 14:53:11
4666
2
转载 AI与传统编译器
AI与传统编译器至于TVM,现在有很多框架(TF,Pytorch),然后会部署到不同平台(CPU、GPU、TPU),神经网络编译器,就是把不同框架里写的东西,编译成一样的格式,再生成到某一平台的代码再来看传统编译器(更偏向于LLVM),现在有许多语言(C、ObjC、C++),也有许多平台(x86、arm),编译器做把不同语言编译到同样的中间代码,再生成某一平台的代码这两个就是把前端的表示进行统一,再生成硬件相关的程序,只不过一个前端表示的是神经网络,一个是大家都熟悉的代码,结构类似,但实际内部工作大相径庭传
2022-06-06 16:22:20
1426
原创 python如何安装cv2库
直接搜cv2:安装失败,没有对应版本所以应该直接搜opencv-python安装成功,在回去看下import cv2,发现包导入成功了
2022-04-07 11:48:54
5136
原创 HashMap知识点疏漏和修正
jdk1.8版本中hashmap中的链表转化为红黑树的前提是数组长度大于64在数组比较小时如果出现红黑树结构,反而会降低效率,而红黑树需要进行左旋右旋,变色,这些操作来保持平衡,同时数组长度小于64时,搜索时间相对要快些,总之是为了加快搜索速度,提高性能。JDK1.8以前HashMap的实现是数组+链表,即使哈希函数取得再好,也很难达到元素百分百均匀分布。当HashMap中有大量的元素都存放在同一个桶中时,这个桶下有一条长长的链表,此时HashMap就相当于单链表,假如单链表有n个元素,遍历的时间复杂度
2022-03-21 11:04:16
578
原创 下载论文py脚本
# -*- coding: utf-8 -*-"""Created on Tue Jan 5 16:32:22 2021@author: kimol_love"""import osimport timeimport requestsfrom bs4 import BeautifulSoupdef search_article(artName): ''' 搜索论文 --------------- 输入:论文名 ---------------
2022-03-18 16:03:25
197
原创 python函数中的传入数的前缀*和**的区别
Python在函数中的传入参数,使用*接收元组,使用**接收键/值对当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 。这种方法在函数需要获取可变数量的参数的时候特别有用。[1] 由于在args变量前有*前缀 ,所有多余的函数参数都会作为一个元组存储在args中 。如果使用的是**前缀 ,多余的参数则会被认为是一个字典的健/值对 。 [2] 对于def func(*args):,*args表示把传进来的位置参数存储在tuple(元组)args里面。例如,调用func(
2022-02-10 13:51:44
754
1
原创 关于sqljdbc4依赖无法导入的办法
原因:解决办法:在pom.xml中加入依赖: <repositories> <repository> <id>clojars</id> <url>http://ida.fel.cvut.cz/maven/</url> </repository> </repositories>问题解决~
2021-12-30 15:26:11
1335
2
原创 log4j:WARN No appenders could be found for logger (druid.sql.Connection).解决方法
运行项目的时候若会报错,虽然不影响项目运行,但会显的很烦人出错的原因主要是缺少log4j的配置解决办法:在resources下创建properties文件并加入以下代码:log4j.rootLogger=DEBUG, stdout# Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayou
2021-12-06 14:41:57
1996
原创 获取用键盘输入常用的两种方法(笔试必备)
1、Scanner类Scanner input = new Scanner(System.in);String s = input.nextLine();input.close();2、BufferedReader类BufferedReader input = new BufferedReader(new InputStreamReader(System.in));String s = input.readLine();
2021-12-05 14:42:48
372
原创 面试官:ca证书存储在哪的
背过八股文的小伙伴都知道,https中的ssl第二次握手的过程:服务端选择一套密钥、公钥、hash算法、摘要等囊括在ca证书中并发送给浏览器。那么ca证书存储在哪个位置呢?面试官这个问题把我直接整懵了。。我:ssl握手过程中,浏览器会通过证书链层层验证,直至操作系统上的根证书,根证书存储在客户端本地,其余的存储在服务器上。面试官:服务器哪个位置?我:???反问环节顺便问了下面试官服务器会有一个专门的地方存储证书,这个你回去后可以研究下(吐血)老规矩,实践出真知,打开谷歌浏览器看看emm
2021-12-02 16:04:47
4581
2
原创 如何解决盖上电脑wifi不久后就断了
盖上电脑后WiFi就断了,想在待机状态下下载东西非常麻烦,教你一招解决:开始-》设置如下画面:选择系统选择电源和睡眠,睡眠那都设置为从不问题解决!
2021-12-02 15:50:59
1283
原创 Spring IOC
IoC是控制反转的意思,是一种面向对象编程的设计思想。在不采用这种思想的情况下,我们需要自己维护对象与对象之间的依赖关系,很容易造成对象之间的耦合度过高。尤其是在一个大型的项目中,对象与对象之间的关系是十分复杂的,这十分不利于代码的维护。IoC则可以解决这种问题,它可以帮我们维护对象与对象之间的依赖关系,并且降低对象之间的耦合度。说到IoC就不得不说DI,DI是依赖注入的意思,它是IoC实现的实现方式。由于IoC这个词汇比较抽象而DI比较直观,所以很多时候我们就用DI来代替它,在很多时候我们简单地将IoC
2021-12-01 01:26:41
281
原创 Java中序列化和反序列化
序列化机制可以将对象转换成字节序列,这些字节序列可以保存到磁盘上,也可以在网络中传输,并且程序可以将这些字节序列恢复成原来的对象。其中,序列化(Serialize)是指将一个Java对象写入IO流中,而反序列化(Deserialize)则是指从IO流中恢复这个Java对象。如果对象要支持序列化机制,则它的类需要实现Serializable接口。该接口只是一个标记接口,它没有提供任何方法,只是用来标明该类是可以序列化的。在Java中很多类都已经实现了Serializable接口,比如包装类、String、D
2021-12-01 01:18:22
299
原创 ArrayList集合打印出来的是具体存储的值还是hashcode?
我们先来实践一下:public class Main{ public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(0); list.add(1); list.add(2); System.out.println(list); }}输出结果:很显然是具体值。
2021-11-29 00:44:35
935
转载 负载均衡的定义
负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。这种群集技术可以用最少的投资获得接近于大型主机的性能。...
2021-11-09 18:25:14
156
原创 215. 数组中的第K个最大元素(堆排序忘了,面试翻车。。)
题目:思路:使用堆排序选择,时间复杂度可以达到O(nlogk)(堆排序写法忘了,哭)class Solution { public int findKthLargest(int[] nums, int k) { int heapSize = nums.length; buildMaxHeap(nums, heapSize); for (int i = nums.length - 1; i >= nums.length - k + 1; i
2021-11-09 18:05:56
114
原创 Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:3.2.0解决办法
最简单粗暴的办法:找到idea自动下载的maven,直接把.m3文件夹整个删掉,让它重新下载就ok了
2021-11-05 19:58:04
1394
原创 set是如何去重的?
面试题:set是如何去重的?回到源码: public boolean add(E e) { return map.put(e, PRESENT)==null; }点进去 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p;
2021-10-30 20:19:33
581
原创 如何书写高质量的sql
1、查询sql尽量不要使用select*,而是根据业务具体需求,select +具体字段2、如果查询结果只有一条(例如最大最小),建议limit 13、应该尽量避免在where子句中使用or来连接条件,这样会全表扫描4、like语句,把%放在后面5、尽量避免在索引列上使用mysql的内置函数6、应尽量避免where子句中对字段进行表达式操作,这将导致系统放弃使用索引而进行全表扫7、关联查询Inner join、left join、right join,优先使用inner join,如果是left
2021-10-22 09:16:17
179
原创 数据库三大范式及第三范式的缺点
第一范式1、每一列属性都是不可再分的属性值,确保每一列的原子性2、两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据。第二范式每一行的数据只能与其中一列相关,即一行数据只做一件事。只要数据列中出现数据重复,就要把表拆分开来。第三范式数据不能存在传递关系,即没个属性都跟主键有直接关系而不是间接关系。像:a–>b–>c 属性之间含有这样的关系,是不符合第三范式的。在实际工作中,数据表的设计很少按照3大范式取设计数据库,而是跟实际业务需要,产生一些冗余数据,确保提高查询
2021-10-22 09:05:42
1437
原创 微服务架构
微服务架构是一种架构模式,区别于其他系统架构的构建方式和技术方案,微服务架构具有其固有特点。微服务架构的提出者 Martin Fowler 在其文章Microservices中定义了包括服务组件化、去中心化、基础设施自动化在内的多个微服务架构特点。...
2021-10-20 16:52:46
11263
转载 线程池的核心线程数 设置大小与cpu 的关系
一般为:线程数=N(CPU核数)*(1+(线程等待时间)/(线程时间运行时间))N:cpu的processors个数
2021-09-23 03:25:49
1869
1
原创 如何实现需求:在多个线程完成前,主线程都处于阻塞状态?CountDownLatch解决
public static void main(String[] args) throws InterruptedException { CountDownLatch latch = new CountDownLatch(10); for (int i=0; i<9; i++) { new Thread(new Runnable() { @Override public void
2021-09-23 03:18:35
213
原创 mybatis的一级缓存和二级缓存
一级缓存基于sqlSession默认开启,在操作数据库时需要构造SqlSession对象,在对象中有一个HashMap用于存储缓存数据。不同的SqlSession之间的缓存数据区域是互相不影响的。一级缓存的作用域是SqlSession范围的,当在同一个sqlSession中执行两次相同的sql语句时,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次查询时会从缓存中获取数据,不再去底层数据库查询,从而提高查询效率。需要注意的是,如果SqlSession执行了DML操作(增删改),并且提交到数
2021-09-14 14:09:08
87
原创 mysql中的索引失效情况
1、like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。2、or语句前后没有同时使用索引。当or左右查询字段只有一个是索引,该索引失效。3、组合索引,不是使用第一列索引,索引失效。4、数据类型出现隐式转化。如varchar不加单引号的话可能会自动转换为int型,索引无效。5、索引是不索引空值的。6、在索引字段上使用not,<>,!=。不等于操作符是永远不会用到索引的。7、对索引字段进行计算操作、字段上使用函数。8、当全表扫描速度比索引速度快时,mysql会使用
2021-09-14 14:04:07
251
原创 事务失效的原因总结
1、mysql使用的引擎是MyISAM,MyISAM不支持事务!2、@Transactional 注解开启配置,必须放到listener里加载!3、在类A里面有方法a 和方法b, 然后方法b上面用 @Transactional加了方法级别的事务,在方法a里面 调用了方法b, 方法b里面的事务不会生效。原因是在同一个类之中,方法互相调用,切面无效 ,而不仅仅是事务。这里事务之所以无效,是因为spring的事务是通过aop实现的。4、Spring团队建议在具体的类(或类的方法)上使用 @Transacti
2021-09-14 13:21:38
272
原创 翻转链表进阶:k个一组翻转链表(使用迭代的方式)
别被红色的困难两个字吓到了,其实滤清思路后你会觉得真的不难思路如下:例如:可以使用迭代的方式:第一次迭代:21345第二次迭代:23145这一组就翻转完毕,因为剩余节点个数小于k,则这即要返回的结果;拓展一下:head = [1,2,3,4,5,6,7,8]第一次迭代:21345678第二次迭代:32145678第一组翻转完毕;第一次迭代:32154678第二次迭代:32165478剩余节点个数小于k,则这即为要返回的结果;代码实现:/** * Definition fo.
2021-08-25 05:01:14
123
原创 贪心算法(leetcode152. 乘积最大子数组)
看到这道题,相信不少人第一反应是动态规划,考虑到负数的出现,偶数个负数相乘必能得到正数,所以要定义两个dp数组,一个保存最小值一个保存最大值,即: public int maxProduct(int[] nums) { /*动态规划*/ int n = nums.length; int max = nums[0],min = nums[0],res = nums[0]; for(int i=1;i<n;i++){ .
2021-08-25 04:40:15
168
原创 翻转链表递归解法
思路:递归相当于栈!利用栈的先入后出特性实现代码: if (head == null || head.next == null) { return head; } ListNode p = reverseList(head.next); head.next.next = head; head.next = null; retur.
2021-08-23 07:04:08
93
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
2021-03-09
计算机网络课程设计.zip
2021-01-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人