随笔分类 - Java基础
多线程中的锁
摘要:多线程中的锁 首先讲讲锁的分类 锁的分类 公平锁/非公平锁 可重入锁(递归锁) 独享锁/共享锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁/自适应自旋锁 锁粗化/锁消除 公平锁和非公平锁 线程挂起和线程真正运行之间存在着很长的时间差 公平锁 多个线程按
HashMap、HashTable、ConcurrentHashMap详解
摘要:三种散列表的公共部分 三者都是存储键值对的Key-Value key会被映射到数组索引, Entry对象则是数组中对应的值。 Key通过Hash算法得到哈希码(HashCode), 通过哈希码与数组中的索引对应。 因此所有的键值对Hash表都是无序储存的。 键值对的查找过程: (hashCode()
面对对象
摘要:面向对象 面向对象的本质就是:以类的方式组织代码,以 对象的方式封装数据 new关键字 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认初始化以及调用构造方法 构造方法 创建对象的时候自动调用(无参构造),主要作用是为了初始化 必须和类的名字相同 必须没有返回值,不能写v
java值传递详解
摘要:java的值传递详解 1. 首先我们需要弄清楚基本数据类型和引用数据类型的区别 int num = 0; String str = "java"; 基本数据类型直接保存在变量中,而引用数据类型保存在变量中的是地址值,地址指向实际对象,所以被称为引用数据类型。 2. 再来弄清楚赋值运算符(=)的作用
java基础语法
摘要:Java基础语法 选择结构 if单选择 if双选择 if嵌套 switch多选择结构 1. 变量类型可以是byte、short、int或者char 2. 从Java7开始switch支持字符串String类型了 3. case标签必须为常量 循环结构 while循环 do while循环 for循环
java基础
摘要:java基础知识 标识符 标识符包含类名,方法名,变量名,常量名 1. 以字母、美元符号($)、下划线(_)开头 2. 以字母、美元符号($)、下划线(_)、数字组成 3. 区分大小写 4. 不能使用关键字 数据类型 基本数据类型 八大基本数据类型 1. byte:8位( 2^7~2^7 1) 2.
JAVA程序运行机制
摘要:JAVA程序运行机制 编译型(compile):C/C++,将程序编译成可执行文件 解释型(explain):python,程序不需要编译,在运行的时候才翻译成机器能够执行的语言,执行一句翻译一句,因此效率较低。 而java是先通过javac编译成字节码文件,这个字节码文件机器并不能直接运行,需要通
JDK的安装和卸载
摘要:JDK的安装和卸载 安装JDK 1.使用对应的安装包进行安装,记住安装目录(默认目录C:\Program Files\Java\jdk1.8.0_181) 2.环境变量配置 配置环境变量是为了在全局可用,如不配置变量只能在安装目录下使用 1. 我的电脑 右键 属性 高级系统设置 环境变量 2. 变量
JDK:JRE:JVM
摘要:JDK、JRE、JVM三者关系 JDK(Java Development Kit)针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。 JRE(Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM
Dos常用命令
摘要:Dos命令 打开CMD的方式 win键+R 输入cmd打开控制台。 shift+鼠标右键,在此处打开命令行窗口 资源管理器地址栏直接输入cmd(进入当前目录cmd) windows菜单中可以选择以管理员方式运行 Dos命令
Markdown学习
摘要:Markdown学习 标题 一级标题 在标题的前面加上(#空格) #+空格 快捷键ctrl+1 二级标题 在标题的前面加上(##空格) ##+空格 快捷键ctrl+2 三级标题 在标题的前面加上(###空格) ###+空格 快捷键ctrl+3 字体 斜体 在需要加粗的字前后添加* *Hello,Wo