自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java之旅

技术和程序人生......

  • 博客(121)
  • 资源 (3)
  • 收藏
  • 关注

原创 记一次TcpListenOverflows报警解决过程

问题描述2015-06-25,晚上21:33收到报警,截图如下:此时,登陆服务器,用curl检查,发现服务报500错误,不能正常提供服务。问题处理tail各种日志,jstat看GC,不能很快定位问题,于是dump内存和线程stack后重启应用。jps -v,找出Process IDjstack -l PID > 22-31.logjma...

2015-06-28 10:20:08 10603

原创 Java之旅--硬件和Java并发

从最底层,从硬件级别,了解Java并发的本质。为什么会有Java并发?为什么我们需要Java并发?这实际是由于计算机硬件发展的不平衡引起的,CPU发展的极快,而周边硬件发展慢,我们需要把CPU的资源尽可能的利用起来,同时让我们的程序跑的更快。如果CPU周边的硬件都极快,不论是数据在哪里,CPU拿到数据都没有成本,则并发将毫无意义。这是一篇2015年个人总结的老文章,个人感觉还不错,...

2018-11-01 13:48:48 1357

原创 离京前记--带宝贝爬长城小感想

离京前记--带宝贝爬长城小感想

2017-09-03 22:35:10 1773 1

原创 程序人生--项目

扯扯做项目的事。。。不忘初心,方得始终,做一个卓越的项目的过程中,我们必须记得:1、我们当初为什么要做它,我们当初的决策,是要面对什么样的使用群体,解决什么样的问题;2、我们每个阶段性的产出目标,是具体的,是可以考核的;3、我们的目标调整,我们的实现步骤调整,要少,避免重复劳动、资源浪费、影响士气;4、我们考虑的不是利益,不是晋升和加薪,我们就是要做出解决目标群体痛点的好东西,其他的是自然而然的,否则,根就错了,变成秀了。

2017-07-29 02:44:23 819

原创 2017年1月20日参加培训-《如何做好向上汇报》

2017-01-26 23:17:14 844

原创 《把时间当作朋友》

运用心智获得解放,心智是各项思维能力的总和,主要包括以下3个方面的能力:a.获得知识、b.应用知识、c.抽象推理;把脑子中的错误观念摘掉;相同的推理得出完全相反的结论;如果是99%的方式,如何转换成1%;一切都靠积累,老生常谈,1%的人会当做至理名言;当我意识到我竟然可以(也许根本就应该)控制我自己的大脑的时候,我觉得我居然不用死就竟然可以从头再来,比较神奇;大多的努力其实不过是简单而又貌似枯燥的重复;“想那么多干嘛,多累啊?”然后用天下最累的方式生活而不自知。大哲学家罗素曾观察到这个现象,并为

2017-01-26 22:51:57 907

原创 《异类》

一点一滴的成功,累计强大的自信,及正向循环;10000小时的勤奋练习;沟通说服的必要性;有意义的工作和人生;摆脱穷人心态;摆脱跨级汇报恐惧心理;做准备的时候谁知道有没有用,感兴趣就学了白;

2017-01-26 00:13:07 960

原创 记一次本机InetAddress.getLocalHost()引起的项目启动变慢及解决过程

某一天,项目启动突然很慢,并且连很简单的单元测试都需要1分钟的时间才开始运行;貌似是Mac升级到最新版本的:Sierra之后开始出现的。经过使用jstack,jmap,debug进行分析,定位到了问题所在:debug工程,发现 java.net.InetAddress.getLocalHost 每次都会锁5秒,很多jar都会调用到这个方法,累计就让启动启动停滞了1分钟。具体的阻塞点是:addresses = nameService.lookupAllHostAddr(host)

2016-11-09 21:53:24 18015 12

原创 记一次SpringAOP实践过程-包扫描和嵌套注解

这次SpringAOP实践过程,是对两个问题的解决或者说理解学习过程记录:包扫描和嵌套注解。每一次实践得出结论,得出的对过往理论的印证,都是一次悟道,其收益远大于争论和抱怨。技术是一件比较客观的事,正确与错误,其实就摆在哪里,意见不统一,写段代码试验一下就好了,一段代码印证不了的时候,就多写几段。

2016-11-08 00:59:26 7265 1

原创 ElasticSearch之旅--常用语法

