自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有心好书

关注音视频前后端,也会分享记录一些工作、财务、感情、生活方面的思考与成长

  • 博客(410)
  • 收藏
  • 关注

原创 对比JAVA学习PHP系列:数据结构

总结:php是一种弱类型检查的语言php中的字符串和数组非常重要。主题PHPJAVA1. 定义变量与常量,系统的内置的常量最基本的数据存储单元变量:变量是临时存值的容器。在任何编程语言中都居于核心位置。php是一种弱类型检查的语言(和java区别非常大),它的数据类型是由程序的上下文决定。php的特性之一就是它不要求在使用变量之前声明变量。当第一次给一个变量赋值时,你才创建了这个变量。一旦设置了这

2016-08-13 20:46:10 999

原创 对比JAVA学习PHP系列:入门简介

总结:主题           PHPjava1.了解这门语言的由来http://www.cnblogs.com/sashimi/archive/2012/10/08/2715358.html这篇文章详细介绍了PHP的由来。主要概括如下:英文简写:HypertextPreprocessor初版是C语言写的,全名PersonalHomePageTools,后来才发展成一门语言http://zqdev

2016-08-13 17:39:09 824

原创 编程语言思考系列:解释性语言,编译性语言,脚本语言

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。   翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。解释性语言  解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。  现代解释性语言通常把源程序编译成中间代码,然后用

2016-08-13 17:28:20 1042

原创 编程语言思考系列:编程范式(草稿)

编程语言有千万种,但是编程范式就那几种,不同语言就像堆积木一样把这些范式堆起来而已。

2016-08-13 17:14:08 815

转载 编程语言思考系列:为什么会有这么多的编程语言?

一.为什么会有这么多的编程语言?不同的cpu有着不同的指令集,这些指令集都是二进制的0和1;后来有了汇编语言,可以认为是二进制指令的助记符表示;再后来有了高级编程语言,它们通过编译器又变回了汇编语言或者机器语言;紧接着一个又一个的高级编程语言诞生了,为什么会有这么多编程语言呢?二.思考因为编译原理和技术越来越成熟了。语言大体上有四个阶断    1、机器编码阶断,比如卡带编码。 2、汇编语言阶断

2016-08-13 17:12:16 6908 3

原创 对比JAVA学习PHP系列:PHP技能树

评估标准:了解应用熟练模块内容详情掌握程度评估难点入门简介 1.了解这门语言的由来2.它的特点及譬如它各个版本迭代的特点3.开发环境4.IDE5.了解基本的注释与代码分割的规范6.新特性熟练 数据结构 1.关键字:final、static、this、super等等2. 定义变量与常量,系统的内置的常量3.基本数据类型和引用数据类型4.字符串类型的使用(语言间差异较大)7.运算符8.表达式9.数组熟

2016-08-13 14:34:32 869

转载 PHP程序员的技术成长规划

