关闭

[置顶] Java NIO与BIO

当学习了Java NIO和BIO的API后,一个问题马上涌入脑海: 我应该何时使用BIO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和BIO的差异、它们的使用场景,以及它们如何影响您的代码设计。 Java NIO和IO的主要区别 下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。 IO                NIO 面向流  ...
阅读(147) 评论(0)

[置顶] Java一次导出百万条数据生成excel(web操作)

问问题_Java一次导出百万条数据生成excel(web操作) 需求:在web页面操作,一次导出百万条数据并生成excel 分析: 1、异步生成Excel,非实时,完成后使用某种方式通知用户 2、生成多个excel文件,并打包成zip文件,因为一个excel容纳不了这么多数据,即使分别放在不同的sheet中也不行,文件太大,打开需要很长时间,用户体验不好 3、如果...
阅读(1016) 评论(0)

[置顶] 并发系统

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限流...
阅读(186) 评论(0)

[置顶] mybatis 调用存储过程 返回游标 实例

存储过程示例:   create or replace procedure Fsp_Plan_CheckPrj(v_grantno  varchar2, v_deptcode number,  v_cursor   out sys_refcursor) is   ………………       ---返回统计结果       open v_Cursor for         select s.plan...
阅读(141) 评论(0)

[置顶] Oracle优化之Oracle的执行计划

Oracle的执行计划 得到执行计划的方式 Autotrace例子 使用Explain [sql] view plain copy print? explain plan set STATEMENT_ID='testplan'  for s...
阅读(185) 评论(0)

[置顶] SpringMVC原理

SpringMVC就是通过DispatcherServlet将一堆组件串联起来的Web框架。     1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是...
阅读(151) 评论(0)

[置顶] Spring搭配Ehcache实例解析

1 Ehcache简介 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是hibernate中默认的CacheProvider。 Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api...
阅读(342) 评论(1)

[置顶] Jenkins+Maven+SVN快速搭建持续集成环境

Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧。 假设我们目前已经有2个maven项目:entities(JAVA类库),web(Web应用,依赖entities)。 一、安装Jenkins 地址http://mirrors.jenkins-ci.org/下载适合的Jenkins版本。 ...
阅读(454) 评论(0)

[置顶] Dubbo详细介绍与安装使用过程

1 Dubbo介绍 1.1 dubbox简介 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 单一应用架构  当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。  此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。...
阅读(703) 评论(0)

[置顶] 消息队列设计精要

消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。 当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。 本文不会一一介绍这些消息队列的所有特性,而是探讨一下自主开发设计一个消息队列时,你需...
阅读(289) 评论(0)

[置顶] map和reduce 个数的设定 (Hive优化)经典

一、    控制hive任务中的map数:  1.    通常情况下,作业会通过input的目录产生一个或者多个map任务。  主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改); 2.    举例:  a)    假设input目录下有...
阅读(171) 评论(0)

[置顶] 大型分布式网站架构技术总结

本次分享大纲如下 大型网站的特点大型网站架构目标大型网站架构模式高性能架构高可用架构可伸缩架构可扩展架构安全架构敏捷架构大型架构举例  一、大型网站的特点 用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费体验  二、大型网站架构目标 高性能:提供快速的访问体验。高可用:网站服务一直...
阅读(318) 评论(0)

[置顶] 系统设计时关于性能问题处理的几点心得

