自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

偷得浮生半日闲

Thinking,judging

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

原创 解决Pycharm无法导入包问题 Unresolved reference

解决Pycharm无法导入包问题 Unresolved reference

2017-02-15 16:26:56 113446 11

原创 【算法】A+B problem 用位运算完成两数相加

剑指offer里面有一道算法题,就是不用加减乘除去做加法。很明显就是要用位运算完成加法,所有运算在计算机底层都是由二进制完成的,所以不能用运算符,就只能用位运算了。java中的位运算在Java里面,位运算对应运算符如下: 位运算 运算符 与 & 或 | 异或 ^ 非 ! 左移位 < 右移位 >二进制数的加法在计算机底层中,数的运算是通过位运算完

2016-12-28 17:50:14 3681

原创 【Linux】vi编辑器

之前实习的时候用过,但是都是不懂的直接搜,加上记忆力差,安居客面试的时候面试官问到了,但是答不出来。直到现在心里还是很痛。。。好好学习,一个一个坑的补回来吧。vi和vim是linux下的文本编辑工具,而vim是vi的升级版本,不仅兼容vi所有指令,还有一些新的特性在里面。这篇笔记主要记录vi的基本操作。一、两个操作模式一个是输入模式,一个是指令模式。在输入模式下,可以输入文本,在指令模式下,可以输入

2016-11-17 14:03:29 396

原创 【MySQL】跟MySQL交互的小技巧

一、解决的问题在腾讯云上装了MySQL,每次进入MySQL都得写命令,有点麻烦。每次登陆MySQL需要的命令(Linux)下:mysql -u root -p 然后需要输入登陆密码,再选择要操作的表,可以通过以下几个方法设置,节省时间。二、解决方法1.配置MySQL的选项文件MySQL允许把链接参数存储到一个选项文件里。那么启动MySQL的时候就会自动加载这些参数,而不用每次都手动输入。好处是其他M

2016-11-15 11:34:28 1250

原创 【MySQL】MySQL存储引擎以及索引

一、存储引擎MySQL中的数据用各种不同的技术存储在文件中,这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。这些不同的技术以及配套的相关功能在 MySQL中被称作存储引擎(也称作表类型)。我的理解是,数据存储使用不同的数据结构,使得它们各自支持不同的技术和功能,因此划分成不同的存储引擎。而存储引擎是对应表的,所以也被称为表类型。用以下指令可以查看My

2016-11-06 20:22:18 5562

原创 【数据库】数据库索引探索

一、索引是什么?数据库的数据存储在磁盘中,当用户或者程序通过DBMS查询数据库某条记录时,就会将磁盘中对应的数据读取到内存中。但是问题是,假如所查询的表的数据量很大,而内存是有限的,在没有索引的情况下,查询将对整个表进行扫描,就需要多次IO读取磁盘中的数据,通过“遍历”数据块的方式找到需要的记录。这个性能消耗很大,并且会很慢。 索引就是用来解决这个问题。对一个字段添加索引,那么会维护这个字段的索引

2016-11-04 20:56:04 476

原创 【MySQL】数据库的基础知识以及Ubuntu系统下MySQL的安装

