JAVA ’ 目录归档

计算机科学中抽象的好处与问题—伪共享实例分析

David John Wheeler有一句名言“计算机科学中的任何问题都可以通过加上一层间接层来解决”一层不够就再加一层。后半句是我加的 (* ̄︶ ̄) ,虽然有点玩笑的意思,但是也的确能说明一些问题。计算机科学的确是靠着一层又一层的抽象与封装解决了巨量的问题。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 计算机科学中抽象的好处与问题—伪共享实例分析

使用包定长FixedLengthFrameDecoder解决半包粘包

四、使用包定长FixedLengthFrameDecoder解决半包粘包

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 使用包定长FixedLengthFrameDecoder解决半包粘包

高性能网络通信框架Netty-Netty客户端底层与Java NIO对应关系

5.1 Netty客户端底层与Java NIO对应关系

在讲解Netty客户端程序时候我们提到指定NioSocketChannel用于创建客户端NIO套接字通道的实例,下面我们来看NioSocketChannel是如何创建一个Java NIO里面的SocketChannel的。

阅读全文

初探Kafka Streams

Kafka在0.10版本推出了Stream API,提供了对存储在Kafka内的数据进行流式处理和分析的能力。

本文将从流式计算出发,之后介绍Kafka Streams的特点,最后探究Kafka Streams的架构。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 初探Kafka Streams

如何在MQ中实现支持任意延迟的消息?

什么是定时消息和延迟消息?

  • 定时消息:Producer 将消息发送到 MQ 服务端,但并不期望这条消息立马投递,而是推迟到在当前时间点之后的某一个时间投递到 Consumer 进行消费,该消息即定时消息。
  • 延迟消息:Producer 将消息发送到 MQ 服务端,但并不期望这条消息立马投递,而是延迟一定时间后才投递到 Consumer 进行消费,该消息即延时消息。

定时消息与延迟消息在代码配置上存在一些差异,但是最终达到的效果相同:消息在发送到 MQ 服务端后并不会立马投递,而是根据消息中的属性延迟固定时间后才投递给消费者。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 如何在MQ中实现支持任意延迟的消息?

高性能网络通信框架Netty-基础概念篇

一、前言

Netty是一种可以轻松快速的开发协议服务器和客户端网络应用程序的NIO框架,它大大简化了TCP或者UDP服务器的网络编程,但是你仍然可以访问和使用底层的API,Netty只是对其进行了高层的抽象。

Netty的简易和快速开发并不意味着由它开发的程序将失去可维护性或者存在性能问题。Netty是被精心设计的,它的设计参考了许多协议的实现,比如FTP,SMTP,HTTP和各种二进制和基于文本的传统协议,因此 Netty成功的实现了兼顾快速开发,性能,稳定性,灵活性为一体,不需要为了考虑一方面原因而妥协其他方面。

image

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 高性能网络通信框架Netty-基础概念篇

第七章.虚拟机类加载机制

类加载的生命周期

类加载的整个生命周期:加载–验证–准备–解析–初始化–使用–卸载 7个阶段,其中验证、准备、解析部分统称为连接。

类初始化的5中条件

1. 使用new关键字实例化对象的时候,读取或设置一个类的静态字段(该字段不被final修饰)的时候,以及调用一个类的静态方法的时候
2. 使用java.lang.reflect包的方法对类进行反射调用的时候
3. 当初始化一个类的时候,如果发现其父类还没有进行过初始化,则需要先初始化其父类
4. 当虚拟机启动的时候,用户需要指定一个要执行的主类,虚拟机需要先初始化这个主类
5. 当使用JSK1.7的动态语言支持时,如果一个java.lang.invoke.MethodHandle实例最后的解析结果REFgetStatic、REFputStatic、REF_invokeStatic的方法句柄,并且这个方法句柄说对应的类没有进行过初始化

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 第七章.虚拟机类加载机制

《技术人求职指南》(六)如何选择Offer

作者:方腾飞  原文首发于极客时间

大家阅读这篇文章的时候,也许大家已经拿到了很多offer,在这里首先要恭喜大家但是很多应聘者拿到了offer之后还是有很多疑问,比如“我拿到了两家公司的offer,哪一家公司好,我该去哪一家公司”,“某家公司给了我口头offer,我把另一家公司的offer拒了”,“如果A公司比B公司大,但是B公司给的薪水多,我如何选择呢”,“某某公司的offer我是否应该拒绝”。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《技术人求职指南》(六)如何选择Offer

《技术人求职指南》(二)如何写好简历

作者:方腾飞  原文首发于极客时间

前段时间有朋友问他投了简历为什么公司迟迟没有给他面试机会,还有朋友说他因为频繁跳槽在复试的时候被拒绝,但是他说每次跳槽都有进步不过我从他简历中只能看到频繁跳槽,没有看到进步。这些问题都和所写的简历息息相关。

