自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 镜头的呼吸效应及解决方法

镜头的呼吸效应及解决方法1、光学原因导致的呼吸效应2、编码问题导致产生呼吸效应3、呼吸效应解决方法呼吸效应:目前比较工人的解释是“angular field variation during focusing”,既对焦过程中视场角的变化。这个说法是针对镜头向被拍摄物体一侧的视场角而言的。相比之下,如果盯着平面上的被摄体的大小,就还要考虑镜头物距、像距壁纸变化造成的放大率的改变。1、光学原因导致的呼吸效应浮动镜片的移动必然带来光学结构的改变,因此焦距就会发生变化。因此,焦距是随着物距发生变化的,这就是

2022-03-18 12:24:30 7722

原创 MFQ&PPDCS测试理论(海盗派测试分析)

一、前言最近换了新工作,工作中接触到了MFQ&PPDCS测试理论,初看时真的是恍然大悟,这套测试理论解决了我一直以来的很多测试分析上的困扰,特在此做以记录。二、理论简介1、why需要这套测试理论?这套测试理论能解决什么问题?eg.小王做测试两年了,每次遇到熟悉的模块还好,能基本测下来,但是遇到全新的业务或者模块,总会再设计测试的时候忽略一些场景或者是测试内容,风险点和覆盖范围也说不清楚,每一次测试都心慌慌,觉得这漏了那没覆盖全。那这套理论应该可以很好的解决或者是避免上述问题的发生了。首先

2022-03-04 11:53:14 6391 2

原创 视频性能测试指标

性能测试指标FPSFPS : 帧率(一秒内平均画面刷新次数)FrameTime : 单帧耗时(顾名思义,就是显示一帧需要花费的时间)查看FPS命令:1、dumpsys SurfaceFlinger --list找到当前Activity使用dumpsys SurfaceFlinger --latency-clear清除数据然后在,滑动界面后,使用dumpsys SurfaceFlinger --latency com.cvte.maxhub.settings/com.cvte.maxhub.

2020-10-26 17:57:48 2337

原创 入门PerfDog性能测试

入门PerfDog性能测试性能测试的工具有很多,方法也有很多,拿到数据只是一个入门,更重要的是如何去分析处理和定位问题,此篇博客先针对于腾讯自研的PerfDog性能测试工具的使用进行介绍,不深入解析;PerfDog下载https://perfdog.qq.com/没啥好说的,就是普通的安装下载,但是需要jre环境,因为perfdog是Java写的界面简介PerfDog界面很简洁炫酷主界面就是这样,左上角选择测试的设备,一般使用数据线或adb连接,连接成功就会显示设备名,选中就会拉取当前设备上

2020-07-29 15:44:17 3136

原创 毕业工作的心理变化