数据库简介数据库(DataBase, DB),顾名思义,存放数据的仓库,是按照数据结构来组织、存储和管理数据的仓库。几个名词数据库管理系统(DBMS)位于用户与操作系统之间的数据管理软件。为用户或应用程序提供访问DB的方法。数据库系统(DBS)实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统。表(table)某种特定类型的结构化清单。(数据库中的每个表都有一

2016-11-03 22:01:02 637

原创 【MySQL】MySQL的数据类型

数据类型整数类型 整数类型 字节 范围(有符号) 范围(无符号) 用途 TINYINT 1 (-128,127) (0,255) SMALLINT 2 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 (-8 388 608,8 388 607) (0,16 777 215) 大整

2016-11-01 15:25:09 405

原创 【Java】Object类的方法

Object的方法有哪些Object在java.lang包中,该包中有Java的核心基础类,默认导入该包。Object是类分级的根本,Java中几乎所有的类都默认继承了Object类。Object没有属性,方法如下:private static native void registerNatives()public final native Class<?> getClass()public

2016-10-04 15:10:57 712

原创 【Java】try、catch、finally的执行顺序与返回值问题

笔试很多时候都会考try、catch、finally的执行顺序,网上也有很多文章记录他们的执行顺序,但是都是根据代码执行结果推规律,有种死记硬背的感觉。从字节码反编译后的代码可以查看try、catch、finally执行顺序以及返回值,从字节码层面上来看他们的执行顺序。Java之所以能够 Write Once,Run Anywhere,关键在于Java编译后的生成字节码文件.class,一个.jav

2016-10-03 16:14:30 1099

原创 几种经典排序算法

快速排序据说第一个正确的快排算法程序是在快排思想提出后的两三年才有人写出来,我们都是站在巨人的肩上码代码啊。public void quickSort(int array[], int low, int high) { if (low >= high) { return; } int sentinel = array[low];

2016-09-28 19:11:47 341

原创 【Java】String、StringBuilder与StringBuffer

String 字符串常量StringBuilder 字符串变量(字符数组),非线程安全StringBuffer 字符串变量(字符数组),线程安全String不可变常量 private final char value[]; String中的字符数组value[]定义为final,所以String是不可变的。线程安全 String是不可变的,字符串常量,所以String是线程安全的。

2016-09-28 11:59:31 255

原创 设计模式之结构型模式

适配器模式(Adapter)将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用情况系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。适配器类型类适配器模式 类适配器模式需要通过多重继承

2016-09-05 14:25:37 252

原创 设计模式之创建型模式

工厂方法模式定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。四要素工厂接口 工厂接口是工厂方法模式的核心,与调用者直接交互用来提供产品。在实际编程中,有时候也会使用一个抽象类来作为与调用者交互的接口,其本质上是一样的。工厂实现 在编程中,工厂实现决定如何实例化产品,是实现扩展的途径,需要有多少种产品,就需要有多少个具体的工厂实现。产品接口

2016-09-05 09:26:24 219

原创 设计模式之设计原则

单一职责原则对一个类而言,应该仅有一个引起它变化的原因。出于考虑 如果一个类承担承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。 eg:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。单

2016-09-03 21:09:41 219

原创 【Java】对象的拷贝

几个概念浅拷贝基本数据类型拷贝数值,而对象拷贝对象的引用。深拷贝基本数据类型拷贝数值,而对象,则创建一个新的对象,并把原本对象里面的值一一拷贝到新的对象中,开辟了新的内存空间,而不仅仅引用同一个对象。nativeJNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其

2016-08-11 15:55:52 402

原创 从上往下打印二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。递归方法递归遍历二叉树用二叉树的固定叶子序号来标记叶子数据,最后删除“空节点”,按叶子序号打印二叉树。import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right =

2016-08-10 14:49:40 243

原创 【Java】抽象类和接口

抽象类一个父类设计得非常抽象,以至于它都没有任何具体的实例。至少包含一个抽象方法。可以有数据域不能用new操作符创建它的实例构造方法定义为protected,因为它只被子类使用为什么要用抽象方法 提供动态性,方法调用时JVM的动态绑定关于抽象类的几个关注点抽象方法不能包含在非抽象类中,抽象方法是非静态的 抽象类是不能使用new操作符来初始化包含抽象对象的类必须是抽象的即使子类的父

2016-07-13 16:55:45 343

原创 【Java】异常处理

异常处理的根本优势 检测错误 异常处理通常需要更多的时间和资源。如果想让该方法的调用者处理异常,应该创建一个异常对象并将其抛出。如果能在发生异常的方法中处理异常,那么就不需要抛出或使用异常。 什么时候应该使用try-catch块 当必须处理不可预料的错误状况时应该使用它。概念try块 包含的是在正常情况下执行的代码catch快 执行捕捉到try块抛出异常后的处理。处理这个异常的代码称为异

2016-07-13 16:55:06 285

原创 【Java】继承和多态

父类和子类关键字 extends 需要注意的几点 - 一个子类通常比父类包含更多的信息和方法 - 父类的私有数据域在该类之外是不可访问的 - 继承是用来为是关系建模的 - 多重继承:某些语言允许从几个类派生出一个子类。Java不允许多重继承,但是可以通过接口来实现super关键字调用父类的构造方法 super() super(parameters) 要调用构造方法必须使用关键字su

2016-07-11 23:04:31 250

原创 Java 关于对象的思考

不可变对象和类不可变类需要满足的条件: - 所有数据域都是私有的 - 没有修改器的方法 - 没有一个访问器,它会返回一个纸箱可变数据域的引用变量的作用域类变量/数据域 一个类的实例变量和静态变量局部变量 方法内部定义的变量如果一个局部变量和一个类变量具有相同的名字,那么局部变量优先,而同名的类变量将被隐藏。this引用关键字this:指向调用对象本身的引用名。一种常见的用法是引用类的

2016-07-11 22:15:15 379

原创 Java 字符串和文本I/O

字符串类String字符串 由字符构成的一个序列。在很多语言中,字符串都被当作字符数组来处理,在Java中,字符串是一个对象。构造一个字符串String newString = new String(stringLiteral); 参数StringLiteral是一个括在双引号内的字符序列。char[] charArray = {‘G’, ‘o’, ‘o’, ‘d’}; String m

2016-07-11 21:38:43 889

原创 Java 数组

Java 数组一维数组 几个概念数组一种数据结构,用来存储元素个数固定,元素类型相同的有序集。基本知识声明数组 指定数组的元素类型,并不在内存中给数组分配任何空间,只是创建一个对数组的引用的存储位置,语法: elementType[] arrayRefVar; (一个数组变量存储的是指向数组的引用)创建数组 new操作符 语法: arrayRefVar = new element

2016-05-10 15:37:58 765

原创 Java 对象和类

Java 对象和类定义对象的类几个概念 面向对象程序设计(OOP) 使用对象进行程序设计 类 用来定义对象的数据域是什么以及方法是做什么的。 对象 是类的一个实例,创建实例的过程称为实例化。 每个对象都有自己独特的标识、状态和行为 状态/属性/特征 是指那些具有它们当前值的数据域。 行为/动作 由方法定义。调用对象的一个方法就是要求对象完

2016-05-10 15:36:57 1170

原创 Java 方法

Java 方法main方法 与其他方法唯一区别在于它是由Java虚拟机调用的。调用堆栈 每当调用一个方法时,系统都会将参数、局部变量存储在一个称为堆栈的内存区域中。方法的参数要求 实参必须与方法中定义的参数在次序和数量上匹配,在类型上兼容。 类型兼容:不需要经过显式的类型转换。重载方法 被重载的方法必须具有不同的参数列表(参数的个数、类型、次序),不能基于不同修饰符或返回值类型来重载方法。

2016-05-02 16:16:47 313

原创 Java数据类型

数据类型标识符 出现在程序中事物的名字。 <标识符>::=字母|下划线|美元符号|<标识符>数字|<标识符>字母|<标识符>下划线|<标识符>美元符号 Tips: Java区分大小写,所以标识符也是区分大小写 描述性的标识符可提高程序的可读性 不要用字符命名标识符。习惯上,字符命名标识符。习惯上,字符只用在机器自动产生的源代码中。 变量 用于表示特定类型的数

2016-05-02 10:41:16 571

原创 Java-Write Once,Run Anywhere

Java-Write Once,Run Anywhere编译 将Java代码翻译成Java字节码。Java编译器 将Java源文件(.java)翻译成Java字节码文件(.class )。 javac Welcome.java //将Java源代码翻译成Java字节码,并且生成.class文件 java Welcome //运行字节码JVM java虚拟机 解释Java字节符的程序

2016-05-01 12:10:08 2458

原创 OpenTSDB Configuration Doc

OpenTSDB Configuration Doc

2016-03-18 16:25:02 495

原创 命令行使用MySql的入门基础语句

最近有需要所以接触到MySql,发现作为搞程序大三狗的我竟然完全不懂数据库,没办法,只能学。像同学问了一些基本用法,也就是怎么查看.sql数据表的数据。这篇东西记录下来,然后开始学习《MySql必知必会》。1.cmd打开sql服务    net start sql   关闭sql服务   net stop sql2.执行.sql文件(创建数据库,把.sql文

2015-10-19 14:23:19 387 1

原创 adb push Permission Denied(看博文解决问题需!谨!慎!啊!)

用cmd上传文件到手机失败,出现Permission Denied提醒。百度了一个解决方案,我又不懂linux命令,所以直接按照博主的方法改了,然后手机不能调试了,因为/data/文件夹已经变成只读

2015-07-16 11:04:56 4357

原创 eclipse 代码注释快捷键

终于受不了注释.xml文件前都要思考一番,注释符到底是还是了百度了一下,eclipse注释快捷键1.选中需要注释的代码(段)2.使用快捷键“shift”+“ctrl”+“/”  自动添加注释符3.使用快捷键“shift”+“ctrl”+“\” 自动取消注释符突然整个世界美好了,果然,世界没有懒人,就没有进步!

2015-05-19 12:07:15 850

原创 two years left

前几天听到一句话If you want to be a good programmer, you just program everyday for two years, you will be an excellent programmer. If you want to be a world-class programmer, you can program every day for t

2015-05-15 21:42:47 594 6

原创 eclipse 代码自动补全初级 Alt+/快捷键

刚刚设置了eclipse代码自动补全的Alt+/快捷键,觉得甚至好用,而且设置相当简单。步骤为: Window菜单栏-->properties属性-->左栏的"Java”-->Editor-->Content Asisit-->右栏的Auto Activation-->Auto activation triggers for Java-->填入“.abcdefghijklmnopq

2015-05-14 09:25:06 5763

原创 Fibonacci(斐波那契)数列的递归与非递归实现 python

关于递归算法,可以参考这篇文章 汉诺塔 经典递归算法 in pythonFibonacci数列为:0、1、1、2、3、5、8、13、21......数列第一项为0,第二项为1,从第三项开始,每一项为相邻前两项之和。用递归的方法来定义:F(0) = 0 F(1) = 1F(n) = F(n-1) + F(n-2) , n>=2

2015-03-26 15:48:58 9924

原创 汉诺塔 经典递归算法 in python

#coding:utf-8#coding:utf-8#汉诺塔问题n = int(input("输入初始化时A塔上盘子的个数n:\n"))def move( n , A , B ,C ): if n == 1 : print( "%s is moved to %s" %(A ,C) ) else : move( n-1 , A , C , B ) move( 1 , A , B

2015-03-25 14:00:56 5954 5

空空如也

空空如也

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

TA关注的人

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