自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (1)
  • 收藏
  • 关注

原创 jvm jstat 内存分析

jstat 的参数-class 监视类装载、卸载数量,字节数,以及类装载所耗费的时间。-gc 监视java堆状况,包括Eden区,Survivor区,Old区,Perm区的容量,已使用容量及YGC,FGC发生的次数及耗费的时间。-gccapacity 监视Java堆各个区的最大,最小使用容量及配置容量。-gcutil 监视Java堆各个区的空间使用百分比及YGC,FGC发生的次数及耗费的时间。-gccause 同-gcutil功能相同,额外输出上一次GC产生的原因。-compiler 输出J

2022-03-08 11:29:31 440

原创 第三方登录数据库用户表结构设计

说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情。用户表结构的设计,算是整个后台架构的基石。如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地方也不少。与其如此,不妨设计用户表之初就考虑可拓展性,争取不需要太多额外代价的情况下一步到位。先前设计idusernamepassword用户名加上密码,解决简单需求,留个id作为

2017-08-25 16:35:35 2014 1

原创 读取文件方法大全

1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile {    /**     * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。     */    public static void readFileByBytes(String fileN

2017-08-01 16:11:00 167

原创 hive 2.1.1 部署需要注意的几点以及错误解决办法

安装Hive 过程中要注意1,MySQL 是否正常运行2.   创建好mysql 用户并分配好相应的访问权限以及数据库端口号等3.   mysql-connector-Java-5.1.26-bin.jar  是否放到hive/lib 目录下 建议修改权限为777 (chmod 777 mysql-connector-java-5.1.26-bin.jar)4. 修改conf/hi

2017-04-13 16:20:07 483 1

原创 centos6.7安装elasticsearch 5.3.0

1) 将es压缩文件移到/bigdata中  mv elasticsearch-5.3.0.tar.gz /bigdata cd /bigdata2)解压,重命名  tar zxvf elasticsearch-5.3.0.tar.gz3)用root用户运行es会报错  Exception in thread "main" java.lang.RuntimeException:

2017-04-13 16:19:37 779

原创 Elasticsearch5.3 安装问题集锦

问题一:ERROR: bootstrap checks failedmax file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]max number of threads [1024] for user [lishang] likely too low,

2017-04-13 16:18:40 2061 1

原创 hive 2.1.1 部署需要注意的几点以及错误解决办法

安装Hive 过程中要注意1,MySQL 是否正常运行2.   创建好mysql 用户并分配好相应的访问权限以及数据库端口号等3.   mysql-connector-Java-5.1.26-bin.jar  是否放到hive/lib 目录下 建议修改权限为777 (chmod 777 mysql-connector-java-5.1.26-bin.jar)4. 修改conf/hi

2017-04-13 16:16:45 243

原创 git clone遇到error setting certificate verify locations

git clone 项目地址报错,解决方案:启动 git-bash 输入 git config --system http.sslcainfo "D:\soft\git\bin\curl-ca-bundle.crt" 或者 git config --system http.sslverify false查看我本地目录里面没有 *.crt 文件,使用git config --syst

2017-02-09 11:45:53 1094

原创 缓存应用--热点key问题(mutex key)

一、引出热点key问题        我们通常使用 缓存 + 过期时间的策略来帮助我们加速接口的访问速度,减少了后端负载,同时保证功能的更新,一般情况下这种模式已经基本满足要求了。       但是有两个问题如果同时出现,可能就会对系统造成致命的危害:      (1) 这个key是一个热点key(例如一个重要的新闻,一个热门的八卦新闻等等),所以这种key访问量可

2017-01-11 09:21:21 907

原创 mysql引擎

MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。innoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些

2016-04-04 16:18:48 180

原创 设计模式六大原则简单介绍

ocp : Open Close Principle开闭原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。srp : Single Responsibility Principle单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。LSP : 里式替换定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2

2016-04-04 16:16:31 199

转载 线程基础:线程池——基本使用(下)

5、扩展ThreadPoolExecutor线程池实际上JAVA中提供的ThreadPoolExecutor线程池是鼓励各位程序员进行扩展的(虽然大多数情况下您无需扩展),并且JBOSS(Netty)、Apache(Camel)也正是这样在做。下面我们看看一些由ThreadPoolExecutor提供的扩展方式。5-1、Hook methods在ThreadPoolExecutor中提

2016-01-30 01:03:14 266

转载 redis debug命令详解

redis debug命令提供了几个非常实用的debug功能,本文介绍下redis-2.8.19下的debug命令。debug segment让redis发生段错误,如果开启了coredump,则会产生core文件。这个命令实现很简单,直接往一个非法地址上写数据。*((char*)-1) = 'x';debug oom申请一大片内存,直接让zmalloc触发o

2016-01-26 18:44:00 3784

转载 Redis数据结构

dict字典(dict)是redis里最核心的数据结构,正如其全称Remote Dictionary Service所说,redis其实就是一个字典服务,字典以key、value的形式呈现给用户,key是简单的字符串,而value可以是各种数据结构,比如字符串(string)、链表(list)、集合(set)、排序集合(zset)、哈希表(hash)等。redis里dict的实现也

