自定义博客皮肤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 Web是一个系统工程,要认真对待

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

转载 将java对象存储到redis数据库(使用序列化和反序列化)

Redis不支持直接将Java对象存储到数据库中,所以需要将java对象进行序列化得到字节数组,然后将字节数组存入到redis中,需要数据的时候就从redis数据库中取出字节数组,再经过反序列化将自己数组转换成对象使用(jdk序列化性能比谷歌公司的Protobuf序列化性能要差一些,而且序列化后的字节长度要也会长一些,所以推荐使用Protobuf,Protobuf如何进行序列化请看我的另一篇帖子)

2017-06-04 12:57:59 2567

转载 Hibernate与 MyBatis的比较

http://blog.csdn.net/firejuly/article/details/8190229最近做了一个hibernate与MyBatis的对比总结,希望大家指出不对之处。第一章     Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.NET,现在已经成为Jboss的一部分。 Mybatis 是

2017-06-02 10:34:51 678

转载 Java中的集合关系图及常见操作

下面是一张下载的Java中的集合类型的继承关系图,便于正确的理解和使用相应的集合类型。 有序否允许元素重复否Collection否是List是是SetAbstractSet否否Ha

2017-06-02 10:12:30 1564

原创 Nginx+Tomcat+Redis (负载均衡+session共享)完整案例

今天整合了一些资源,做了一个Nginx+Tomcat+Redis的案例,使部署的web项目能够承载较大的访问压力,Nginx实现负载均衡,并使用Redis实现session共享;如下拓扑图:各版本如图所示========================================开启项目说明:操作系统:win7_64反向代理:Nginx_1.4.7Tomca

2017-05-21 17:48:20 9465 7

转载 windows7 下nginx1.8.1(稳定版本) 启动、停止和重新加载配置

在windows7 系统中使用ngingx ,我们需要了解一下nginx 的一下基本操作指令,比如:nginx 启动,nginx 停止,重新载入nginx 等常用的指令,本篇文章参考:nginx 开发者文档(nginx 官网)1、nginx启动方式如下截图:注意:建议使用第二种启动nginx 方式,第一种方式会使你的cmd窗口一直处于执行中,不允许其他命

2017-05-21 12:10:12 3089

转载 基于Dubbo框架构建分布式服务【续】