【将复杂的运算分解到其它过程】 此种思想将整个系统的操作看成一个整体,类似于负载均衡。在系统中常见的一个问题是,数据量比较大,对数据的查询统计变得很复杂很缓慢。对于这种问题应该在设计时就进行考虑,建立表的冗余字段或者汇总表存储一些汇总信息,在录入或更新数据时计算冗余字段或汇总表的值。这样将复杂的运算时间分解到了数据录入修改的时间。而一般的录入/修改都是单笔的操作,此时的一点点延时(可能很少很...
阅读(187) 评论(0)

[置顶] 中国的支付清算体系是怎么玩的?

中国的支付清算体系是怎么玩的? 标签:第三方支付系统,互联网金融 发布于 2016-08-11 12:42:40 我接触过好多第三方支付公司,做过支付路由,也处理了很多支付异常情况。但是支付中的清算部分我一直不太理解,不知道银联在联结各方的时候是如何发挥作用的。最近和银行 IT 圈子的校友们聚会,偷偷向工行和民生负责渠道、银联对接的同学请教了。所以有了这篇总结,供希望了解支付清算的朋友...
阅读(261) 评论(0)

[置顶] Oracle索引梳理系列(八)- 索引扫描类型及分析(高效索引必备知识)

理解oracle索引扫描类型的特点以及具体触发的条件,对于通过合理地使用索引,进行sql优化至关重要(例如组合索引的引导列的选择问题)。 在总结索引扫描类型前,需要再次强调关于索引特点的几个关键点: 对于单一列建立的索引,既单一列索引,b-tree中不保存索引列的null值信息对于多个列建立的索引,既组合列索引,b-tree中会连同其他非null值列,保留该列null值记录;对于一条记...
阅读(746) 评论(0)

[置顶] 前端步骤条

...
阅读(294) 评论(0)

[置顶] oracle sql 优化

1:在进行多表关联时,多用 Where 语句把单个表的结果集最小化,多用聚合函数汇总结果集后再与其它表做关联,以使结果集数据量最小化 2:在两张表进行关联时,应考虑可否使用右连接。以提高查询速度 3:使用 where 而不是 having ,where是用于过滤行的,而having是用来过滤组的,因为行被分组后,having 才能过滤组,所以尽量用户 WHERE 过滤 4:使用 exists...
阅读(192) 评论(0)

Hadoop面试

1:Hadoop VS Spark 2.Hadoop实时应用有哪些? Hadoop,众所周知的Apache Hadoop,是一个开放源代码软件平台,用于大容量数据的可扩展和分布式计算。它提供对数字平台和企业内部生成的结构化和非结构化数据的快速,高性能和成本效益的分析。它如今几乎应用在所有部门 。比如: •交通管理 •流处理 •内容管理和电子邮件存档 •使用Hadoop计算集群...
阅读(291) 评论(0)

[精华]Hadoop,HBase分布式集群和solr环境搭建

1. 机器准备(这里做测试用,目的准备5台CentOS的linux系统) 1.1 准备了2台机器,安装win7系统(64位)  两台windows物理主机:  192.168.131.44 administrator/(密码是一个空格)  192.168.131.67 administrator/(密码是一个空格)  1.2. 每台机器上安装VMwareWorkstation8.0....
阅读(821) 评论(1)

Zookeeper + HBase 安装(详细图文)

说明:在之前我们都已经将hadoop集群(三个节点)构建好了,接下来我们来安装一下zookeeper-3.4.8 + hbase-1.2.3。相信在有了之前那么多次经验,这次的安装肯定也不会难到大家。 * ZooKeeper 安装及配置 * – 在主节点上解压zookeeper-3.4.8.tar.gz – 同样的,这次我们使用 “rz” 命令将在windows上下载好的安装包上...
阅读(179) 评论(0)

Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析

一、问题:     数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求。   二、解决方案:      1.通过高速服务器Cache缓存数据库数据      2.内存数据库   (这里仅从数据缓存方面考虑,当然,后期可以采用Hadoop+HBase+Hive等分布式存储分析平台)   三、主流解Cache和数据库对比: ...
阅读(145) 评论(0)

Dubbo入门:一个分布式服务框架

问题导读 1. Dubbo是什么? 2. Dubbo能做什么? 3.dubbo的架构包含哪些内容? 4.dubbo如何使用? 1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候...
阅读(261) 评论(0)

Kafka安装及部署

一、环境配置二、操作过程Kafka介绍  安装及部署 回到顶部 一、环境配置 操作系统:Cent OS 7 Kafka版本:0.9.0.0 Kafka官网下载:请点击 JDK版本:1.7.0_51 SSH Secure Shell版本:XShell 5 回到顶部 二、操作过程 1、下载Kafka并解压 下载:...
阅读(161) 评论(0)

springboot+dubbo之多端口注入服务

前面介绍了,springboot+dubbo基础整合,这篇介绍多端口注入服务。   springboot使用@Bean注入dubbo服务,当你是单一的ProviderConfig实例,dubbo的@Service会自动索引到你注入的实例。但实际使用情况下,dubbo服务提供者不可能统统只用一个端口提供服务。   这是你就需要注入多个ProviderConfig,ProtocolConf...
阅读(1212) 评论(0)

springboot+dubbo

使用springboot搭建dubbo服务,首先封装出springboot-dubbo的项目,引入在服务上加直接@Service直接使用,方便于拆封统一管理。 package hello.dubbo.configuration; import org.springframework.beans.factory.annotation.Value; import org.springfra...
阅读(300) 评论(0)

Java虚拟机之垃圾收集器

一、关于Java垃圾回收的简介 (1)Java 内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。 (2)每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由 JIT 编译器进行一些优化),因此这几个区域的内存分配和回收都具备确定性.在这几个区域内不需要过...
阅读(169) 评论(0)

使用Spring AOP实现MySQL数据库读写分离案例分析

一、前言 分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案,更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。 在进行数据库读写分离的时候,我们首先要进行数据库的主从配置,最简单的是一台Master和一台Slave(大型网站系统的话,当然会很复杂,这里只是分析了最简单的情况)。通过主从配置主从数据库保持了相同的数据,我们在进行读操作的时候访问从数据库Sl...
阅读(199) 评论(0)

spark DataFrame 的函数|基本操作|集成查询记录

DataFrame 的函数 Action 操作 1、 collect() ,返回值是一个数组,返回dataframe集合所有的行 2、 collectAsList() 返回值是一个Java类型的数组,返回dataframe集合所有的行 3、 count() 返回一个number类型的,返回dataframe集合的行数 4、 describe(cols: String*) 返回一个通过数学...
阅读(3263) 评论(0)

Spark环境搭建【图文】

问题导读 1.如何现在安装、配置scala? 2.如何安装scala 插件? 3.创建scala 项目需要哪些步骤? 下载scala 方法一 1:在百度搜索框中输入”scala 下载” 2:进入scala官方网站 3:进入下载列表 4.进入下载页 5.点击下载 ...
阅读(190) 评论(0)

简单了解下Dubbo

1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者...
阅读(275) 评论(0)

java:IO流学习小结

今天刚刚看完Java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结:         IO流主要用于硬板、内存、键盘等处理设备上得数据操作,根据处理数据的数据类型的不同可以分为:字节流(抽象基类为InPutStream和OutPutStream)和字符流(抽象基类为Reader和Writer)。根据流向...
阅读(219) 评论(0)

Java序列化与反序列化

Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。1.Java序列化与反序列化Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。2.为什么需要序列化与反序列化我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会...
阅读(139) 评论(0)
36条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:14932次
    • 积分:530
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    最新评论