自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白成长记录

春风十里不如你

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

原创 Python 07:Python函数

Python函数介绍函数是程序开发第一重抽象。当我们的代码中出现很多重复代码时我们就要考虑是否需要提炼共有函数出来了,Don't Repeat Youself。通常面向过程语言称作函数,面向对象语言称作方法。主要看该代码块是独立的还是位于class里面。Python中通过def关键字来定义函数函数定义def function(): ... pass备注:Python不像java,P

2016-07-31 21:16:23 448

原创 Zookeeper安装和简单使用

Zookeeper安装和简单使用介绍ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。我工作

2016-07-31 16:55:17 6144

原创 Python 06:Python控制语句

Python控制语句介绍如果说Python和其它语言最大的不同,那么久在于Python强制使用缩进来使得代码更具可读性和优雅。所有的程序都是由顺序、分支、循环结构所构成的,由于Python并不是使用分号表示结束语句,也不是使用大括号来表示代码块的。所以对于学过C系语言的人来说,一开始可能觉得有点别扭,但是一旦你知道Python的精要你就会觉得Python这么做是合理和优雅的。顺序执行语句所有的程序

2016-07-31 10:50:16 726

原创 Python 05:Python字典类型

Python字典类型介绍在java中Map数据结构可以存储任意数据类型,同样Python中字典就是扮演这个角色的数据结构。字典:不同语言的叫法不同,比较常听的称谓是映射、字典、key-value键值对。由于字典/映射都是通过hash算法实现的,所以其存储和查询速度很快,但是由于无序存储所以导致遍历也不是很方便,并且为了要维护hash值导致会更耗内存,但对现代计算机而言通常会选择空间换时间。字典的本

2016-07-31 10:01:49 1148

原创 Python 04:Python列表和元组

Python列表和元组介绍Python中列表和元组是比较常用的数据结构,尤其列表几乎是最常用的数据结构,就像java中的ArrayList.list列表是存储一组有序元素的数据结构。元素类型可以是任意数据类型.tuple元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使

2016-07-31 09:26:51 414

原创 Python 03:Python字符串

Python字符串介绍其实实际开发中有很多时候我们都是在对字符串做处理,因此字符串数据类型绝对是我们学习任何程序语言都要深入掌握的。不管是C/Java语言对字符串都提供了强有力的支持,Python也不例外。Python字符串常用方法将字符串当作字符数组来看待str="hello world"1、获取字符串长度len(str)2、字符串拼接直接使用" + "拼接3、分片操作/截取操作

2016-07-30 23:22:52 525

原创 Python 02:Python数据类型

Python数据类型介绍和任何一门程序设计语言一样,python也定义了自己的数据类型,整体上和C语言系的是相同的。基本数据类型往往是程序开发过程中使用最频繁的,因此学习任何一门程序语言都要先清楚其基本的数据类型,并且所有其它复杂的数据类型都是由基本数据类型所组成的。python中数据类型整数浮点数布尔类型字符串日期列表元组字典注意:由于python是一门动态语言,因此在使用变量时

2016-07-30 18:48:09 428

原创 Python 01:Pyton历史和入门介绍

Pyton历史和入门介绍Python是在1991年诞生的一门面向对象、解释型计算机程序设计语言。Python能做很多事情,小到简单脚本大到后端架构设计,也可以使用python来做胶水语言。学习程序设计语言C、Java、Python作为入门语言都很不错,如果是科班推荐C/Java语言入门(通常学习一门强类型语言是非常有必要的,并且很多语言都是借鉴 参考C语言而诞生的),如果是非科班对程序设计有兴

2016-07-30 08:25:19 3715

原创 Linxu下crontab结合脚本实现定时任务

Linxu下crontab结合脚本实现定时任务介绍有时有些简单的任务我们需要放在服务器上,让服务器帮我们跑,那么我就就可以写shell脚本或python脚本等配置到crontab文件下,让linux定时跑我们想要执行的脚本。crontab命令详解crontab命令的功能是在一定的时间间隔调度一些命令的执行Crontab语法usage: crontab [-u user] file cr

2016-07-29 22:41:06 617

原创 Python网络请求模块requests

