自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vividly的学习小站

最淡的墨水也胜过最强的记忆!

  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring MVC 接口返回的json数据过滤空值

前后端交互时,后端返回给前端是一个json,json中的值是有一个对象转换而来的,有时候该对象中可能某些字段的值是空,返回给前端的json就会出现某些key的value是空,在默写情况下不利于前端处理。其实在后端返回时可以进行数据过滤,将对象是为空的字段自动过滤掉。一行代码的事情,在需要序列化为json输出的类上增加@JsonSerialize(include=JsonSerialize.In

2017-02-25 16:55:15 3994

原创 Java 获取指定字符串出现的次数

Java中 获取指定字符串在另一个字符串中出现的次数/** * @param args */public static void main(String[] args) { String srcText = "Hello World"; String findText = "e"; int num = appearNumber(srcText, findTe

2016-07-22 09:58:50 1050

原创 如何获取URL链接是http还是https

如题:一般在后端有三种方式获取。1,JAVA截取链接地址。String URL = request.getRequestURL().toString(); if(!URL.startsWith("https:")) { System.out.println("HTTPS"); } 2,JAVA获取协议if("http".equals(reque

2016-06-23 15:19:20 22792

转载 你应该知道的RPC原理

在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。  而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)

2016-05-24 11:25:25 442

转载 SQL表连接查询(inner join、full join、left join、right join)

SQL表连接查询(inner join、full join、left join、right join) 前提条件:假设有两个表,一个是学生表,一个是学生成绩表。      表的数据有:         一、内连接-inner jion :最常见的连接查询可能是这样,查出学生的名字和成绩:select

2016-05-20 14:10:38 392

原创 http post 请求数据格式选择

post请求的时候header里面有Content-Type这个字段。有时候需要设置。默认是 application/x-www-form-urlencoded。常用的是application/json 。下面简单介绍这两种的区别。www-form-urlencoded是POST数据默认编码格式,POST过去的key-value会被编码成QueryString,格式如下:name=te

2016-05-17 21:08:42 935

转载 Java 时间转换成unix时间戳

java进行时间转换成unix timestampimport java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** * @author kongqz kongqingzhu@gmail.com * @

2016-05-17 20:41:58 5068

原创 Android APP 启动时间测试

Android 启动时间测试把被测安装包放到脚本同一路径下,命名为被测安装包的包名首先需要输入的两个参数是:被测包名和被测包名的启动类aapt 获取启动类:aapt dump badging +file_path.apk三种测试场景冷启动热启动首次安装启动实际性能测试中是严格录像计时的,按下到首帧响应时间。而冷启和热启在这里的区别是首次无数据启动,和

2016-05-07 16:25:31 3334

原创 JSON特殊字符处理

之前遇到一个问题,本地调试时前端页面能正常显示数据,而部署在服务器上后就不能正常显示。审查元素发现是ajax获取的json串不合法,含有一些特殊的字符。至于为什么本地正常而服务器异常在这里不多讨论,和机器环境有关。一般情况下,前端通过ajax请求数据,后端在返回数据时要处理一下返回的数据,过滤一下特殊字符,我用的是下面的方法:public static String dealWit

2015-12-16 20:48:58 1092

原创 git切换远程分支

用git做代码版本管理,常常遇到开发分支的切换。无需新下载代码,本地切换即可。1,git fetch origin daily/0.0.59    将远程主机分支daily/0.0.59的更新取回到本地2,git checkout -b local-branchname daily/0.0.59   将远程分支映射到本地命名为local-branchname的一分支,local-b

2015-12-04 10:51:56 2923

转载 Android APK的数字签名的作用和意义

1. 什么是数字签名?数字签名就是为你的程序打上一种标记,来作为你自己的标识,当别人看到签名的时候会知道它是与你相关的2. 为什么要数字签名? 最简单直接的回答: 系统要求的。 Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名

2015-11-19 11:27:09 651

原创 ibatis中CDATA的使用

sqlmap里面经常会有 出现,记录一下这么用的作用。术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。在 XML 元素中,"<" 和 "&" 是非法的。"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。某些文本,比如 JavaScript 代码,

2015-10-30 10:59:13 974

原创 MySql concat函数

MySQL concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型

2015-10-30 10:18:28 996

原创 JAVA常见的编码问题

JAVA中涉及到I/O的地方就可能遇到编码问题,如果客户端和服务端默认的编码是一样,这样就不会出问题。但建议不要使用操作系统的默认编码,因为这样,你的应用程序的编码格式就和运行环境绑定起来了,在跨环境下很可能出现乱码问题。特别是在Java web的应用,如http请求,如果含有中文就最容易出现编码问题,网上的一篇文章对中文的编码问题做了详细的介绍,个人感觉很有用,Mark一下。深入分析

2015-09-26 16:34:02 404

原创 Java读文件的方式

前面介绍了Java写文件的方式, Java写文件的方式:FileOutputStream vs. FileWriter其实从读文件的格式来看,主要分为字节流和字符流。可以按顺序读取,也可以逐行读取,或是随机读取。1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 下面是example。import java.io.*;publi

2015-09-15 11:32:56 386

原创 Java中对象序列化与反序列化

在Java中有时候会用到序列化和反序列化。下面做一个简单的介绍。对象序列化(Serializable)是指将对象转换为字节序列的过程,而反序列化则是根据字节序列恢复对象的过程。序列化一般用于以下场景:1.永久性保存对象,保存对象的字节序列到本地文件中;2.通过序列化对象在网络中传递对象;3.通过序列化在进程间传递对象。对象所属的类必须实现Serializable或是Exte

2015-09-14 11:15:38 415

原创 Java写文件的方式:FileOutputStream vs. FileWriter

一般用Java写文件常用的两种方式就是FileOutputStream 和FileWriter。使用FileOutputStream:File fout = new File(file_location_string);FileOutputStream fos = new FileOutputStream(fout);BufferedWriter out = new Buffere

2015-09-11 15:00:13 1877

原创 Linux下Java调用so文件

Linux下Java调用C语言的so文件,需要进行System.loadLibrary("lib***.so"); 注意这里只需要写***,lib和so都不要。出现java.lang.UnsatisfiedLinkError: no *** in java.library.path错误,可以用 System.out.println("java.library.path:"+System.get

2015-09-08 15:39:46 12208 2

原创 Mac下docker环境搭建

在功能测试中,Appium测试需要搭建docker环境。1,        安装官方文档安装docker, http://docs.docker.com/installation/mac/    Docker的核心底层技术是LXC(LinuxContainer),由于LXC本身不支持Mac内核,因此需要跑一个VirtualBox虚拟机(TinyCoreLinux)来安装,幸好Docker社

2015-08-28 16:28:35 774

原创 How to run java and junit in command line

1、一般初学Java时,安装jdk后,都会在命令行用javac编译一下程序,然后用java运行。如javac HelloWorld.java ,会生成一个HelloWorld.class的文件,然后java HelloWorld就能运行了。这是最初级,下面将介绍当java有其他依赖包的时,该怎么在命令行去编译及运行。假设依赖lib1.jar和lib2.jar两个包。javac -d bin

2015-08-22 13:42:42 786

原创 Android图像识别之tesseract-ocr

最近尝试了一下Android的图像识别,用的是Google的开源库tesseract-ocr 。参考了网上一些同学的测试代码。下面是识别效果,英文和数字正确率高,中文就比较差了,而且中文识别速度很慢,我想这个中文库的大小有关。对了,有几条命令介绍一下, 讲中英文库导入真机或模拟器。adb push XXX /mnt/sdcard/XXX,目录可以自己确定,和代码中保持一致即可。

2015-08-06 17:32:52 797

原创 Android开发java.io.FileNotFoundException:open failed: EACCES(Permission denied)

在Android图像识别的时候遇到这个问题,原因是要读取真机或模拟器SD卡的数据,而权限不够,需要在AndroidManifest.xml文件中添加相关权限。如果你需要对SD卡的读写权限,需要加入以下内容:如果需要新建文件或目录,还需要添加以下权限:亲测可行。

2015-08-06 17:16:39 3617

原创 MAC 下查看某个端口被哪个进程占用及杀进程方法

1,查看端口被哪个程序占用sudo lsof -i tcp:port如: sudo lsof -i tcp:80802,看到进程的PID,可以将进程杀死。sudo kill -9 PID如:sudo kill -9 23453

2015-07-12 13:51:34 1739

原创 Mac 下将 svn di 更换为 vim diff

习惯了windows下的beyondCompare,同时mac下也没有svn的客户端,代码比较比较麻烦。找到一种方便的代码比较方法,使svn di 有 vim diff的效果。1,编写脚本diffwrap.sh,放在自己的目录下并给执行权限,如 /Users/heilang/Documents。脚本内容如下:2,修改~/.subversion/config文件,将其中修

2015-06-18 11:40:34 692

原创 常见的HTTP状态码

记录一下常见的几种HTTP的状态码状态码说明200客户端请求成功402临时跳转,跳转地址通过Location指定400客户端请求有语法错误,不能被服务器识别403服务器收到请求,但是拒绝提供服务404请求的资源不存在,常见的404 Not Found 500服务器发生不可预期的错

2015-06-10 19:58:54 459

原创 No unique bean of type

使用webx开发时遇到几次这样的错误,总结一下。在applicationContext.xml里面添加定时器任务的配置: 最后一行,加了一个unitService的bean。这个bean是一个现有Service的实现类。@Servicepublic class UnitServiceImpl implements UnitServ

2015-06-09 19:55:25 1616

原创 http和https的区别

之前很多注意到URL的开头,一般如果是http开头的,浏览器中的URL都会默认隐藏,而https则不会隐藏,如访问百度。你可以看到相关的一些证书信息。下面简单介绍一下http和https。超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。HTTPS(全

2015-05-28 11:39:03 689

原创 Mac下转发80端口到8080

在eclipse下调试webx程序,起了8080端口:2015-05-18 13:02:57.132:INFO::Started SelectChannelConnector@0.0.0.0:8080访问网页时需要绑定hosts,如 127.0.0.1  www.xxxx.com此时需要讲80端口转发到8080才能正常调试。具体步骤如下:1,sudo vim /etc/pf.con

2015-05-18 13:58:27 7655

转载 JRE与JVM、JDK的区别

虽然以前很是鄙视JAVA语言,但工作需要,不得不硬着头皮去从零开始学习。先从几个基本的概念来说起吧,关于JRE、JVM和JDK,在网上查到了一些资料。1、JVM -- java virtual machine       JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就

2014-12-01 10:45:56 464

原创 复制一个带随机指针的链表

阿里巴巴测试开发校招二面的一个面试题一个单链表除了next指针外,还带有一个随机指针(设为rand)指向任意元素,用最少的时间复杂度和最少的空间复制该链表。开始想了很久,只想到一个O(n^2)的方法,显然没能令面试官满意,面试官也没有告诉我正确的方法,只是对我的思路表示肯定。下面先介绍一个我的面试的时候想到的方法。方法1:将这个链表看成是一个图,一个有向的图,用一个二维的数组来记录

2014-09-16 22:19:59 826

原创 fread 和 read

coding的时候看到有的地方用fread,有的地方用read。下面总结一下俩者的区别。read(由已打开的文件读取数据)包含头文件:#includessize_t read(int fd,void * buf ,size_t count);函数说明  read()会把参数fd 所指的文件传送count个字节到buf指针所指的内存中。若参数count为0,则read()不会有作

2014-03-30 11:15:33 766

原创 10 Tips to make Your C Program Effective

The beauty of any code lies not only in finding the solution to a given problem but is in its simplicity, effectiveness, compactness and efficiency( memory ). Designing the code is harder than actuall

2013-06-21 14:53:29 707

原创 大众点评实习生面试题(1)

下面是大众点评网技术部测试开发实习生的几道面试题1,要求实现库函数strcpy, 原型声明:extern char *strcpy(char *dest,char *src); 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 解析:这是我

2013-06-07 19:26:37 1237

原创 巧用 C 语言的位运算

在C语言编程中,我们常常能用到一些位运算来代替常规的一些运算。因为在多数情况下位运算的效率会高于普通的运算。例如用右移一位带代替除以2。下面介绍一些常用的位运算技巧。位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表

2013-06-02 20:25:58 862

原创 Linux shell 基础

1,shell中 中括号[] 的作用中括号[ ],感觉作用就是用来比较的。比如放在if语句里面,while语句里面,等等。这里引出来[..]和[[…]]的区别,使用[[ ... ]]条件判断结构, 而不是[ ... ], 能够防止脚本中的许多逻辑错误. 比如,&&, ||, 操作符能够正常存在于[[ ]]条件判断结构中, 但是如果出现在[ ]结构中的话, 会报错。2,shell判

2013-05-30 11:00:21 562

原创 Linux中锁的类型

今天索尼中国的电面,问了很多linux相关的知识,其中有一个关于linux锁的类型的问题,下面对锁进行一下总结。根据完成任务所需要的结构不同,一个应用程序可能会使用多种不同类型的锁原语,因此,开发人员必须避免在一个给定任务中混淆这些锁原语,尤其在使用第三方提供的库时需要格外小心。假设在一个应用程序中,资源R依赖于第三方提供的库,并且在该库中资源R使用L型锁作为同步原语。此时,若开发者需要在应用

2013-05-27 18:43:51 942

转载 详解大端模式和小端模式

详解大端模式和小端模式一、大端模式和小端模式的起源关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋

2013-05-25 11:28:21 664

原创 一道有趣的字符串算法题

题目描述:有两个字符串由不同的字母组成,一长一短,长的为A短的为B。设计一个算法,如果所有在B中出现的字符都在A中出现,则返回true,否则返回false。(请注意控制算法复杂度)例子:如下字符串:字符串A: abddfdioegdddffsfagj字符串B: dofsjadg字符串B中每个字符都在A中出现,返回true。如下字符串:字符串A: aaaabbbbbbdd

2013-05-25 10:32:13 963

原创 setjmp和longjmp函数

先看一道sony中国的笔试题:#include#includestatic jmp_buf buf;int main(){ volatile int b; b = 3; if(setjmp(buf)!= 0 ) { printf("%d\n",b); exit(0); } b = 5; longjmp(buf,1);}非局部跳转语句---setjm

2013-05-16 10:06:44 671

原创 索尼的一道笔试题

题目描述:如何在 C++ 中调用 C 编译的函数库?反之在 C 中如果要调用 C++ 编译的文件中的函数该怎么做呢?第一个问题相信大多人都很熟悉,我前面也有一篇博文介绍。在C++程序中调用C程序下面重点讨论在 C 中调用 C++ 的函数。调用C++函数库,一般不能直接调用,需要将 C++ 库转换成C接口输出,方可以使用 C 调用将 C++ 函数声明为``extern "C"''(在你的 C

2013-05-16 09:07:11 1366

第四版计算机组成原理答案

第四版计算机组成原理答案 科学出版社 立体化教材

2009-03-17

空空如也

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

TA关注的人

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