01 2017 档案
摘要:主机A搭建gitlab。gitlab下载:https://www.gitlab.cc/downloads/ (gitlab中文网) 主机B搭建jenkinsjenkins下载:https://jenkins.io/index.html (gitlab官网) 两端同时下载 openssl-server
阅读全文
摘要:新的系统无root用户密码,设置root用户密码,修改也是这么修改 连续输入两次新密码。 允许root用户登陆: 找到 改为 重启ssh
阅读全文
摘要:以下内容来自:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ (清华大学开源软件镜像站)可以直接移步上面的网站。这里做个笔记,也是为了记录一下上面的那个镜像网站。 下载gitlab之前需要安装其他的软件。 首先信任 GitLab 的 GPG 公
阅读全文
摘要:ubuntu14.04 设置静态ip vim /etc/network/interfaces 原来只有 修改成如下: network和broadcast可以不设置。 需要手动设置dns。 8.8.8.8和8.8.4.4是谷歌的dns,可以用但是比较慢,最好自己找一个国内的dns。/etc/resol
阅读全文
摘要:《Java并发编程的艺术》这本书特别好,和《深入了解JAVA虚拟机》有一拼,建议做java的都看看,下面全部都是复制书中的部分内容,主要目的是做个笔记,方便以后遇到问题能找到。 在Java中,所有实例域、静态域和数组元素都存储在堆内存中,堆内存在线程之间共享。局部变量(Local Variables
阅读全文
摘要:来自《java并发编程的艺术》。只是方便自己以后查找。 处理器如何实现原子操作 32位IA-32处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。首先处理器会自动保证基本的内存操作的原子性。处理器保证从系统内存中读取或者写入一个字节是原子的,意思是当一个处理器读取一个字节时,其他
阅读全文
摘要:关于同步的问题,想弄明白java,同步不会是不行的。这不书弄完后还会从《java并发编程实战》和《java并发编程的艺术》选一本或者都看。 第六十六条:同步访问共享的可变数据说的就是线程之间同步的问题。synchronized及volitale关键字的使用方法。在进行同步的时候,不仅读的过程要同步,
阅读全文
摘要:第五十七条:只针对异常的情况才使用异常应该都有这个意识吧,就像什么抓索引越界什么的,没有必要。 第五十八条:对可恢复情况使用受检查异常,对编程错误使用运行时异常三种可抛的异常:受检的异常(checked exception)、运行时异常(run-time exception)、错误(error) 第
阅读全文
摘要:第四十五条:将局部变量的作用域最小化 第四十六条:加强版for循环优于传统for循环 第四十七条:了解和使用类库书中提到了一个生成随机数的例子。正好需要。 一般写随机数,都是这么写,以为这会Math.random会生成一个完全随机的随机数。上面那个low计算出来的结果是随机数落在设定的数的前半部分的
阅读全文
摘要:第三十八条:检查参数的有效性 第三十九条:必要时进行保护性拷贝 写完上面的代码后会认为这是一个很安全的了,不可变,初始化了之后就不可以start和end就不可以改变了,but,真这样?注意Date是可变的 这样就把原本的时间改变了。 程序改成这样后,这个类就真的不可变了,穿件和向客户端返回数据的时候
阅读全文
摘要:第三十条:用enum代替int常量enum的简单用法。 第三十一条:用实例域代替序数就是向上面那样将symbol换成一个int类型的值用于标记实例。 第三十二条:用EnumSet代替位域(没用过位域,还不太懂) 第三十三条:用EnumSet代替序数索引就是告诉别用ordinal()方法,这个基本上对
阅读全文
摘要:第二十三条:请不要在代码中使用原生态类型就是像Set这种待泛型的,就把泛型明确写出来。 第二十四条:消除非受检警告就是Set<String> sets = new HashSet();这种,第二个泛型不加会有一个警告。 第二十五条:列表优先于数组数组和泛型的区别: 数组是协变的。就是如果Sub是Su
阅读全文
摘要:第十三条:使类和成员的可访问性最小化 一个设计良好的模块会将实现细节隐藏起来,只将暴露API。模块之间调用并不知道对象的细节。这个概念成为信息隐藏或封装。要注意一点,设计的一个方法或者其他什么,只要不是私有的,外面能访问,那么以后在重构重写的过程中,这个方法就不能删掉,即使只是某个方法中的一个过程。
阅读全文
摘要:第八条:覆盖equals时请遵守通用约定 什么时候需要覆盖equals方法?类具有自己的逻辑相等概念,并且父类的equals方法不能满足需要。重写equals时需要遵循一下约定: 自反性:非null x,x.equals(x)必须是true 对称性:非null x和y,y.equals(x)和x.e
阅读全文
摘要:写博客我也不知道是不是一个好习惯,但是目前还不知道有什么其他更有效率的学习方法。现在的学习方法:看书,写博客。如果看明白一个东西,去写博客的话,这通常是一个浪费时间的行为,但是这个过程同样帮助自己二次记忆。并不知道写博客到底好不好。就先按照这个来吧。开始新的一本书,《Effective Java》
阅读全文
摘要:这里分析MapReduce原理并没用WordCount,目前没用过hadoop也没接触过大数据,感觉,只是感觉,在项目中,如果真的用到了MapReduce那待排序的肯定会更加实用。 先贴上源码 为了看程序是怎么跑的,所以在上面加上了各种输出。 从头开始分析,单纯的从main方法开始,集群上不太好跟踪
阅读全文
摘要:看源码的时候,对于找类有点作用
阅读全文
摘要:F4 显示类的集成视图ctrl + f 查找Ctrl+Shift+T workspace中查找.java文件Ctrl+Shift+R workspace中所有文件ALT+Shift+W 比较有用的快捷键,能打开一个终端,能找到当前文件在项目的位置,进explore,打开outlineAlt+Shif
阅读全文
摘要:docker官网上的安装步骤比较麻烦,而且下载下来后pull镜像也特别慢。通过阿里云可以快速安装docker,并且可配置加速器。通过阿里云超快速安装docker: 安装或升级Docker 请安装1.6.0以上版本的Docker。您可以通过阿里云的镜像仓库下载: mirrors.aliyun.com/
阅读全文
摘要:首先弄出来装有hadoop、java、ssh、vim的镜像起名badboyf/hadoop。做镜像有两种方法,一种是用Dockerfile来生成一个镜像,一种是基于ubuntu14.04的基础镜像生成容器后进入容器设置完成后,根据容器打成新的镜像。这是第一次弄,各种不会的地方,所以用第二种方法,弄出
阅读全文
摘要:模式汇总:装饰者 :包装一个对象以得到新的行为状态 :封装了基于状态的行为,并使用委托在行为之间切换迭代器 :在对象的结合中游走,而不暴露集合的实现外观 :简化一群类的接口策略 :封装可以互换的行为,病史用委托类决定要使用哪一个代理 :包装对象,以控制对此对象的访问工厂方法 :由子类决定要创建的对象
阅读全文
摘要:代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问。 代码: 类图: 这里SecretaryProxy就是一个代理,在Boss开会前会通知Boss开会,还可以控制一些小的会议不用参加。 代理模式和装饰者模式很像,都是用一个对象把被封装对象封装起来,然后调用封装的对象。但是代理模式的目的
阅读全文
浙公网安备 33010602011771号