Python网络请求模块requests背景介绍之前说了,公司有一个需求需要使用python实现。由于公司服务器上的python版本是2.7我在写这个需求时,用到网络请求这部分时,发现python 2.7版本的请求模块真的是设计很不合理,urllib和urllib2两个包,我弄的云里雾里的,索性我就不适用自带内建函数,寻找第三方函数库了,发现requests这个函数库非常的便捷(http for h

2016-07-28 23:23:22 16444

原创 Python函数入参解惑

Python函数入参解惑介绍由于最近一个需求需要使用python来开发,所以就学习了下python,其中让我有一点困惑的是python的函数入参我第一眼确实蒙圈了,看内建函数定义了那么多入参,但是调用的时候并不是都需要传入参数的,这让我很是奇怪(由于本人之前一直都是使用java开发的),于是我决定好好研究下python函数入参到底是怎么回事。虽然只学了一两天但是对python还是挺有好感的,相信py

2016-07-28 21:50:42 5159

原创 Linux常用命令

Linux常用命令linux命令格式command [options] [arguments]commands :命令options :--单词 或 -单字符arguments:参数在查看命令帮助时,会出现[],<>,|等符号,它们的含义如下[] :表示可选<> :表示可变化的x|y|z :表示只能选择一个-abc :表示三个参数(或任何二个)的混

2016-07-28 20:35:31 301

原创 java自带定时任务功能(Timer&TimerTask)

java自带定时任务功能(Timer&TimerTask)介绍开发中我们经常会有这样的业务,比如在凌晨的时候跑一个任务或者指定在某个时刻跑任务,这就是所谓的定时任务。通常定时任务也是异步处理的,此时我会联想到消息中间件的功能(异步与解耦),java自带了简单的定时任务功能,通过借助Timer和TimeTask可以时间简单的任务调度功能。任务调度器的最核心两点1、任务(定义具体干什么,通常实现Ru

2016-07-24 23:20:00 6131 1

原创 XML技术

XML技术介绍XML(EXtensible Markup Language)指可扩展标记语言,XML的设计宗旨是传输数据(具有自描述性)而非显示数据。但是目前人们更多的是使用XML做配置文件而非作为传输数据的载体,业界更多的是使用JSON格式字符串来做载体。XML技术其实很简单,尤其对于java程序开发人员而言XML技术非常重要XML也算是一个比较悲情的技术,XML设计之初并不是主要为了作配置文件而

2016-07-20 23:57:49 4192 10

原创 Apache Commons Email组件介绍使用

Apache Commons Email组件介绍使用介绍发送邮件功能这几乎是很多应用程序都会使用到的,所以Apache Commons提供了Email组件便捷的发送邮件方式。只需要简单的几个步骤就能够达到发送邮件的功能。几种常见的发送邮件格式SimpleEmail(普通文本) // 定义发送简单邮件对象 SimpleEmail simpleEmail = new SimpleEma

2016-07-20 21:51:31 3727

原创 Apache Commons IO组件介绍使用

Apache Commons IO组件介绍使用介绍java io操作是开发中比较常用的技术,但是如果每次都使用原生的IO流来操作那么会显得很不比较繁琐,因此我们可以借助apache commons io包下工具类来帮我们实现一些常用的操作。比如:拷贝、将流转为字符串等常用功能备注:apache commons io包里的代码其实并不复杂,我们可以看看它的源码研究下人家是怎么写的,可以参考一下。

2016-07-20 15:04:44 3649

原创 第三章:http报文

第三章:http报文引言如果说http是因特网的信使,那么http报文就是它用来搬东西的包裹了。本章内容1、报文是如何流动的2、http报文的三个组成部分(起始行、首部和实体的主体部分)3、请求和响应报文之间的区别4、请求报文支持的各种功能5、响应报文返回的状态码6、各种各样的http首部都是做什么用的报文的组成部分http报文是简单的格式化数据块报文组成部分起始行(对报文的描述)

2016-07-19 23:30:08 363

原创 java字符串格式化处理技巧

java字符串格式化处理技巧介绍有时我们可能想要获得指定格式的字符串信息,有些数据是根据动态获取的,那么使用String的静态方法format(String string,Object...args)是一个不错的选择。应用场景本人开发中接触到的是短信模板动态填充内容,这算一个小知识点。String format静态方法format静态方法//Returns a formatted string

2016-07-19 16:21:48 1148

原创 网络编程之URL和URLConnection

网络编程之URL和URLConnection介绍URL和URLConnection类是完成http网络请求时所用到的两个对象The java.net package contains two interesting classes: The URL class and the URLConnection class. these classes can be used to create clie

2016-07-19 15:19:18 561

原创 java网络编程

java网络编程网络编程介绍通过使用套接字来达到进程间通信目的的编程就是网络编程,网络编程最重要的两点1、定位目标主机(ip地址和端口)2、如何传输数据(协议)网络编程主要的两种模型基于TCP编程模型面向连接相对可靠传输协议编程TCP:传输控制协议案列模型:打电话通话要点:基于TCP网络编程的核心在于建立连接,通过连接里获得流对象来实现数据的传输的目的。备注:TCP编程的核心在于连接,以及

2016-07-19 00:02:09 1467

原创 Git 学习指南

Git 学习指南介绍Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地管理任何或小或大的项目。git也是当下最流行的分布式版本管理系统,掌握git还是很有必要的,对于学习git评语:学习半小时,装逼好几年。其实真正要用好git必定是在团队开发实际遇到问题才能够掌握其技巧。备注首先这里要明确一下,所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,G

2016-07-17 21:40:49 1374

原创 URL与资源

URL与资源概述URL(统一资源定位符)就是因特网资源的标准化名称。URL指向一条电子信息片段,告诉你它们位于何处,以及如何与它们进行交互。本章主要内容1、URL语法,以及各种URL组件的含义及其所做的工作(重点)2、很多web客户端都支持URL快捷方式,包括相对URL和自动扩展URL3、URL编码和字符规则(重点)4、支持各种因特网信息系统的常见URL方案5、URL的未来2.1因特网

2016-07-17 09:49:25 903

原创 第一章:Http概述

第一章:Http概述引言web浏览器、服务器和相关的web应用程序都是通过http相互通信的,http是现代全球英特网中使用的公共语言。本章主要内容1、web客户端与服务器是如何通信的2、资源(表示web内容)来自何方3、web事务(请求与响应)是怎样工作的4、http通信所使用的报文(请求报文/响应报文)5、底层TCP网络协议6、不同的http协议变体1.2web客户端与服务器web

2016-07-16 18:16:14 2517

原创 无线循环的两种方式

for(;;)和while(true)的区别for(;;)和while(true)都是无限循环,今天搜了下原理while VS. for 在编程中,我们常常需要用到无限循环,常用的两种方法是while (1) 和 for (;;)。这两种方法效果完全一样,但那一种更好呢?让我们看看它们编译后的代码: 编译前 编译后 while (1); mov ea

2016-07-15 11:02:20 878

原创 java异常机制

java异常机制介绍异常:是指阻止当前方法或者作用域继续执行的问题java异常处理机制即毁了我们的程序的简洁同时它也给予了程序的健壮性提高的系统可用率。使用不得当的异常处理方式,不仅无法给我们的程序带来好处反而会带来负面的影响。有异常就说明程序存在问题,使用异常机制可以有助于我们及时发现与修正。如果我们在编写程序的过程中不使用异常机制,那么程序一旦遇到异常就无法继续往下执行了很多情况下这并不是我

2016-07-15 10:49:31 409

原创 DataUtils(java日期工具类)

DataUtils(java日期工具类)介绍在java中队日期类型的处理并不方便,通常都需要借助java.text.SimpleDateFormat类来实现日期类型和字符串类型之间的转换,但是在jdk1.8之后有所改善,jdk1.7以及之前的版本处理日期类型并不方便,可以借助Joda Time组件来处理,尤其是日期类型的一些数学操作就更是不方便。java代码/** * * 日期工具类 j

2016-07-13 20:38:17 13175 2

原创 MD5工具类(java实现版)

MD5工具类(java实现版)介绍MD5(Message Digest Algorithm)加密算法是不对称的加密算法,因为其实不可逆的,实际上其不能算作加密算法,因为其不可解密。其实现原理是基于Hash算法(简称散列函数)。MD5算法具有以下特点1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、容易计算:从原数据计算出MD5值很容易(算法简单)3、抗修改性:对原数据进行任何改动

2016-07-13 20:14:02 24144

原创 设计模式六大原则

设计模式六大原则介绍在软件开发过程中,尤其是面向对象和模块化设计时,一个良好的设计是会尽量符合几个基本原则的,这几个原则就是所谓的六大原则。单一职责原则定义:通俗的说一个类只有一项职责(一项职责并非一定是一个方法)优点1、可以降低类的复杂性2、可以提高类的可读性,从而提高系统的可维护性3、变更引起的风险降低,变更是不可避免的,如果接口的单一职责定义的好,一个接口修改只对相应的实现类有影响,

2016-07-07 21:47:17 582

原创 常见排序算法实践

常见排序算法实践介绍各种排序可能是很多公司面试时候会问的算法题,但是由于基础不扎实我们有一部分人可能没法当场写出代码实现。其实掌握些数据结构和算法知识对我们的成长是很有帮助的。常见的排序算法有,冒泡排序、选择排序和快速排序等。冒泡排序冒泡排序的思想就是,每经过一轮(外循环)排序就可以得到最大/最小的值。从左至右相邻的两个元素比较排序。Code分析/** * * 最差冒泡排序外循环n-1,

2016-07-06 23:58:26 378

原创 数据库事物ACID特性和分布式系统CAP理论

ACID特性和分布式系统CAP理论事物的介绍和认识事务通常指的是数据库事务,不要把它太概念化,就是一些列操作要么都执行要么都不执行,把这些操作封装在一个不可分割的单元体里这么理解就可以。//备注最常见用来举例说明事务的例子应该就是银行账户转账的场景了吧。在mysql中只有部分数据库引擎才支持事务,推荐尽量都使用支持事务的引擎,不然给后面开发带来很多麻烦(切身体会,曾经在一家公司做支付系统和订单业务

2016-07-06 21:43:12 2160

原创 RESTful 架构初识

RESTful 架构初识介绍REST(Representational State Transfer)表现层状态转移,是基于命名资源松耦合应用程序的一种架构风格(通常用来架构web应用服务),REST是一种思维方式,而非协议或标准。解释说明Representational State Transfer:这个其实少了主语Resource,加上主语就容易理解很多了。Resource:资源,即数据(txt

2016-07-06 00:01:36 602

原创 字符编码

字符编码介绍计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。它们是根据指定的编码映射表查找出对应的字符来显示的。最早的编码表示美国制定的ASCII码,由于英文字符比较少,用一个字节就完全可以表示出来了,所以ASCII编码中,一个字符是占一个字节的。字节一个字节为8位(为什么是8位和当时硬件处理器发展有关,不是重点)0101 1010常用的编码

2016-07-05 23:30:25 401

原创 java对象序列化和反序列化

java对象序列化和反序列化介绍序列化指的是将内存中的java对象保存到磁盘问价中(字节码保存),反序列化是将磁盘中的文件加载到内存对象中。java对象序列化:将内存中的java对象持久化到磁盘文件中java对象反序列化:将磁盘文件中的字节码文件转为内存中java对象使用备注:需要序列化的对象通常需要实现序列化接口(不管是JDK还是第三方提供的)对象序列化主要功能:1、把对象的字节序列永久地

2016-07-03 22:23:30 482

原创 java 控制台输入的两种方式

java 控制台输入的两种方式Code 展示/** * java 控制台输入的两种方式 <br> * Scanner scanner = new Scanner(System.in);//jdk1.5之后出现<br> * BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));//

2016-07-03 10:14:14 2999

原创 其它常用流对象

其它常用流对象数据流数据流有DataOutputStream和DataInputStream两个对象,其主要是操作java的基本数据类型。DataOutputStream流对象/** * 数据输出流:主要操作的java的基本数据类型 * @throws Exception */@Testpublic void testDataOutputStream() throws Exception

2016-07-03 10:03:02 443

原创 Memcached CAS协议

Memcached CAS协议介绍CAS(Check And Set)检查后再赋值,是为了解决多线程并发问题而设计的一种解决方案。Memcached于1.2.4版本新增CAS(Check and Set)协议类似于Java并发的CAS(Compare and Swap)原子操作,处理同一key被多个线程更改过程的并发问题。在Memcached中,每个key关联有一个64-bit长度的long型惟一

2016-07-01 14:23:40 551

空空如也

空空如也

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

TA关注的人

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