最近,工作中有2个项目使用到ElasticSearch(2.3.3),记录一下ElasticSearch的从0开始的使用过程,可以作为入门参考资料。本篇介绍ElasticSearch的常用语法,包括:集群管理、索引/映射/模板-CRUD、查询语法、如何删除、聚合语法、分词等。

2016-10-18 09:31:20 2115

原创 ElasticSearch之旅--入门

最近,工作中有2个项目使用到ElasticSearch(2.3.3),记录一下Elastic的从0开始的使用过程,可以作为入门参考资料。

2016-10-17 13:09:15 635

原创 ZooKeeper源码之旅--概述

每个Java程序员都应该看懂、吃透几套框架的源码,它将帮我们在技术功底上建立无与伦比的信心!看源码有一些通用的小技巧,简单总结了一下,然后在粗略看过ZooKeeper源码之后,先画几个整体上的流程图,然后再进一步细看。ZooKeeper需要一些基本的Java知识,需要了解一些基本概念,其核心主要是:选举算法,数据服务,数据持久化,数据同步。

2016-08-13 15:03:20 847

原创 简析运维监控系统及Open-Falcon

监控系统对系统正常运行的作用监控系统对系统正常运行的作用监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器、操作系统、中间件、应用进行全面的监控,及报警,对我们的系统正常运行的作用非常重要。我所在的公司,在去年完成了从Zabbix到Open-Falcon的转换,有从小米过来的运维工程师的大力推动的影响,也是由于对于巨量的数据上报/统计,万+上报节点,Zabbix力不从心了,而Open-Falcon这方面更加强大,转换之后,感觉Open-Falcon使用的比较

2016-07-24 14:04:39 52293

原创 ZooKeeper源码之旅--搭建Eclipse工程

ZooKeeper是雅虎的。用Ant进行软件构建。千里之行,始于足下。想看源码的第一步,是下载源码并导入某个IDE工具。本篇博客,介绍了从官方网站下载ZooKeeper,并导入源码到Eclipse的过程。

2016-07-23 00:25:22 3420

原创 记一次Mock100万数据到数据库遇到的问题

记录历次Mock100万记录到MySQL的过程,中间过程出现的问题。定量分析批量插入、相比逐条插入究竟能快多少,并类比其他的持久化存储。

2016-07-03 14:20:32 2287 2

原创 Swagger介绍-一套流行的API框架

号称:世界最流行的API框架官网:http://swagger.io/解决什么问题:在前后台分离的开发模式中,减小接口定义沟通成本,方便开发过程中测试,自动生成接口文档。

2016-06-24 13:49:05 29615 3

原创 《Java性能权威指南》学习笔记

英文版《Java Performance The Definitive Guide》,出版于2014年,中文版出版于2016年,相比于《深入理解Java虚拟机》,讲的更加透彻、准确。适合读一遍,然后做长期参考。作者Scott Oaks是Oracle公司的一位架构师,专注研究Oracle中间件软件的性能。加入Oracle之前,他曾于Sun Microsystem公司任职多年,在多个技术领域都有建树,包括SunOS的内核、网络程序设计、Windows系统的远程方法调用(RPC)以及 OPEN LOOK虚拟窗口

2016-06-24 13:34:13 4677

原创 Java之旅--跨域(CORS)

CORS全称:Cross-Origin Resource Sharing在前后台分离的应用开发中,跨域是经常需要处理的场景。指的是访问不同域名的资源,对于静态资源的访问,比如CSS、GIF、Form请求,不存在跨域问题,一般说跨域问题,就是指的JavaScript的跨域问题以及Cookie的跨域使用问题(是使用,不是读取内容)。一个Java应用,为了支持跨域,允许其他域名的JavaScript脚本访问本应用的资源,本文提供了一个解决办法。

2016-05-13 16:45:04 12340

翻译 《Netty in Action V5》-- 第2章 Your First Netty Application

本章,通过对Netty核心内容的入门介绍为本书的其他章节做准备。其中一项内容是学习怎么样利用Netty拦截和处理异常,当我们开始使用Netty需要调试问题的时候,这是非常重要的。本章也介绍了其他的核心内容,像客户端和服务端启动,通过通道处理器实现的解耦。为了将来的章节提供一个基础,你会通过Netty建立一个互相通讯的客户端和服务端。

2016-02-25 22:45:42 1146

原创 Pro Git 中文版 -- 目录

