自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (7)
  • 收藏
  • 关注

原创 数据结构的术语

数据(Data):信息数据元素(Data Element):数据的基本单位,由若干数据项组成。数据项(Data Item):具有独立含义的最小单位。数据对象(Data Object):元素的集合数据结构(Data Structure):三要素(逻辑结构、存储结构、数据运算:增、删、改、查)逻辑结构:数据元素之间的关系(逻辑结构形式上用二元组,B=(K,R),K是结点的集合,R是K上关系...

2019-11-27 15:23:21 2208

原创 makefile变量

在声明变量时需要初始化。通过在变量名前加上 $ 符号引用变量,最好用上小括号 () 或大括号 {} 把变量括起来。变量是大小写敏感的。如果需要用 $ 字符,那么需要用 $$ 来表示。 变量可以使用在规则中的“目标”、“依赖”、“命令”中及新的变量中。如:CC = gccOBJS = program.o foo.o utils.oprogram : $(OBJS) $(CC) -o pr...

2019-11-26 00:55:40 2527

原创 makefile自动生成依赖性

在Makefile文件中,我们的依赖关系中可能会包含一系列的头文件,当工程比较大时,我们必须搞清楚哪些.c文件包含了哪些头文件,在加入或删除这些头文件时,都要修改Makefile文件。这样的修改很麻烦,而且很容易修改错。为了避免上面这种繁重又容易出错的工作,我们可以使用C/C++编译器自动寻找源文件中包含的头文件,并生成一个依赖关系 ,命令如下:gcc -MM main.c 或gcc -...

2019-11-25 16:54:50 2152

原创 makefile静态模式解决多目标问题

静态模式可以更加容易地定义多目标的规则,可以让我们的规则变得更加的有弹性和灵活。格式:<targets ...> : <target-pattern> : <prereq-patterns ...> <commands>...说明:<targets …> :定义了一系列的目标文件,可以有通配符。<target-pat...

2019-11-24 17:21:05 2051

原创 Makefile多目标

Makefile 规则中目标可以有多个。如需要生成多个可执行文件的做法。使用伪目标的方法,给伪目标指定所依赖的文件:all:main hello test.PHONY:allmain: gcc -o main main.chello: gcc -o hello hello.ctest: gcc -o test test.c.PHONY:...

2019-11-23 15:56:34 3182

原创 Adnroid GC垃圾回收

Android的虚拟机(VM)是依赖于自动内存管理方案。开发人员不需要亲自管理内存的分配与释放。这是Java编程语言相对于低层级编程语言(如C语言)的重要区别,低层级编程语言需要手动管理内存。每一次应用程序需要分配内存,而堆没有足够空间来满足分配需求,GC(Garbage Collection)就会被启动。GC的工作就是遍历堆,枚举应用程序已分配的所有对象,并标记所有可访问的对象(即标记所有正在...

2019-11-21 10:05:49 3946

原创 makefile命令出错

当执行某个规则出现错误时,会马上停止该目标和该目标的依赖目标的生成。如何忽略错误,继续生成此目标之上的所有其它目标呢?演示例子:r1:r2 r3 echo 1r2:r21 echo 2 cat tes.txt #tes.txt不存在,故意指定这条出错r21: echo 21r3:r31 echo 3r31:...

2019-11-20 09:18:01 3106

原创 makefile命令执行

当依赖文件修改时间比目标文件要新,make命令就会一条一条地执行其后的命令。如果我们想让上一条命令执行的结果应用到下一条命令上,那么我们就应该将这两条命令写在一行上,并使用分号分隔,而不是写成两行。正确写法:exec: cd /home/kyun/Desktop;pwd执行结果:~/Desktop/mydir$ make execcd /home/kyun/Deskto...

2019-11-19 23:56:07 2579

原创 makefile显示命令

每条命令的开头必须以 Tab 键开头,除非命令是跟在依赖规则后的分号后面。在命令行之间中的空格或者空行会被忽略,但是如果该空格或空行是以 Tab 键开头的,那么 make 会认为其是一个空命令。如果我们在编译过程中,可以显示正在编译哪一步,就会很方便我们对程序编译的监控。我们可以使用makefile的一些显示命令,添加上一些类似注释的信息,伴随编译的过程打印到控制台上。在makefile中,当...

2019-11-19 15:43:08 3087

原创 makefile规则中的伪目标

在makefile规则的一般形式:目标文件:依赖文件 执行命令说明:执行命令会将依赖文件编译成目标文件。而“伪目标”不是一个目标文件,只是一个标签而已。由于“伪目标”不是文件,所以 make无法生成它的依赖关系和决定它是否要执行,只能通过在执行make命令时显式地指明这个“目标”才能让其效。伪目标例子:clean: rm *.o temp显式执行“伪目标”:~/Desktop...

2019-11-19 10:32:53 2219

原创 在makefile的规则中使用通配符

make 支持三个通配符:* : 星号(*)代替了一系列的文件,如 *.c 表示所有后缀为 c 的文件。~ :波浪号(~ )在文件名中有特殊用途,如 ~/test 当前用户的家目录下的test目录(Linux环境下)。?注意:CFILES = *.c通配符同样可以用在变量中,但是 *.o 不会展开,所以CFILES的值就是 *.c 。在makefile中变量,相当于 C/C++ ...

2019-11-18 17:17:00 2575

原创 Makefile文件的组成及引用其它的Makefile和make的工作方式

makefile的介绍可以参考《makefile介绍及示例》Makefile文件由五部分组成:显式规则:显式指出生成的目标文件、依赖的文件、生成命令。隐式规则:利用make的自动推导功能,可以简化规则的编写,参考《make命令的自动推导》。变量定义:定义一系列的变量,可以在Makefile文件其他地方引用。文件指示:包括三部分,(1)一个是在一个 Makefile 中引用另一个 Mak...

2019-11-18 16:13:53 2409

原创 清空目标文件的规则

每个 Makefile 中都应该写一个清空目标文件(.o 和执行文件)的规则,这不仅利于重新编译,也有利于保持文件清洁。一般的风格:clean: rm app $(OBJECTS) 更好的做法是:.PHONY:cleanclean: -rm app $(OBJECTS) .PHONY 表示 clean 是一个“伪目标”。而在 rm 命令前面加了一个小减...

2019-11-18 10:28:33 1985

原创 makefile的收拢式表达依赖关系

在上篇《make命令的自动推导》中,我们利用make的自动推导简化了makefile:OBJECTS = main.o hello.oapp:$(OBJECTS) gcc -o app $(OBJECTS) main.o:hello.hhello.o:hello.hclean: rm app $(OBJECTS) 我们可以看到下面的内容,hello.h...

2019-11-18 09:44:04 1843

原创 make命令的自动推导

GNU 的 make 可以自动推导文件以及文件依赖关系后面的命令。因此,我们就没必要在每个 .o 文件后都写上类似的命令, make命令会自动识别,并进行推导命令。当make命令看到一个 .o 文件,它就会自动把 .c 文件加在依赖关系中,例如make找到main.o,就可以推导出main.c就是main.o的依赖文件,并且推导出要执行的命令gcc -c main.c。所以,我们的makefi...

2019-11-18 00:25:14 2055

原创 在makefile 中变量的使用

演示示例:app:main.o hello.o gcc -o app main.o hello.omain.o:main.c hello.h gcc -c main.chello.o:hello.c hello.h gcc -c hello.cclean: rm app main.o hello.o先让我们看看 app ...

2019-11-18 00:07:17 1935

原创 make命令的工作原理

编译程序时,我们通常直接在makefile文件所在目录下执行make命令:makefile:app:main.o hello.o gcc -o app main.o hello.omain.o:main.c hello.h gcc -c main.chello.o:hello.c hello.h gcc -c hello.cclean: ...

2019-11-17 12:04:28 4157

原创 makefile介绍及示例

概述一个开发工程会有很多的源文件,它们按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译等。makefile文件关系到整个工程的编译规则。写好的makefile,只要运行make命令,就会按makefile里定义好的规则来编译工程。make 是一个用来解析makefile文件中的指令的命令工具。大多数的...

2019-11-17 10:54:10 1989

原创 ubuntu18.04安装TeamViewer

远程控制rdesktoprdesktop是用于远程microsoft windows的工具。《Linux远程windows》TeamViewer(1)TeamViewer要使用gdebi命令在Ubuntu 18.04上安装。 因此,要从安装gdebi-core软件包开始。 打开终端并输入:$ sudo apt install gdebi-core(2)使用wget下载最新的Te...

2019-11-16 18:55:47 2318 1

原创 JSP的本质是什么?

概述JSP页面在本质上就是Servlet程序,当JSP页面在首次被访问时,Web容器就会将JSP页面转化为Servlet,只需要做一次。如index.jsp在首次被访问时,Web容器会将其翻译成一个index_jsp.java文件,即Servlet代码;Servlet程序要被WEB容器调用执行,必须在web.xml中注册映射;Servlet类继承了类org.apache.jasper.ru...

2019-11-13 10:32:54 4222

原创 前后端分离的趋势

前言随着信息技术的发展,Web系统做得越来越大,承载的业务也越来越复杂和庞大。Web系统开发工作越来越细分。最典型的是前端开发与后端开发分开进行。前端工程师负责前端开发,他们工作中用到的技术一般有HTML、CSS、JS技术后端工程师负责后端(即服务端)开发,他们用的技术比较多且复杂,主要解决高并发、负载均衡等性能问题和业务问题,使用到的技术很多,如java、JVM原理、事务、多线程、高并发...

2019-11-13 09:59:43 2801

原创 css中子元素设置margin-top会影响到父元素

demo代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style> .content_top{ width: 500p...

2019-11-12 00:35:06 4053

原创 CSS实现水平垂直居中的常用方法

在前端开发过程中,盒子居中是常常用到的。居中又可以分为水平居中和垂直居中。我们以下面这个小例子来演示水平居中和垂直居中。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <sty...

2019-11-11 17:24:47 2005

原创 使用IntelliJ IDEA和Maven构建Java Web并打包

一、背景IntelliJ IDEA 是一个很优秀的集成开发工具。IDEA有社区版和商业版之分。商业版是需要收费的。我安装的是社区版。在构建一些项目时,可能会麻烦一点。本篇介绍一下在 IDEA上使用Maven创建一个Java web项目并打包的例子。二、环境搭建操作系统:UbuntuIDEA:社区版1、下载Linux的社区版本的IDEA。https://www.jetbrains.com...

2019-11-10 10:41:51 1980

原创 Linux远程windows

rdesktop可用于linux远程windows。安装rdesktop~$ sudo apt-get install rdesktop使用rdesktop~$ sudo rdesktop [options] server[:port]如:~$ sudo rdesktop 192.168.20.12这样就可以远程windows了谢谢阅读!...

2019-11-08 16:53:05 2069

原创 Docker镜像导出导入

导出镜像(注意不是容器)~/Desktop$ sudo docker save -o MyNginx.tar nginx导入镜像/home/kyun/Desktop# sudo docker load < MyNginx.tar这种做法常常用于把现有的镜像拷贝到其他机器上。谢谢阅读!...

2019-11-08 11:05:06 1995

原创 Docker容器导出迁移

导出容器查询要导出的容器ID或容器名~$ sudo docker ps -a2. 导出ID为 1eec3e5a48f9 的容器~/Desktop$ sudo docker export 1eec3e5a48f9 > ~/Desktop/MyMobSF.tar从上图可以看到成功导致的容器,文件为MyMobSF.tar。导入容器第一种方法:从容器快照文件中导入为镜像,并...

2019-11-08 10:05:54 2023

原创 Git冲突处理

Git冲突很常见。本质是两个分支之间都提交了相同的东西,如:同时修改了同一份文件创建了相同的文件解决冲突的办法:手动合并两个文件,各自再提交,然后再进行合并选择保留其中一份文件,删除掉另一份同时修改了同一份文件引起的冲突及其解决方法例子:# 切换到master分支~/Desktop/MyApp$ git checkout statusOn branch masterno...

2019-11-06 14:26:19 1917

原创 什么是渗透测试

渗透测试是对用户信息安全措施积极评估的过程。通过系统化的操作和分析,积极发现系统和网络中存在的各种缺陷和弱点,如设计缺陷和技术缺陷。渗透测试是对系统任何弱点、技术缺陷、漏洞的主动分析过程。这个主动分析是从一个攻击者可能存在的位置来进行的,并从这个位置有条件主动利用安全漏洞。渗透测试与其他评估方法不同,通常的评估方法是根据已知的信息资源或其他被评估对象去发现所有相关的安全问题。而渗透测试是根据已...

2019-11-05 11:14:25 3953

原创 Git常用命令

1、安装 Git$ sudo apt-get install git2、配置工具为所有本地仓库配置用户信息。(1)设置提交代码时用的用户名$ git config --global user.name "[name]"(2)设置提交代码时用的邮件地址$ git config --global user.email "[email address]"(3)设置命令行输出的颜色...

2019-11-04 15:38:25 1866

原创 CPU知识

概述CPU(中央处理器)是计算机的核心。它里面有微指令集。计算机的功能都要参考这些微指令集。CPU读取数据CPU从内存读取数据,内存的数据则是从输入单元传输进来的。CPU 处理完的数据也必须要先写回内存中, 最后再从内存传输到输出单元。微指令集分类CPU里面的微指令集分为精简指令集(RISC) 和复杂指令集(CISC)。精简指令集RISC:指令较为精简、运行时间都很短,完成的功能也...

2019-11-03 19:22:10 1981

原创 .git目录里的目录的作用

.git目录如下:hooks:存放一些shell脚本info:包含git仓库的一些信息logs:保存所有更新的引用记录。logs文件夹有refs文件夹和HEAD文件(1)HEAD文件保存的是所有的操作记录,使用git reflog查询的结果就是从这个文件来的(2)refs文件夹中一般会有两个文件夹:heads: 存储所有本地分支的对象,每个本地分支名对应一个文件名称。...

2019-11-01 22:23:08 3092

原创 Git新建分支出现fatal: Not a valid object name: 'master'错误

今天新建了一个项目后,想创建一个分支出来。但在执行命令,出现错误:~/Desktop/MyAppA$ git branch appfatal: Not a valid object name: 'master'.原因:是因为我们刚刚创建的主分支还没有提交任何东西,所以不能创建分支。解决办法:提交一下主分支后,再来创建新分支:~/Desktop/MyAppA$ git add .~/D...

2019-11-01 11:32:25 2041

原创 Android项目的.gitgnore文件的作用及配置

在使用Git版本管理工具的项目里都会有一个隐藏文件叫 .gitgnore,它的作用是忽略指定的文件,这样Git就不会去跟踪这些文件的修改,它们也不会被提交到版本库。典型的android studio IDE的android项目的.gitgnore配置:# Built application files*.apk*.ap_*.aab# Files for the ART/Dalvik V...

2019-11-01 09:18:16 2110

Android-ttf.zip

Android字体,.ttf字体文件,可以用于Android中。本资源包含29种字体,任君选择。可以在Android应用中使用。这样可以丰富android应用的显示。

2020-07-02

java-json.jar.zip

这个jar包可以实现xml与json字符串互相转化的功能。通过常我们反序列化时都习惯用json,但有些接口仍然使用xml,那么可以借助这个工具来实现xml转换json了。

2020-06-27

sqlitestudio-3.2.1.tar.xz

sqlite studio这一款数据库工具可以非常方便查看sqlite数据库,非常直观。在linux系统上下载下来解压后就可以使用了,无需要安装。

2020-04-17

mongodb-org-server_4.2.5_amd64.deb

这是mongodb server,版本是4.2.5,它是一个文档数据库。是NoSQL类型的数据库。在官方网站下载,可能会比较慢。在此分享给你们。

2020-03-28

git常用命令.pdf

这是一份提供常用的git命令的pdf文件。可以通过查阅这份文档,快速使用git。个人觉得非常好用,遂推荐给大家。

2019-11-14

最完整的git教程.zip

git最全的教程、最官方的教程、最完整的教程,你可以学习到最完整的git教程,你可以系统地学习git教程。

2019-11-13

jdk1.6-bin.zip

jdk-6u45-linux-x64.bin用于在linux上安装的,drozer需要jdk1.6。还有一些平台就是需要jdk1.6的。真是很奇怪。分享给大家。

2019-10-23

空空如也

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

TA关注的人

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