各位,此贴不是技术贴,个人观点不同,友善交流我先自述一下我的求职经历。我是19年应届生,本来大三是考研的,女生嘛,考研报平安,但是19年差三分落榜;真的不愿意再来一年,一个是感觉自己上大学已经学不进去了,没必要再读。再有就是身边学了互联网语言的同学工作找的的确都还不错,月薪上万;然后我就开始苦逼的学Java,各种跑。当然了,好多单位都不要我们这种19届的(本人赶的19年的秋招,当时已毕业一月多...

2020-04-01 11:47:20 888 32

原创 adb 实用总结(入门)

ADB——安卓调试桥ADB的全称为Android Debug Bridge,安卓平台调试桥,是连接Android端(安卓手机,TV。。)与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、查看设备软硬件参数、系统升级、运行shell命令,抓取log信息等。adb对于测试工程师或者安卓软件工程师的作用更多的不用串口即可抓取log,安装APK,monkey压测;其余的操作用串口也许会...

2020-03-02 17:47:30 468 3

原创 【Java】剑指offer——连续子数组的最大和

**题目:**输入一个整形数组,数组里有正数也有负数。数组中一个或连续多个正数组成一个子数组。求左右子数组和的最大值。要求时间复杂度为O(n).**例如:**若输入数组为{1,-2,3,10,-4,7,2,-5} 则它的最大和子数组为{3,10,-4,7,2},和为18思路解析:我们此时首先应该从数组起始位置开始遍历,且只能遍历一次(要求了时间复杂度),所以我们先定义一个sum和一个最大值m...

2020-02-25 11:23:10 275

原创 【Java】剑指Offer——找出数组中出现次数超过数组长度一半的数字

1、思想概述:首先,我们默认这个数组是未经过排序的无序数组。要找出在数组中长度超过一半的数字,那么我们可以先将数组进行排序处理,排序完成后取到数组的中间下标,然后返回该数,则此数一定是要求的数字。在这里我用了冒泡排序,效率比较低,想要进行优化可以换一种排序方式。2、代码实现:import java.util.Arrays;import java.util.Scanner;public...

2020-02-25 11:22:55 441

原创 【Java】剑指offer——输出一个十进制转二进制中1的个数

1、思路概述:在这里我们用到了按位与运算&。如,若要求n转二进制后的1的个数,那么我们将n和n-1进想按位与运算后对n进行更新,每更新一次1的个数就+1,最终得到1的个数。2、代码实现:public static void main(String[] args) {int n=21;}public static int find1(int n){/*将十进制数转换成二进制数后...

2020-02-25 11:22:44 760

原创 【Java】剑指offer——输出一个可以被分解的整数的分解数

例如:输入一个18 18可被分解为18=233代码实现:public class FenJie { public static int fenjie(int a){ int i=2; for(i=2;i<=a;i++){//从2开始找质数,1是所有数的质数 while (i!=a){//当i!=a的时候 ...

2020-02-25 11:21:54 360

原创 【Java】剑指Offer——合并两个有序链表

1、思路概述:首先要明确的是当我们合并完两个有序链表后,新的链表也依旧还是要有序。所以,我们首先要定义两个指针分别对两个链表进行遍历,再定义一个指针从空开始存储两个链表中挑选出来的数字。当一个链表为空时,将剩下的一个链表全部输入即可。2、代码实现:public void merge(Link<T> link){Link<T> link1=new Link<&g...

2020-02-25 11:21:46 295 3

原创 leetcode——最长回文(马拉车)

1、思想概述:求最大回文长度,例如,adfaddddaerg中,可以把构成回文的就是adddda,故此字符串的最大回文长度为6.回文:即一个字符串正着反着读都一样的,如上面说的adddda或noon等.当我们求解此问题时,首先会想到暴力的遍历数组,枚举数组中所有字串,然后再进行比较,但是这样做它的时间复杂度达到了O(n^3),十分不理想,所里这里提出了马拉车算法解决这个问题,可以将时间复杂度...

2020-02-25 11:21:38 460

原创 【Java】剑指offer——替换字符串中的空格使其成20%

1、思路概述:首先,我们拿到这道题要考虑的是如果要在当前的数组上将空格替换,那么必定会溢出。所以我们采用了以下几种方法把空格数先计算出来,然后对数组进行扩容,再在数组尾部定义一个指针从尾部开始后移(不用再将每个字符串向后覆盖了),然后遇到空格用20%替换,结束;但是上面的方法虽然看起来简单但是要对数组遍历两边,影响了程序的时间复杂度;优解:因为此处是单线程,所以用StringBulider...

2020-02-25 11:21:10 344

原创 【Java】剑指offer——两个链表的第一个公共节点

题目:求两个链表的第一个公共节点1、思路概述:要找两个链表的公共节点首先要知道链表的长度,那么我们首先就要遍历两个链表,的到链表长度后,若长链表长m短链表长n,那么就要让长链表先比锻炼表走m-n步,开始遍历,值相同后进行返回,的到解。但是上面这种方法需要两次遍历链表,效率不是很理想。我们可以利用HashMap的特性,将链表1的值存到HashMap中,然后再调用contains方法对链表2的值...

2020-02-25 11:20:57 222 2

原创 回溯算法——打印123的所有子集

1、思路概述:用回溯算法打印123的所有子集,打印出来即为1,12,13,123,2,23,3。所以当遇到这种要求子集的问题时,我们首先想到的就是回溯算法的子集树思想。static int [] brr; public static void backstrace(int [] array,int i){ if(i==array.length){ for...

2020-02-25 11:20:46 1373

原创 回溯算法——子集树 求一个数组中两部分的最小差值数组

1、思路概述:求一个数组中两部分的最小差值,即将一个数组分成两部分,这两部分要求差值最小。例如:{1,2,3,5,7},那么在这个数组中,可以被分为{1,3,5}{2,7}两个数组使其差为0,是其差为最小。由题目要求可见,我们还是要牵扯到求出问题的自己的过程,所以自然而然的就要涉及到回溯算法——子集树的问题。2、代码实现:static int[] brr;//辅助数组 stati...

2020-02-25 11:20:32 901

原创 【Java】剑指Offer——打印一个数组的全排列

1、思想概述:什么是数组的全排列?比如,输入一个abc,此时它的全排列应该是abc、acb、bac、bca、cba、cab此时我们要做到的是,首先在a确定不动的情况下分别将b c进行挪动。然后再将交换,保持b不动挪动a c。2、代码实现如下:package com.company.shuzu;import java.util.Scanner;public class Shu {...

2019-10-29 16:56:48 781

原创 【Java】剑指offer——有规律的二维数组查找目标数字

1、思路概述:题目:有这样一个二维数组,它的行从左到右皆递增,列从上到下也递增,现查找这样一个目标数字,若二维数组中有此数字则返回true,没有就返回false。**思路:**首先我们可以建立一个这样的二维数组,从右上或左下开始查找,这样一次就可以排除一个行列,比直接使用二分查找要更加方便,2、代码实现:public static boolean find(int[][] array,in...

2019-10-29 16:56:37 235

原创 【Java】剑指offer——浮点数的整数次幂

1、思路概述:题目:给一个浮点数base,请计算出它的exponent次幂的值,并输出。解题思路:此处需要考虑到重写equal方法,否则只用==的话精度不够。还要注意的是如果base为小数的情况。2、代码实现:public static void main(String[] args) { double base=2; int e=3; System.out.pri...

2019-10-29 16:56:25 329

原创 剑指Offer——输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个

1、思路概述:题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个例如:输入{3,5,1,0},则输出{0135}.这种题目其实十分简单,首先建立一个和原数组一样大的String[] ,用ArrayList中自带的sort方法进行排序后,小的放前面,大的放后面,输出结果。此题中需要注意的是一系列的加包拆包操作。2、代码实现:public st...

2019-10-29 16:56:04 4928 4

原创 【计算机网络】——Cookie和Session

由于HTTP协议是无状态的,即服务器不可能知道我们在上一次HTTP请求中通过了验证。所以要么以后每次请求中都带上用户名和密码,但是这样客户端和服务端都受不了频繁的请求,所以第二种方式就是会话管理。CookieHTTP1.1引入了cookie来保存状态信息。Cookie是服务器发送到用户浏览器并保存到本地的一小块数据,它会在浏览器之后向同一服务器发起请求时被携带上,用于告知服务端两个请求是否来...

2019-10-07 21:39:02 385

原创 【计算机网络】——HTTP简要概述

HTTP、HTTPS和SSH协议:HTTP、HTTPS和SSH协议都属于应用层协议;HTTP:超文本传输协议;HTTPS:安全的超文本传输协议;(在HTTP协议基础上加入了SSL协议保证安全传输);SSH:安全外壳协议;HTTP&HTTPS主要应用于Web浏览器和网站服务器间传递数据HTTP以铭文方式发送,不提供任何方式的加密,如果被攻击者截取了web浏览器和网站服务器之...

2019-10-06 23:44:27 427

原创 死锁的避免之银行家算法

我们都知道在多线程中,死锁是一个很严重的问题。产生死锁的四个必要条件:出现死锁的条件:1、互斥条件: 资源每次只能是一个线程使用------资源2、请求与保持条件:一个线程因请求资源而阻塞时,对已获取的资源保持不释放。------线程3、不可剥夺条件:线程已获取的资源,在未使用之前,不能强行剥夺,只能在使用完时由自己释放。4、循环等待条件:若干线程之间形成一种头尾相连接的循环等待资源关系...

2019-08-30 12:56:03 1702

原创 浅析Java内存模型

本篇文章基本上都是概念性的知识,理解记忆为主:java文件,首先要经过编程成为class文件,然后通过类装载器加载到jvm中去执行。这个jvm(蓝色线框起来的这部分)就是java运行时数据区,意思就是java代码在运行的时候,这些数据要存放在不同的内存空间里面。jvm就是指代这个的。当然了上面的运行时数据区jvm是jdk1.7版本的。也就是说不同的jdk版本,这个jvm的构成是不一样的。如下是...

2019-08-28 15:39:28 281

原创 Java多线程之锁的升级

在Java中,加锁的过程是随着线程竞争的激烈程度而改变的。总体过程如下:偏向锁–》轻量级锁–》重量级锁在这里我们首先要了解Java对象的保存:1、Java对象的保存Java对象保存在内存的时候分三个部分:对象头,示例数据,对齐填充字节而对象头又分为三个部分,其中的MarkWord就是专门用来保存和记录所有与锁有关的信息的可以看到markword共有32个字节用来记录所得信息。同时,...

2019-08-23 21:39:02 272

原创 Java序列化机制——protoStuff

Java的序列化是在文件传输中必不可少的一部分。常用的Java序列化机制有Java默认的序列化机制,谷歌的protobuf等。而Java默认的序列化机制效率太低,protobuf要写protostuff文件,又很麻烦,所以我这篇文章要介绍的就是——protostuff.1、protostuff简介在序列化文件不超过10M的时候最好还是使用Java自带的序列化机制。文件较大的时候用protost...

2019-08-21 13:04:38 1169

转载 【Java】多线程中锁的获取过程

最近在回顾线程中锁的内容,看到哟盼文章总结的很精简易懂,转载给大家看看。本文链接:https://blog.csdn.net/lkforce/article/details/81128115目录一,对象头1,Mark Word2,指向类的指针3,数组长度二,实例数据三,对齐填充字节Java对象保存在内存中时,由以下三部分组成:1,对象头2,实例数据3,对齐填充字节一,对象...

2019-08-19 22:21:55 1231

原创 【Java】常用的设计模式简介

1、单例模式单例模式在我以前的博客中给过六种,有详解,大家可以参考【Java】浅析单例模式(六种单例模式的代码实现及详解)2、代理模式:【真正实现内容的是代理委托类】动态代理是在运行时根据我们在Java代码中的“指示”动态生成的。相比于静态代理,动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法。public interface IUser {...

2019-08-15 00:10:13 459

原创 Spring简述三——Spring和JDBCTemplate的整合&& Spring和Mybatis的整合使用

其他Spring相关文章Spring简述一Spring简述二Spring提供了JavaEE的一整套解决方案(展示层 业务层 dao层)jdbCTemplate是dao层的解决方案,mybatis也是dao层的解决方案Spring中JDBCTemplate的使用:创建数据源(实现datasource的接口)创建JDBCTemplate对象通过数据源来实例化JDBCTemplate的使...

2019-08-13 20:51:36 2713

原创 【Java】——java创建对象的过程(内存角度分析)

java对象的创建操作其实我在《JVM系列之类的加载机制》一文曾经提到过,包含两个过程:类的初始化和实例化。为此为了理解的深入,我们还需要再来看一下类的生命周期。一张图表示:...

2019-08-11 22:12:09 425

原创 Spring简述二

帆帆帆帆

2019-08-10 15:52:32 498

原创 Spring简述一

1. Spring是什么Spring:轻量级开源框架核心:IOC(inverse of Control):控制反转  DI:依赖注入AOP(面向切面):给类添加功能而不修改源代码Spring对JavaEE提供了不同层的解决方案展示层:servlet、SpringMVC业务层:Spring IOC数据层:JDBCTemplate、Mybatis2. IOC控制反转将对象的管理(创...

2019-08-09 21:39:59 582

原创 【Java】File类简单概述

file类(与系统无关的类,即任何系统都能使用):文件和目录名的抽象表达形式file 文件;directory:文件夹/目录;path:路径路径分隔符:windows分号 Linux 冒号文件名称分隔符:windows\ Linux /路径:绝对路径:是一个完整的路径(以盘符开始的路径)相对路径:是一个简化的路径(相对是指当前项目的根目录)注意:路径不区分大小写...

2019-08-07 15:02:17 322

原创 Java——IO总结

在Java中,文件的读取分为字节流和字符流(读取方式);imput输入(读取)把硬盘中的数据读取到内存中使用output输出(写入)把内存中的数据写道硬盘中保存1字符=2字节;1字节=8个二进制字节流:(一切皆为字节,可以读取任意文件)——不需要知道文件内容时FileOutputStream:(把内存中的数据写到硬盘文件中)1、创建一个FileOutputStream对象2、会根据构...

2019-08-06 21:53:00 236

原创 浅析Java中的泛型

1、泛型产生的原因:首先,在这里要说明的是在JDK1.5+后才添加的。在这之前,每当我们想在容器里里添加内容时,当手动添加的类型出错(比如想输入String但是却不小心输了int),就会报错。那么泛型在此处就可以规范我们输入的数据类型。HashSet<String> hs = new HashSet<String>();当我们像上面的示例一样使用泛型时,如果输入的数...

2019-08-02 14:26:01 533

原创 JavaScript和HTML超超超!!!详细说明

HTML :HTML(Heper Text Markup Language)超文本标记语言——最基础的网络开发语言超文本:用超链接的方法将不同空间的文本的文字信息组织在一起的网状文本标记语言:有标签构成的语言(标记语言不是编程语言)语法:1、后缀名:.html2、标签分为:围堵标签:有开始标签和结束标签 自闭和标签:开始标签和结束标签在一起,如<br>3、标签可以嵌套...

2019-07-29 18:37:21 282

原创 【Java】String类型为什么不可变

1、什么是不可变对象:有效final;被private修饰;类不能被继承拓展;类不能对外界提供修改类状态的方法;2、Java中String类是如何设计成不可变对象的:首先我们先看如下代码:public class Demo { public static void main(String[] args) { String a="小猫"; System...

2019-07-28 18:55:26 275

原创 【Java】SQL——数据库的使用超超超详细!!!

SQL1、什么是SQL?结构化查询语言,其实就是定义了操作所有的关系型数据库的准则2、SQL语法:单行多行书写,分号结尾;不区分大小写,但是关键字推荐大写;单行注释 -- hhhhh   或 #hhhh多行注释  /*hhh*/3、SQL的分类:DDL(data Definition lanuage) 数据库定义语言:定义数据库对象:数据库,表,列等;关键字:create、drop、...

2019-07-27 21:00:01 538 3

原创 【Java】深入分析多态

1、多态概述:多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。方法调用:多态中的方法调用分为两类,静态方法的调用和动态方法的调用。(1)静态方法调用是指对于类的静态方法的调用方式,是在编译时刻就已经确定好具体调用方法的情况,是静态绑定的。(2)动态方法调用需要有方法调用所作用的对象,是在调用的时候才确定具体的调用方法,是动态绑定的...

2019-07-26 18:15:01 246 2

原创 【Java】浅析哈希表

1、哈希表简介:通常用于海量数据处理:1 查重 ;2 求 TOP k (时间复杂度,空间复杂度O(1))优点:增、删、查找O(1)缺点:占内存空间较大应用:HashMap,HashTable,LinkedHashSet…等容器,底层都用了哈希表。因为哈希表的增删查的特性,使这些容器的效率增加。2、哈希值:说到哈希值那就要提到哈希函数。因为哈希值并不是固定不变的,而使根据应用的不同的...

2019-07-25 16:01:37 276

空空如也

空空如也

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

TA关注的人

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