elina

elina 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

elina 关注了标签 · 8月20日

java

Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

Java编程语言的风格十分接近 C++ 语言。继承了 C++ 语言面向对象技术的核心,Java舍弃了 C++ 语言中容易引起错误的指針,改以引用取代,同时卸载原 C++ 与原来运算符重载,也卸载多重继承特性,改用接口取代,增加垃圾回收器功能。在 Java SE 1.5 版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对 Java 语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”。

版本历史

重要版本号版本代号发布日期
JDK 1.01996 年 1 月 23 日
JDK 1.11997 年 2 月 19 日
J2SE 1.2Playground1998 年 12 月 8 日
J2SE 1.3Kestrel2000 年 5 月 8 日
J2SE 1.4Merlin2002 年 2 月 6 日
J2SE 5.0 (1.5.0)Tiger2004 年 9 月 30 日
Java SE 6Mustang2006 年 11 月 11 日
Java SE 7Dolphin2011 年 7 月 28 日
Java SE 8JSR 3372014 年 3 月 18 日
最新发布的稳定版本:
Java Standard Edition 8 Update 11 (1.8.0_11) - (July 15, 2014)
Java Standard Edition 7 Update 65 (1.7.0_65) - (July 15, 2014)

更详细的版本更新查看 J2SE Code NamesJava version history 维基页面

新手帮助

不知道如何开始写你的第一个 Java 程序?查看 Oracle 的 Java 上手文档

在你遇到问题提问之前,可以先在站内搜索一下关键词,看是否已经存在你想提问的内容。

命名规范

Java 程序应遵循以下的 命名规则,以增加可读性,同时降低偶然误差的概率。遵循这些命名规范,可以让别人更容易理解你的代码。

  • 类型名(类,接口,枚举等)应以大写字母开始,同时大写化后续每个单词的首字母。例如:StringThreadLocaland NullPointerException。这就是著名的帕斯卡命名法。
  • 方法名 应该是驼峰式,即以小写字母开头,同时大写化后续每个单词的首字母。例如:indexOfprintStackTraceinterrupt
  • 字段名 同样是驼峰式,和方法名一样。
  • 常量表达式的名称static final 不可变对象)应该全大写,同时用下划线分隔每个单词。例如:YELLOWDO_NOTHING_ON_CLOSE。这个规范也适用于一个枚举类的值。然而,static final 引用的非不可变对象应该是驼峰式。

Hello World

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

编译并调用:

javac -d . HelloWorld.java
java -cp . HelloWorld

Java 的源代码会被编译成可被 Java 命令执行的中间形式(用于 Java 虚拟机的字节代码指令)。

可用的 IDE

学习资源

常见的问题

下面是一些 SegmentFault 上在 Java 方面经常被人问到的问题:

(待补充)

关注 104563

elina 关注了标签 · 8月20日

关注 81344

elina 关注了标签 · 8月20日

mysql

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

关注 62694

elina 关注了标签 · 8月20日

程序员

一种近几十年来出现的新物种,是工业革命的产物。英文(Programmer Monkey)是一种非常特殊的、可以从事程序开发、维护的动物。一般分为程序设计猿和程序编码猿,但两者的界限并不非常清楚,都可以进行开发、维护工作,特别是在中国,而且最重要的一点,二者都是一种非常悲剧的存在。

国外的程序员节

国外的程序员节,(英语:Programmer Day,俄语:День программи́ста)是一个俄罗斯官方节日,日期是每年的第 256(0x100) 天,也就是平年的 9 月 13 日和闰年的 9 月 12 日,选择 256 是因为它是 2 的 8 次方,比 365 少的 2 的最大幂。

1024程序员节,中国程序员节

1024是2的十次方,二进制计数的基本计量单位之一。程序员(英文Programmer)是从事程序开发、维护的专业人员。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1GB=1024M,而1GB与1级谐音,也有一级棒的意思。

从2012年,SegmentFault 创办开始我们就从网络上引导社区的开发者,发展成中国程序员的节日 :) 计划以后每年10月24日定义为程序员节。以一个节日的形式,向通过Coding 改变世界,也以实际行动在浮躁的世界里,固执地坚持自己对于知识、技术和创新追求的程序员们表示致敬。并于之后的最为临近的周末为程序员们举行了一个盛大的狂欢派对。

2015的10月24日,我们SegmentFault 也在5个城市同时举办黑客马拉松这个特殊的形式,聚集开发者开一个编程大爬梯。

特别推荐:

