JDK

java环境配置--win10

淺唱寂寞╮ 提交于 2021-02-07 05:44:14
Win10下 Java环境变量配置 JDK下载网址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 笔者安装的是 jdk-8u201-windows-x64 有些blog讲解的比较粗略对不不同win可能会导致配置不成功特别是javac,为了避免下次再找半天,特拿个本本记录下来。 打开控制面板-->系统和安全 选择“高级系统设置”选项 点击下面的“环境变量”选项 接下来就是具体的配置过程: 点击“系统变量”下面的”新建“选项 在”变量名“处填上”Java_Home“ ”变量值“为JDK安装路径,笔者的路径是”D:\Program Files\Java\jdk1.8.0_91“ 点击”确定“选项 在”系统变量“中找到”Path“ 选中”Path“点击”编辑“选项 选择右边的“编辑文本”,将引号里面的全部复制“%Java_Home%\bin;%Java_Home%\jre\bin;”,到“变量值”栏的最前面,“确定” 在“系统变量”栏,“新建”,“变量名”为“CLASSPATH”,“变量值”为“.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar”,“确定” 点击“环境变量”最下面的“确定”选项

Win10下配置Java 环境变量

和自甴很熟 提交于 2021-02-07 05:43:59
原文 在Win10中配置环境变量的方法跟在Win8和Win7中有些不同,看了看网上好多还是Win7/8里面的配置方法。虽然从原理上基本上没什么问题,但有些细节却会让人很苦恼。特意整理下新的配置方法。我假定你已经正确安装了JDK和JRE。 1. 配置JAVA_HOME 首先打开环境变量的配置界面,新建一个系统环境变量: 变量名:JAVA_HOME 变量值:E:\JDK\JDK1.8 其中变量值为你的JDK安装目录 2. 配置CLASSPATH 与JAVA_HOME的配置方法类似,再新建一个变量名为CLASSPATH的环境变量 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 可以看出CLASSPATH就是要找你JDK目录下的lib中的dt.jar和tools.jar 到这里跟Win7/8下基本一致 3. 配置Path Path环境变量需要添加一个变量值。Path界面有点不太一样 此时配置环境变量的方法有两个,一是直接新建,二是编辑文本 方法一:直接新建 点新建后直接把%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin输入进去。 变量值:%JAVA_HOME%\bin 变量值:%JAVA_HOME%\jre\bin 注意:输入的时候不要有分号 方法二:编辑文本 点击编辑文本把

java JDK1.8在win10上的环境配置

大城市里の小女人 提交于 2021-02-07 05:04:48
java JDK1.8在win10上的环境配置 2018年04月14日 10:25:49 ZMS_JAMES 阅读数:3684 版权声明:博客的内容有一部分参考自网络,如有侵权,请联系鄙人删除Email:zms_james@163.com,当然也欢迎交流指正;另外觉得我的博客还不错,欢迎转载 https://blog.csdn.net/ZMS_JAMES/article/details/79937407 首先在此电脑上邮件属性,选择高级系统设置,选择环境变量 在系统变量新建JAVA_HOME 变量 找到JDK的安装目录,我的是默认安装 C:\Program Files\Java\jdk1.8.0_131 系统变量--编辑Path变量加入以下两个 %JAVA_HOME%\bin %JAVA_HOME%\jre\bin 系统变量---新建CLASSPATH 变量 填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 验证,windows+R键然后输入cmd打开命令行输入下图两个命令,显示如图安装成功 来源: oschina 链接: https://my.oschina.net/u/3367404/blog/2992027

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

爱⌒轻易说出口 提交于 2021-02-07 04:19:23
新建.jsp报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解决方案: 1.检查在eclipse中,有没有配置JDK: 2.检查在eclipse中,tomcat有没有配置好: 3.在导入的jar包上,右键Build Path——Configure Build Path...——在如下图操作 我的问题已经解决了: 来源: oschina 链接: https://my.oschina.net/u/4309500/blog/4019445

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

荒凉一梦 提交于 2021-02-07 00:26:34
下载地址: 网盘下载 目录: 前言 第一部分 走近Java 第1章 走近Java 1.1 概述 1.2 Java技术体系 1.3 Java发展史 1.4 Java虚拟机发展史 1.4.1 Sun Classic Exact VM 1.4.2 Sun HotSpot VM 1.4.3 Sun Mobile-Embedded VM Meta-Circular VM 1.4.4 BEA JRockit IBM J9 VM 1.4.5 Azul VM BEA Liquid VM 1.4.6 Apache Harmony Google Android Dalvik VM 1.4.7 Microsoft JVM及其他 1.5 展望Java技术的未来 1.5.1 模块化 1.5.2 混合语言 1.5.3 多核并行 1.5.4 进一步丰富语法 1.5.5 64位虚拟机 1.6 实战:自己编译JDK 1.6.1 获取JDK源码 1.6.2 系统需求 1.6.3 构建编译环境 1.6.4 进行编译 1.6.5 在IDE工具中进行源码调试 1.7 本章小结 第二部分 自动内存管理机制 第2章 Java内存区域与内存溢出异常 2.1 概述 2.2 运行时数据区域 2.2.1 程序计数器 2.2.2 Java虚拟机栈 2.2.3 本地方法栈 2.2.4 Java堆 2.2.5 方法区 2.2.6

【java集合类】ArrayList和LinkedList源码分析(jdk1.8)

