自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 问答 (1)
  • 收藏
  • 关注

原创 Git LFS使用教程

Git LFS是Git的一个扩展,它允许您将大文件单独存储在Git仓库之外,从而减少开销并提高性能。安装Git LFS:如果尚未安装Git LFS,可以按照官方Git LFS网站上的说明进行安装:https://git-lfs.github.com/运行这些命令后,大文件应该已成功下载到您的本地计算机,您可以像处理其他Git仓库中的文件一样处理它们。获取LFS对象:在克隆仓库后,您需要获取LFS对象,即实际存储在仓库之外的大文件。请注意,如果您只想下载特定的大文件而不是克隆整个仓库,可以使用。

2023-07-20 20:38:41 4241

原创 手把手教你搭建深度学习环境

最近实验室买了一台新的机器,正好要从头配置机器的环境,把环境记录一下1.安装ubuntu系统1.1制作系统盘首先,我们需要准备三个东西ubuntu的镜像文件,我这里选择的是ubuntu-20.04.2.0-desktop-amd64.iso镜像制作软件UISO9一个空的U盘有个这三样我们就可以开始安装我们的ubuntu系统了。我们需要先安装好UISO9,制作U盘镜像系统。其中不需要购买软件,只需要试用即可。第一步:打开我们下载好的iso文件第二步:选择启动,点击写入硬盘映像,并.

2021-08-08 20:23:47 4921 10

原创 Ubuntu20.04安装后无法联网

Ubuntu20.04安装后无法联网在物理机上安装完双系统的ubuntu后,发现没有联网图标也无法连接网络0.问题分析存在的问题如题,刚开始针对Ubuntu无法联网找了好多的博客,发现没能解决问题。于是开始分析自己的问题,首先,采用ip a查看了我当前的网卡,我发现只要1:lo这个,如下图,这才发现我这是没有读取到网卡,这必然是要装一下驱动了。1.问题解决既然要安装驱动,必然就是主板官网找驱动了,我的机器主板是技嘉Z590 UA,查看官网后发现他只有window版本的,这就很难受了。我系统

2021-08-07 22:12:58 3993

原创 TypeError Object of type bytes is not JSON serializable

0.问题描述在做一个数据处理的时候,需要将一个XMl的文件解析成一个json,关键是xml的文件格式和json不是一一对应的,需要我一点一点拼接关键信息,组成json文件,最后在写出json文件的时候,我采用了json.dump(result, json_file,indent=4),结果出现了以下的错误:Traceback (most recent call last): File "D:/PycharmProjects/ocr/xmlToJson.py", line 151, in <mo

2021-01-22 11:25:19 1581

原创 碱基数据处理中的算法研究

碱基数据处理中的算法研究最近搞了一些对生物医学数据的处理,实际的处理逻辑是相当简单的,其实处理起来还是处理量大,时间效率的问题1.需求医学数据中会有碱基对序列数据,他们的要求是碱基序列转换为和它互补的碱基序列,将其做成一个网页端的,可以直接上传文件处理大文件数据,也可以直接在网页中贴上碱基序列处理完展示出来。2.需求分析当了解了一些基本的生物碱基序列的基本知识后,他们就是处理一些DNA碱基序列,其中的规则就是A-T,C-G,也就是想数据中的A转化成T,T转化成A,C转化成G,G转化成C,然后将

2020-12-15 13:51:04 461

原创 深度剖析快速排序

深度剖析快速排序快速排序是一个比较重要的排序算法,本文中主要讲解快排的递归非递归写法,,两种partition的方法和对快速排序的部分优化0.什么是快速排序快速排序是对冒泡排序的一种改进,通过一趟排序将排序的数据分割成独立的两个部分,其中一部分的所有数据比另一部分的所有数据都要小,在按这种方法对这两部分数据分别进行快速排序,整个排序的过程是递归进行的,使得整个数据变成有序序列。其实快排就是一个用基准数,将一个无序序列变成一个两部分整体有序,也就是在基准数之前的都小于基准数,后面的都大于基准数,所

