首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
java教程系列一:什么是Java语言?
】的更多相关文章
java教程系列一:什么是Java语言?
海上生明月,天涯共此时. Java是一种通用的计算机编程语言,它具有卓越的通用性.高效性.平台移植性和安全性.它旨在让应用程序开发人员"write once, run anywhere"(WORA),这意味着编译的Java代码可以在支持Java的所有平台上运行,而无需重新编译. 例如,你可以在UNIX上编写和编译Java程序,并在Microsoft Windows,Macintosh或UNIX计算机上运行它,而无需对源代码进行任何修改.WORA是通过将Java程序编译成称为字节码的中间…
Java 并发系列之十:java 并发框架(2个)
1. Fork/Join框架 2. Executor框架 3. ThreadPoolExecutor 4. ScheduledThreadPoolExecutor 5. FutureTask 6. txt java并发框架 Fork/Join框架 定义 一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架 核心思想 分治 fork分解任务,join收集任务 工作窃取算法 定义 工作窃取算法work-stealing: 某个线程从其他队列里窃取…
Java 并发系列之九:java 原子操作类Atomic(13个)
1. 原子更新基本类型类 2. 原子更新数组 3. 原子更新引用 4. 原子更新属性 5. txt java 原子操作类Atomic 概述 java.util.concurrent.atomic里的原子操作类提供了线程安全地更新一个变量的方式 4大类型13个原子操作类 基本类型类 AtomicBoolean AtomicInteger AtomicLong 数组 AtomicIntegerArray AtomicLongArray AtomicReferenceArray 引用 AtomicRe…
Java 并发系列之二:java 并发机制的底层实现原理
1. 处理器实现原子操作 2. volatile /** 补充: 主要作用:内存可见性,是变量在多个线程中可见,修饰变量,解决一写多读的问题. 轻量级的synchronized,不会造成阻塞.性能比synchronized好得多,不支持原子性操作.为了保证原子性要使用atomic对象,只能保证本身方法的原子性,不能保证多次操作的原子性.(解决方法synchronized) 原理:当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将变量上的操作与其他内存操作一…
Java入门系列(七)Java 集合框架(JCF, Java Collections Framework)
Java 集合概述 List.Set.Map可以看做集合的三大类 java集合就像一个容器,可以将多个对象的引用丢进该容器中. Collection和Map是java集合的根接口. List List代表一种线性表的数据结构, List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问. ArrayList则是一种顺序存储的线性表.ArrayList 底层采用数组来保存每个集合元素.线程不安全.ArrayList源码分析 遍历List集合的三种方法 List<Stri…
java教程系列二:Java JDK,JRE和JVM分别是什么?
多情只有春庭月,犹为离人照落花. 概述 本章主要了解JDK,JRE和JVM之间的区别.JVM是如何工作的?什么是类加载器,解释器和JIT编译器.还有一些面试问题. Java程序执行过程 在深入了解Java内存区域之前,我们先了解Java源文件是如何执行的. 我们使用编辑器在Simple.Java文件中编写源代码. 程序必须编译成字节码.编译器(javac)将源代码编译为Simple.class文件. 此后缀为.class的类文件可以在任何平台/操作系统的的JVM(Java虚拟机)中执行. JVM…
死磕 java同步系列之JMM(Java Memory Model)
简介 Java内存模型是在硬件内存模型上的更高层的抽象,它屏蔽了各种硬件和操作系统访问的差异性,保证了Java程序在各种平台下对内存的访问都能达到一致的效果. 硬件内存模型 在正式讲解Java的内存模型之前,我们有必要先了解一下硬件层面的一些东西. 在现代计算机的硬件体系中,CPU的运算速度是非常快的,远远高于它从存储介质读取数据的速度,这里的存储介质有很多,比如磁盘.光盘.网卡.内存等,这些存储介质有一个很明显的特点--距离CPU越近的存储介质往往越小越贵越快,距离CPU越远的存储介质往往越大…
Java虚拟机系列(一)---Java内存划分
Java和C++之间有一堵由内存管理和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙内的人却想出来. ------摘自<深入理解Java虚拟机> 作为一个Java程序员,因为虚拟机的好处,在开发过程中一般不用关心内存分配和垃圾回收方面的内容,这就让我在跟C++的朋友聊天或沟通的时候,总觉得自己是个假的程序员,虽然我们不用自己动手去做这两件事情,但还是很有必要去了解一下这方面的原理,这样万一真碰到内存溢出的问题,就不至于束手无策了.下面是通过看书总结的一些内容. 一.Java内存区域划分 J…
Java基础系列(2)- Java开发环境搭建
JDK下载与安装 安装JDK 1.百度搜素JDK8,找到下载地址 2.下载电脑对应的版本 3.双击安装JDK 4.记住安装的路径,可以自定义,默认路径如图 卸载JDK 删除Java安装目录 删除环境变量JAVA_HOME 删除path下关于Java的目录 cmd命令java -version检查是否卸载失败 配置环境变量 配置JAVA_HOME 配置JRE和JDK的PATH环境目录 %JAVA_HOME%\bin %JAVA_HOME%\jre\bin JDK目录介绍 bin #放一些可执行程…
Java入门系列(十)Java IO
概述 总体而言,java的读写操作又分为两种:字符流和字节流. 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件. 什么是流? 流是一个抽象的概念.当Java程序需要从数据源读取数据时,会开启一个到数据源的流.数据源可以是文件,内存或者网络等.同样,当程序需要输出数据到目的地时也一样会开启一个流,数据目的地也可以是文件.内存或者网络等.流的创建是为了更方便地处理数据的输入输出. 那么字节流和字符流又有什么区别呢? 1.字节流…