一、javap命令简述 javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。当然这些信息中,有些信息(如本地变量表、指令和代码行偏移量映射表、常量池中方法的参数名称等等)需要在使 ...
分类:
编程语言 时间:
2019-10-11 10:44:37
阅读次数:
95
一、简介 JDK5以前就有了ThreadLocal,又叫线程本地变量,提供了get与set等方法,这些方法为每一个使用该变量的线程都存有一份独立的副本,因此get总是返回由当前执行线程在调用set方法时设置的最新值。 二、使用 使用方法比较简单,如下。 ThreadLocal<M> threadLo ...
分类:
其他好文 时间:
2019-10-04 00:08:03
阅读次数:
100
简介Annotation 提供了一条与程序元素关联任何信息或者任何元数据(metadata)的途径。从某些方面看,annotation就像修饰符一样被使用,并应用于包、类型、构造方法、方法、成员变量、参数、本地变量的声明中。这些信息被存储在annotation的“name=value”结构对中。 a... ...
分类:
编程语言 时间:
2019-10-01 12:07:39
阅读次数:
95
垃圾收集器垃圾收集(Garbage Collection,GC)。当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统更高并发量的瓶颈时,我们需要去了解GC和内存分配。 检查对象的"存活"状态 虚拟机栈(栈帧中的本地变量表)中引用的对象; 方法区中静态属性引用的对象; 方法区中常量引用的对象; ...
分类:
其他好文 时间:
2019-09-30 23:56:47
阅读次数:
194
InheritableThreadLocal详解 https://www.jianshu.com/p/94ba4a918ff5 InheritableThreadLocal——父线程传递本地变量到子线程的解决方式及分析https://blog.csdn.net/hewenbo111/article/ ...
分类:
其他好文 时间:
2019-09-30 22:07:56
阅读次数:
172
死锁发生的必要条件: 1、互斥条件 2、请求和保持条件 3、资源不剥夺条件 4、环路等待条件 多线程的最佳并发实践; 1、 使用本地变量 2、使用不可变类 3、最小化锁的作用域范围 : S = 1/(1-a+a/n) (阿木达尔定律) 其中,a为串行计算部分所占比例,n为并行处理结点个数。这样,当a ...
分类:
编程语言 时间:
2019-09-16 10:29:58
阅读次数:
111
前言: 前面我们介绍了要想保证多线程变现过程中的安全问题,我们就要保证在读线程编写过程中保证多线程的三大特性,那么java为了保证多线程的三大特性引入了很多线程控制机制,下面就来介绍场用的几种。 一、ThreadLocal: ThreadLocal线程本地变量,它可以为每一个线程刚保存一份线程内变量 ...
分类:
编程语言 时间:
2019-09-14 01:10:29
阅读次数:
122
javac : 编译代码(即将.java文件编译成.class的中立字节码文件) eg:javac App.java javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。 jav ...
分类:
其他好文 时间:
2019-09-08 09:41:21
阅读次数:
86
一、final关键字的含义 final是Java中的一个保留关键字,它可以标记在成员变量、方法、类以及本地变量上。一旦我们将某个对象声明为了final的,那么我们将不能再改变这个对象的引用了。如果我们尝试将被修饰为final的对象重新赋值,编译器就会报错。 二、用法 1.修饰变量 final修饰在成 ...
分类:
编程语言 时间:
2019-09-03 22:22:17
阅读次数:
101
关于C#多线程的文章,大部分都在讨论线程的开始与停止或者是多线程同步问题。多线程同步就是在不同线程中访问同一个变量或共享资源,众所周知在不使用线程同步的机制下,由于竞争的存在会使某些线程产生脏读或者是覆盖其它线程已写入的值(各种混乱)。 而另外一种情况就是多线程时我们想让每个线程所访问的变量只属于各 ...
分类:
编程语言 时间:
2019-09-02 11:56:23
阅读次数:
113