Java异步NIO框架Netty实现高性能高并发

1. 背景 1.1. 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。 事实上...

2018-09-10 23:36:28

阅读数 34

评论数 0

Netty学习笔记

转载:https://segmentfault.com/a/1190000016072310#articleHeader9 (非搜狗浏览器) 一. Java Blocking I/O ExecutorService executor = Excutors.newFixedThre...

2018-09-09 20:05:38

阅读数 55

评论数 0

Redis与Memcached的区别

Redis与Memcached的区别   传统MySQL+ Memcached架构遇到的问题   实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多...

2018-09-06 00:22:00

阅读数 49

评论数 0

MyBatis如何防止SQL注入

原文地址:https://www.cnblogs.com/200911/p/5869097.html SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。[摘自] SQL injection - Wikiped...

2018-04-27 00:17:05

阅读数 307

评论数 0

mybatis是如何防止SQL注入的

SQL注入是一种很简单的攻击手段,但直到今天仍然十分常见。究其原因不外乎:No patch for stupid。为什么这么说,下面就以JAVA为例进行说明:假设数据库中存在这样的表:[java] view plain copytable user( id varchar(20) PR...

2018-04-27 00:12:47

阅读数 1473

评论数 3

Collections.sort()和Arrays.sort()排序算法选择

今天面试的时候,被问到Collections.sort();和Arrays.sort();两个方法的排序算法实现,我只记得一个是快速排序一个是归并排序,但是刚刚看到没那么简单。 Arrays.sort() 先来看看Arrays.sort();,一点进这个方法会看到是这样子的 public s...

2018-04-22 11:23:47

阅读数 294

评论数 0

数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)

一、数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。 √: 可能出现   ...

2018-04-06 20:12:21

阅读数 91

评论数 0

jvm及垃圾回收深入详解 参禅

java虚拟机主要分为 堆、方法区(非堆)、栈和虚拟机栈、程序计数器等。hot虚拟机采用持久层实现方法区。 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代...

2018-04-06 20:11:51

阅读数 52

评论数 0

AAA过滤器、监听器、拦截器的区别

过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 s...

2018-02-10 11:02:35

阅读数 50

评论数 0

终结篇:MyBatis原理深入解析(一)

MyBatis框架整体设计 MyBatis框架整体设计 5.1 接口层-和数据库交互的方式 MyBatis和数据库的交互有两种方式: 使用传统的MyBatis提供的API; 使用Mapper接口; 5.1.1 使用传统的MyBatis提供...

2018-01-14 18:27:09

阅读数 117

评论数 0

tomcat查看GC信息

tomcat启动参数,将JVM GC信息写入tomcat_gc.log CATALINA_OPTS='-Xms512m -Xmx4096m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=64m -XX:ParallelGCThr...

2017-12-29 11:39:22

阅读数 64

评论数 0

Java的Spi机制研究

摘要:之前研究过dubbo、spring源码。然后发现大量使用一个叫做spi的东西,发现这确实是一个很好的实现方法,特别是在设计框架中。 一、SPI机制概念       SPI的全称是Service Provider Interface。简单来说,SPI机制提供了一个表达接口和其具体实现类...

2017-12-24 10:12:48

阅读数 91

评论数 0

同步,异步,阻塞,非阻塞,BIO,AIO,NIO 理解

对于同步,异步,阻塞,非阻塞的理解可以看一个例子: 以银行取款为例: 同    步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。 异    步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS处理,需要将数据缓冲区地址和...

2018-11-09 23:18:45

阅读数 48

评论数 0

异步和非阻塞一样吗? (内容涉及BIO,NIO,AIO,Netty)

写在开头: 本文不是纯讲技术,会涉及概念理解和语义分析的要点。正如博主标题说的,高效的学习方法比拥有多少知识重要。高效的学习方法途径之一就是阅读理解,理解能力越好,掌握越快,知识体系更清晰。 如果刚入门Netty,看过Netty线程模型,又看过JDK的NIO、NIO2,是否困惑于NIO,AIO...

2018-11-09 23:13:55

阅读数 40

评论数 0

setTimeout与setInterval的坑以及优缺点

说到setTimeout与setInrerval大家可能都觉得很easy,我刚接触js的也是这样的想法,可后来在知乎看到了一道题,大概好像是这样的: 例一: setTimeout(function(){ console.log("小马“); setTimeout(func...

2018-11-01 00:11:02

阅读数 78

评论数 0

netty源码分析之揭开reactor线程的面纱(三)

上两篇博文(netty源码分析之揭开reactor线程的面纱(一),netty源码分析之揭开reactor线程的面纱(二))已经描述了netty的reactor线程前两个步骤所处理的工作,在这里,我们用这张图片来回顾一下: reactor线程三部曲 简单总结一下reactor线程三部曲 ...

2018-09-11 00:03:16

阅读数 74

评论数 0

netty源码分析之揭开reactor线程的面纱(一)

netty最核心的就是reactor线程,对应项目中使用广泛的NioEventLoop,那么NioEventLoop里面到底在干些什么事?netty是如何保证事件循环的高效轮询和任务的及时执行?又是如何来优雅地fix掉jdk的nio bug?带着这些疑问,本篇文章将庖丁解牛,带你逐步了解netty...

2018-09-10 23:45:42

阅读数 50

评论数 0

netty常见知识点

Java读源码之Netty深入剖析解析netty各大组件细节/百万级性能调优/设计模式实际运用 前言:这是一门对Java开发人员非常重要的课程,源码的学习方式是不可逃避的。Netty也是大型互联网公司面试必备的问题,如果没有分布式开发经验,在面试时提出自己阅读过Netty源码,并能清晰表达的话。...

2018-09-10 23:44:13

阅读数 935

评论数 0

源码之下无秘密 ── 做最好的 Netty 源码分析教程

背景 在工作中, 虽然我经常使用到 Netty 库, 但是很多时候对 Netty 的一些概念还是处于知其然, 不知其所以然的状态, 因此就萌生了学习 Netty 源码的想法. 刚开始看源码的时候, 自然是比较痛苦的, 主要原因有两个: 第一, 网上没有找到让我满意的详尽的 Netty 源码分析的...

2018-09-10 23:41:22

阅读数 41

评论数 0

Netty高性能开发备忘录

工作中使用netty,还都是解决小打小闹的问题,还没有遇到超过10k连接情况下,数据高性能分发及连接管理问题。无意中看到这篇文章,先转载一下,以后工作中遇到相关问题可以及时查阅,也希望更多人看到,并从中获取netty优化灵感。        原文链接如下:http://www.10tiao.co...

2018-09-10 23:40:21

阅读数 47

评论数 0

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