Netty

面试造火箭笔记,你离offer就差这个!

烈酒焚心 提交于 2020-10-24 17:36:48
前言: 马上到 2020 年 9 月份啦,不知不觉 2020 年的大半年时间已经悄悄溜走啦,秋招已经开始,不管是实习生还是工作多年的同学都可以考虑跳槽涨薪喽。虽然疫情期间是互联网寒冬,但是对于充分准备的同学来说仍然是充满机会的,本篇文章为大家准备了最新的Java面试题助力面试,加油吧骚年们!希望你们能拿到想要的offer。 本篇文章总结了比较经典的一些面试题,因为内容太多答案我就不写了,需要答案的同学话点击 1065653031 暗号CSDN自行领取,还有我收藏总结的面试题,助力大家秋招面试。 目录 前言: 一、基础篇 二、核心篇 三、框架篇 四、微服务篇、 五、工程篇 总结 一、基础篇 基本功 面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什么区别 重载和重写的区别 抽象类和接口有什么区别 说说反射的用途及实现 说说自定义注解的场景及实现 HTTP 请求的 GET 与 POST 方式的区别 session 与 cookie 区别 session 分布式处理 JDBC 流程 MVC 设计思想 equals 与 == 的区别 集合 List 和 Set 区别 List 和 Map 区别 Arraylist 与 LinkedList 区别 ArrayList 与Vector 区别 HashMap 和 Hashtable 的区别

java线程池源码分析,彻底扫清线程池知识盲区(建议收藏)

