JDK

eclipse的安装和环境配置

别来无恙 提交于 2021-02-09 16:09:33
一,eclipse下载 地址:https://www.eclipse.org/downloads/ 一般浏览器都有翻译功能 二、有32位和64位的版本根据自己的需求下载,选下载的选下载量最多的下载。 1.下载完成后是压缩包解压 就可以直接使用 这样子eclipse就下载好了,接下来就要下载JDK了 三、下载JDK 1,、网址: http://www.oracle.com/technetwork/java/javase/archive-139210.html 网上有很多jdk下载网址也可以直接百度jdk 打开网址后: 下载完成后安装点下一步即可 四、环境配置 eclipse和jdk安装完成后要配置环境变量 1,右键此电脑打开属性 2,点击高级系统设置 3,点击环境变量 环境变量中有用 ‘’户变量‘’和‘’系统变量‘’ 我们只用配置系统变量 4, 新建 “变量名“ JAVA_HOME “变量值”:C:\Program Files\Java\jdk1.7.0_07//你安装的jdk的磁盘路径 新建 “变量名”:ClassPath “变量值”:.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar 前面有一个点和分号复制时要注意 在path变量中加入 %Java_Home%\bin;%Java_Home%\jre

Java集合:ArrayList (JDK1.8 源码解读)

允我心安 提交于 2021-02-09 15:32:08
ArrayList ArrayList几乎是每个java开发者最常用也是最熟悉的集合,看到ArrayList这个名字就知道,它必然是以 数组方式实现 的集合 关注点 说一下ArrayList的几个特点,也是面试喜欢问的几个点: 1.是否允许为空:是 2.是否允许重复数据:是 3.是否有序:是 4.是否线程安全:否 主要声明 看一下ArrayList的声明: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable ArrayList继承自AbstractList,并且实现了List接口(还实现了RandomAccess、Cloneable、Serializable),List接口又继承自顶层集合接口Cellection,实现了List接口就代表它是一个 有序的 集合 再看一下ArrayList声明的主要变量: // 默认容量 private static final int DEFAULT_CAPACITY = 10 ; // 一个空的数组 private static final Object[] EMPTY_ELEMENTDATA = {}; // 默认容量的空数组,搞这么多空数组干嘛?|_・)

遍历“容器”的优雅方法——总结迭代器模式

久未见 提交于 2021-02-09 10:03:48
前言 本文主要是读书笔记的整理,自己总结的倒不多,做个记录 聚集(集合)的概念 如果能把多个普通类的对象聚在一起形成一个总体,这个总体就被称之为聚集(Aggregate),举例子: 1、在任何编程语言中:数组都是最基本的聚集,在Java中,数组也是其他的 JAVA 聚集对象的设计基础。 2、在Java里,JAVA聚集对象都是实现了 java.util.Collection 接口的对象,是 JAVA 对聚集概念的直接支持。从 JDK 1.2 开始,JAVA 提供了多种现成的聚集 API,包括 Vector、ArrayList、HashSet、HashMap、Hashtable、ConcurrentHashMap 等。 自定义容器的封闭需求 假如因业务需要,RD 定义了专属的数据元素的聚集,还要把它提供给客户端,让其调用(不特别强调,也包括其他依赖服务)。但是有时候为了安全,RD 不想让客户端看到聚集的内部实现,只是能让她们访问就可以了,比如遍历等操作。还有的时候,客户端不需要了解具体实现,能否让客户端跳开复杂的数据结构?因为调用者们不需要了解实现方式,只要能开箱即用即可。 为了解决这个问题,那么就需要有一种策略能让客户端遍历这个聚集体的时候,无法窥破RD存储对象的方式,无需了解内部的复杂数据结构。 迭代器的引出——茶餐厅和煎饼铺子合并的经典案例 有两个遗留的点餐系统

[Java] JRE、JDK和JVM的区别

余生颓废 提交于 2021-02-09 08:59:35
在Java语言的学习过程中,配置环境时首先会接触到JRE和JDK的概念,后面随着了解的深入,不可避免会学习到JVM。 JRE,全称Java Runtime Environment,也被写成Java RTE。顾名思义,JRE提供Java应用运行所需的最小支撑环境,它包括JVM、核心类、和一些支持文件。 JDK,全称Java Developent Kit,作为Java应用和applets的软件开发环境。它包括Java运行时环境(JRE),解释器/加载器(Java),编译器(javac),归档器(jar),文档生成器(Javadoc)以及Java开发中所需的其他工具。 JVM,全称Java Virtual Machine,首先,JVM是一套工作的规范,但是实现提供者可以独立选择算法;其次,JVM是一个满足JVM规范要求的计算机程序实现;最后,JVM是一个运行时实例,每当在提示符下编写JAVA命令运行Java类时,都会创建一个JVM实例。 JDK 是提供开发和运行Java程序的环境,作为一个工具集(包),JDK包括两方面: 1. 开发工具:提供Java程序运行的环境; 2. JRE:执行Java程序。 Java开发人员需要使用JDK。 JRE为执行Java程序的机器提供运行环境,作为一个安装包,JRE仅仅被用于运行Java程序,不能用于开发。 JVM作为JDK和JRE的重要组成

Java 教程

