- 博客(47)
- 资源 (97)
- 收藏
- 关注
原创 Java基础总结
安装JDK 弄清楚各个目录的用途。使用命令行工具javac编译,java命令运行程序。Java的包(package)对.class文件所在的路径的影响。JDK,JRE,JVM区别与联系面向对象编程 基本数据结构、表达式、语句、控制流、函数调用。类、引用类型和值类型的区别、成员、方法、访问控制、继承、多态、接口、接口实现。面向对象的基本思想,即对象、消息、封装、继承、多态等,这些通...
2018-07-07 09:49:02 826
原创 java.lang.NullPointerException: null无堆栈信息
今天遇到个java.lang.NullPointerException: null,发现没有堆栈信息,无法定位。看了下代码,按道理是会打印堆栈的啊。try { ...} catch(Throwable e) { log.error("", e);}查了下(https://stackoverflow.com/questions/2411487/nullpointere...
2018-07-05 10:55:39 6035
原创 mysql-cluster(10)——注意事项
连接MySQL cluster适合用于高速带宽的环境中,采用TCP/IP方式连接。它的性能跟主机间的连接速率有直接关系。集群中的最小速率要求是常规的100Mb以太网或者等同的网络。我们建议可能的话就采用G级网络。内存MySQL cluster可以运行在任何启用NDB的平台上。显然,CPU越快,内存越大,对集群性能提升越明显,64位的CPU也可能比32位的处理器更快。每个作为数据...
2018-06-05 13:24:27 1809
原创 mysql-cluster(9)——NDB和InnoDB区别
官方区别(https://dev.mysql.com/doc/mysql-cluster-excerpt/5.7/en/mysql-cluster-ndb-innodb-engines.html):MySQL Cluster NDB存储引擎用分布式, shared-nothing的架构实现,这使其和innodb有不少不同之处。比如事务、外键、表限制等,具体见下表:...
2018-06-05 13:21:55 8575
原创 mysql-cluster(8)——最佳实践
1 集群数量2 MGM节点配置2.1 config.ini2.2 关闭mysql服务3 NDB节点和SQL节点配置4 其他1 集群数量 节点 数量 MGM节点 1 NDB节点 >=2 SQL节点 >=1,尽可能多2 MGM节点配置2.1 config.ini配置/opt/mysql...
2018-06-05 13:15:06 3370
原创 mysql-cluster(7)——基准测试
1 mysql-cluster部署和配置见附录。2 测试准备库:mysql -u rootcreate database sbtest;2.1 只读sysbench --test=/opt/mysql/sysbench/share/tests/db/oltp.lua \--mysql-host=10.5.11.87 --mysql-port=3306 --my...
2018-06-05 13:10:23 1124
原创 mysql-cluster(6)——配置详解
NDB节点参数列表:https://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-params-ndbd.html MGM节点参数列表:https://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-params-mgmd.html SQL节点参数列表:https://dev.mysql.com/doc/...
2018-06-05 12:59:56 1483
原创 mysql-cluster(5)——jdbc
1 mysql-connector-java建议使用5.x版本,使用6.x版本会遇到很多莫名错误。2 建立连接Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql:loadbalance://10.5.11.86:3306,10.5.11.87:3306/test2?roundRobinLoadBalanc...
2018-06-05 12:58:03 1309
原创 mysql-cluster(4)——创建内存表和磁盘表
在ndb上可以建立两种类型的表:内存表:所有数据(包括index)都在内存中。同时会在磁盘上保存数据,因此不用担心数据会丢失,datanode会在启动的时候把数据加载到内存。默认ndb创建的表为内存表。磁盘表:仅主键、索引字段保存在内存中,其他字段保存在磁盘文件里。1 创建内存表2 创建磁盘表2.1 创建undo日志文件组2.2 创建数据表空间2.3 创建磁盘表3 ...
2018-06-05 12:57:03 2812
原创 mysql-cluster(3)——集群管理和维护
集群管理和维护1 启动2 关闭3 ndb_mgm1 启动启动顺序为:管理节点->数据节点->SQL节点 (1) 管理节点:ndb_mgmd -f /opt/mysql/data/config.ini注:–initial指定初始化加载,每次修改管理节点的配置重启都需要加上,否则不会生效;-f指定管理节点的参数文件。ndb_mgmd --initial...
2018-06-05 12:53:01 3414
原创 mysql-cluster(2)——部署
1 准备工作2 部署2.1 新建linux用户2.2 解压安装包2.3 NDB节点和API节点配置my.cnf2.4 指定用户权限和数据位置2.5 NDB节点配置mysqld2.6 MGM节点配置config.ini2.7 mysql命令快捷方式生效3 卸载4 启动示例4.1 启动management-node4.2 启动data-node4.3 启动sql-no...
2018-06-05 12:47:38 2649
原创 mysql-cluster(1)——简介
MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统。不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能。和Oracle Real Cluster Application不太一样的是,MySQL Cluster 是一个Share Nothing的架构,各个MySQL Server之间并不共享任何数据,高度可扩展以及高度可用方面的突出表现是其最大的特色...
2018-06-05 12:33:12 4102 1
原创 认识 linux 文件目录
1 /2 usr3 var1 / 目录 缩写 含义 /bin binary 存放传统Unix系统必备的命令,如cat、cp、ls等 /boot - 这里存放的是启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。 /dev - 所有的系统设备文件,从此目录可以访问各种系统设备。如CD-...
2018-05-21 19:33:21 177
原创 gperftools 分析应用程序性能
1.安装libunwind库2.安装google-perftools3.为google-perftools添加线程目录4.修改tomcat启动文件startup.sh6.分析日志7.btracegperftools是Google提供的一套工具,其中的一个功能是CPU profiler,用于分析程序性能,找到程序的性能瓶颈。1.安装libunwind库可以从http...
2018-05-21 19:21:37 1811
原创 linux 工具集,让你轻松运维linux
有一个linux工具集的总结,个人觉得很不错,分享下: 1. gdb 调试利器 2. ldd 查看程序依赖库 3. lsof 一切皆文件 4. ps 进程查看器 5. pstack 跟踪进程栈 6. strace 跟踪进程中的系统调用 7. ipcs 查询进程间通信状态 8. top linux下的任务管理器 9. free 查询可用内存 10. vmstat 监视内存使用情况...
2018-05-21 18:28:19 908
原创 windows环境下跑通spark streaming wordcount,先了解windows下的nc用法
spark streaming官方教程有个NetworkWordCount例子,通过 TCP 套接字连接,从流数据中创建了一个 DStream,然后进行处理,时间窗口大小为10s 。 其中需要使用netcat作为数据数据服务器,window下执行:nc -lk 9999结果报“’nc’ 不是内部或外部命令,也不是可运行的程序或批处理文件。” 哦,没有安装netcat,于是下载ne...
2018-05-21 15:10:58 4858 2
原创 Flink on yarn 常见错误
1 Retrying connect to server2 Unable to get ClusterClient status from Application Client3 Cannot instantiate user function4 Could not resolve substitution to a value: ${akka.stream.materializer}...
2018-05-19 16:26:46 14046 2
原创 Docker学习笔记
1. docker是什么docker核心功能是镜像(容器)管理,容器是应用的打包,包含了应用执行所依赖的数据(包括lib,配置文件等等),实现快速开发和部署应用。之前也有可以提供镜像管理的产品,如vagrant。Vagrant并不提供虚拟化技术,本质上是一个虚拟机外挂,通过虚拟机的管理接口来管理虚拟机,让用户更轻松的进行一些常用配置,比如:CPU/Memory/IP/DISK等分配。并且提供了一些其
2016-11-26 19:00:30 608
原创 JAVA基础(13)——序列化
JAVA基础系列规划:JAVA基础(1)——基本概念JAVA基础(2)——数据类型JAVA基础(3)——容器(1)——常用容器分类JAVA基础(4)——容器(2)——普通容器JAVA基础(5)——并发(1)——总体认识JAVA基础(6)——并发(2)——原子JAVA基础(7)——并发(3)——锁机制JAVA基础(8)——并发(4)——线程池JAVA基础(9)——容器(3)——并发容
2016-11-22 22:31:48 945
原创 JAVA基础(2)——数据类型
JAVA基础系列规划:JAVA基础(1)——基本概念JAVA基础(2)——数据类型JAVA基础(3)——容器(1)——常用容器分类JAVA基础(4)——容器(2)——普通容器JAVA基础(5)——并发(1)——总体认识JAVA基础(6)——并发(2)——原子JAVA基础(7)——并发(3)——锁机制JAVA基础(8)——并发(4)——线程池JAVA基础(9)——容器(3)——并发容
2016-11-22 22:22:06 1133
原创 JVM原理及调优(7)——JDK常用内置工具
系列文章规划:JVM基础(1)——内存模型JVM基础(2)——内存管理JVM基础(3)——编译机制JVM基础(4)——类加载机制JVM基础(5)——垃圾回收和调优JVM基础(6)——G1收集器及G1日志分析JVM基础(7)——jdk常用内置工具JDK常用内置工具(基于jdk8) 工具 用途 jps 列出已装载的JVM jstack 打印线程堆栈信息 jsta
2016-11-22 13:10:07 6058 1
原创 JVM原理及调优(4)——类加载机制
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持 Java 语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段
2016-11-21 20:59:51 1676
原创 JVM原理及调优(3)——编译机制
JVM只能够识别Class文件,Java源文件需要经过编译器编译生成字节码文件。1. 编译在 Java 中提到“编译”,自然很容易想到 javac 编译器将.java文件编译成为.class文件的过程,这里的 javac 编译器称为前端编译器,其他的前端编译器还有诸如 Eclipse JDT 中的增量式编译器 ECJ 等。相对应的还有后端编译器,它在程序运行期间将字节码转变成机器码(现在的 Java
2016-11-21 20:57:59 1061
原创 JVM原理及调优(2)——内存管理
//TODO参考文献JVM自动内存管理:内存区域基础概念(视频)JDK,JRE,JVM区别与联系Java虚拟机的内存组成以及堆内存介绍Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收Java堆内存与栈内存的区别Java 堆和栈的区别)
2016-11-21 20:56:53 1053
原创 JVM原理及调优(1)——内存模型
1. 基本概念1.1 顺序一致性程序执行最简单的模型就是按照指令出现的顺序执行,这叫顺序一致性模型。是一个理想化的内存模型。有以下规则:一个线程中的所有操作必须按照程序的顺序来执行。所有线程都只能看到一个单一的操作执行顺序。在顺序一致性内存模型中,每个操作都必须原子执行且立刻对所有线程可见。1.2 重排序但人为指定的顺序并不能总是保证符合CPU处理的特性,因此现代计算机体系和处理器架构都不保证
2016-11-21 20:56:23 2900
原创 JVM原理及调优(6)——G1收集器及G1日志分析
系列文章规划:JVM基础(1)——内存模型JVM基础(2)——内存管理JVM基础(3)——编译机制JVM基础(4)——类加载机制JVM基础(5)——垃圾回收和调优JVM基础(6)——G1收集器及G1日志分析JVM基础(7)——jdk常用内置工具1 G1简介1.1 概述G1 (Garbage-First)是一款面向服务器的垃圾收集器,主要针对配备多核处理器及大...
2016-11-15 12:57:47 13501
原创 Kafka学习(6)——优化指南
Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试)。但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多有10-100M,这种情况下,Kakfa应该如何处理?针对这个问题,有以下几个建议:最好的方法是不直接传送这些大的数据。如果有共享存储,如NAS, HDFS, S3等,可以把这些大的文件存放到共享存储
2016-11-02 16:23:38 9697
原创 Kafka学习(5)——常用集群操作
1. 启动bin/kafka-server-start.sh config/server.propertiesbin/kafka-server-start.sh -daemon ./config/server.properties2. 关闭bin/kafka-server-stop.sh3. topic列表bin/kafka-topics.sh --list --zookeeper silkw
2016-11-02 16:11:06 377
原创 Kafka学习(4)——生产消费实践
1. 基于0.8的生产者和消费者maven依赖:<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.9.0.1</version></dependency><dependency> <groupId>org.apache
2016-11-02 16:10:07 4278
原创 Kafka学习(3)——测试
首先,简单介绍下kafka。Kafka是由LinkedIn开发的分布式的、基于发布/订阅的消息系统,以可水平扩展和高吞吐率而被广泛使用。主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。支持Kafka Server间的消息分区,及分布式消
2016-11-02 15:59:54 1067
原创 Kafka学习(2)——理解Kafka
1 框架Kafka是一种分布式的发布/订阅消息系统。主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。 支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。 同时支持离线数据处理和实时数据处
2016-11-02 10:22:40 1226
原创 Kafka学习(1)——kafka文档阅读笔记
以下内容,仅为档Kafka Documentation的阅读笔记。阅读时的版本为0.9.0.x。1. 开始 1.1 引言1.2 使用场景1.3 快速开始1.4 相关技术生态1.5 升级2. API 2.1 Producer API2.2 Consumer API 2.2.1 高级消费者API(旧)2.2.2 低级消费者API(旧)2.2.3 消费者API(新)3. 配置
2016-11-02 10:15:13 1196
原创 JAVA基础(1)——基本概念
Java是面向对象的语言,面向对象思想将所有东西都看作对象,对象和对象之间通过行为进行沟通,不断的产生问题和解决问题。1. 概念类、对象对象是一个具体的实例,类是对象的抽象。类似:人(抽象的类)—> 张三(具体的人对象)。类由属性和方法构成,属性描绘了类的特点,而方法描述了类的功能。封装这种将所有的属性方法包装在一起的方法,就是封装。封装是为了实现信息隐藏,不仅指类中包含了哪些特性和行为,还包括规定
2016-10-29 17:14:57 1254
原创 JAVA基础(10)——IO、NIO
IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。1. 标准IOJava 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层实现,我们无须关注底层实现。从处理数据类型上,可以分为字节流和字符流;从数据流向上,可以分为输入流和输出流。 - 字节流 字符流 输入流 InputStrea
2016-10-29 16:23:24 476
原创 JAVA基础(11)——泛型
先看这样一段小程序:public class GenericType { public static void main(String[] args) { ArrayList al = new ArrayList(); al.add("hello world!"); String s = al.get(0); //编译不通过 S
2016-10-29 14:54:33 619
原创 JAVA基础(9)——容器(3)——并发容器
1. ListCopyOnWriteArrayListpublic class CopyOnWriteArrayList implements List, RandomAccess, Cloneable, java.io.Serializable源自jdk1.5。通常被认为是ArrayList的线程安全变体。CopyOnWriteArrayList内部也由可变数组实现
2016-10-29 14:45:22 1211
原创 JAVA基础(4)——容器(2)——普通容器
1. ListVector从Vector源码看:Vector自jdk1.0出现。Vector继承AbstractList,实现了List、RandomAccess、Cloneable、Serializable。Vector内部维护着protected Object[] elementData,会序列化整个数组,包括未存储数据的区域。Vector初始容量为10,容量是动态变化的,容量增长为((
2016-10-29 14:29:49 1402
原创 JAVA基础(3)——容器(1)——常用容器分类
从元素存储的角度看,容器是存储元素的单元,这样来看,数据类型都是容器。在这里,遵从jdk的定义,将容器定义为jvm持有对象的单元。Java类库提供了一套相当完整的容器类,使用这些类的方法可以保存和操纵对象。常用容器如下表:(图片来自网络,已忘记出处,见谅)以下内容基于jdk1.8。在这里,集合类分为了Map和Collection两个大的类别。图片左上角的那一块灰色里面的四个类(
2016-10-29 14:08:26 5999
原创 JAVA基础(12)——反射
1 概述反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。1.1 Java中的反射机制反射允许动态地发现和绑定类、方法、字段,以及所有其它的由语言所产生的元素。反射不仅可以列举类、字段以及方法,还可以在需要时完成创建实例、调用方法以及访问字段的工作。反射是Java被视为动态(或准动态)语言的关键。Java反射机制主要提供一下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一
2016-10-26 18:05:14 671
原创 Zookeeper学习笔记(2)——工作原理
1. 集群节点ZK集群中的节点有3种角色和4种状态。3种角色:leader:领导者follower:随从,参与选举和投票,可被选举为领导者。observer:接受者,不参与选举和投票4种状态:LOOKING:当前Server不知道leader是谁,正在搜寻。LEADING:当前Server即为选举出来的leader。FOLLOWING:leader已经选举出来,当前Server与之同步
2016-10-26 17:58:03 510
敏捷软件开发:原则、模式与实践(Agile.software.development:Principles,Patterns,and.Practices)中英版
2013-08-19
快速软件开发(Rapid.Development: Taming.Wild.Software.Schedules)中英版
2013-08-18
分析模式:可复用的对象模型(Analysis.Patterns:Reusable.Object.Models)(中英版)
2013-08-15
企业应用架构模式(Patterns of Enterprise Application Architecture)(中英版
2013-08-14
人件(PeopleWare:Productive.Projects.and.Teams)(中英版)
2013-08-13
Java并发编程:设计原则与模式(Concurrent.Programming.in.Java)(中英版)
2013-08-13
Java并发编程实践(Java Concurrency in Practice) (中英版)
2013-08-08
Principles.of.Distributed.Database.Systems,3ed,Ozsu.Valduriez(分布式数据库系统原理)
2013-08-19
计算机程序的构造与解释(Structure.and.Interpretation.of.Computer.Programs)中英版
2013-08-18
UNIX环境高级编程(Advanced.Programming.in.the.UNIX.Environment)中英版
2013-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人