断了今生、忘了曾经 提交于 2020-10-24 16:56:57
1.计算机的基础知识 位逻辑运算符: &: 位与运算符,只有两个操作数都是true,结果才是true。 |: 位或运算符,只有两个操作数都是false,结果才是false。 ~: 位非运算符:如果位为0,结果是1,如果位为1,结果是0. ^: 位异或运算:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。 位移运算: 无符号左移 无符号右移 :带符号右移(没有带符号左移这种操作) 二进制: 二进制都是以补码的形式表示的 正数的原码,反码,补码都一样; 要得到负数的补码,必须先求负数的反码,负数的反码;负数的反码按位1改成0,0改成1;负数的补码等于反码+1 分享一个,有很多干货,包含netty,spring,线程,spring cloud等详细讲解,也有详细的学习规划图,面试题整理等,我感觉在面试这块讲的非常清楚:获取面试资料只需: 点击这里领取!!! 暗号:CSDN 2.ThreadPoolExecutor简单示例 public class ThreadPoolExecutorTest { ​ public static void main ( String [ ] args ) { BlockingQueue b = new ArrayBlockingQueue ( 100 ) ; ​ ThreadPoolExecutor threadPoolExecutor

Springcloud 微服务 高并发(实战1):第1版秒杀

穿精又带淫゛_ 提交于 2020-10-23 07:22:46
疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列之15 【 博客园总入口 】 前言 疯狂创客圈 (笔者尼恩创建的高并发研习社群)Springcloud 高并发系列文章,将为大家介绍三个版本的 高并发秒杀: 一、 版本1 :springcloud + zookeeper 秒杀 二、版本2 :springcloud + redis 分布式锁秒杀 三、版本3 :springcloud + Nginx + Lua 高性能版本秒杀 以及有关Springcloud 几篇 核心、重要的文章 : 一、 Springcloud 配置, 史上最全 一文全懂 二、 Springcloud 中 SpringBoot 配置全集 , 收藏版 三、 Feign Ribbon Hystrix 三者关系 , 史上最全 深度解析 四、 SpringCloud gateway 详解 , 史上最全 本文:是**第一个版本 springcloud + zookeeper 秒杀 **实现,文章比较长,大家可以挑选感兴趣的部分,选择性阅读。 本文的秒杀效果图: 提示 : 本文内容,稍微有些陈旧,最新的源码和最新内容,请关注高并发社群—— 疯狂创客圈 1 为何要以秒杀做为高并发实战案例? 时间调到在单体架构还是主流的年代,那时候,大家学习J2EE技术的综合性实战案例,一般来说,就是从0开始实现,一行一行代码的

Netty入门教程——认识Netty(转)

╄→尐↘猪︶ㄣ 提交于 2020-10-22 01:04:36
什么是Netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见 https://www.java.net/dukeschoice/2011 )。它活跃和成长于用户社区,像大型公司 Facebook 和 Instagram 以及流行 开源项目如 Infinispan, HornetQ, Vert.x, Apache Cassandra 和 Elasticsearch 等,都利用其强大的对于网络抽象的核心代码。 以上是摘自 《Essential Netty In Action》 这本书,本文的内容也是本人读了这本书之后的一些整理心得,如有不当之处欢迎大虾们指正 Netty和Tomcat有什么区别? Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的,他的实质是一个基于http协议的web容器,但是Netty不一样,他能通过编程自定义各种协议,因为netty能够通过codec自己来编码/解码字节流,完成类似redis访问的功能,这就是netty和tomcat最大的不同。 有人说netty的性能就一定比tomcat性能高,其实不然,tomcat从6

大局已定,应届生三面京东成功拿下20K的Offer。

余生颓废 提交于 2020-10-21 12:33:07
前言 今天给大家分享应届生水友三面京东拿下Offer的面试过程,20K竟然还觉得是白菜价,晕死! 一面(1小时30分钟) 类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系 如何实现让类加载器去加载网络上的资源文件?怎么自定义类加载器?自定义的加载器还符合双亲委托机制吗?怎么打破双亲委托机制? 实例化对象的方式有几种? 由Object类的clone方法引申到深复制和浅复制的区别 反射的概念、用法、实践 Java内存模型和JVM内存结构 有一台4核8G的机器,该给JVM里的堆区和虚拟机栈分配多大的内存?(初始值、最大值、堆区年轻代和老年代的分配比例等等) 堆内存中的年轻代分配内存过少或过多分别有什么影响?复制算***导致Stop-the-World吗? 哪些参数可以设置JVM中的内存分配? 需要在线程范围内去共享一个变量,怎么实现?ThreadLocal源码实现、Key弱引用导致的内存泄露、怎么避免? volatile的作用、实现机制、缓存一致性实现 AtomicInteger原子类的作用、源码实现机制 CAS无锁算法概念、源码实现机制、Unsafe类源码延伸到HotSpot虚拟机对应的C++方法再延伸对应的汇编函数 ReentrantLock中非公平锁的源码实现、AQS源码实现、为什么需要自旋锁?锁膨胀的过程? 线程池的使用场景、常用参数、拒绝策略

Spring Boot 2.3 优雅关闭新姿势,真香!

最后都变了- 提交于 2020-10-18 03:23:31
最新的 Spring Boot 2.3 发布快半个月了: https://spring.io/blog/2020/05/15/spring-boot-2-3-0-available-now 其中有个新特性叫: Graceful shutdown(优雅关闭) 之前也分享过这样的文章,现在竟然出品官方姿势了,新功能嘛,肯定得去官方看下,下面是官方的说明: Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. When a grace period is configured, upon shutdown, the web server will no longer permit new requests and will wait for up to the grace period for active requests to complete. 下面,栈长给大家总结下: 优雅关闭支持所有 4 个嵌入式 Web 服务器:Jetty, Reactor Netty, Tomcat, Undertow

这篇 Java IO,讲的实在是太好了

て烟熏妆下的殇ゞ 提交于 2020-10-17 03:34:21
Java IO 是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从 Java 的 BIO 开始,一步一步深入学习,引出 JDK1.4 之后出现的 NIO 技术,对比 NIO 与 BIO 的区别,然后对 NIO 中重要的三个组成部分进行讲解(缓冲区、通道、选择器),最后实现一个简易的客户端与服务器通信功能。 传统的 BIO Java IO流是一个庞大的生态环境,其内部提供了很多不同的输入流和输出流,细分下去还有字节流和字符流,甚至还有缓冲流提高 IO 性能,转换流将字节流转换为字符流······看到这些就已经对 IO 产生恐惧了,在日常开发中少不了对文件的 IO 操作,虽然 apache 已经提供了 Commons IO 这种封装好的组件,但面对特殊场景时,我们仍需要自己去封装一个高性能的文件 IO 工具类,本文将会解析 Java IO 中涉及到的各个类,以及讲解如何正确、高效地使用它们。 BIO NIO 和 AIO 的区别 我们会以一个经典的烧开水的例子通俗地讲解它们之间的区别 类型烧开水BIO一直监测着某个水壶,该水壶烧开水后再监测下一个水壶NIO每隔一段时间就看看所有水壶的状态,哪个水壶烧开水就去处理哪个水壶AIO不用监测水壶,每个水壶烧开水后都会主动通知线程说:“我的水烧开了,来处理我吧” BIO (同步阻塞 I/O) 这里假设一个烧开水的场景

牛掰!Spring Boot 2.3.0 新特性:如何优雅停机?

北城以北 提交于 2020-10-17 02:47:37
1.什么是优雅停机 先来一段简单的代码,如下: @RestController public class DemoController { @GetMapping("/demo") public String demo() throws InterruptedException { // 模拟业务耗时处理流程 Thread.sleep(20 * 1000L); return "hello"; } } 当我们流量请求到此接口执行业务逻辑的时候,若服务端此时执行关机 (kill),spring boot 默认情况会直接关闭容器(tomcat 等),导致此业务逻辑执行失败。在一些业务场景下:会出现数据不一致的情况,事务逻辑不会回滚。 2.graceful shutdown 在最新的 spring boot 2.3 版本,内置此功能,不需要再自行扩展容器线程池来处理,目前 spring boot 嵌入式支持的 web 服务器(Jetty、Reactor Netty、Tomcat 和 Undertow)以及反应式和基于 Servlet 的 web 应用程序都支持优雅停机功能。我们来看下如何使用: 当使用 server.shutdown=graceful 启用时,在 web 容器关闭时,web 服务器将不再接收新请求,并将等待活动请求完成的缓冲期。 3.配置体验 此处支持的 shutdown

我在搜刮了全网的Java学习分享后,精选了这些最强干货!!

扶醉桌前 提交于 2020-10-15 05:20:20
内容包含:Spring boot、Spring cloud、Dubbo、Redis、ActiveMQ、Nginx、Mycat、Spring、MongoDB、ZeroMQ、Git、Nosql、Jvm、Mecached、Netty、Nio、Mina、性能调优、高并发、tomcat 负载均衡、大型电商项目实战、高可用、高可扩展、数据库架构设计、Solr 集群与应用、分布式实战、主从复制、高可用集群等。 有想获取以下干货视频资料的朋友:点赞+关注后,私信【Java干货】就可以了(一定要记得关注我,不然没办法回复陌生人私信) 学习路线图 坦克大战 干货视频,高级架构师最新java、spring、Redis、JVM、分布式、高并发。里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点高级进阶干货 来源: oschina 链接: https://my.oschina.net/u/4389867/blog/4650809

全网疯传!阿里甩出的Netty高阶手册完全震碎了我以往对其的认知(理论+实践+面试+落地项目)

时光怂恿深爱的人放手 提交于 2020-10-14 20:38:20
前言 Netty作为目前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,知名的Elasticsearch 、Dubbo 框架内部都采用了Netty。随着互联网对各行各业的渗透,我们可以看到一些计算机领域的热门技术,例如云计算、微服务、物联网等,其背后的核心一直是连接。在这样一个背景下, 掌握Netty可以算得上是一个开发人员最重要的技能。 但很多人在对Netty的学习上一直没有一个系统的概念,不知道该怎么学,为什么要学。市面上关于Netty的学习资料其实也是很少的。 今天要与大家介绍的 阿里内部Netty进阶手册( 2份Netty文档+一个Netty实战项目+面试专题)。是完全可以 带大家彻底的玩转Netty,无论你是小白还是用过Netty的开发人员, 相信都可以在这篇文章中收益。 第一份文档 由于篇幅限制只把主要内容展示出来,第一份文档注重的是Netty的概念。就不做过多的篇幅展示的了,我把主要篇幅用来展示实践文档与项目,需要所有资料的的小伙伴帮忙点赞文章,关注我添加助理即可免费获取了。 第1章Java的I/O演进之路 第2章NIO入门 入门篇Netty NIO开发指南 第3章Netty入门应用 第4章TCP粘包/拆包问题的解决之道 第5章分隔符和定长解码器的应用 中级篇Netty编解码开发指南 第6章编解码技术