按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。  本文按照目前主流技术做了一个基本的梳理,整个是假设PHP程序员不是基础非常扎实的情况进行的设定,并且所有设定都非常具体明确清晰,可能会让人觉得不适,请理解仅代表一家之言。(未来技术变化

2016-08-13 13:35:38 1004

原创 对比JAVA学习PHP系列:高级:轻量级开源PHP框架BroPHP分析

框架分析#框架说明brophpweb框架一般需要具备的功能。配置文件内置函数(对常见的一些打印方法进行封装,更易使用)代码组织结构基类设计页面跳转:成功、失败、重定向切换模板风格数据库统一操作接口,便于使用,而不是使用原生的sql语句调试模式内置扩展库,对分页、图像处理库的封装#框架应用案例brocms![](http://7

2016-08-12 21:08:25 1086

原创 对比JAVA学习PHP系列:高级:PHP的模板引擎Smarty

#引入假设不使用模板引擎,会有一个问题是,php代码和html代码混在一个文件中,而我们知道php是后台程序员做的,html属于前端开发人员的工作内容,如果杂糅在一起,一旦以后修改,导致的问题就是php程序员也要去看html,html前端需要去看php代码。耦合非常严重,怎么把表现层和逻辑层区分开就显得尤为重要了。现在已经有了很多解决方案,几乎可以将网站的页面设计和php应用程序完全分离。这些解决方案

2016-08-12 21:08:05 1261

原创 对比JAVA学习PHP系列:高级:会话控制

会话控制是一种面向连接的可靠通信方式,通常根据会话控制记录判断用户登录的行为。例如,当我们在某个网站的e-mail系统上成功登录以后,在这之间的查看邮件、收信、发信等过程,有可能需要访问多个页面来完成。**<font color="red">但在同一个系统上,多个页面之间互相切换时,还能保持用户登录的状态,并且访问的都是登录用户自己的信息。这种能够在网站中跟踪一个用户,并且可以处理在同一网站中同一个用户在多个页面

2016-08-12 21:07:38 721

原创 对比JAVA学习PHP系列:高级:MemCache入门

Memcache入门#是什么Memcache是一个服务端缓存是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界很多人使用这个缓存项目来构建自己大负载的网站。服务端缓存在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法。其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,还可以分担数据库的压力,从而提高了服务的

2016-08-12 21:07:16 736

原创 对比JAVA学习PHP系列:应用:php数据库开发

<?php // PDO测试 $dsn = "mysql:dbname=bookstore;host=127.0.0.1"; $user = "root"; $password = "admin"; try { $dbh = new PDO($dsn, $user, $password); } catch (PDOExcep

2016-08-12 21:06:43 718

原创 对比JAVA学习PHP系列:应用:php的文件系统处理

php基本语法的学习已经告一段落,这块用时查文档即可,不过是基本语法的组装。

2016-08-12 21:06:20 739

原创 对比JAVA学习PHP系列:应用:php的日期和时间

php基本语法的学习已经告一段落,这块用时查文档即可,不过是基本语法的组装。

2016-08-12 21:05:57 717

原创 APP性能优化系列:ViewPager加载大图出现OOM优化

最近公司的app有一些医生反馈说:预览患者发送的图片加载的特别慢,并且经常加载不出来。  仔细分析这个问题的由来,之前客户端预览大图页加载图片设置的像素数是1024*720,即一张图片占用的内存为:1024*720*2=1.4M(大概).大图预览页面采用的是viewpager,viewpager默认占用的内存为3*1.4M,不易出现OOM。  后来做了一次大图预览调整,最终的解决方案是调整预览大图页

2016-08-12 20:53:06 5054 6

原创 重构案例积累系列:get set方法重构

封装字段你的类中需要一个public的字段。把它声明为private,并提供相应的访问函数。php版class Test{ private $day; /** * @return mixed */ public function getDay() { return $this->day; } /** * @p

2016-08-10 12:26:03 1136

原创 重构案例积累系列:以卫语句取代嵌套条件表达式

需求:验证qq是否合法:5-15位,不能以0开头,全是数字一般做法(不使用正则表达式): private static boolean checkQQ(String qq) { int len = qq.length(); if (len >= 5 && len <= 15) { if (!qq.startsWith("0")) {

2016-08-09 09:59:21 1748

原创 协议的理解

协议的通俗理解:协议就是技术规范的意思,说句更简单的,就是告诉计算机之间该怎么对话(通信),字符A是用65表示还是用1来表示,这就是协议。当然具体的东西就复杂了,比如你要获得某个网页,你该用什么格式发送,对方用什么格式接收,用什么格式反馈,这都是协议。协议是人规定的,比较大的协议族包括RFC(Request for Comments (RFC) Pages)这一类,还有IEEE的技术规范(也算是协议

2016-08-04 18:28:29 1044

原创 android上传下载系列:断点上传&断点下载对比一览

断点上传:要进行文件断点上传,http协议并没有直接支持,因此没有一个标准的方法,但是可以自己实现协议来完成这个功能: 1. 发送方获得要上传文件的范围:可以是从保存在本地的记录中获得,也可以是跟接收方协商获得该文件在上次传输后还需要传输的范围。 2. 发送方把文件内容及本次传输的数据开始位置上传到接收方,可采用http的post方式,传输数据的封装格式用Multi-part formposts,可

2016-08-04 09:47:38 1132

原创 android上传下载系列:一般性知识解读

http协议之http消息头消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。http报文由从客户机到服务器的请求和从服务器到客户机的响应构成,所以http消息分为请求消息和响应消息两类。如下图所示:

2016-08-03 17:49:10 1010

原创 android上传下载系列:如何优化上传的性能

如何优化文件上传性能?对于文件上传性能优化,可以从两个方面来着手,即上传前的优化和上传过程中的优化。

2016-08-02 21:35:41 5314 1

原创 android上传下载系列:断点续传分析

因为断点续传真的用不了http头部的几个字段,没办法,他只能自己来规定协议了。但是它们都还是需要RandomAccessFile。其实通常性的原理都是分块分片。协议1虽说可以实现断点续传,不过他针对一个大文件只会有一个sourceid,它可以实现续传,但并不能提高上传的性能。只有通过对一个大文件分片分块,然后并发上传,这样才能提升上传的性能。

2016-08-02 21:34:59 4156

原创 android上传下载系列:断点下载分析

断点续传下载,顾名思义,那就是我们在一次下载未结束时,退出下载,第二次下载时会接着第一次下载的进度继续下载。http请求的时候加入头域RANGE (RANGE: bytes=100000-200000)详细使用方法请看http协议。这样就可以指定获取的文件的起始位置和结束位置,如果下载视频文件最好能先获取文件的属性信息再分块,多个请求同时下载,比如100M的文件可以分为100个1M的块,5个请求同时下

2016-08-02 21:34:24 869

原创 程序的扩展性建立在对业务需求变化的预见性之上

程序的扩展性建立在对业务需求的预见性之上

2016-08-01 22:15:33 880

原创 java夯实基础系列:数组

数组:#数组的定义以及数组的使用```public class Test1 { public static void main(String[] args) { int[] arr = new int[]{3, 4, 5}; int[] arr2 = {3, 4, 5}; // 前面是指明类型,后面是开辟空间的,所以需要在后面

2016-07-31 22:52:12 756

原创 java夯实基础系列:正则表达式

#一.引入需求:验证qq是否合法:5-15位,不能以0开头,全是数字一般做法与使用正则表达式的做法:```public class Demo1 { public static void main(String[] args) { String qq = "a38703402948"; // 常规做法 boolean check

2016-07-31 22:50:37 951

原创 java夯实基础系列:IO

看大图

2016-07-31 22:50:11 765

原创 java夯实基础系列:集合

容器#一.引入为什么需要集合?数组存在两个缺陷:数组长度难以扩充数组中元素类型必须相同容器可以弥补数组的这两个缺陷#二.集合体系Java的所有的集合体系都是实现了Collection接口,所有通用的 Collection 实现类(通常通过它的一个子接口间接实现 Collection)应该提供两个“标准”构造方法:一个是 void(无参数)构造方法,用于创建空 col

2016-07-31 22:49:41 1137

原创 java夯实基础系列:异常

异常你可以认为是对象,在xx情况下产生异常对象,异常对象是虚拟机产生的,不是我们来定义的,java中异常也是对象。异常:中断了正常指令流的事件异常和语法错误是完全不一样的东西异常时运行中出现的,而语法错误连编译都是通不过的

2016-07-31 22:49:05 1243

原创 java夯实基础系列:内部类

将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。**访问规则:**内部类可以直接访问外部类中的成员,包括私有成员(原因是内部类持有一个外部类的引用,该引用的写法是Outer.this)外部类要访问内部类中的成员必须要建立内部类的对象内部类属于外部类的一个成员,就相当于一个成员内部类,把它跟成员变量平级去看待。外部类如何访问内部类,即内部类的访问格式

2016-07-31 22:48:28 741

原创 java夯实基础系列:深入理解static、final关键字

static表示“全局”或者“静态”的意思。static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可

2016-07-31 22:47:17 1030

原创 java夯实基础系列:注解

从java 5.0开始,为我们提供注解功能,通过注解可以限制代码的重载,过时,以及实现一些其他功能,这里,就来分析一下java的注解。  本文旨在帮助大家感性的认识注解,一般注解在架构设计中会常用到,可以让代码变得非常简洁,实现代码的复用。注解的作用  注解为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。  每当你创建描述符性质的类或者接口时,一旦其中包

2016-07-30 21:57:38 798

原创 java夯实基础系列:枚举

定义Java 代码的两个基本的构造块是 类和 接口。现在又引入了 枚举,一般简称它为enum。这个新类型允许您表示特定的数据点,这些数据点只接受分配时预先定义的值集合。当然,熟练的程序员可以用静态常量实现这项功能,如清单 1 所示:public class OldGrade { public static final int A = 1; public static final int B

2016-07-30 21:27:36 819

原创 java夯实基础系列:装箱、拆箱

定义  自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。  如果你在Java1.5下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合(Collections)中放入原始类型值,因为集合只接收对象。通常这种情况下你的做法是,将这些原始类型的值转换成

2016-07-30 21:09:11 948

原创 java夯实基础系列:接口与抽象类

接口  接口在Java当中是通过关键字interface来实现,接口不是类,所以也不能被实例化,接口是用来建立类与类之间的协议,它的提供的只是一种形式,而没有具体的实现。实现类实现(implements)接口,必须实现接口的全部方法   接口是抽象类的延伸,Java不允许多重继承(即不能有多个父类,只能有一个),但可以实现多个接口。在使用接口的过程中,就注意以下几个问题:接口中不能有构造方法。

2016-07-30 20:04:58 835

原创 java夯实基础系列:面对对象原则

面对对象原则面对对象与面向过程区别面向过程1.优点 对于需求明确、规模不大、变动较小的问题非常适合 符合人们的思维习惯2.缺点 数据和操作分不开 程序结构的依赖关系不合理 对于需求不明确、变动较大、规模很大的问题,显得比较吃力3.面向过程的思维方式 分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 以算法为核心 自顶向下设计,要求一开始必须对问题有很深的了解 将大问题转

2016-07-30 19:19:48 855

原创 java夯实基础系列:java起源、特点及各版本的新特性

对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。java的由来  Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。  任职于太阳微系统的詹姆斯·高斯

2016-07-30 11:54:15 1145

原创 java夯实基础系列:学习结构和方向

在初级开发阶段,我们可能就稍微的懂点java,就可以完全胜任应用开发,但是真正的资深工程师,他们都是向下延伸的,不仅知道怎么用,还是知道为什么,这样才能写出性能更好的代码,强烈建议在水平达到一定级别时,多在基本功上下功夫。

2016-07-29 14:47:16 1033

原创 java夯实基础系列:JAVA技能树

评估标准:了解应用熟练模块内容详情掌握程度评估难点入门简介 1.了解这门语言的由来2.它的特点及譬如它各个版本迭代的特点3.开发环境4.IDE5.了解基本的注释与代码分割的规范6.新特性熟练 数据结构 1.关键字:final、static、this、super等等2. 定义变量与常量,系统的内置的常量3.基本数据类型和引用数据类型4.字符串类型的使用(语言间差异较大)5.基本的时间日期类型6.高级

2016-07-29 14:26:57 3816

原创 2016.02.16我的上司对我说的一席话

关于职业规划5年过得非常快,自己其实没有多少时间去折腾的。工作的前五年时间没有一天早走过,没有过过一个好的周末,就是为了等到30岁的时候有所成就。android 6-7年内不会出现式微,一旦式微你可以再转呀,不然你的android经验白瞎了。比如晓宇做了一年android就成为高级工程师了,因为你有积累经验和视野在那里,学习能力也在,可以很快成为这一行里的人才。你必须技术能力非常强,才会有选择

2016-07-28 22:34:04 1213

空空如也

空空如也

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

TA关注的人

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