【SF 黑客马拉松】:http://segmentfault.com/hacka...
【1024程序员闯关秀】小游戏,欢迎来挑战 http://segmentfault.com/game/

  • SF 开发者交流群:206236214
  • 黑客马拉松交流群:280915731
  • 开源硬件交流群:372308136
  • Android 开发者交流群:207895295
  • iOS 开发者交流群:372279630
  • 前端开发者群:174851511

欢迎开发者加入~

交流群信息


程序员相关问题集锦:

  1. 《程序员如何选择自己的第二语言》
  2. 《如何成为一名专业的程序员?》
  3. 《如何用各种编程语言书写hello world》
  4. 《程序员们最常说的谎话是什么?》
  5. 《怎么加入一个开源项目?》
  6. 《是要精于单挑,还是要善于合作?》
  7. 《来秀一下你屎一般的代码...》
  8. 《如何区分 IT 青年的“普通/文艺/二逼”属性?》
  9. 程序员必读书籍有哪些?
  10. 你经常访问的技术社区或者技术博客(IT类)有哪些?
  11. 如何一行代码弄崩你的程序?我先来一发
  12. 编程基础指的是什么?
  13. 后端零起步:学哪一种比较好?
  14. 大家都用什么键盘写代码的?

爱因斯坦

程序猿崛起

关注 109896

elina 关注了标签 · 8月20日

react.js

React (sometimes styled React.js or ReactJS) is an open-source JavaScript library for creating user interfaces that aims to address challenges encountered in developing single-page applications. It is maintained by Facebook, Instagram and a community of individual developers and corporations.

关注 36359

elina 关注了标签 · 8月20日

关注 1339

elina 关注了标签 · 8月20日

linux

Linux是一种自由和开放源代码的类Unix计算机操作系统。目前存在着许多不同的Linux,但它们全都使用了Linux内核。Linux可安装在各种各样的计算机硬件设备,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机,大型机和超级计算机。

Linux家族家谱图,很全很强大!! 图中可以清楚的看出各个Linux发行版的血缘关系。无水印原图:http://url.cn/5ONhQb

关注 63564

elina 关注了标签 · 8月20日

springboot

Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。

关注 11622

elina 关注了标签 · 8月20日

算法

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。

关注 13089

elina 发布了文章 · 2017-12-28

jstorm2.2.1 安装使用记录

一、准备工作

1、机器:一台或多台
2、修改主机名,设置集群host

  • 修改主机名,并使之生效

     - 修改:`vim etc/sysconfig/network`
     - 使之生效:`source etc/sysconfig/network`  

clipboard.png

  • 统一设置集群host(修改集群中每个节点的hosts文件):vim /etc/hostsclipboard.png

3、防火墙设置

若多台机器,设置防火墙,可使用以下任一方法:   

3.1 关闭防火墙

  • 即时生效,重启后会复原:service iptables stop
  • 永久生效:chkconfig iptables off

3.2 设置防火墙规则,允许内网间访问。

  • 修改iptables:在/etc/sysconfig/iptables中加入-A INPUT -s 192.168.1.0/24 -j ACCEPT ,192.168.1.0/24更改为自己的网段/子网掩码位数。
  • 重启防火墙:service iptables restart

4、安装zookeeper

5、python环境

   2.6或以上版本(linux系统默认已安装python2.6) 

6、jdk环境

二、jstorm安装

官网地址:http://www.jstorm.io:8080/

1、下载wget https://github.com/alibaba/jstorm/releases/download/2.2.1/jstorm-2.2.1.zip
2、解压tar zxvf jstorm-2.2.1.zip
3、配置vim jstorm-2.2.1/conf/storm.yaml
配置说明参考:http://www.jstorm.io:8080/Maintenance_cn/Configuration.html

  • storm.zookeeper.servers: zookeeper地址,可以是ip,也可以是hostname
  • storm.zookeeper.port: zookeeper集群服务的端口
  • storm.zookeeper.root:jstorm数据在zookeeper上的存储路径(若只有一个集群也可不设置该参数,默认为/sstrom)
  • cluster.name:jstorm集群名称(若只有一个集群也可不设置该参数,默认为default)
  • nimbus.host: nimbus服务所在节点ip,注意只支持ip不能使用hostname,多个ip使用逗号隔开
  • nimbus.host.start.supervisor:是否在nimbus节点启动supervisor服务(使用start.sh脚本启动时会使用此参数,使用jstorm脚本启动时 没有影响)
  • storm.local.dir:数据临时存储目录,目录需先手动创建好
  • jstorm.log.dir: 日志存储目录,目录需先手动创建好
  • supervisor.slots.ports.base:supervisor 执行worker使用的基本端口
  • supervisor.slots.ports:执行worker使用的端口,默认为四
  • supervisor.slots.port.cpu.weight:cpu权重 cpu_num = system_physical_cpu_num/supervisor.slots.port.cpu.weight
  • supervisor.slots.port.mem.weight:内存权重 mem_num = system_physical_memory_size/(worker.memory.size * supervisor.slots.port.mem.weight)
  • storm.messaging.netty.transfer.async.batch:如果此设置为真,netty处于异步模式,则netty将会批处理消息,如果此设置为false,netty在异步模式下,netty将把tuple一个一个地发送到一个大消息中
  • worker.memory.size: worker内存大小,单位是字节
  • topology.performance.metrics: 禁用时,不会收集定时器和直方图的数据
  • topology.alimonitor.metrics.post: 官方解释为:禁用时,指标数据只会被打印成日志。启动时,那数据除了打印到日志之外,还发布到alimonitor上。暂时没发现有什么影响

