随笔分类 -  Java

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要:附录:https://www.liangzl.com/get-article-detail-134315.html 摘要: 我们知道java虚拟机启动时会带有很多的启动参数,Java命令本身就是一个多参数的启动命令。那么具体JVM启动包含哪些参数呢?这篇文章针对java8的情况做一篇汇总解读,包含大 阅读全文
posted @ 2019-06-26 14:21 割肉机 阅读(3824) 评论(1) 推荐(0) 编辑
摘要:附录: https://www.cnblogs.com/ygj0930/p/6543901.html 一:ConcurrentSkipListMap TreeMap使用红黑树按照key的顺序(自然顺序、自定义顺序)来使得键值对有序存储,但是只能在单线程下安全使用;多线程下想要使键值对按照key的顺序 阅读全文
posted @ 2019-06-26 14:18 割肉机 阅读(1281) 评论(0) 推荐(0) 编辑
摘要:Java中HashMap的初始容量设置: 根据阿里巴巴Java开发手册上建议HashMap初始化时设置已知的大小,如果不超过16个,那么设置成默认大小16: 集合初始化时, 指定集合初始值大小。 说明: HashMap使用HashMap(int initialCapacity)初始化, 正例:ini 阅读全文
posted @ 2019-06-26 14:12 割肉机 阅读(20427) 评论(0) 推荐(1) 编辑
摘要:在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结构,但是在jdk1.8里 加入了红黑树的实现,当链表的长度大于8时,转换为红黑树 阅读全文
posted @ 2019-06-26 14:11 割肉机 阅读(3795) 评论(0) 推荐(1) 编辑
摘要:HashMap 基本实现(JDK 8 之前) HashMap 通常会用一个指针数组(假设为 table[])来做分散所有的 key,当一个 key 被加入时,会通过 Hash 算法通过 key 算出这个数组的下标 i,然后就把这个 <key, value> 插到 table[i] 中,如果有两个不同 阅读全文
posted @ 2019-06-26 14:07 割肉机 阅读(9096) 评论(0) 推荐(1) 编辑
摘要:百度了一下,感觉能说清楚的并不多,所以在此记录一下。 首先说一说转换为红黑树的必要性:红黑树的插入、删除和遍历的最坏时间复杂度都是log(n),因此,意外的情况或者恶意使用下导致hashCode()方法的返回值很差时,性能的下降将会是"优雅"的,只要Key具有可比性。 但由于TreeNodes的大小 阅读全文
posted @ 2019-06-26 10:49 割肉机 阅读(8171) 评论(1) 推荐(0) 编辑
摘要:最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。 由于题目中给出的OOM,java中OOM又分很多类型;比如:堆溢出(“java.lang.OutOfMe 阅读全文
posted @ 2019-06-26 10:08 割肉机 阅读(1284) 评论(0) 推荐(0) 编辑
摘要:https://mp.weixin.qq.com/s/TpCElutqVSt7PAzjrGz12w 写在前面(常见面试题) 基本问题 •介绍下 Java 内存区域(运行时数据区)•Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)•对象的访问定位的两种方式(句柄和直接指针 阅读全文
posted @ 2019-06-25 17:05 割肉机 阅读(566) 评论(0) 推荐(0) 编辑
摘要:1、故障现象 客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题依然存在,使用top命令查看服务器情况,发现CPU占用率过高。 2、CPU占用过高问题定位 2.1、定位问题进程 使用top命令查看资源占用情况,发现pid为14063的进程占用了大量的CPU资源,CPU占用率高达776.1 阅读全文
posted @ 2019-04-30 14:06 割肉机 阅读(1782) 评论(0) 推荐(0) 编辑
摘要:JDK 1.8(Java 8)里新增String.join()方法用于字符串连接。本文基于《Java实现String.join()和效率比较》一文,分析和比较四种自定义实现与String.join()方法的效率,并纠正原文的一些错误。 代码示例如下: public class Test { publ 阅读全文
posted @ 2019-03-27 15:55 割肉机 阅读(1173) 评论(0) 推荐(0) 编辑
摘要:前段时间在项目中遇到一个问题。当多个系统同时运行时,大部分系统能够良好运转,部分却卡死在了启动界面。以下是我解决该问题的步骤和总结: 1、复现问题。重新走了一遍出问题的过程,发现问题的确存在。说明这个问题不是偶然发生。 2、看日志。确定问题是必然发生之后,开始查看日志,发现日志中有问题的系统状态一直 阅读全文
posted @ 2019-03-19 16:10 割肉机 阅读(1312) 评论(0) 推荐(0) 编辑
摘要:nowDate.add(Calendar.DAY_OF_MONTH,1); 谁能告诉我这里面的 1 是什么意思 2016年07月20日 13:59:47 javaPie 阅读数:2012 nowDate.add(Calendar.DAY_OF_MONTH,1); 谁能告诉我这里面的 1 是什么意思 阅读全文
posted @ 2018-12-24 10:00 割肉机 阅读(149) 评论(0) 推荐(0) 编辑
摘要:前言 一提到线程安全的并发计数器,AtomicLong 必然是第一个被联想到的工具。Atomic* 一系列的原子类以及它们背后的 CAS 无锁算法,常常是高性能,高并发的代名词。本文将会阐释,在并发场景下,使用 AtomicLong 来充当并发计数器将会是一个糟糕的设计,实际上存在不少 Atomic 阅读全文
posted @ 2018-08-29 18:07 割肉机 阅读(10230) 评论(0) 推荐(0) 编辑
摘要:一、场景描述 很多做服务接口的人或多或少的遇到这样的场景,由于业务应用系统的负载能力有限,为了防止非预期的请求对系统压力过大而拖垮业务应用系统。 也就是面对大流量时,如何进行流量控制? 服务接口的流量控制策略:分流、降级、限流等。本文讨论下限流策略,虽然降低了服务接口的访问频率和并发量,却换取服务接 阅读全文
posted @ 2018-08-20 14:45 割肉机 阅读(11856) 评论(0) 推荐(0) 编辑
摘要:目录 通过 CompositeByteBuf 实现零拷贝通过 wrap 操作实现零拷贝通过 slice 操作实现零拷贝通过 FileRegion 实现零拷贝 此文章已同步发布在我的 segmentfault 专栏. 根据 Wiki 对 Zero-copy 的定义: "Zero-copy" descr 阅读全文
posted @ 2018-08-19 09:25 割肉机 阅读(881) 评论(0) 推荐(0) 编辑
摘要:熟悉TCP编程的读者可能都知道,无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘包/拆包机制。木章开始我们先简单介绍TCP粘包/拆包的基础知识,然后模拟一个没有考虑TCP粘包/拆包导致功能异常的案例,最后通过正确例米探讨Netty是如何解决这个问题的。如果你已经熟悉了T 阅读全文
posted @ 2018-08-19 09:19 割肉机 阅读(754) 评论(0) 推荐(0) 编辑
摘要:原文:http://blog.sina.com.cn/s/blog_4c8c58ce0102vkbo.html 基本的IO编程过程(包括网络IO和文件IO)是,打开文件描述符(windows是handler,java是stream或channel),多路捕获(Multiplexe,即select和p 阅读全文
posted @ 2018-08-19 09:16 割肉机 阅读(951) 评论(0) 推荐(0) 编辑
摘要:1 Proactor和Reactor Proactor和Reactor是两种经典的多路复用I/O模型,主要用于在高并发、高吞吐量的环境中进行I/O处理。 I/O多路复用机制都依赖于一个事件分发器,事件分离器把接收到的客户事件分发到不同的事件处理器中,如下图: 1.1 select,poll,epol 阅读全文
posted @ 2018-08-19 09:07 割肉机 阅读(368) 评论(0) 推荐(0) 编辑
摘要:1、reactor(反应器)模式 使用单线程模拟多线程,提高资源利用率和程序的效率,增加系统吞吐量。下面例子比较形象的说明了什么是反应器模式: 一个老板经营一个饭店, 传统模式 - 来一个客人安排一个服务员招呼,客人很满意;(相当于一个连接一个线程) 后来客人越来越多,需要的服务员越来越多,资源条件 阅读全文
posted @ 2018-08-19 09:05 割肉机 阅读(550) 评论(0) 推荐(0) 编辑
摘要:Lock的使用 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于《java多线程核心技术》与《java并发编程实战》等相关资料,希望站在巨人的肩膀上,再通过我的理解能让知识更加简单易懂。 目录 认识cpu、核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二 阅读全文
posted @ 2018-08-18 23:31 割肉机 阅读(785) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页