上面调用了DubboServer类的静态方法startServer,如下所示:01public static void startServer(String config) {02     ClassPathXmlApplicationContext context = new ClassPathXml

2017-05-14 16:46:37 628

转载 基于Dubbo框架构建分布式服务【未完待续】

Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选

2017-05-14 16:44:02 455

转载 基于Dubbo的Hessian协议实现远程调用

Dubbo基于Hessian实现了自己Hessian协议,可以直接通过配置的Dubbo内置的其他协议,在服务消费方进行远程调用,也就是说,服务调用方需要使用Java语言来基于Dubbo调用提供方服务,限制了服务调用方。同时,使用Dubbo的Hessian协议实现提供方服务,而调用方可以使用标准的Hessian接口来调用,原生的Hessian协议已经支持多语言客户端调用,支持语言如下所示:

2017-05-14 16:27:35 506

转载 Dubbo实现RPC调用使用入门

使用Dubbo进行远程调用实现服务交互,它支持多种协议,如Hessian、HTTP、RMI、Memcached、Redis、Thrift等等。由于Dubbo将这些协议的实现进行了封装了,无论是服务端(开发服务)还是客户端(调用服务),都不需要关心协议的细节,只需要在配置中指定使用的协议即可,从而保证了服务提供方与服务消费方之间的透明。另外,如果我们使用Dubbo的服务注册中心组件,这样服务提供

2017-05-14 16:26:38 485

转载 Dubbo架构设计详解

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。

2017-05-14 16:25:43 370

转载 ZooKeeper-3.3.4集群安装配置

ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在

2017-05-14 16:23:16 361

转载 ZooKeeper应用案例

我们通过学习借鉴,哪些项目或应用都使用了ZooKeeper,可以了解我们的应用使用ZooKeeper是否能真正地带来价值,当然,有些项目可能也未必非常适合使用ZooKeeper,我们要批判地学习、借鉴和吸收。下面是一些使用了ZooKeeper实现的案例:HDFS HA(QJM)Hadoop 2.x之前的版本,HDFS集群中Namenode是整个集群的中央元数据存储和服务

2017-05-14 16:21:31 332

转载 ZooKeeper架构设计及其应用要点

ZooKeeper是一个开源的分布式服务框架,它是Apache Hadoop项目的一个子项目,主要用来解决分布式应用场景中存在的一些问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置管理等,它支持Standalone模式和分布式模式,在分布式模式下,能够为分布式应用提供高性能和可靠地协调服务,而且使用ZooKeeper可以大大简化分布式协调服务的实现,为开发分布式应用极大地降低了成本。

2017-05-14 16:19:25 361

转载 基于RPC原理的dubbo

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

2017-05-14 16:01:25 408

转载 MongoDB GridFS java存取文件

GridFS首先会在当前数据库创建两个集合:"fs.files"和"fs.chunks"集合,前者记录了文件名,文件创建时间,文件类型等基本信息;后者分块存储了文件的二进制数据(并支持加密这些二进制数据)。分块的意思是把文件按照指定大小分割,然后存入多个文档中。"fs.files"怎么知道它对应的文件二进制数据在哪些块呢?那是因为在"fs.chunks"中有个"files_id"键,它对应"fs.

2017-05-13 17:37:30 2062

转载 面过10000人,我想和所有面试者说6句真心话

我是一个在人力资源领域厮混很久的老HR,工作7年,不敢说阅人无数,但一两万人还是面过的,1分钟差不多能看出你是什么样的人,5分钟基本上能判断你是否有机会通过面试,经常被朋友调侃看人很准,眼光毒辣。面试不是面基,你以为光带张脸来就行了?今天我就从HR的角度,教教面试者,如何在面试中“好好做人”,不一定能让你成为面霸,但能帮你在面试时更好地表达。

2017-05-11 10:08:53 714

转载 前16名Java实用工具类

今天跟大家分享一下最常用的Java实用工具类类及其最常用的方法。类列表和方法列表都按人气排序。数据基于从GitHub随机选择的50,000个开源Java项目。1. org.apache.commons.io.IOUtilscloseQuietly ( )toString ( )copy ( )toByteArray ( )wr

2017-05-11 09:45:28 663

转载 从经典面试题看java中类的加载机制

1.概述类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助。由于Java的跨平台性,经过编译的Java源程序并不是一个可执行程序,而是一个或多个类文件。当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。

2017-05-11 09:23:04 15742 10

转载 给你掰扯清楚什么是正向代理,什么是反向代理

正向代理比如你现在缺钱,想找马云爸爸去借钱,可想而知人家可能鸟都不鸟你,到最后碰一鼻子灰借不到钱。不过你认识你家隔壁老王,而老王认识马云同志,而且关系还很好。这时候你托老王去找马云借钱,当然这事最后成了,你从马云那里借到了500万!这时候马云并不知道钱是你借的,只知道这钱是老王借的。最后由老王把钱转交给你。在这里,老王就充当了一个重要的角色:代理。此时的代理,就是我们常说的正向

2017-05-11 09:11:16 803

转载 互联网高可用架构技术实践

作者/沈剑,“架构师之路”公众号作者,58到家高级总监,技术委员会主席。前百度高工,58同城高架,技委主席。一、什么是高可用高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服

2017-05-11 06:45:53 1079

转载 我必须得告诉大家的MySQL优化原理

说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑中构建一幅

2017-05-09 16:23:28 520

转载 深入理解JVM性能调优

在上文中我们分析了很多性能监控工具,介绍这些工具的目的只有一个,那就是找出对应的性能瓶颈。盲目的性能调优是没有效果的,只有充分知道了哪里出了问题,针对性的结果才是立竿见影的。解决了主要的性能问题,那些次要的性能问题也就不足为虑了!我们知道,性能问题无非就这么几种:CPU、内存、磁盘IO、网络。那我们来逐一介绍以下相关的现象和一些可能出现的问题。一、CPU过高。查看CPU最简

2017-05-09 16:12:42 403

转载 单元测试工具-JUnit

【前言】概念方面的东西。单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。 第一讲,什么是单元测试写了个类,要给别人用,会不会有

2017-05-07 17:49:03 1606

转载 老鸟程序员才知道的40个小技巧

40条真言,希望对进阶中的程序朋友有所帮助。1、重构是程序员的主力技能。2、工作日志能提升脑容量。3、先用profiler调查,才有脸谈优化。4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。5、普通程序员+google=超级程序员。6、单元测试

2017-05-06 23:04:32 288

转载 Spring MVC工作流程图

Spring MVC工作流程图图一图二 Spring工作流程描述      1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;      2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMappin

2017-05-06 14:58:50 468

转载 Nginx反向代理,负载均衡,redis session共享,keepalived高可用

使用的资源:nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换。tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群。redis服务器一台,用于session的分离共享。nginx主服务器:192.168.50.133nginx备服务器:192.168.50.135tomcat项目服务器1:192.168.50.137tomcat项目服务器2:192.168.50.139redis服务器:192.168.50.140注意访问时需

2017-04-27 14:01:47 624

原创 Redis win7版 设置访问密码

win7环境下设置Redis访问密码

2017-04-23 14:22:18 2763

转载 大规模爬虫流程总结

爬虫是一个比较容易上手的技术,也许花5分钟看一篇文档就能爬取单个网页上的数据。但对于大规模爬虫,完全就是另一回事,并不是1*n这么简单,还会衍生出许多别的问题。系统的大规模爬虫流程如图所示。先检查是否有APIAPI是网站官方提供的数据接口,如果通过调用API采集数据,则相当于在网站允许的范围内采集,这样既不会有道德法律风险,也没有网站故意设置的障碍;不过调用AP

2017-04-22 10:16:19 15800

转载 ZooKeeper 概述

ZooKeeper: 分布式应用的分布式协调服务ZooKeeper是一个分布式应用下的分布式、开源的协调服务。分布式应用依赖ZooKeeper提供的基础稳固的服务,可以很容易地实现更高层的服务,实现同步、配置信息维护、分组和命名。它的设计目标就是可以易于编程并使用一种类似树形结构的文件系统设计数据模型。运行在Java虚拟机上,同时支持Java语言和C语言。协调服务特别的难于实现正确。特别容

2017-04-22 10:09:20 432

原创 Java容器的总结整理

Java容器指的是List,Set,Map这些类。由于翻译的问题,问到集合,Collection这些指的都是它们几个。ListArrayList 随机访问快LinkedList 插入删除快这个好理解,array嘛就是数组,随机访问快。link嘛就是链表,当然是插入删除快了。Set 每个元素只能放一次HashSet 使用散列TreeSet 使用

2017-04-22 09:57:51 270

转载 持续交付概述

Table of Contents1 持续交付和持续部署2 自动化测试2.1 功能测试2.2 部署测试2.3 性能测试3 环境(environment)3.1 自动化测试环境3.2 自动化环境和生产环境的相似度3.3 自动化构建过程的优化3.4 环境的创建和维护4 持续集成4.1 单个产品的构建流水线

2017-04-21 14:55:21 1132

转载 【重要】JDK 8u131 发布,Java 开发工具包

JDK 8u131 发布了。Java SE 8u131 包括重要的安全修复和bug修复。Oracle 强烈建议所有 Java SE 8 用户升级到此版本。此次完整版本号为1.8.0_131-b11。JDK 8u131 包含 2016j 版本的 IANA 时区数据,还包含一些安全问题的修复(特别是MD5部分)。详细内容请看发行说明或发布主页。下载地址:http://www.o

2017-04-21 14:33:34 13694 1

转载 可能是 2017 最全的机器学习开源项目列表

摘要: 2016 和 2017 年对机器学习来说都是令人兴奋的,机器学习领域在 2016 年取得了重大的进展,2017 年,热度继续上升2016 年,似乎所有巨头公司都在做机器学习,如果没有,也是在赶来的路上。所以 2016 或许会因为 “机器学习大热” 而被载入史册。2017,这个热潮并没有消退的迹象,前阵子 AlphaGo 的升级版以横扫千军的姿态战胜几乎所有中国的围棋大师

2017-04-21 14:25:22 3121

转载 这些优秀的国产分布式任务调度系统,你用过几个?

OSC开源社区 2017-04-21 11:27分布式调度在互联网企业中占据着十分重要的作用,尤其是电子商务领域,由于存在数据量大、高并发的特点,对数据处理的要求较高,既要保证高效性,也要保证准确性和安全性,相对比较耗时的业务逻辑往往会从中剥离开来进行异步处理。开源中国任务调度系统/框架类别下有非常多的开源项目,其中不乏出自国内外知名企业的优秀大作。

2017-04-21 14:21:19 26321 3

转载 多方位拓展之路:监控平台MongoDB实践

转载更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud在“监控平台MongoDB实践”上,千寻位置的技术专家肖应军发表了一场关于MongoDB实践演讲,他的演讲内容主要分为四个方面:1. 使用MongoDB的原因及 MongoDB的现状2.MongoDB的使用场景有哪些?3.监控平台MongoDB实践中有哪些经验值得参考?4.MongoDB接

2017-04-21 09:46:32 660

转载 Java面试划重点,面试前过一遍心里就踏实了

转载JAVA面试题相关基础知识1、面向对象的特征有哪些方面①抽象:抽象是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。②继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可

2017-04-21 09:43:38 2947

转载 Linux下Nginx+Tomcat整合的安装与配置(优化)

原帖:http://zyjustin9.iteye.com/blog/2017414目的:nginx处理用户请求的静态页面,tomcat处理用户请求jsp页面,来实现动态分离,nginx处理静态页面效率远高于tomcat,这样一来就能更好的提高并发,处理性能。准备软件:下载jdk1.7:http://www.oracle.com/technetwork/java/javase/

2017-04-18 15:44:16 1808

转载 Linux下Nginx+Tomcat整合的安装与配置

原帖:http://zyjustin9.iteye.com/blog/2017272文节选自某电子商务网站JSP应用服务器的环境搭建实施文档,文中的IP和域名进行了修改。JSP应用服务器由Nginx+Tomcat整合而成,而新的Tomcat 7.0相对于以前的版本来说,它的新特征如下:◆使用随机数防止跨站脚本攻击;◆改变了安全认证中的jessionid的机制,防止Sessi

2017-04-18 15:42:49 3597

转载 Nginx+Tomcat负载均衡--win7配置详解

win7配置Nginx+tomcat负载均衡

2017-04-18 15:28:22 316

转载 Git版本控制器的使用教程(简单入门级)

这篇Git入门级的教程写的非常好,只要你跟着写,跟着练,很容易接受,并能得到很好的启发,感谢原著作者,希望能有更多的志同道合的朋友们一起进步。。。

2017-04-09 12:42:26 6619 1

Nginx+tomcat+session共享

Nginx+Tomcat+Redis (负载均衡+session共享)完整案例,涉及到的各个版本软件

2017-05-21

基于Redis的Session共享jar包

Nginx+Tomcat+Redis (负载均衡+session共享)完整案例

2017-05-21

Eclipse开发环境配置

使用Eclipse开发java项目,配置web容器,配置Tomcat,配置字体,配置内存大小,创建动态工程,在Tomcat中部署项目等

2015-06-03

空空如也

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

TA关注的人

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