0%


很久没更新了,今天学习中遇到了一个出现频率极高的设计模式:观察者模式,它的实现还是很简单的,但是其和Java语言有着千丝万缕的关联,这里做一个小总结:

  1. 常见观察者模式
  2. java.util包下所支持的观察者模式(java9中已正式废弃)
  3. java.bean下所提供的观察者模式

1. 常见观察者模式

​ 参见对象间的联动——观察者模式(二),即一个发布者(观察者、监听器)含有一个或订阅者(被观察者)的引用。

2. java.util.Observable & java.util.Observer

由于观察者模式非常常用,故Java在1.0版本中就已经内置了Observable 和Observer接口,分别作为被观察者和观察者。

但其在Java9中已被标记为@deprecated

阅读全文 »

本文采用 CC BY-NC 4.0 许可协议,您可以自由地分享、演绎该作品,但必须遵循署名、非商业使用、没有附加限制这三项条件。

一些写在前面的话

  1. 首先,确定是否要考研,因为路有很多种:
    • 对于计算机相关专业的同学,我给的建议是
      • 首先权衡:如果将一天真的能将高强度学习的考研劲头用在找工作上,比如夯实专业课基础,做出拿得出手的项目、多刷leetcode、多背面经、海投简历等等。从我身边的人来看,结果以及回报也会很好。
      • 不像找工作,考研付出多,周期长,只有一次初试,一次复试(也很可能没有)的机会,所以风险高。尤其对于860而言,复试又晚,专业课别的学校也不认可,基本没得调剂,所以说必须要有一战成硕的决心;
      • 还有一点就是对于应届生来说除了考研找工作,其实还可以考公,参军,条件允许的话也可以考雅思出国,所以路真的很多,做出考研的决定需要慎重(我就很草率);
    • 对于跨考的同学,我建议不多,我这里提醒一点:信软的复试专业问题课程很多(计组、数据结构、数据库、计网、软工、操作系统),所以说要做好初试结束后就开始好好复习的准备;
    • 对于工作后考研的各位,我觉得压力应该蛮大,很钦佩你们的勇气,同时祝你们得偿所愿!
阅读全文 »

这或许是众多OIer最大的误区之一。

你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是NPC问题,你如果不是很感兴趣就可以不看了。接下来你可以看到,把NP问题当成是 NPC问题是一个多大的错误。

阅读全文 »

说起来一年多没更过blog了,一是懒的写,二是没啥写的。

小站本来是为了记些技术笔记,但这一年光学英语高数了,荒废了工程向的东西,自然也没有什么可以记录的。

本来呢打算考完研总结下考研心路的,奈何考的不咋地,也没啥动力写了。还有就是毕业设计整的我一愣一愣的,题目就换了三个,实在是没精力写了。

阅读全文 »

◈NTP是什么

  • 网络时间协议(英语:Network Time Protocol,缩写:NTP)是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议,位于OSI模型的应用层。自1985年以来,NTP是当前仍在使用的最古老的互联网协议之一。NTP由特拉华大学的David L. Mills设计。
  • 计算机主机一般同多个时钟服务器连接,利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源以便校正主机时间。即使在主机长时间无法与某一时钟服务器联系的情况下,NTP服务依然可以有效运转。
阅读全文 »

集群分发脚本

  • 放在~/bin/下,注意需要配置可执行权限
  • for循环中配置节点主机名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=11; host<=13; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
阅读全文 »

文章多处参考自Hadoop: Setting up a Single Node Cluster

注意:测试环境中应有3台虚拟机,各自网卡UUID,IP,主机名均不同,一下信息仅为其中之一的配置

虚拟机信息

  • CentOS Linux release 7.6.1810 (Core)

    Derived from Red Hat Enterprise Linux 7.6 (Source)

    Linux hadoop10 3.10.0-957.27.2.el7.x86_64

  • 账户信息

用户名 密码
sun 123456
hadoop 123456
root 123456
  • 测试hadoop时务必使用hadoop用户操作
阅读全文 »

原文章出自www.hackbase.com,本文对其排版做了部分优化,作者不可考,感谢前人贡献

转自数据库设计中的14个技巧

虽然文章很棒,但年代比较远,关于数据库冗余等的争议性问题,我并不认同文章中的做法,因为现代数据库更注重效率,数据库冗余权衡还是要因地制宜,不可一概而论

1. 原始单据与实体之间的关系

  可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单据对应多个实体,或多张原始单据对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。

  〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单据对应多个实体”的典型例子。

阅读全文 »