这是一本全面讲解Git的书籍,出版于2009-8-27。Scott Chacon,中文可以翻译成 史葛查孔,Pro Git的作者,git-scm.com的作者(2008年成为Git官方站),GitHub员工,最后还是一名时髦的绅士。从曝光率上来说,他应该是数一数二精通Git的人。如果时间充裕,可以全面阅读这本书,并伴随着工作中的使用深入领会;如果时间不多,可以先拿出时间,阅读第1,2,3,7,9这5章,理解Git的思想、基础操作、原理。对于工具类介绍的书籍,书籍的阅读是总体上的,最关键的还是工作中的使

2016-02-18 13:33:44 1017

原创 活着就为改变世界 -- 目录

活着就为改变世界:史蒂夫•乔布斯传,2010年初版,当年畅销书,因为苹果的巨大成功,因为乔布斯的神奇经历,也因为乔布斯即将死亡。看过一些名人传记,比如《马云传》、《花旗帝国:桑迪韦尔转》,就像小说一样,不论能记住多少,或者产生多少激励,貌似都应该看一遍,况且也花不多长时间,几个小时,也许就够了。

2016-02-10 19:24:48 797

原创 淘宝技术这十年 -- 目录

这是一本技术的人文书,出版于2013年5月,作者子柳,本名赵超,2004入淘宝,做过开发、项目、产品、测试、淘宝大学,技术世界的跨界玩家。以一个亲历者的角色,总结了淘宝十年的技术发展,一本技术史。这本书的关于技术发展的思想,认为和业务互相促进,共生共赢,技术服务于业务,业务促进技术的进步,甚至需要创造技术。关于管理和晋升的思想,很多是但行好事,莫问前程,或者简单为一个字,缘。我之所以读这本书的场景是这样的,2016春节出家,旅途劳累,大睡了一觉,第二天晚上却睡不着了,于是找出这本小说一样的闲散的书来读

2016-02-08 10:50:53 1444

翻译 《Netty in Action V5》-- 第1章 Netty与Java NIO APIS

本篇基于MEAP Edition进行翻译,MEAP即Manning Early Access Program,Manning是一个出版社的名字,EAP是早期预览版。我计划翻译这本书的时候,已经有了Netty in Action V10,但是我感觉从基础的Java NIO 讲起,能有一些对比,更容易理解,所以就翻译了V5。Norman Maurer,是英文原著的作者,目前就职于苹果公司,Norman Maurer的个人主页:http://normanmaurer.me/。

2016-02-04 00:31:43 1317 1

原创 程序人生--架构师

架构师是个什么样的角色?是个很重要的角色吗?能给公司带来的生产力是什么?都做些什么日常工作?架构师和开发经理/高级工程师有不同吗?本篇博客,对这些问题,提出一些自己的思考和理解。

2016-01-12 23:59:02 994 1

原创 程序员的数学 -- 目录

程序员的数学:读这本书,不能指望,在程序员的世界里,马上带来立竿见影的效果,这本书和《代码大全》不一样。读这本书,也许能帮助提高我们对于日常工作的数学场景,进行抽象(建模)的能力,也许不能。读这本书,也许仅仅是好玩,反正我是读了

2016-01-07 01:27:15 1131

原创 How Tomcat Works -- 目录

《How Tomcat Works》这本书的读书笔记,及主要内容感想。作为一个世界范围广泛使用的强大框架,Tomcat必然有非常多的设计思想、设计模式,让我们学习。不看这种包含设计思想的框架,只看关于设计的书籍,只做业务应用系统的开发,比较难提高设计能力,因为,业务系统更关注业务问题,可能比较常会遇到大数据、高并发类问题的解决,但是设计思想很少。从高层到底层,从业务应用到通用框架,最后都会回到底层上来,底层的东西,更像技术。越往高层,业务占得比重越大,越容易脱离技术本身。底层的东西有什么呢?比如

2015-12-08 00:38:43 4674

原创 Java Thread Programming -- 目录

《Java Thread Programming》,Learn how to use threads for faster, more efficient Java programming.这是一本 1999年的书,JDK1、JDK2时代的书籍,但是直到现在(2015年),已经到了JDK8时代,这本书依然很有参考价值,作者对于线程的理解非常深刻,对于 Java Threads的介绍透彻、详细,非常适合有一定Java Threads基础的同学阅读,加深理解,提高境界。

