HiSEN

Personal Technology Blog


  • 归档

  • 分类

  • 标签

  • 书单

  • 关于

  • 搜索
close
HiSEN

Ubuntu16.04使用阿里云镜像安装Mongodb & 配置

发表于 2017-02-19

一、使用阿里云镜像安装Mongodb

1 > 添加 MongoDB 公共GPG钥匙

1
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

2 > 创建列表文件

这里把官网repo.mongodb.org

换成了mirrors.aliyun.com

1
echo "deb http://mirrors.aliyun.com/mongodb/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

阅读全文 »
HiSEN

Oracle VM VirtualBox命令行打开虚拟机并且后台运行

发表于 2017-02-19 | 分类于 linux

这几天在折腾Ubuntu虚拟机,想着也就让他做一台服务器罢了

没想到安装之后发现一直没法让VirtualBox隐藏到托盘

按正常程序走,打开一个虚拟机会出现两个GUI界面:

  1. VirtualBox界面
  2. 虚拟机界面

第一个可以在打开虚拟机之后关闭,第二个不能关闭也不能隐藏到托盘

痛苦!!!

这里给出解决方案:通过cmd命令行启动并且后台运行

一、进入VirtualBox安装目录,我这里是

1
C:\tool\Oracle\VirtualBox>

二、列出所有安装的虚拟机

1
2
3
4
C:\tool\Oracle\VirtualBox>VBoxManage list vms
"centos" {162f777f-e3c4-4717-8b5b-4a4e43a8b552}
"debian" {48ebecba-77ec-483d-ab73-bf9ee777e2f6}
"ubuntu" {d8050b3a-b04b-4fe9-8a90-16086dac0ae9}

前面是NAME,后面是UUID,之后的name用这连个代替都可以

三、命令行启动虚拟机

阅读全文 »
HiSEN

Ubuntu 16 LTS 关闭图形界面

发表于 2017-02-18 | 分类于 linux

有两个方法。

第一个方法

到了图形化界面,打开terminal(终端)执行

1
sudo init 3

就会跳转到命令行界面,并且只有命令行

就是一个全屏的terminal。

第二个方法

在安装ubuntu的时候,有选择是否安装图形化界面的选项,选择不安装,那么系统将不带有图形化界面而默认进入命令行界面。

第三个方法

http://hisen.me/20170219-Oracle-VM-VirtualBox%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%89%93%E5%BC%80%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%B9%B6%E4%B8%94%E5%90%8E%E5%8F%B0%E8%BF%90%E8%A1%8C/

第四个方法

直接安装Ubuntu Server,目前我就是这样

不过装了之后还是推荐第三个方法!!!

HiSEN

Windows ssh连接 VirtualBox Ubuntu 16虚拟机

发表于 2017-02-18 | 分类于 linux

安装完虚拟机之后想在windows下用xshell链接Ubuntu虚拟机

这种配置下,虚拟机能上网,又能跟win连接,感觉很完美

VirtualBox的端口转发很不错,可以转发tomcat什么的

准备工作

1.给Ubuntu安装openssh-server

1
sudo apt-get install openssh-server

阅读全文 »
HiSEN

Ubuntu 16 换阿里云源

发表于 2017-02-18 | 分类于 linux
  1. sudo vi /etc/apt/sources.list
  2. 删除里面所有的内容,添加下面的内容
  3. sudo apt-get update

三步完成之后即可!

阅读全文 »
HiSEN

Linux-Ubuntu安装:JDK & Tomcat & Maven - 简单教程

发表于 2017-02-18 | 分类于 linux

在网速搜索很多教程,感觉写的都太难了我去

准备工作:

  1. 下载JDK,并解压(选择适合自己的版本:地址)
  2. 下载Tomcat,并解压(选择适合自己的版本:地址)
  3. 下载Maven,并解压(选择适合自己的版本:地址)

目录约定:

  1. java路径:/usr/hisen/soft/java/jdk8
  2. tomcat路径:/usr/hisen/soft/tomcat/tomcat8
  3. maven路径:/usr/hisen/soft/maven/maven-3.5.0

说明以上路径都是解压之后的,请解压之后自行重命名文件夹等工作

阅读全文 »
HiSEN

centos更换yum源为阿里云 - 三步搞定

发表于 2017-02-17 | 分类于 linux

阿里云是最近新出的一个镜像源。得益于阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源。
阿里云Linux安装镜像源地址:http://mirrors.aliyun.com/

CentOS系统更换软件安装源

第一步:备份你的原镜像文件,以免出错后可以恢复。

1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

(如果无wget命令,底部有具体说明)

CentOS 5

1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6

1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7

1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、之后运行yum makecache生成缓存


ps:如果你跟我一样苦逼:

1
-bash: wget: command not found

然后:

1
yum -y install wget #失败

那么你可以直接选择上面对应系统的文件下载链接

下载好文件之后改名为CentOS-Base.repo

直接放到/etc/yum.repos.d/目录下即可

HiSEN

HashMap和Hashtable的区别

发表于 2017-02-17 | 分类于 java