2016-01-26 18:43:34 166

转载 Redis主备同步

slave状态变迁#define REDIS_REPL_NONE 0 /* No active replication */#define REDIS_REPL_CONNECT 1 /* Must connect to master */#define REDIS_REPL_CONNECTING 2 /* Connecting to master */#define REDIS_REPL

2016-01-26 18:42:56 234

转载 redis slaveof自己会发生什么

向2.8版本redis发送slaveof,将自己变成自己的slave(简称slaveof self)是会返回+OK的,因为响应slaveof命令时,只是设置下master,接下来的同步都是异步进行的。127.0.0.1:6379> set key valueOK127.0.0.1:6379> slaveof 127.0.0.1 6379OK127.0.0.1:6379> get key

2016-01-26 18:42:13 1630

转载 [翻译]JDK 8 兼容性指南

翻译官方文档,译者精力有限,忽略部分划删除线。译者:坤谷(@JianhaoMo),井桐(@张同宝),激酶 兼容性是一个复杂的问题。 本文介绍了Java平台潜在的三种不兼容问题:源码: 源码兼容性问题关注Java源代码转换成class文件是否兼容,包括代码是否仍然可编译。二进制: 在Java语言规范中,二进制兼容性定义为:“类的改变是二进制兼容的(或者不破坏二进制兼容性),是指如

2016-01-26 18:40:52 2005

转载 [翻译]JDK8有什么新东西?

翻译官方文档,译者精力有限,忽略部分划删除线。译者:坤谷(@JianhaoMo) ,校对:井桐(@张同宝)Java SE 8是一个Java主要特性的发布版本。本文总结了在Java SE 8、JDK 8以及Oracle实现的Java SE 8中的新特性和增强的功能。点击下面各个组件的名称可以获取该组件增强的更详细说明。Java编程语言Lambda表达式(Lambda Expr

2016-01-26 18:39:39 360

转载 java定时任务实现的几种方式

在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢? 我这里把定时任务的实现收集整理了一些方法,希望可以帮到刚开始做定时任务的同学,写得不对的地方请指正。一  Java 基本的定时任务,总结方法有三种:      1.1   创建一个thread,然后让

2016-01-26 18:38:21 503

转载 java 深拷贝探讨

java 深拷贝探讨本文将讨论以下4个问题 1. java Cloneable接口实现深拷贝 2. java 序列化实现深拷贝 3. 号称最快的深拷贝二方库cloning源码分析 4. 几种拷贝方式速度的比较深拷贝的概念本文就不说了。在C++中实现深拷贝一般情况下重载赋值操作符 “=” 来实现同一个类的对象间的深拷贝,所以很自然的在java中我们也同样

2016-01-26 18:37:41 428

转载 杜绝假死,Tomcat容器做到自我保护,设置最大连接数

该文章来自阿里巴巴技术协会(ATA)精选集前提说明为了确保服务不会被过多的http长连接压垮,我们需要对tomcat设定个最大连接数,超过这个连接数的请求会拒绝,让其负载到其它机器。达到保护自己的同时起到连接数负载均衡的作用。动手去做一开始根据故障todoList提供的参数MaxKeepAliveRequests,进行验证,我们将tomcat配置server.x

2016-01-26 18:37:02 449

转载 深入浅出ClassLoader(译)

该文章来自阿里巴巴技术协会(ATA)精选集你真的了解ClassLoader吗?这篇文章翻译自zeroturnaround.com的 Do You Really Get Classloaders? ,融入和补充了笔者的一些实践、经验和样例。本文的例子比原文更加具有实际意义,文字内容也更充沛一些,非常感谢作者 Jevgeni Kabanov 能够共享如此优秀的文档。为什

2016-01-26 18:36:00 374

转载 JVM源码分析之FinalReference完全解读

概述JAVA对象引用体系除了强引用之外,出于对性能,可扩展性等方面考虑还特地实现了四种其他引用:SoftReference、WeakReference、PhantomReference、FinalReference,本文主要想讲的是FinalReference,因为zprofiler在分析一些oom的heap的时候,经常能看到 java.lang.ref.Finalizer占用

2016-01-26 18:34:28 264

转载 JVM源码分析之SystemGC完全解读

概述JVM的GC一般情况下是JVM本身根据一定的条件触发的,不过我们还是可以做一些人为的触发,比如通过jvmti做强制GC,通过System.gc触发,还可以通过jmap来触发等,针对每个场景其实我们都可以写篇文章来做一个介绍,本文重点介绍下System.gc的原理或许大家已经知道如下相关的知识system.gc其实是做一次full gcsystem.gc会暂停整个进程sy

2016-01-26 18:33:55 230

转载 你应该知道的RPC原理

在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。  而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)

2016-01-26 18:20:58 240

转载 JAVA 1.8 十大新特性详解

本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API“Java is still not dead—and people are starting to figure that out.”本教程将用带注释

2016-01-26 18:09:42 1112

转载 Eclipse常用开发插件