旧城冷巷雨未停 提交于 2021-02-09 08:23:54
Java 教程 Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。 Java可运行于多个平台,如Windows, Mac OS,及其他多种UNIX版本的系统。 本教程通过简单的实例将让大家更好的了解JAVA编程语言。 我的第一个JAVA程序 以下我们通过一个简单的实例来展示 Java 编程,创建文件 HelloWorld.java(文件名需与类名一致) , 代码如下: 实例 public class HelloWorld { public static void main ( String [] args ) { System . out . println ( " Hello World " ) ; } } 注: String args[] 与 String[] args 都可以执行,但推荐使用 String[] args,这样可以避免歧义和误读。 运行以上实例,输出结果如下: $ javac HelloWorld . java $ java HelloWorld Hello World 执行命令解析: 以上我们使用了两个命令 javac 和 java 。 javac 后面跟着的是java文件的文件名,例如 HelloWorld.java。 该命令用于将 java 源文件编译为 class 字节码文件,如: javac HelloWorld

Java Monitoring&Troubleshooting Tools

半世苍凉 提交于 2021-02-08 21:55:48
JDK Tools and Utilities Monitoring Tools You can use the following tools to monitor JVM performance statistics. The tools described in this section are unsupported and experimental, and should be used with that in mind. <font color='red'> They may not be available in future JDK versions </font>. These tools are supported on all platforms except Windows 98 and Windows ME. Tool Name Brief Description <font color='blue'>jps Experimental: JVM Process Status Tool - Lists instrumented HotSpot Java virtual machines on a target system. <font color='blue'>jstat Experimental: JVM Statistics Monitoring

Selenium简介与环境搭配-----Selenium快速入门(一)

北城以北 提交于 2021-02-08 14:43:34
  Selenium是一套自动化测试框架。官方网站是:https://www.seleniumhq.org/ 某些童鞋访问可能需要翻墙。   Selenium支持多种语言开发,例如Java,Python,C#,PHP等。本系列将使用Java开发,使用Eclipse作为开发工具,Selenium版本3.9.1,系统Win10。   一。Eclipse和JDK的下载和安装     Selenium3.x要求Java8或以上,Eclipse4.7.2要求JRE8u112,环境需求可看:     https://www.eclipse.org/eclipse/development/plans/eclipse_project_plan_4_7.xml#target_environments     我们使用最新版的JDK9     JDK9的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html     JDK的下载需要注册Oracle账号。     Eclipse(4.7.2)免安装版Oxygen.2的下载地址:http://www.eclipse.org/downloads/eclipse-packages/           JDK的安装非常简单,不断下一步即可

LockSupport的 park 方法是怎么响应中断的?

﹥>﹥吖頭↗ 提交于 2021-02-08 13:32:29
本文章将要介绍的内容有以下几点,读者朋友也可先自行思考一下相关问题: 线程中断 interrupt 方法怎么理解,意思就是线程中断了吗?那当前线程还能继续执行吗? 判断线程是否中断的方法有几个,它们之间有什么区别? LockSupport的 park/unpark 和 wait/notify 有什么区别? sleep 方法是怎么响应中断的? park 方法又是怎么响应中断的? 线程中断相关方法 线程中和中断相关的方法有三个,分别介绍如下: 1) interrupt 我们一般都说这个方法是用来中断线程的,那么这个中断应该怎么理解呢?就是说把当前正在执行的线程中断掉,不让它继续往下执行吗? 其实,不然。此处,说的中断仅仅是给线程设置一个中断的标识(设置为true),线程还是会继续往下执行的。而线程怎么停止,则需要由我们自己去处理。一会儿会用代码来说明这个。 2) isInterrupted 判断当前线程的中断状态,即判断线程的中断标识是true还是false。注意,这个方法不会对线程原本的中断状态产生任何影响。 3) interrupted 也是判断线程的中断状态的。但是,需要注意的是,这个方法和 isInterrupted 有很大的不同。我们看下它们的源码: public boolean isInterrupted () { return isInterrupted( false )

线程中断 interrupt 和 LockSupport

浪尽此生 提交于 2021-02-08 13:02:36
本文章将要介绍的内容有以下几点,读者朋友也可先自行思考一下相关问题: 线程中断 interrupt 方法怎么理解,意思就是线程中断了吗?那当前线程还能继续执行吗? 判断线程是否中断的方法有几个,它们之间有什么区别? LockSupport的 park/unpark 和 wait/notify 有什么区别? sleep 方法是怎么响应中断的? park 方法又是怎么响应中断的? 线程中断相关方法 线程中和中断相关的方法有三个,分别介绍如下: 1) interrupt 我们一般都说这个方法是用来中断线程的,那么这个中断应该怎么理解呢? 就是说把当前正在执行的线程中断掉,不让它继续往下执行吗? 其实,不然。 此处,说的中断仅仅是给线程设置一个中断的标识(设置为true),线程还是会继续往下执行的。而线程怎么停止,则需要由我们自己去处理。 一会儿会用代码来说明这个。 2) isInterrupted 判断当前线程的中断状态,即判断线程的中断标识是true还是false。 注意,这个方法不会对线程原本的中断状态产生任何影响。 3) interrupted 也是判断线程的中断状态的。但是,需要注意的是,这个方法和 isInterrupted 有很大的不同。我们看下它们的源码: public boolean isInterrupted () { return isInterrupted(

深入理解Java虚拟机(JVM高级特性与最佳实践)

我是研究僧i 提交于 2021-02-08 11:32:18
第一章 走进Java 1.1 Java技术体系 JDK:java程序设计语言、java虚拟机、java类库这三部分统称为JDK(Java Development Kit),JDK是用于支持Java程序开发的最小环境。 JRE:java类库API中的Java SE API子集和Java虚拟机这两部分统称为JRE(Java Runtime Environment),JRE是支持Java程序运行的标准环境。 来源: oschina 链接: https://my.oschina.net/u/4409444/blog/4950179