clipboard.png
clipboard.png

4、安装
4.1 将安装包放到需要安装的目录,如:mv jstorm-2.2.1 /opt/
4.2 复制安装包到其他节点,如: scp -r jstorm-2.2.1 host29:/opt/
4.3 为了使环境变量与版本无关,建立一个软连接 ln -s jstorm-2.2.1 jstorm
clipboard.png

4.4 设置jstorm环境变量,否则启动报错,导致服务无法正常启动

- 设置JSTORM_HOME:`vim /etc/profile`        ![clipboard.png](/img/bV04wD)
- 使设置生效: `source /etc/profile`

5、启动

  • 同时启动nimbus和supervisor: /opt/jstorm/bin/start.shclipboard.png
  • 只启动nimbus:
    使用jstorm脚本启动:nohup $JSTORM_HOME/bin/jstorm nimbus >/dev/null 2>&1 &clipboard.png
  • 使用start.sh脚本启动:设置nimbus.host.start.supervisorfalse 使用/opt/jstorm/bin/start.sh
  • 只启动supervisor: nohup $JSTORM_HOME/bin/jstorm supervisor>/dev/null 2>&1 &clipboard.png

6、停止jstorm/opt/jstorm/bin/stop.sh
clipboard.png

三、jstorm-ui安装

一般与nimbus安装在一个节点,也可以单独部署

1、安装tomcat
1.1 下载tomcat

  • 官网地址:https://tomcat.apache.org/dow...
  • 下载:wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz (此地址为镜像地址,可能变更,请以官网最新下载地址为准)

1.2 解压 安装

  • 解压:tar zxvf apache-tomcat-8.5.23.tar.gz
  • 安装:cp apache-tomcat-8.5.23 /opt/

2、部署jstorm-ui
2.1 部署安装包

  • 安装包在jstorm-2.2.1安装包下,把ui安装包部署到tomcat的webapps目录下:cp /opt/jstorm-2.2.1/jstorm-ui-2.2.1.war /opt/apache-tomcat-8.5.23/webapps/

2.2 配置文件:配置文件放在~/.jstorm目录下,没有则新建

  • 新建配置文件目录:mkdir ~/.jstorm
  • 复制jstorm的配置文件:cp -f /opt/jstorm/conf/storm.yaml ~/.jstorm

2.3 配置tomcat:vim /opt/apache-tomcat-8.5.23/conf/server.xml

在host节点中增加如下代码
<Context docBase="${catalina.home}/webapps/jstorm-ui-2.2.1" reloadable="false" path="/jstorm"/>

*此配置是为了使用http://153.35.119.4:8080/jstorm这个url访问jstorm-ui,不配置此项默认是使用报名访问的:http://153.35.119.4:8080/jstorm-ui-2.2.1*
    

3、启动

  • 运行tomcat:/opt/apache-tomcat-8.5.23/bin/startup.sh

4、使用http://153.35.119.4:8080/jstorm访问页面
clipboard.png

四、运行任务

1、开发

2、运行/opt/jstorm/bin/jstorm jar LogCaculater-1.0.0.jar com.snail.dw.jstorm.topology.LogCountTopology conf.yaml

3、删除任务/opt/jstorm/bin/jstorm kill LogCountTopology

五、错误记录

1、没有设置JSTORM_HOME环境变量:clipboard.png

2、yaml配置文件语法错误
clipboard.png

yaml配置文件一级属性必须距离左边 空 **一个空格**,值距离左边分号也必须至少一个空格

参考文章:

查看原文

赞 1 收藏 1 评论 0

认证与成就

  • 获得 13 次点赞
  • 获得 0 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 0 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2017-10-18
个人主页被 373 人浏览