被刻印的时光 ゝ 提交于 2021-02-06 09:08:23
前言:   ArrayList底层是依靠数组实现的,而LinkedList的实现是含前驱后继节点的双向列表。平时刷题时会经常使用到这两个集合类,这两者的区别在我眼中主要是ArrayList读取节点平均时间复杂度是O(1)级别的,插入删除节点是O(n);LinkedList读取节点时间复杂度是O(n),插入节点是O(1)。   本文记录我对jdk1.8下的ArrayList和LinkedList源码中主要内容的学习。 1、ArrayList 1.1 主要成员变量 1 // 默认容量 2 private static final int DEFAULT_CAPACITY = 10 ; 3 // 空的数组 4 private static final Object[] EMPTY_ELEMENTDATA = {}; 5 6 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; 7 // 数据数组 8 transient Object[] elementData; // non-private to simplify nested class access 9 // 当前大小 10 private int size;   主要成员变量如上,最重要的就是size和elementData

2年java,蚂蚁一面,卒

喜你入骨 提交于 2021-02-06 08:40:14
作为程序员,我也希望做一枚运营狗。可惜并没多少时间,所以每到过节都发水文。端午快乐。 本文原于掘金试水,加个反差的标题,与预期一致,我也明白了为什么某些公众号质量和流行度相悖。事实就是这样,价值大的文章,都是那么小众。反而是这种初级的随手写的小东西,更加受欢迎。但这种文章如果你喜欢,我会觉得特别悲伤。 因为, 你正在为了面试而迎合面试官,而不是为了工作而汲取知识 。 正文如下,如有雷同,纯属巧合。 其实我一个都没答上来。并不是因为我笨,是因为我不会。在大佬的帮助下,现在我会了,求求你再给我一个机会。 TreeSet/HashSet 区别 顾名思义,首先是结构上的不同 1、TreeSet背后的结构是TreeMap,也就是红黑树,能够实现自动排序。它通过equals方法或者compareTo方法进行内容的比较。 2、HashSet背后是HashMap,key是无序的,只能做外部排序。既然是Hash,那么就要重写其中对象的hashCode和equals方法 另外,还有个细微的差别可以拿来装b: 1、HashSet可以接受null值,有且只有一个 2、TreeSet默认不可以接受null值,会直接抛出空指针异常 set里没有重复数据,treeSet里连虚无都没有。 HashMap 如何解决冲突,扩容机制 烂大街的问题,问哪答哪吧。这样的东西就是靠背。 HashMap的内部结构其实是数组

源码分析--ArrayList(JDK1.8)

ぃ、小莉子 提交于 2021-02-06 07:44:08
  ArrayList是开发常用的有序集合,底层为动态数组实现。可以插入null,并允许重复。   下面是源码中一些比较重要属性:   1、ArrayList默认大小10。 /** * Default initial capacity. */ private static final int DEFAULT_CAPACITY = 10;      2、elementData就是真正存放数据的数组。elementData[]本身是动态的,并不是数组的全部空间都会使用,所以加上transient关键词进行修饰,防止自动序列化。 transient Object[] elementData; // non-private to simplify nested class access      3、ArrayList的实际大小。每次进行add或者remove后,都会进行跟踪修订。 /** * The size of the ArrayList (the number of elements it contains). * * @serial */ private int size;   下面分析主要方法:   1、add()方法有两个实现,一种是直接添加,一种是指定index添加。   直接添加代码如下: /** * Appends the specified element to

centos7_jdk镜像制作

狂风中的少年 提交于 2021-02-06 07:32:12
1、拉取centos7基础镜像 2、打入jdk文件并配置环境变量 创建dockerfile文件如下: 3、打包docker镜像 docker build -t centos7_jdk . 4、修改docker镜像 docker tag centos7_jdk:latest 10.0.0.181:10080/tools/centos7_jdk:latest 5、push 到harbor仓库 docker使用http方式登陆 docker login http://10.0.0.181:10080 username: password: docker push 镜像至仓库 docker push 10.0.0.181:10080/tools/centos7_jdk:latest 这样harbor中的centosjdk则可以做为基础镜再打入jar包,参数、启动命令即可。增加发版速度,节省时间。 来源: oschina 链接: https://my.oschina.net/u/4257871/blog/4947892

ArrayList源码分析(JDK1.8)

蹲街弑〆低调 提交于 2021-02-05 18:39:32
概述 ArrayList底层是基于 数组 实现的,并且支持 动态扩容 的动态数组(变长的集合类)。ArrayList允许空值和重复的元素,当向ArrayList中添加元素数量大于其底层数组容量时,会通过 扩容机制 重新生成一个容量更大的数组。另外,由于ArrayList底层数据结构是数组,所以保证了在O(1)复杂度下完成随机查找操作。ArrayList是非线程安全的,在并发环境下,多个线程同时操作ArrayList会引发不可预知的错误。 从上面的类图可以看出,ArrayList实现了4个接口和继承了1个抽象类,分别是: List接口:主要提供了数组的添加、删除、修改、迭代遍历等操作; Cloneable接口:标识克隆操作; Serializable接口:标识可序列列化操作; RandomAccess接口:标识可随机访问操作; 继承AbstractList抽象类,主要提供迭代遍历相关操作。 属性 ArrayList的属性比较少,只有两个属性:elementData和size。 1 private static final int DEFAULT_CAPACITY = 10; 2 3 private static final Object[] EMPTY_ELEMENTDATA = {}; 4 5 private static final Object[]