2015-11-27 00:07:27 1055

原创 Wireshark网络分析就这么简单 -- 目录

这不仅仅是一本讲解 Wireshark 的书,更重要的,理解:从宏观层面看微观,用工具的手段看协议。Wireshark 是强大的协议分析工具,有 Window、Mac、Linux 等多种版本,依靠它,可以洞悉各种协议的宏观和微观,可以更快的学习协议。相比较 Charles 之类 只能分析Http/Https这种应用层协议,Wireshark 这是无所不能的。最近个人比较偏爱这种薄书,可以选读,可以快速看完,并迅速的领进门,比如《图解HTTP》《图解TCP/IP》。如果想学协议,就要和实战一起进行,否则

2015-11-08 23:45:21 2823 1

原创 Linux之旅--Bash

命令行界面的 Shell 在各大 Distribution 都一样;远程管理时命令行界面速度较快;Shell 是管理 Linux 系统非常重要的一环,因为 Linux 内很多控制都是以 Shell 编写的。Shell 是操作系统内置的,用于和内核(Kernal)通信,管理硬件的命令行。内核,是真正在控制硬件工作的,有CPU进程、内存管理、硬盘输入输出等工作,内核是受到保护的,我们只能通过操作系统提供的API来与内核通信。Shell,KDE,Application等提供了,通过操作系统API于内核通

2015-11-08 23:12:46 594

原创 Linux之旅--curl和Http协议

