#编程
共 15 篇文章。
-
Mysql数据库中varchar的长度与字节的关系
今天在给一列建唯一索引的时候,提示 我的第一反应是去看对应列的数据,都是最多七八个字的中文,然后看到对应列的类型,是varchar(2056), 由此想到varchar的长度到底跟字节是什么关系。 英文字母和中文汉字在不同字符集编码下的字节数 英文字母 中文汉字 计算varcha
-
Git的各种回滚文件
在我们使用Git的过程中,总会在各种情况下需要各种回滚文件。而从本地的角度看,你的修改可能存在三块区域中,workspcace、index或者commit之后的历史对象区域。 <!--more--> workspace内的回滚 (回滚单个文件) (一次回滚多个文件,中间用空格隔开
-
《程序员的职业素养》的读书心得
花了几天将《程序员的职业素养》一书看完,还是颇多感触的,之前没有完整读过一本写给程序员的非编程书籍,在这次阅读中开拓了很多眼界。敏捷、测试驱动开发、版本迭代等等都和我们在平时在工作用到的思想一致。 <!--more--> 专业主义 --- 书中提到的“专业主义” 有很深的含义,它
-
Mac安装Hive1.2.1
这几天在折腾Hive的相关东西,所以打算在自己的机器上安装下Hive,可是按照教程总是出这样那样的错误,着实蛋疼,最终发现错误是我的Mysql端口是3307,WTF。。这个问题已经坑了我几次了。在此把查看Mysql开启端口的命令放这,以后别被坑到了。 <!--more--> 下面
-
实现Queue接口的LinkedList类
今天看了些二叉树的内容,想起四月份面试百度的时候被问到实现二叉树中的广度优先遍历,所以就尝试着用Java实现下,其实思想还是比较简单的。 <!--more--> 算法相当于广度优先搜索,使用队列实现。队列初始化,将根节点压入队列。当队列不为空,进行如下操作:弹出一个节点,访问,若
-
设计模式总结
什么是设计模式 在软件工程中,【设计模式】是对软件设计中普遍存在的各种问题,所提出的解决方案。 换句话说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。 <!--more--> 设计
-
动态绑定
由一段我们很常见的代码声明代码段引入 声明的是父类的引用,但是new的是子类的对象 <!--more--> 之所以有这篇是因为看《Head First 设计模式》,其中开始就用到了接口回调,也是一种动态绑定。对动态绑定的概念又有点混乱了。 动态绑定:在运行时根据具体对象的类型进行
-
垃圾收集器
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。这里讨论的收集器基于JDK1.7 Update 14之后的HotSpot虚拟机(在这个版本中正式提供了商用的G1收集器,之前G1仍处于实验状态),这个虚拟机包含的所有收集器如图所示。 <!--more-->
-
WordCount处理过程详解
Hadoop最基本的当然是得会写MapReduce,而MapReduce中最基本的当然又数WordCount,这篇对WordCount进行详细的讲解。 详细执行步骤如下: <!--more--> 1. 将文件拆分成splits,由于测试用的文件较小,所以每个文件为一个split,
-
HotSpot的算法实现
而在HotSpot虚拟机上实现对象存活判定算法和来几收集算法时,必须对算法的执行效率有严格的考量,才能保证虚拟机高效运行。 <!--more--> 枚举根节点 可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,现在很多
-
垃圾收集算法
由于垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,因此本节不打算过多地讨论算法的实现,只是介绍几种算法的思想及其发展过程。 <!--more--> 标记-清除算法 最基础的收集算法是“标记-清除”(Mark-Sweep)算法,如同它的名字一样
-
对象已死?
本笔记来自《深入理解Java虚拟机》的3.2节的部分总结,用来探究对象回收的一些条件,究竟怎样对象才会死去,看完下面的总结也许能多些理解。因为是上班时候偷偷在弄,部分片段未做总结,仅摘录原文,后续会校正。 <!--more--> 引用计数法 很多教科书判断对象是否存活的算法是这样
-
Mahout的安装与配置
Mahout是Hadoop的一种高级应用。运行Mahout需要提前安装好Hadoop。Hadoop的安装网上很多,并不复杂,这里不再讲述,接下来阐述怎么安装Mahout。 <!--more--> 下载二进制解压安装。 直接使用homebrew安装mahout 会提示你安装hado
-
Java内存管理原理学习笔记
最近零星的几次面试都被问到Java虚拟机的相关问题,被虐得死去活来虽然已经说了没咋看过虚拟机相关的东西,面试官还是不依不饶。这两天看了《深入理解Java虚拟机》前两章,有些东西明白了点,有些还是不甚了了。 <!--more--> Java虚拟机在执行Java程序的过程中会把它所管
-
OS X10.10安装hadoop2.6.0
配置ssh localhost无密码访问 1. 首先在系统偏好设置->共享->打开远程登录服务->右侧选择允许所有用户访问 2. 生成密钥对 3. 拷贝进验证文件 4. 测试无密码访问 <!--more--> 安装hadoop 1. 2. Hadoop会被安装在 目录下 配置ha