java的内存有两种:堆内存和栈内存,堆和栈都是用来在内存中存放数据的地方,只是各自的运行机制有所不同。
堆,是运行时数据区,通过new等指令建立的对象从堆中分配空间,然后通过GC垃圾回收器来进行销毁。
Read More
线程通讯的本质,其实就是通知和控制,而在一个线程中,通过十八般武艺去控制其他线程的方法,就是线程通讯实现方式。
其目的是为了线程之间更好的协作,从而完成一些复杂的工作。
1,按照行数拆分
语法:split -行数 文件 /路径/前缀
示例:针对a.log文件进行拆分,每6行拆分一个文件,拆分的文件存放在/tmp下,按照new为前缀生成:
grep命令是linux系统中,最常用的文件字符串查找命令,职业生涯中,我们几乎离不开它。
下面是它最简单的用法,不过实际情况下,我们通常会添加很多参数或结合其他的命令去进行使用。
rsync是一个快速和非常灵活的文件拷贝工具,增量拷贝工具。
rsync的使用方式与SCP差不多,但rsync相对SCP有更多的额外选项。通过rsync –help命令可以查看支持选项类型的完整列表和帮助信息。
Cloud Toolkit是集开发、测试、诊断、部署为一体的免费IDE插件,能帮助开发者实现一键式部署和代码诊断,是提升效率和降低开发成本的利好插件。
有时候我们发现应用卡住了,通常是由于某个线程拿住了某个锁, 并且其他线程都在等待这把锁造成的。 为了排查这类问题,arthas提供了thread命令,协助我们快速定位。
基于jdk 1.8
1,HashMap的原理,内部数据结构是什么样的?
数组 + 单向链表的形式,这就是HashMap的存储方式,那么如何去验证呢?
有的时候,我们需要做一个类似微信发红包的逻辑,这就涉及到随机拆分红包的功能了。
那么如何去实现这个能力呢?
最简单的逻辑:先创建一个长度等于发放人数的数组,先赋值一个初始值,防止随机分配的时候未进行赋值。然后将剩下的值,随机分配的这个数组中即可。
trace 能方便的帮助你定位和发现因 RT 高而导致的性能问题缺陷,但每次只能跟踪一级方法的调用链路注:以下命令按”q”退出