自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Java虚拟机关闭钩子ShutdownHook

java程序部署在服务器上时,Ctrl+C关闭,或者service Servicename stop关闭时(不包括 kill -9 操作),会有一些关闭资源等操作来不及执行。这时为了程序安全退出,我们可以使用Shutdown Hook来实现。使用方法:比如,添加一个方法public void start() {     Runtime.getRuntime().addS

2018-03-28 09:50:36 287

原创 NIO网络编程

一、NIO概述NIO(Non-blocking I/O,在Java领域,也称为New I/O),这个库是在JDK1.4中才引入的,是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。那么NIO的本质是什么样的呢?它是怎样与事件模型结合来解放线程、提高系统吞吐的呢?本文会从传统的阻塞I/O和线程...

2018-03-09 18:37:10 2486

原创 Java-原子操作之CAS

很多情况下我们只是需要一个简单的、高效的、线程安全的递增递减方案。注意,这里有三个条件:简单,意味着程序员尽可能少的操作底层或者实现起来要比较容易;高效意味着耗用资源要少,程序处理速度要快;线程安全也非常重要,这个在多线程下能保证数据的正确性。这三个条件看起来比较简单,但是实现起来却难以令人满意。通常情况下,在Java里面,++i或者--i不是线程安全的,这里面有三个独立的操作:获得变量当前值

2018-03-09 16:04:40 318

原创 Java-原子操作和原子变量

API链接:https://docs.oracle.com/javase/8/docs/api/所在包:java.util.concurrent.atomic Java有8种数据类型,并且每个数据类型都有一个包装类,如int和Integer,它们之间的转化也就是我们常称作的自动拆箱和装箱的过程。但是呢,它们只是一个简单的数据,当在并发编程下,没有任何特殊的语义。volatile能保证可见性,以及阻...

2018-03-06 16:35:58 1117

原创 ByteBuf相关方法

将ByteBuf转为十六进制ByteBuf buf;System.out.println(ByteBufUtil.hexDump(buf));

2018-03-05 16:54:25 2105

原创 byte[]转String出现乱码(EFBFBD或3F)

问题:byte[]转String(以方便用split()对byte[]进行分割或其他操作)时,选择编码方式不同会导致产生一些字符乱码UTF-8时产生EFBFBDGBK时产生3F等等原因:这些字符集与byte值不是完全对应,有的byte值没有对应的字符,于是出现乱码解决:使用iso-8859-1字符集,其编码范围是0x00-0xFF

2018-03-05 16:07:15 7481 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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