在工作中,我筛选过近千封简历,面试过300名左右的求职者,也推荐过上百封简历。这个过程中,我发现一些求职者的简历确实有写得不尽如人意的地方,有的简历写得太简单缺少必要信息,有的简历写得太多没有突出重点。

今天我将个方面和大家谈谈如何写好简历首先什么是简历其次为什么要写好简历再次简历的内容最后,五点建议。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《技术人求职指南》(二)如何写好简历

《技术人求职指南》(一)你是否应该选择跳槽

作者:方腾飞   原文首发于极客时间

每天都会有很多的人在跳槽,刚毕业几年技术人员跳槽很容易,薪水也容易让自己满意,因为公司愿意为你的潜力买单并培养你。但是随着年龄的增长,跳槽变得不那么容易,薪资也很难增长你对薪资的期望会越来越高,而公司对的要求也越来越高,如果你和应届生做的事情差不多,或者你能做的事情应届生都能做,公司花三万可以招聘三个应届生,为什么要花三万招聘你呢?在这种残酷的竞争之下,技术人员要逐渐打造自己的技术壁垒,争取为公司创造更大价值。若你能为公司创造千万收益,能拿百万收入。

跳槽有利也有弊,需要非常谨慎的对待。其利是可能更符合你未来的规划和提升,弊则是会影响职业规划,新公司也会浪费你一些时间,可能会做之前做过的事情,熟悉新公司的环境新业务和新同事建立信任感等。在原公司你最重要财富是你的根基,这个根基包括同事对你的信任、你的团队、和你在整个公司的地位,这个跟进在新公司是需要花很长一段时间才能建立起来的。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《技术人求职指南》(一)你是否应该选择跳槽

《JDK10新特性官方文档》在可选内存设备上的分配堆内存

原文链接

JEP 316: 在可选内存设备上的分配堆内存

Owner

Kishor Kharbas

Created

2016/12/13 19:31

Updated

2018/03/20 20:32

Type

Feature

Status

Closed / Delivered

Component

hotspot / gc

Scope

JDK

Discussion

hotspot dash dev at openjdk dot java dot net

Effort

M

Duration

M

Priority

3

Reviewed by

Mikael Vidstedt

Endorsed by

Mikael Vidstedt, Vladimir Kozlov

Release

10

Issue

8171181

 

 
阅读全文

Netty(一) SpringBoot 整合长连接心跳机制

前言

Netty 是一个高性能的 NIO 网络框架,本文基于 SpringBoot 以常见的心跳机制来认识 Netty。

最终能达到的效果:

  • 客户端每隔 N 秒检测是否需要发送心跳。
  • 服务端也每隔 N 秒检测是否需要发送心跳。
  • 服务端可以主动 push 消息到客户端。
  • 基于 SpringBoot 监控,可以查看实时连接以及各种应用信息。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Netty(一) SpringBoot 整合长连接心跳机制

《JDK10新特性官方文档》额外的 Unicode 语言标签扩展

原文地址

JEP 314: 额外的 Unicode 语言标签扩展

Owner

Naoto Sato

Created

2017/03/24 23:19

Updated

2018/03/06 17:15

Type

Feature

Status

Closed / Delivered

Component

core-libs / java.util:i18n

Scope

SE

Discussion

i18n dash dev at openjdk dot java dot net

Priority

2

Reviewed by

Alan Bateman, Brian Goetz

Endorsed by

Brian Goetz

Release

10

Issue

8177568

Summary

增强 java.util.Locale 和相关 API,实现 BCP 47 语言标签中额外的 Unicode 扩展。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《JDK10新特性官方文档》额外的 Unicode 语言标签扩展

《JDK10新特性官方文档》JEP304: 垃圾收集器接口

作者: Roman Kennke

创建时间:2016/08/06 08:45

更新时间:2018/04/09 12:37

类型: 特性

状态: 已关闭/已提交

组件:hotspot/gc

范围:实现类

讨论: openjdk.java.net上的hotspot-gc-dev

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《JDK10新特性官方文档》JEP304: 垃圾收集器接口

《JDK10新特性官方文档》JEP307: G1 Full GC的并行化

 

作者: Stefan Johansson

创建时间:2017/01/17 11:40

更新时间:2018/03/29 07:39

类型: 特性

状态: 已关闭/已提交

组件:hotspot/gc

范围:实现类

讨论: openjdk.java.net上的hotspot-gc-dev

影响:M

持续时间:M

优先级:3

审阅人:Mikael Vidstedt

支持者:Mikael Vidstedt

版本:10

问题讨论8172890

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《JDK10新特性官方文档》JEP307: G1 Full GC的并行化

return top