自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 C++默认构造函数

Default Constructor构造函数的定义什么是默认构造函数,默认构造函数又在何时被创建出来呢?根据c++ primer plus上的说法默认构造函数是在未提供显示初始值时,用来创建对象的构造函数。当且仅当类中没有定义任何构造函数时,编译器才会提供默认构造函数。假设`Stock`类的的声明如下:```c++class Stock{public: string company; int shares; float share_val; float total_val;

2021-05-18 15:20:16 548

原创 Android单元测试的权限问题

最近在写测试,需要向sdcard里写文件,但是要读取时需要存储权限,可以通过添加依赖androidTestImplementation 'com.android.support.test:rules:1.0.2'测试类中添加@Rulepublic GrantPermissionRule mRuntimePermissionRule = GrantPermissionRule.grant(Manifest.permission.READ_EXTERNAL_STORAGE);差不多就行了,

2020-05-26 18:34:08 1772

原创 curl的一些常用命令

curl是什么curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。一些常用的命令curl https://bytedance.com/zh类似浏览器输入网址 但是是将获得的网页以源码的形式在输出显示 需要注意的是 这里不仅仅可以下载网页 同时也可以下载文件 如果url指定的是文件的话 可以采用如下的方式将文件下载到本地c...

2020-04-12 00:27:31 374

原创 Java的GC相关

为什么要GC Java不像C++一样,对于在堆上申请的空间需要调用free或者delete这样手动释放,而是使用gc来进行自动的释放,对于一个应用程序来说,给定的堆的空间是一定的,如果无限的申请但是不释放的话,就会导致oom,因此gc很重要。什么需要被GC 和c++一样,在堆上申请的内存空间的对象需要在一个合适的时间释放,回想在C++中的智能指针,往往就是在对某个对象的引用...

2020-04-12 00:20:11 153

原创 pushstate和popstate的实现原理

基本介绍pushstate:前端用来向​history​中塞入一条历史记录,且必须是当前域名下的,执行完成后,地址栏会变成塞入的url但页面不会改变。popstate:与​pushstate​组合实现监听用户点击返回键时触发的事件,单独使用并不能实现监听用户退出的功能。详细可以参考https://developer.mozilla.org/zh-CN/docs/Web/API/Window...

2020-04-10 17:56:00 10235 3

原创 Android单元测试——Junit+Mock

首先是单元测试很重要!很重要!很重要!目前主流的是Junit4 来进行Java的单元测试首先需要导入的包有import org.junit.Test; import static org.junit.Assert.*;//引入断言不同于Junit3,测试类不需要再继承TestCase类,可以直接声明,此外,测试方法也不需要再以test开头,但是为了方便使用,最好以te...

2020-04-01 15:12:46 934

原创 ssh转发

主要是参考了朱双印的http://www.zsythink.net/archives/2450简单总结下就是ssh转发分成两种:本地转发和远程转发本地转发#A:ssh -L [AIP]:port:BIP:port user@BIP核心就是将本地的某个端口映射到外部的某个端口,此时对于A来说,它是主动的一方,有消息过来之后转发给B远程转发#B:ssh -R [AIP]:por...

2020-04-01 14:53:12 73

原创 Android之Binder学习

whatbinder是用来做进程通信的。why现有的linux通信手段都有一定的缺陷,而binder相对于它们来说有一定的优点。高性能:进需要进行一次数据拷贝,性能仅低于不需要内存拷贝的共享内存。稳定性:binder基于C/S架构,不需要考虑共享内存的同步问题。安全性:android系统为每个应用分配了UID作为鉴别进程的重要标志,IPC只能由用户在数据包里填写UID/PID,...

2020-01-03 17:06:02 137

原创 Android通过GPU绘制UI的简单了解

Android绘制UI有两种绘制模型:一是软件绘制模型;二是硬件加速绘制模型。软件绘制模型由CPU主导的,主要有两个步骤让视图结构(view hierarchy)失效绘制整个视图结构。具体来说当应用程序需要更新它的部分UI时,都会调用内容发生改变的View对象的invalidate()方法。无效(invalidation)消息请求会在View对象层次结构中传递,以便...

2020-01-03 16:59:25 1451

原创 Android之Intent学习

intent的作用android中采用了intent机制来进行应用间的交互与通信,同时,也可以进行程序内部activity, service和broadcast receive之间的交互(Content Provider本身就是一种通信机制,不需要再使用intent来进行通信)。intent采用的是运行时绑定机制,在运行过程中连接两个不同的组件,应用程序通过intent向android发出某...

2020-01-03 16:58:37 101

原创 Java之RTTI和泛型学习

RTTI——运行时类型一个类的运行时的类型信息是通过class类的对象来表示的,Java利用Class对象来执行RTTI。每一个类都有一个Class对象,每当编写一个类时,都会产生一个Class对象,当JVM加载该类时这个对象就产生了。如何获取Class对象通过Class类的静态方法forName来获取Class对象,具体形式如下:Class class = Class.forN...

2020-01-03 16:51:58 153

原创 ExecutorService

关于ExecutorService的介绍可以参考https://blog.csdn.net/suifeng3051/article/details/49443835简单来说这个类可以提供线程来做一些工作,可以说是对thread做了封装管理吧。。。用起来还是挺方便的。。。创建线程池的方法该类为工厂类,通过调用不同的create函数来创建不同类型的线程池,如下是提供的几种类...

2020-01-03 15:48:48 63

原创 Gerrit基操

Gerrit学习gerrit的框架大致如下所示:在没有gerrit的时候,我们提交代码都是经过add->commit->push操作,然后将本地的代码提交到对应的branch上。当加上gerrit的时候,我们会先把代码提交到gerrit上,这个gerrit相当于一个审查站,只有通过gerrit的代码才会被提交到git的repo上。因此我们提交的时候就需要把代码提交到对应...

2020-01-03 15:46:38 197

原创 git的一些基本使用

工作中对于项目的管理主要是基于git的,学习git还是很重要的。。。。。。Git的特点Git是分布式版本控制系统git的底层是用C来实现的Git相关参数的配置 用来指定自己的机器git config --global user.name “Your Name"git config --global user.email “Your email"Git仓库的...

2020-01-03 15:43:26 92

原创 Android之Activity学习

标准模式 启动一个activity时,在当前的任务栈中添加一个实例置于栈顶栈顶复用 如果新建的Activity位于任务栈的顶端,则直接冲用处于栈顶的实例栈内复用 查看Activity想要的任务栈是否存在,如果不存在,则重建一个新的任务栈,然后将该实例放置在栈顶 如果存在,看其是否在栈内,若在栈内,则将其之上的所有实例全部出栈,等效将其置于...

2019-08-08 21:29:14 127

原创 腾讯后台开发实习生「2019-7-2」

一面已过,二面进行了一半,晚上说还要接着面。。。。一面经历最长的一次面试,没有之一,前前后后一共两个半小时上来手撕三道编程题第一题,实现内存拷贝函数 memcpy(void* pSrc, void* pDst, size_t length);首先这道题给定的是void型,在拷贝的时候要转换成char*型,然后赋值就可以了,我的代码如下void memcpy(void* p...

2019-07-03 15:33:38 718 1

原创 字节跳动C++研发实习生

一面(1h30min)一开始看了我的简历里有关于hadoop的项目经历,所以一开是问了hadoop相关的问题1 问:先介绍以下hadoop的简单原理答:map从hdfs获取数据,处理成键值对,然后可以经过shuffle进行初步的reduce处理,然后经过一定的算法发送给reduce,进行整合处理,最后输出到hdfs上。2 你们在做这个项目的时候处理了多大的数据,用了多长时间,有没有...

2019-06-30 23:15:17 3051 5

原创 HTTPS协议

HTTPS协议是HTTP协议+SSL(安全套接字协议)HTTPS的核心是对服务器和客户端之间的数据进行了加密,因为对HTTP协议来说,所有的数据都是明文的,这样就不能保证安全性,他人可以很简单的获取,修改发送的数据。因此需要采用一定的方法来对发送的消息进行一定的加密。四次握手首先,客户端与服务器之间会互通消息,客户端会向服务器发送消息表明自己支持的协议版本,加密算法以及一个client...

2019-06-16 18:57:38 98

原创 HTTP的两种代理

http的代理有两种模式,一种是普通代理,一种是隧道代理代理可以有很多的作用,例如通过代理来进行内容的过滤,减少对服务器的访问和提高安全性等。普通代理普通代理就是在客户端与服务器之间加入一个代理服务器,原本客户端与服务器之间的访问为客户端向服务器发出请求,服务器接受到请求后将响应结果返回给客户端当加入代理之后,这一过程变成为客户端将请求发送到代理服务器,然后代理服务器将客户...

2019-06-16 18:15:10 543

原创 CCF-2017年3月4号 第四题地铁修建

CCF-2017年3月4号 第四题地铁修建问题描述 A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力,A市决定在1号到n号枢纽间修建一条地铁。 地铁由很多段隧道组成,每段隧道连接两个交通枢纽。经过勘探,有m段隧道作为候选,两个交通枢纽之间最多只有一条候选的隧道,没有隧道两端连接着同一个交通枢纽。 现在有n家隧道施工的公司,每段候选的隧道只能由一个公司施工,...

2019-04-08 19:50:43 561

原创 根据SecWIki给出的Web安全工程师的学习路线的学习经历

一直对Web安全问题有很大的兴趣,之前一直不知道该从何学起,就学习了一些自认为基础的知识,比如HTML,JS和PHP,只是大概的看了一遍,并没有亲自动手操作多少,所以还处在萌新的水平。SecWiki给出的学习路线图:点击打开链接之前学习总是断断续续,所以学习过的知识还能记下来多少就不得而知,从这周起争取每周写两篇blog,学习路线的学习时间争取减少一半吧(第一次写博客无所适从.jpg)...

2018-05-05 10:50:53 1709

原创 Web安全工程师——1.1 网络安全相关概念的了解

1 SQL注入:SQL是什么:SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统,而SQL 语句用于取回和更新数据库中的数据。什么是SQL注入:就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。(百度)2  上传:根据我的理解,上传就是在网页上,有许多提供用户上传文件的表单,通过在这些上传文件中添加恶意的代码从而达到...

2018-05-05 10:50:04 506

空空如也

空空如也

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

TA关注的人

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