在Java 2以前,一般使用Hashtable来映射键值和元素。为了使用Java集合框架,Java对Hashtable进行了重新设计,但是,为了向后兼容保留了所有的方法。Hashtable实现了Map接口,除了Hashtable具有同步功能之外,它与HashMap的用法是一样的。·在使用时一般是用ArrayList代替Vector,LinkedList代替Stack,HashMap代替HashTable,即使在多线程中需要同步,也是用同步包装类。

另外在使用上还有一些小的差异,比如:

  1. HashTable的key和value都不允许为null值,而HashMap的key和value则都是允许null值的。这个其实没有好坏之分,只是Sun为了统一Collection的操作特性而改进的。
  2. HashTable有一个contains(Object value)方法,功能上与containsValue(Object value)一样,但是在实现上花销更大,现在已不推荐使用。而HashMap只有containsValue(Object value)方法。
  3. HashTable使用Enumeration,HashMap使用Iterator。Iterator其实与Enmeration功能上很相似,只是多了删除的功能。用Iterator不过是在名字上变得更为贴切一些。模式的另外一个很重要的功用,就是能够形成一种交流的语言(或者说文化)。有时候,你说Enumeration大家都不明白,说Iterator就都明白了。

在实现上两者已有一些差异,这里简单说明一下:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public Hashtable(int initialCapacity, float loadFactor) {
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
if (loadFactor <= 0 || Float.isNaN(loadFactor))
throw new IllegalArgumentException("Illegal Load: "+loadFactor);
if (initialCapacity==0)
initialCapacity = 1;
this.loadFactor = loadFactor;
table = new Entry[initialCapacity];
threshold = (int)Math.min(initialCapacity * loadFactor, MAX_ARRAY_SIZE + 1);
initHashSeedAsNeeded(initialCapacity);
}
public Hashtable(int initialCapacity) {
this(initialCapacity, 0.75f);
}
public Hashtable() {
this(11, 0.75f);
}


public HashMap(int initialCapacity, float loadFactor) {
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal initial capacity: " +
initialCapacity);
if (initialCapacity > MAXIMUM_CAPACITY)
initialCapacity = MAXIMUM_CAPACITY;
if (loadFactor <= 0 || Float.isNaN(loadFactor))
throw new IllegalArgumentException("Illegal load factor: " +
loadFactor);
this.loadFactor = loadFactor;
threshold = initialCapacity;
init();
}
public HashMap(int initialCapacity) {
this(initialCapacity, DEFAULT_LOAD_FACTOR);
}
public HashMap() {
this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);
}

HashTable中构造hash数组时initialCapacity默认大小是11,增加的方式是 old*2+1。HashMap中构造hash数组时initialCapacity默认大小是16,而且一定是2的指数。对于哈希值的使用也有所不同,HashTable直接使用对象的hashCode,代码是这样的:

1
2
int hash = key.hashCode();
int index = (hash & 0x7FFFFFFF) % tab.length;

而HashMap重新计算hash值,而且用与代替求模:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int hash = hash(k);
int i = indexFor(hash, table.length);

static int hash(Object x) {
  int h = x.hashCode();

  h += ~(h << 9);
  h ^= (h >>> 14);
  h += (h << 4);
  h ^= (h >>> 10);
  return h;
}
static int indexFor(int h, int length) {
  return h & (length-1);
}

仅供参考,内容来源于互联网

HiSEN

java编译错误:程序包javax.servlet不存在javax.servlet.*

发表于 2017-02-17 | 分类于 java

之前用myeclipse开发的项目

今天导入到IDEA中去,发现编译出问题

ava编译错误:程序包javax.servlet不存在javax.servlet.*


原因大概是myeclipse中可以选择Java EE项目

而idea没有,缺少 servlet-api.jar 这个jar包


解决办法:

  1. 复制tomcat文件夹下lib—>servlet-api.jar 这个jar包
  2. 添加到IDEA项目中去:粘贴到External Library目录下

即可

HiSEN

hexo百度抓取失败解决办法

发表于 2017-02-16 | 分类于 软件

上一篇帖子说明了一下百度抓取不到的原因是因为github把百度爬虫给屏蔽了

这里给出的解决办法是用hexo自动提交插件

需要获取一个自动提交的token

  1. 注册百度站长工具:http://zhanzhang.baidu.com
  2. 添加你的hexo域名
  3. 找到网页抓取 - 链接提交 - 下拉选择你的hexo站点
  4. 数据提交方式 - 自动提交 - 主动推送(实时)
  5. 推送接口
  6. 接口调用地址: http://data.zz.baidu.com/urls?site=hisen.me&token=XmxXyESxyz1hANxE
  7. 复制上面token=后面的内容,那就是你的token

安装自动提交插件:

阅读全文 »

1…222324…27
hisenyuan

hisenyuan

Java R & D

266 日志
33 分类
112 标签
GitHub Weibo
Links
  • 科技爱好者周刊
  • 美团技术团队
  • duanple(老师木)
  • 当然我在扯淡(王垠)
  • 段永平的博客
  • 梦殇国际
© 2016 - 2024 hisenyuan
由 Hexo 强力驱动
您是第  个访问者    |   
主题 - NexT.Mist