`
文章列表

ImpalaTest

    博客分类:
  • Java
package com.niewj.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ImpalaTest { private static final String SQL_STATEMENT = "SELECT * FROM app.app_shlx_user_report_d ...
/* * 快速搭建千万级数据库表测试 */ -- 1.建表 CREATE TABLE `goods` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(10) DEFAULT NULL, `price` double DEFAULT NULL, UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2577925 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT -- 2.存储过程插入记 ...
1. <mvc:default-servlet-handler/>default-servlet-handler在SpringMVC上下文定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,     它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如发现是静态资源请求,就转由Web服务器默认的Servlet处理; 不是静态请求才由DispatcherServlet继续处理; 而DefaultServletHttpRequestHandler则是调用T ...
1. Java问题:"讲一下JVM的结构。" 2. 网络问题:"TCP/IP的三次握手、四次挥手" 3. "淘宝用户的数据(购物车……)存在那里?怎么满足高并发?" 4. "输入两个整型数组,返回一个数组:两个数组中的公共值。" 5. 考一下你对递归的掌握。写一个函数,输入int型,返回整数逆序后的字符串。如:输入123,返回“321”。 要求必须用递归,不能用全局变量,输入必须是一个参数,必须返回字符串。” 6. 分库分表 7. 1,1,2,3,5,8,13求第30个数是多少 8. 3 ...

秒杀系统

秒杀系统架构分析与实战 (反馈非常好的文章,推荐) 来源:陶邦仁 1 秒杀业务分析 正常电子商务流程 (1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货 秒杀业务的特性 (1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高; 2 秒杀技术挑战 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有: 对现有网站业务造成冲击 秒杀活动只是网站营销的一个附加活动,这个活动具有时间短,并发访问量大的特点,如果和网站原有应用部署在一起,必然会对现有业务造 ...
Redis作者谈Redis应用场景 1.取最新N个数据的操作   比如典型的取你网站的最新文章,通过下面方式, 我们可以将最新的5000条评论的ID放在Redis的List集合中,并将超出集合部分从数据库获取 使用LPUSH latest.comments<ID>命令,向list集合中插入数据   插入完成后再用LTRIM latest.comments 0 5000命令使其永远只保存 最近5000个ID    然后我们在客户端获取某一页评论时可以用下面的逻辑(伪代码)   FUNCTION get_latest_comments(start,num_it ...
1. 请求过滤器: /** * OncePerRequestFilter保证在任何Servlet容器中都是一个请求只执行一次的过滤器。 */ public class CorsFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse respon ...
安装 npm install -g pm2 用法 $ npm install pm2 -g # 命令行安装 pm2 $ pm2 start app.js -i 4 # 后台运行pm2,启动4个app.js # 也可以把'max' 参数传递给 start # 正确的进程数目依赖于Cpu的核心数目 $ pm2 start app.js --name my-api # 命名进程 $ pm2 list # 显示所有进程状态 $ pm2 moni ...
传统read/write进行网络文件传输过程当中,文件数据实际上经过四次copy操作: 硬盘—>内核buf—>用户buf—>socket相关缓冲区—>协议引擎   而sendfile系统调用减少以上多次copy,提升文件传输性能:   硬盘—>内核buf—>用户buf—>socket相关缓冲区—>协议引擎 1、sendfile系统调用,文件数据被copy至内核缓冲区2、再从内核缓冲区copy至内核中socket相关的缓冲区3、最后再socket相关的缓冲区copy到协议引擎   减少了内核buf到user buf,再从user ...
sql执行顺序: (7) SELECT (8) DISTINCT <select_list> (1) FROM <left_table> (3) <join_type> JOIN <right_table> (2) ON <join_condition> (4) WHERE <where_condition> (5) GROUP BY <group_by_list> (6) HAVING <having_condition ...
volatile和synchronized的区别 volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。 volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的 volatile仅能实现变量的修改可见性,不能保证原子性;而synchronized则可以保证变量的修改可见性和原子性 volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞。 volatile标记的变量不会被编译器优化;sy ...
1. RocketMQ https://github.com/alibaba/RocketMQ/wiki/quick-start   2. RabbitMQ https://www.rabbitmq.com/getstarted.html           对比: Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业 ...
1. 查看centos版本号: lsb_release -a   2. 查看mysql服务是否开机启动: http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796873.html chkconfig --list |grep mysqld mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off chkconfig mysqld on chkconfig --list|grep mysqld  mysqld          0:o ...
BSON与JSON的区别 BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式。BSON基于JSON格式,选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性。 BSON主要会实现以下三点目标: 1.更快的遍历速度 对JSON格式来说,太大的JSON结构会导致数据遍历非常慢。在JSON中,要跳过一个文档进行数据读取,需要对此文档进行扫描才行,需要进行麻烦的数据结构匹配,比如括号的匹配,而BSON对JSON的一大改进就是,它会将JSON的每一个元素的长度存在元素的头部,这样你只需要读取到元素长度 ...
假如数据库有表emp: empno name   age 001      lucy      22 002      lily        null 003      lilei       null 004      lucy      null 005      pear      null 006      pear      null   当执行sql: SELECT empno FROM `emp` where age != 22; 返回的竟然一条都没有;   结论: null值是不参与比较的, age != 22 , 所有null的那些列都被过滤去掉 ...
Global site tag (gtag.js) - Google Analytics