(1)    AmaterasUML        介绍:Eclipse的UML插件,支持UML活动图,class图,sequence图,usecase图等;支持与Java class/interface之间的相互导入导出。        官方网站:http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=Amateras

2016-01-22 22:20:13 251

转载 IntelliJ IDEA导航特性Top20

在前面的文章里,我介绍了IntelliJ IDEA(以下称IntelliJ)中与代码补全及重构相关的特性。今天我将介绍另外一个利器——IntelliJ的导航(Navigation),只要运用得当,它将节约你大把的时间。作为一个IntelliJ的用户,你应先明确一点——IntelliJ是用来让你专注于代码的工具。只有这样我们才能充分利用并享受它的魔力。因此,大部分的时间里你应该专心工作于代码编辑

2016-01-21 01:21:31 295

转载 IntelliJ IDEA最新快捷键大全

IntelliJ IDEA作为最好的Java开发工具,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面表现突出,并支持基于Android平台的程序开发。小编整理了IntelliJ IDEA最新、最全的快捷键(windows/linux版),并附整理资料下载。编辑类:查找/替代类:搜索类:编辑运行类:

2016-01-21 01:20:13 254

转载 IntelliJ IDEA 与 Eclipse 的差异之处

作为一个资深的Eclipse用户,我想对IntelliJ IDEA做一个更为严谨的审视。JetBrains的工作人员非常的友善,并为Podcastpedia.org和Codingpedia.org这两个 工程给予了我一个开放源码的许可证。在这片文章中,我列出来Eclipse中常用且与IntelliJ等同的一些操作。写这篇文章为了以后遗忘时能够再用做个记录,也为或许能帮助到其他的人。快捷

2016-01-21 01:16:53 1181

转载 Spark动态资源分配-Dynamic Resource Allocation

关键字:spark、资源分配、dynamic resource allocationSpark中,所谓资源单位一般指的是executors,和Yarn中的Containers一样,在Spark On Yarn模式下,通常使用–num-executors来指定Application使用的executors数量,而–executor-memory和–executor-cores分别用来指定每个ex

2016-01-21 00:28:45 659

转载 优秀大数据GitHub项目一览

VMware CEO Pat Gelsinger曾说:数据科学是未来,大数据分析则是打开未来之门的钥匙企业正在迅速用新技术武装自己以便从大数据项目中获益。各行业对大数据分析人才的需求也迫使我们升级自己的技能以便寻找更好的职业发展。 跳槽之前最好先搞清楚一个岗位会接触到的项目类型,这样你才能掌握所有需要的技能,工作的效率也会更高。 下面我们尽量列出了一些流行的开源大数据项目。

2016-01-21 00:18:17 359

转载 Eclipse自动生成作者、日期注释等功能设置

在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的。修改作者、日期注释格式:打开Windows->Preferences->Java->CodeStyle->CodeTemplates,点击右边窗口中的Comments,可以看到有很多选项,我们便可对此注释信息模板进行编辑。如我们希望在一个Java文件的开头设置作者信息、日期信息。选择Types,

2016-01-21 00:00:53 204

原创 Git 工作流程

Git 作为一个源码管理系统,不可避免涉及到多人协作。协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。"工作流程"在英语里,叫做"workflow"或者"flow",原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。本文介绍三种广泛使用的工作流程:Git flowGithub flowGitlab flo

2016-01-19 22:02:20 274

原创 常用 Git 命令清单

我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录

2016-01-19 21:57:01 169

原创 Git 使用规范流程

团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。下面是ThoughtBot 的Git使用规范流程。我从中学到了很多,推荐你也这样使用Git。第一步:新建分支首先,每次开发新功能,都应该新建一个单独的分支(这方面可以参考《Git分支管理策略》)。# 获取主干最新代码$

2016-01-19 21:54:37 160

转载 Git 使用规范流程

团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。下面是ThoughtBot 的Git使用规范流程。我从中学到了很多,推荐你也这样使用Git。第一步:新建分支首先,每次开发新功能,都应该新建一个单独的分支(这方面可以参考《Git分支管理策略》)。# 获取主干最新代码$

2016-01-19 21:53:46 75

转载 Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景    大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过

2016-01-15 21:54:41 166

转载 ClassLoader详解及用途

ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回 这个类的class对象。 1.1 几个相关概念ClassLoader负责载入系统的所有Resources(Class,文件,来自网络的字节流 等),通过ClassLoader从而将资源载入JVM 每个class都有一个reference,指向

2016-01-14 21:32:18 213

原创 深入了解JAVA可变长度的参数(Varargs)

到J2SE 1.4为止,一直无法在Java程序里定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类型都必须逐一匹配,而形参的数目是在定义方法时就已经固定下来了。尽管可以通过重载机制,为同一个方法提供带有不同数量的形参的版本,但是这仍然不能达到让实参数量任意变化的目的。然而,有些方法的语义要求它们必须能接受个数可变的实参——例如著名的

2016-01-12 01:44:56 227

Java就业面试题

Java就业分析与Java全面知识点面试题

2015-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除