在做Web应用程序开发时,在不同的系统之间,经常需要通过Http协议进行通讯。API要给前端提供接口,接口开发完毕之后,除了进行各个功能单元的单元测试之外,我们还要模拟前端的调用,进行测试。这种类型的测试,有多种实现办法,比如:测试方法 优点 缺点1、写个测试工程,模拟客户端调用 和工程集成在一起,不容易丢失 开发工作量2、使用浏览器插件(比如Postman、DHC),模拟客户端调用 可以保存访问URL,操作简单 如果后端负载均衡,想测试某台机器,比如,发版验证,则不适用3、使用Linux命令(

2015-11-02 23:13:18 4746

原创 图解HTTP -- 目录

这是一个日本人 - 上野宣 写的书,2014年5月第一版,用形象的图解的方式讲解抽象的技术,容易理解多了。上野宣,主要从事安全咨询、风险评估、信息安全教育等工作。著有《今晚我们一起学习邮件协议》(今夜わかるメールプロトコル)、《今晚我们一起学习TCP/IP》(今夜わかるTCP/IP)、《今晚我们一起学习HTTP》(今夜わかるHTTP)。从事计算机软件开发,总会接触Http协议,特别是和前端交换的时候,基于Http协议的后端接口,是普遍需要的,所以多多少少总会了解Http协议。在此基础上,系统的看一本书

2015-11-02 01:09:11 954

原创 随记--做一个“懒惰”的程序员

当时由于各种外部接口的不稳定,经常发生各种各样的网络异常,后来总结出一些统计脚本,来统计这些异常,每天都要出一个程序员,对几个机器上的日志进行统计,然后把统计结果进行汇总记录,出报表,这是发生在程序员身上的重复机械性的活,并且经历了相当长的时间。这时,真的需要程序员懒惰一些,数据从几个机器汇集一起,进行统计,汇总,自动邮件发出,即时不会,花点时间(比如3~5个工作日),给一个有信心、愿意研究这件事的人,是可以写出来的。

2015-10-29 23:44:46 829

原创 Linux之旅--文件权限和账号管理

Linux是最常用的服务器端操作系统;可以在日常工作中,通过Linux命令解决,快速排查、解决问题;任何语言都要编译成操作系统API,擅长Linux,对于深入理解编程语言极有帮助。学习是个积累的过程,所谓冰冻三尺,非一日之寒。本篇只是个开始,记录:文件权限和账号管理的基础知识和命令。

2015-10-27 23:50:21 670

原创 记2015年的国庆节--给自己

记国庆和近几次的长假相似,计划做些工作学些习,但是,都没有做,但是,很充实,也许,假期本来就是让我们好好休息的陪老婆买衣服...陪孩子去儿童乐园...搭了两天帐篷,进行户外烧烤...买了两本计算机的书,关于java和linux,还没看...喝了好几瓶酒...玩了几局帝国时代..看了几部电影...临上班前,又看了,当幸福来敲门...没有看公司的即时通信和邮

2015-10-08 01:59:28 629

原创 鸟哥的Linux私房菜基础篇第三版 -- 目录

服务器端使用的OS,Linux是最最常用的,所以,日常的部署、排查问题,就不可避免的与Linux打交道,日积月累,对Linux就有了多多少少的了解。反过来,再系统的从头开始,读一本关于Linux基础的书籍,可以进行知识的串联,把一些原先“知道其然”的东西,进化成“知其所以然”。同时,由于有了相当多的Linux操作基础,对于书籍的阅读很快速,对照实操,事半功倍。鸟哥,是个台湾人,其“私房菜”系列,本来是其Linux的学习过程,记录成Blog(就像学习笔记、心路历程),然后慢慢的深化、系统,就形成了这个

2015-09-27 22:49:04 8315 1

原创 Spring Internals -- 目录

《Spring Internals》,Spring 技术内幕,深入解析Spring架构与设计原理,计文柯著,机械工业出版社,2011年1月出版。这是一本讲解 Spring 3.0 源码的书,作为Java生态中这个最基础的框架,其框架设计,对底层技术的应用,对其他技术的整合,都必然有让我们学习的地方;当然也肯定有繁杂之处,或者有过度设计的地方;如果有兴趣,有时间,可以集合源码看看这本书,对于加深对于Spring的理解,还是很有好处的。曾经花1周的时间,结合Spring源码,大致翻了一下这本书的第一部分,S

2015-09-01 23:23:39 800

原创 Maven实战 -- 目录

 《Maven实战》,许晓斌(Juven Xu),国内社区公认的Maven技术专家、Maven中文用户组创始人、Maven技术的先驱和积极推动者。2011.1初版。基础性的构建工具,做Java的都会,会的程度参差不一,系统性的看一遍书,很快就能看完,可能有出乎意料的收获。依赖冲突规则:路径不同,就近生效;路径相同,间接依赖,前面生效;直接依赖(在一个文件中,其实没这个搞的),后面生效。...

2015-08-27 00:21:36 1854

原创 Spring 3.X 企业应用开发实战 -- 目录

《Spring3.X企业应用开发实战》,陈雄华 林开雄著,电子工业出版社,2012.2出版。这是一本Spring入门的好书,Ioc和AOP部分是必读及深入理解和研究的,其他的部分,可以根据具体的应用场景决定是否进行系统的学习。

2015-08-25 21:58:18 2477

原创 图解TCP/IP第五版 -- 目录

最近想看看关于“TCP/IP”的书,藉此了解很多基础框架都会涉及到的通讯的完整过程,这些过程在操作系统层面的反映。也是做一个项目中用到了对于IP地址的范围表示法:https://en.wikipedia.org/wiki/Subnetwork#Subnetting,以及别人介绍的一本书《Wireshark网络分析就这么简单》的影响。有书评推荐《图解TCP/IP第五版》,就看了一下,貌似和很多年的感觉差不多,依然看不下去,不看似乎也懂,看了也还是达不到深刻和细致的程度,貌似还会很快忘却,也许读这样的书本就该

2015-08-19 23:07:38 2312

原创 程序人生--世界观

在程序人生中,如何形成一种不平凡的世界观?悟、信、兴趣和坚持、追求、责任、个人性格、技法和思想、境界、农夫山泉、世界观。

2015-07-24 01:02:00 2316 1

Hadoop权威指南天气数据

Hadoop权威指南程序演示所使用的正确格式的天气数据压缩文件:1901.gz和1902.gz。

2014-04-20

编译过的hadoop-core-1.0.4.jar,可以在本地模拟MapReduce

编译过的hadoop-core-1.0.4.jar,可以在本地模拟MapReduce 如果Eclipse workspace在d:,则我们可以把d:的某个目录,比如d:\input作为输入目录;d:\output作为输出目录。 MapReduce编程模型里面这样写就可以了: FileInputFormat.setInputPaths(job, new Path("/input")); FileOutputFormat.setOutputPath(job, new Path("/output"));

2014-04-15

Vs2010发版插件

Vs2010发版插件,实现客户端软件自动连接远程服务器进行升级。本插件适用于Visual Studion 2010。

2012-05-25

空空如也

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

TA关注的人

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