
移动开发
文章平均质量分 71
yolosliu
那些寂寞的岁月,成全最美的人生!
展开
-
Android开发过程中将APP的数据写入本地存储的方法
在Android开发过程中,我们经常会遇到本地数据存储的过程。因此,在这种情况下,我们需要通过流的形式,将数据写入到存储中。具体如下:package com.example.ble;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import android.content.C原创 2017-03-02 15:48:21 · 5868 阅读 · 1 评论 -
窥孔优化
1 定义:一种很局部的优化方式,编译器仅仅在一个基本块或者多个基本块中,针对已经生成的代码,结合CPU自己指令的特点,过一些认为可能带来性能提升的转换规则,或者通过整体的分析,通过指令转换,提升代码性能。这个窥孔,你可以认为是一个滑动窗口,编译器在实施窥孔优化时,就仅仅分析这个窗口内的指令。每次转换之后,可能还会暴露相邻窗口之间的某些优化机会,所以可以多次调用窥孔优化,尽可能提升性能原创 2017-07-01 22:20:52 · 2174 阅读 · 0 评论 -
链表详解
关于链表,以下说法正确的是 ( )正确答案: B C 需经常修改线性表L中的结点值适合采用链式结构需不断对线性表L进行删除插入适合采用链式结构带头结点的单链表,在表的第一个元素之前插入一个新元素与链表长度无关删除单链表中的最后一个元素,与链表长度无关 链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头原创 2017-07-03 21:30:20 · 1018 阅读 · 0 评论 -
开源项目--阿里巴巴&&腾讯&&Google
阿里巴巴1、设计语言&前端框架 Ant Design ★Star 14889 Ant Design 是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于 React 的前端框架实现。它企业级金融产品的交互语言和视觉体系;丰富实用的 React UI 组件;基于 React 的组件化开发模式;背靠 npm 生态圈;基于 webpack 的调试构建方原创 2017-07-16 11:17:21 · 12497 阅读 · 0 评论 -
HTTP缓存原理介绍
通过Internet获取资源既缓慢,成本又高。为此,Http协议里包含了控制缓存的部分,以使Http客户端可以缓存和重用以前获取的资源,从而优化性能,提升体验。虽然Http中关于缓存控制的部分,随着协议演进,有一些变化。但我觉着,作为后端程序员,在开发Web服务时,只需要关注请求头If-None-Match、响应头ETag、响应头Cache-Control就足够了。因为这三个Http头就可以满足你原创 2017-07-20 21:55:16 · 292 阅读 · 0 评论 -
用伪代码写出生产者消费者
#include #include #include #include #include #include #include #include #define ERR_EXIT(m) \ do \ { \ perror(m); \ exit(EXIT_FAILURE); \原创 2017-03-25 20:56:07 · 4379 阅读 · 0 评论 -
http的状态码
HTTP状态码以及它们最基本的含义100 继续表示服务器已经接收到了请求头,并且客户端应该继续发送请求体。101 切换协议表示请求方已经要求服务器切换协议,并且服务器已经接受并会进行处理。200 正常HTTP 请求成功的标准应答。实际的应答内容由请求使用的方法来决定。201 已创建请求已经被接受,并且请求所对应的资源已经被创建。原创 2017-08-05 20:56:08 · 394 阅读 · 0 评论 -
kmp
()因为一开始没看懂,转过来,慢慢看!)KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。但是相较于其他模式匹配算法,该算法晦涩难懂,第一次接触该算法的读者往往会看得一头雾水,主要原因是KMP算法在构造跳转表next过程中进行了多个层面的优化和抽象,使得KMP算法进转载 2017-08-22 19:54:46 · 1372 阅读 · 0 评论 -
美团校招 关灯问题&&7的倍数
package interview;import java.util.*;public class meituan {//关灯问题,看谁赢 public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()){ int n = sc.nextI原创 2017-09-14 21:36:58 · 647 阅读 · 0 评论 -
ip地址的恢复
给一个由数字组成的字符串。求出其可能恢复为的所有IP地址。样例给出字符串 "25525511135",所有可能的IP地址为:[ "255.255.11.135", "255.255.111.35"](顺序无关紧要)class Solution {public vector restoreIpAddresses(string& s) {原创 2017-09-17 12:03:40 · 5091 阅读 · 0 评论 -
用matlab画指定点与点之间的连线
将散点图中的点按照特定路线进行连线——gplot。%% 导入数据%%一级节点+二级节点(自动)data = xlsread('C:\Users\Administrator\Desktop\zuobiao.xlsx','Sheet1');data2 = xlsread('C:\Users\Administrator\Desktop\zuobiao.xlsx','Sheet4');da转载 2017-11-29 21:14:07 · 30455 阅读 · 0 评论 -
ORM的概念, ORM到底是什么
一、ORM简介 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。那么,到底如何实现持久化呢?一种简单的方案是采用硬编码方式,为每一种可能的数据库访问操作提供单独的方法。转载 2017-07-01 22:25:14 · 1641 阅读 · 0 评论 -
12个非常有用的JavaScript技巧
1) 使用!!将变量转换成布尔类型有时,我们需要检查一些变量是否存在,或者它是否具有有效值,从而将它们的值视为true。对于做这样的检查,你可以使用||(双重否定运算符),它能自动将任何类型的数据转换为布尔值,只有这些变量才会返回false:0,null,"",undefined或NaN,其他的都返回true。我们来看看这个简单的例子:funct原创 2017-05-11 15:17:24 · 286 阅读 · 0 评论 -
Dijkstra和Floyd算法----最短路径算法
Dijkstra转自:http://blog.chinaunix.net/uid-26548237-id-3834514.htmlDijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dij转载 2017-03-24 22:00:17 · 5371 阅读 · 0 评论 -
java笔试开发基本知识
1、http的6种请求方式1.GET:GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。2.HEAD:HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象原创 2017-03-25 21:03:59 · 288 阅读 · 0 评论 -
从输入url到页面展示到底发生了什么
阅读目录1、输入地址2、浏览器查找域名的 IP 地址 3、浏览器向 web 服务器发送一个 HTTP 请求4、服务器的永久重定向响应5、浏览器跟踪重定向地址6、服务器处理请求7、服务器返回一个 HTTP 响应 8、浏览器显示 HTML9、浏览器发送请求获取嵌入在 HTML 中的资源转载 2017-04-11 16:16:42 · 493 阅读 · 0 评论 -
进程通信及处理器调度
进程通信及处理器调度1、进程并发条件在并发环境中进程执行方式与顺序环境中的进程执行方式存在一些差异,主要表现在:1.进程执行是简短的。因为在多道程序中,处理器交替的为多个进程服务,进程运行中会出现间断。对某个程序而言,其执行过程很可能失去原有的时序关系。2.程序执行有可能失去其封闭性。程序的封闭性是指在同一段程序中一旦处置设定后,程序执行结果不应该受外界环境的影响。3.原创 2017-03-26 17:10:19 · 399 阅读 · 0 评论 -
如何使用sublime编辑器运行python程序
首先你需要安装一个Sublime Text(http://www.sublimetext.com/)和一个Python(https://www.python.org/downloads/),接下来打开Sublime Text:1、如下图所示,点击菜单栏中的Tools —> Build System —> New Build System… (可以看到系统默认选择的是Automati原创 2017-04-04 22:32:26 · 102964 阅读 · 15 评论 -
正则表达式的使用
正则表达式中的特殊字符,就是一些有特殊含义的字符,如“*.txt”中的*,简单的说就是表示任何字符串的意思如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\。ls \*.txt。正则表达式有以下特殊字符。需要转义 特别字符说明$匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline原创 2017-04-01 14:53:54 · 823 阅读 · 0 评论 -
java二进制、八进制、十六进制间转换详细
1.各进制表示Java里不能使用前置表示2进制,只能是 8,10,16进制 8: 前置 0 10: 不需前置 16: 前置 0x 或者 0Xpublic class test { public static void main(String[] args) { int octalB = 012; int hexB = 0x12;转载 2017-04-18 20:58:33 · 839 阅读 · 0 评论 -
git commit/ git rebase /git pull/git reflog
当你不小心,写错了提交的注视/信息,该如何处理呢。理论上,SCM是不应该修改历史的信息的,提交的注释也是。 不过在Git中,其commit提供了一个--amend参数,可以修改最后一次提交的信息.但是如果你已经push过了,那么其历史最后一次,永远也不能修改了。 我使用git commit --amend已经push过的,截图如下,我那个"fixes #3"永远的在版本历史中了。原创 2017-04-07 16:58:32 · 779 阅读 · 0 评论 -
聊下git pull --rebase
有一种场景是经常发生的。大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个。然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周。在这期间你可能需要时不时的需要pull下远程develop分支上的同事的提交。这是个好的习惯,这样下去就可以避免你在一个无用的代码上进行长期的开发,回头来看这些代码不是新的代码。甚至是会面临很多冲突需要解决,而这个时候你可能还需要对冲突的转载 2017-05-02 10:25:15 · 2318 阅读 · 0 评论 -
生产者消费者之Java/python实现
java实现版/** * 生产者线程,负责生产公共资源 */ class ProducerThread implements Runnable { private PublicResource resource; public ProducerThread(PublicResource resource) { this.resou原创 2017-04-17 15:47:50 · 432 阅读 · 0 评论 -
粒子群算法
一、粒子群算法的概述 粒子群算法(PSO)属于群智能算法的一种,是通过模拟鸟群捕食行为设计的。假设区域里就只有一块食物(即通常优化问题中所讲的最优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,通过相互传递各自的信息,让其他的鸟知道自己的位置,通过这样的协作,来判断自己找到的是不是最优解,同时也将最优解的信息传递给整个鸟群,最终,整个鸟群都能聚集在食物源周围,即我们所说的找到了原创 2017-12-04 16:05:57 · 1302 阅读 · 0 评论