锁是JAVA多线程关键,也是面试中必问的, 在此好好总结一下。 (先要从进程和线程说起,此处先欠下,回头专门说一下操作系统是怎么管理进程和线程的) 说到多线程就要说说JAVA的内存模型:图片来自于网络。 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中 ...
分类:
编程语言 时间:
2019-04-24 12:14:30
阅读次数:
110
Java内存模型(Java Memory Model,JMM),Java虚拟机规范中定义的来屏蔽掉各种硬件和操作系统的内存访问差异, 以实现让Java程序在各种平台下都能达到一致的内存访问结果。 1、主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到 ...
分类:
编程语言 时间:
2019-04-23 17:25:17
阅读次数:
172
程序在内存中的存储分为三个区域,分别是动态数据区、静态数据区和代码区。函数存储在代码区,全局变量以及静态变量存储在静态数据区,而在程序执行的时候才会在动态数据区产生数据。程序执行的本质就是代码区的指令不断执行,驱使动态数据区和静态数据区产生数据变化。 代码区与动态数据区由三个寄存器控制,分别是eip ...
分类:
其他好文 时间:
2019-04-12 00:57:23
阅读次数:
174
实现线程间通讯的方式: 1、共享变量实现 1.1 利用基synchronized notify wait来实现 1.2 利用lock和condition实现 1.3 利用volatile 该关键字修饰的变量直接存储在main memory 不像其他线程的变量存储在local thread 1.4 利 ...
分类:
编程语言 时间:
2019-04-11 16:30:28
阅读次数:
143
Session具有以下特点: (1)Session中的数据保存在服务器端; (2)Session中可以保存任意类型的数据; (2)Session默认的生命周期是20分钟,可以手动设置更长或更短的时间。 需要注意的是在Session变量存储过多的数据会消耗比较多的服务器资源,在使用session时应该 ...
11、静态变量存在哪? 静态变量存储在方法区中。(类信息、常量和静态变量都存储在方法区中) 12、讲讲什么是泛型? 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型);比如:ArrayList<E> E就是泛型,这种不确定的数据类型需要在使用这个类 ...
分类:
编程语言 时间:
2019-04-02 12:35:23
阅读次数:
176
shell变量 一、shell的变量体系和规则 1.shell变量的字符串化。shell 允许用户建立变量存储数据,但是不支持数据类型,将任何值赋给变量都解释为一串字符串 2.shell变量赋值语法严格。变量赋值时等号两边必须不能有空格 3.shell的四大变量体系: 1).用户自定义变量 2).位 ...
分类:
系统相关 时间:
2019-03-28 13:37:22
阅读次数:
191
接下来说存储类说明符的第二个知识点——静态变量,它包括三种:全局变量/外部变量,静态全局变量,静态局部变量 非常重要!工作中必用。接近于底层的一个理解。 特点: 静态变量存储在静态区/静态全局区/静态存储区,因为内存区域分5个区:堆区,栈区,字符常量区,静态区,代码区。 这个内存区域有什么特点?我们 ...
分类:
其他好文 时间:
2019-03-20 22:16:09
阅读次数:
258
面向对象变量 局部变量和成员变量区别 区别一:定义的位置不同 定义在类中的变量是成员变量 定义在方法中或者{}语句里面的变量是局部变量 区别二:在内存中的位置不同 成员变量存储在对内存的对象中 局部变量存储在栈内存的方法中 区别三:声明周期不同 成员变量随着对象的出现而出现在堆中,随着对象的消失而从 ...
分类:
编程语言 时间:
2019-03-17 21:36:41
阅读次数:
152
前言 公司项目原因,接触到storyline3(后面简称SL)课件制作工具,类似ppt,但是又多了互动、交互,且页面元素可添加触发器,触发器中可执行js代码。 1.官方教程 在SL中,会有“了解详情...”,点击后能到官方的使用教程,仔细阅读,会有你用到的知识。 (例如触发器的教程https://c ...
分类:
其他好文 时间:
2019-03-15 19:19:29
阅读次数:
293