2020-10-05 11:08:29 237

原创 棋盘覆盖问题递归与非递归解法(java版)

0.问题描述什么是棋盘覆盖呢?在一个2k×2k2^{k} \times 2^{k}2k×2k个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为特殊方格,且称该棋盘为一个特殊棋盘.显然特殊方格在棋盘上出现的位置有4k4^{k}4k种情形.因而对任何k≥0k\ge 0k≥0,有 4k4^{k}4k种不同的特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格(红色框为特殊方格)以外的所有方格,且任何2个L型骨牌不得重叠覆盖。1.问题解决1.1分治法采用分治

2020-10-01 19:57:57 1481 1

原创 递归算法中的时间复杂度分析

递归算法中的时间复杂度分析对于一种算法的时间复杂度分析还是特别重要的,在一些非递归算法中,我们仅仅看运算次数最多的那一行代码可能执行多少次就可以,实际就是看在循环中变量的变化,但是对于递归算法中该怎么分析呢?下面介绍几种递归函数中的算法时间复杂度分析的方法0.递推法这种方法是最简单的,也是最容易理解的一种方法,对于一个递归函数,我们可以利用他的递归方程,将其递推到常量的情况下,这样子就很容易求解他的时间复杂度了,可以看一下下面的递归方程T(n){1n=12T(n−1)+1n>0T(n)\

2020-09-27 21:06:53 12593 2

原创 C++异常处理报错【terminate called after throwing an instance of ‘char const‘】

C++只是在大学中学习过,都是为了应付考试,今天导师给我一个问题,C++异常处理的问题,让我来解决一下,这能怎么办,不会也得会,硬着头皮解决呗0.问题描述先看一下代码//插入的方法template <class DataType> void SeqList<DataType> :: Insert(int i, DataType x){ if (i >= MaxSize) throw "上溢"; if (i < 1 || i > length .

2020-09-21 15:36:37 18782 1

原创 ThreadLocal的实际应用

0.问题场景在学习Hbase的时候,发现有很多操作数据的方法,就想着把他封装起来,以便其他的类也使用,于是按照常规操作就创建了一个Util类,public class HbaseUtils { private HbaseUtils(){ } private static Connection connection = null; public static Connection getConnection() throws IOException {

2020-07-11 10:01:54 219

原创 flume报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (

1.出现问题在使用flume进行自定义Source中,要将自定义的代码打包到flume上运行,用maven打包的时候出现这样的问题[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project flume: Compilation failure[ERROR] /D:/javaeclipse/ideaWorkSpace/flume

2020-07-10 17:08:00 216

原创 hadoop之分布式计算框架MapReduce

0.什么是MapReduceMapRdeuce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并打运行在一个hadoop集群上。1.MapReduce优缺点优点:MapReduce易于编程,它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。就是因为这个

2020-07-07 10:26:31 555

原创 Zookpeer集群启动问题

Zookeeper集群启动问题1.问题描述今天启动zookeeper的时候,发现怎么zookeeper集群启动不起来了,一共三台机器,用脚本启动只有一台启动成功了,真的是怪了。遇到问题不慌不忙,去看日志java.lang.RuntimeException: My id 0 not in the peer list at org.apache.zookeeper.server.quorum.QuorumPeer.startLeaderElection(QuorumPeer.java:67

2020-07-04 21:53:23 858

原创 hadoop之分布式文件管理系统HDFS

hadoop之分布式文件管理系统HDFS0.什么是HDFSHDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用1.HDFS 的优缺点优点:高容错性(1)数据自动保存多个副本。它通过增加副本的形式,提高容错性。(2)某一个副本丢失以后

2020-07-02 15:10:07 3343

原创 hadoop分布式集群的启动和关闭的问题

hadoop分布式集群的启动和关闭的问题1.问题描述在配置完以后,启动的时候回出现会卡在启动的hadoop133,hadoop134的进程中不能向下进行,卡在这里了。这时ctrl+c强行关闭这个进程,然后jsp发现,其他的两台机器的datanode都已经启动起来了。然后又发现,在关闭集群的时候,采用stop-dfs.sh,然后在master中的datanode一直的关闭不了的,其他的节点都可以关闭,包括master中的namedata2.查看问题实际上呢,问题是出现了两个问题,一个是启动上卡

2020-06-03 12:24:24 1299

原创 零基础搭建hadoop完全分布式集群搭建

零基础搭建hadoop完全分布式集群搭建此文章使用的是jdk1.8,hadoop2.7,分为三台机器hadoop132,hadoop133,hadoop1341.环境搭建1.配置虚拟机(1)将所有虚拟的防火墙关闭 service iptables stop //服务关闭 chkconfig iptables off //关闭开机自启(2)修改虚拟机的ip,改为静态ipvim /etc/sysconfig/network-scripts/ifcfg-eth0# 将文件修改为,其中IP

2020-06-03 11:48:17 251

原创 考研复试问题之杂谈

考研复试问题之杂谈1.冯·诺依曼思想的基本要点采用二进制的形式表示数据和指令由输入设备,输出设备,运算器、存储器和控制器五大部件组成采用存储程序的方式,存储程序方式是诺依曼思想的核心指令和数据以同等地位存于存储器, 可按地址寻访,程序和数据统一存储指令由操作码和地址码组成以运算器为中心2.浮点数加法的操作步骤求阶差并对阶尾数求和规格化处理舍入处理判断溢出3.RAM和ROM的区别随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与C

2020-05-13 16:29:19 450

原创 考研复试问题之操作系统

考研复试问题之操作系统1.进程和线程的区别进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位(包括程序段,相关数据段和进程控制块)线程:线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能够独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行上必不可少的资源,但是他可以与同属一个进程的其他线程共享进程的所有资源。2.什么是死锁死锁的现象就是两个或者多个进程都占有其他进程请求的资源,每个进程都不能执行,处于永远等待状态

2020-05-13 16:25:05 667

原创 考研复试问题之数据库概论

考研复试问题之数据库概论1.什么是存储过程?存储过程的好处是什么?sql需要编译才可以运行。存储过程是一组为了完成特定功能的sql语句集,经过编译后存储在数据库中,用户通过指定存储过程的名字和参数来调用执行它。好处:1.增强sql语言的功能和灵活性,存储过程可以控制语句的编写,有很强的灵活性,可以完成复杂的判断和复杂的运算。2.标准组件式编程。在存储过程中创建后可以多次被程序调用,而不必重新编写该存储过程的sql语句。而专业人员可以随时对存储过程进行修改,对应用源代码毫无影响3.较快的执行速度,

2020-05-13 11:08:45 1748

原创 考研复试问题之计算机网络

考研复试问题之计算机网络1.谈谈osi模型七层模型和tcp/ip协议分层osi七层模型分为,物理层,物理网络的机械、电气和光特征以及接口的定义,以透明地传输比特流数据链路层,成帧、差错处理和流量控制、数据链路管理,将在网络层交下来的数据报组装成帧(frame),在两个相邻结点间的链路上实现帧的无差错传输网络层,数据分组,寻址和路由选择、地址解析。传输层,建立端对端的连接,并决定向上层提供的服务。会话层,会话连接管理,同步控制。表示层,数据表示,协议转化,数据加密,压缩和语法协商应用层,文件

2020-05-12 22:34:03 811

原创 SpringMVC三大组件源码分析

SpringMVC三大组件源码分析1.处理器映射器其实就是RequestMappingHandlerMapping我们通常采用注解的方式@RequestMapping()或者XML配置的方式进行<beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMappin...

2020-04-19 18:15:15 216

原创 SpringMVC执行流程源码分析

SpringMVC执行流程源码分析首先看一下SpringMVC的整体流程我们先写一个简单的程序看一下,分析一下SpringMVC的执行流程@Controllerpublic class ControllerDemo1 { @RequestMapping("/hello") public String sayHello(){ System.out.prin...

2020-04-18 19:05:34 230

原创 面试系列----JVM调优和参数配置

面试系列----JVM调优和参数配置0.JVM的参数类型1.标准参数,是一些java常见一直自带的参数不随版本的更改而更改,如-version,-help,-showversion2.X参数,是非标准化参数,表示在将来的JVM版本中可能会发生改变,但是这类以 -X开始的参数变化的比较小。其中有一些常用的-Xint 解释执行-Xcomp 第一次使用就是编译成本地代码...

2020-04-11 22:13:10 202 1

原创 面试系列----谈谈对OOM的认识

面试系列----谈谈对OOM的认识0.什么是OOMOOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and...

2020-04-10 23:14:16 214

原创 面试系列----强引用、软引用、弱引用、虚引用

面试系列----强引用、软引用、弱引用、虚引用0.强引用当内存不足,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会对该对象进行回收。强引用是我们最常见的普通对象的引用,只要还有强引用指向一个对象,就能表明对象还是“活着”,垃圾收集器不会碰这种对象。在java中最常见的就是强引用,把一个对象赋给一个引用对象变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可...

2020-04-09 11:00:33 188

原创 面试系列----JVM垃圾回收如何确定垃圾

面试系列----JVM垃圾回收如何确定垃圾什么是垃圾?简单的说就是内存中已经不再被使用到的空间就是垃圾,JVM就会自动回收这个空间。要进行垃圾回收,如何判断一个对象是否可以被回收?第一:采用引用计数法,java中,引用和对象是有关联的,如果要操作对象则必须用引用进行,因此很显然一个简单的办法就是通过引用计数来判断一个对象是否可以回收,简单的来说,就是给对象添加一个引用计数器,每当有一个地方...

2020-04-08 11:14:58 113

原创 面试系列----谈谈线程池的使用

面试系列----谈谈线程池的使用0.什么是线程池线程池主要就是控制线程的数量,处理过程中将任务加到队列中,然后在线程创建后启动这些任务,如果线程超过最大数量,超出数量的线程排队等候,等其他线程执行完毕以后,在从队列中取出任务来执行。他的主要特点就是:线程复用,管理线程,控制最大并发数。使用线程池的好处:第一:降低资源消耗,通过重复利用自己创建的线程降低线程创建和销毁造成的消耗。第二::...

2020-04-07 11:24:18 339

原创 面试系列----阻塞队列

面试系列----阻塞队列0.什么是阻塞队列阻塞队列,顾名思义,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如图所示:当阻塞队列为空时,从队列中获取元素的操作会被阻塞。当阻塞队列是满时,往队列中添加元素的操作会被阻塞。在多线程领域,所谓阻塞,在某些情况下会挂起线程(即线程阻塞),一旦条件满足,被挂起的线程会被被自动唤醒使用阻塞队列的好处:我们不需要关心什么时候需要阻塞线程...

2020-04-07 11:21:23 161

原创 面试系列----死锁编码以及定位分析

面试----死锁编码以及定位分析0.什么是死锁死锁是指两个或者两个以上的进程在执行过程中,因为争夺资源而造成的一种相互等待的现象,若无外力干涉那他们都将无法推进下去,如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁中。死锁产生的原因:系统资源不足进程运行推进的顺序不适合资源分配不当手写一个死锁程序class HoldT...

2020-04-06 10:46:51 136

原创 面试系列----java并发中常见的辅助类

面试系列----java并发中常见的辅助类CountDownLatch让一些线程阻塞直到另外一些完成后才被唤醒的类,CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞.其他线程调用countDown方法计数器减1(调用countDown方法时线程不会阻塞),当计数器的值变为0,因调用await方法被阻塞的线程会被唤醒,继续执行。简单代码演示:...

2020-04-05 21:05:15 153

原创 面试系列----JUC中常见的锁

面试系列----JUC中常见的锁1.公平锁和非公平锁公平锁:是指多个线程按照申请锁的顺序来获取锁类似排对打饭,先来后到非公平锁:是指在多线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取到锁,在高并发的情况下,有可能造成优先级反转或者饥饿现象并发包ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或者非公平锁 默认是非公平锁,通过...

2020-04-04 12:44:11 205

原创 面试系列----集合类线程安全问题

面试系列----集合类线程安全问题众所周知,ArrayList是一个线程不安全的。为什么线程不安全呢?线程不安全会出现什么问题呢?看下面代码:public class NotSafeDemo03 { public static void main(String[] args) { List<String> list = new ArrayList<&...

2020-04-03 15:25:17 209

原创 面试系列----谈谈对CAS的理解

面试系列----谈谈对CAS的理解0.什么是CASCAS就是compareAndSet,即比较并交换,是一种实现并发算法时常用到的技术。 先看下面的代码public class CASDemo { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInte...

2020-04-02 22:37:39 433

原创 面试系列----谈谈对volatile的理解

面试----谈谈对volatile的理解0.什么是volatile?volatile是java虚拟机提供的轻量级的同步机制,可以保证可见性,不保证原子性,禁止指令重排。首先要先了解一下JMM(java内存模型)JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念 并不真实存在,它描述的是一组规则或规范通过规范定制了程序中各个变量(包括实例字段,静态字...

2020-04-02 22:02:50 245

原创 JVM---GC垃圾回收算法

JVM—GC垃圾回收算法GC垃圾回收算法JVM在进行GC时,并非每次都对上面三个内存区域一起回收的,大部分时候回收的都是指新生代。因此GC按照回收的区域又分了两种类型,一种是普通GC(minor GC),一种是全局GC(major GC or Full GC)Minor GC和Full GC的区别  普通GC(minor GC):只针对新生代区域的GC,指发生在新生代的垃圾收集动作,因...

2020-03-29 13:55:27 155

原创 JVM基础入门

JVM基础入门1.什么是jvm?jvm(java virtual machine)为java虚拟机,是运行在操作系统之上,为java程序提供支持。2.jvm体系结构ClassLoader类加载器负责加载class文件,class文件在文件开头有特定的文件标示,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中运行时数据结构并且ClassLoader只负责class文件的...

2020-03-29 13:47:31 192

原创 浅谈二分查找

浅谈二分查找最近看了二分查找的一些内容,记录一下。不要小看二分查找,看似简单的二分查找其实是暗藏玄机的。本文参考极客时间王争《数据结构与算法之美》0.什么是二分查找二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。(摘自百度百科)若你还是不理解,其实生活中还是有很多用处的。下面给...

2020-03-28 19:57:40 219

原创 页面静态化技术----freemarker

页面静态化技术----freemarker0.什么是freemarkerFreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。简单一点静态化技术就是模板+数据,freemarker并不关心数据的来源,只是根据模...

2020-03-28 19:16:04 240

原创 二叉树的遍历(递归,非递归实现)

二叉树的遍历(递归,非递归实现)二叉树的遍历是一些动态查找的基础,也是数据结构中的重要知识点。最近有时间重新回顾一个这几种常见的遍历方式。若有不对之处,请批评指正。0.什么是二叉树二叉树其实不难理解,有这官方的定义。要是你对普通的树型结构有所了解的话,二叉树其实是一颗特殊的树,它有着自己的特别。每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。左右子树都是有顺序的,且次序不...

2019-08-14 15:18:35 135

原创 单链表实现LRU算法

单链表实现LRU算法LRU应该是面试中常见的算法题目了,其实实现起来也不是特别的困难,使用的数据结构也是常见的单链表。下面使用java 实现。0.什么是LRULRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”1.思路首先选择合适的数据结构,这里使用的的单链表。如果...

2019-07-17 08:52:44 1109

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除