参考链接: Java的历史 java的历史 Java is an object-oriented programming language....Java是一种面向对象的编程语言。 Java是1990年代由Sun Microsystems的James Gosling及其同事开发的。 ...它应该易于使用,并具有面向对象编程的良好功能。 Java是如何得名的? (How Java got its name?) ...在长达20多年的使用期中,它已经发生了很大的变化。 下图显示了Java编程语言的版本历史。 .../33218/history-of-java java的历史
本文链接:https://blog.csdn.net/weixin_42528266/article/details/102917282 Java的特点 Java是跨平台的 Java程序的跨平台主要是指字节码文件可以在任何具有...Java虚 拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释 器负责将字节码文件解释成为特定的机器码进行运行。...Overloading) 不再有全局变量 取消自动类型转换,要求强制转换 不再有手动内存管理 Java是安全的 Java取消了强大但又危险的指针。...Java提供了自动内存管理机制,由垃圾回收器在后台自动回收, Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。...Java是健壮的 Java的强制类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。 对指针的丢弃是Java的明智选择。 Java的安全检查机制使得Java更具健壮性。
1 方法的概念以及优点 方法从简来说就是,把一个功能单独放在大括号内,当需要这个功能的时候我们直接调用方法,这样不仅实现了代码的复用,还解决了代码冗余的问题。...比如一个男孩和一个女孩在一起相爱必然会经历以下过程,刚刚相遇其中一方产生好感,想办法接近另一方,两人便开始聊天约会等活动,然后相互都产生好感,再到其中一方表白,最后相爱,恋爱后又会吵架,沟通,道歉,原谅,最后相互理解和加深感情,我们用java...2 方法的定义 定义方法的的方式十分灵活多样,但最基础的就是public static void加上方法名再加一个小括号,方法名使用小驼峰式写法(首字母小写,此后每个单词首字母大写)。...我们把上一点的几个步骤放到对应的方法里,我们的代码看起来就会层次很清楚,如下 public class MyBlogOne { public static void main(String[]...,这一眼就看出三个不同的阶段,比上刚刚开始一看就十多个步骤顺眼多了吧,我们写程序就是要这样层次清楚条理清晰,让别人看我们写的代码很舒服,所以用java写程序,别什么都往main函数里写,多运用方法会使我们的代码看起来更层次清晰
this 关键字是Java中的一个特殊引用,它代表当前对象的引用。它主要用于区分成员变量和局部变量、调用当前对象的方法以及构造函数中调用其他构造函数。...下面是对this关键字的详细讲解:区分成员变量和局部变量:在类中,如果一个成员变量与一个局部变量同名,通过使用this关键字可以明确指定成员变量。...调用当前对象的方法:在对象的一个方法中,可以使用this关键字调用同一个对象的其他方法。...这种调用必须放在构造函数的第一行。...name和age参数的构造函数。
大家好,又见面了,我是你们的朋友全栈君。 Java是一门程序设计语言,它有三个版本,Java SE(标准版)、Java EE(企业版)和Java ME(微型版)。...而Java SE只是一个使用Java进行编程的规范、框架,它不是一门编程语言。Java SE(java standard edition),一般包括jdk、jre以及各种API文档等。...Java SE(Java Platform,Standard Edition)。Java SE以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。...Java SE包含了支持Java Web服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。...Java SE = jdk + jre ·jdk是开发Java程序用的; ·jre是运行java程序用的; Java SE就是Java应用程序,是一种分类,不是什么软件。
大家好,又见面了,我是你们的朋友全栈君。 Java 堆栈 堆栈是一种线性数据结构,用于存储对象的集合。它基于先进先出(LIFO)。 Java集合框架提供了许多接口和类来存储对象的集合。...其中之一是Stack类,它提供了不同的操作,例如推,弹出,搜索等。 在本节中,我们将讨论Java Stack类,其方法和实现在 Java中的堆栈数据结构程序。...但是在转到Java Stack类之前,请先快速了解堆栈的工作原理。 堆栈数据结构具有两个最重要的操作,分别是push和pop。推操作将元素插入堆栈,弹出操作将元素从堆栈顶部移除。...下表显示了不同的值 Java Stack类 在Java中,Stack是属于Collection框架的类,该类扩展了Vector类。它还实现了列表,集合,可迭代,可克隆,可序列化的接口。...堆栈类的方法 我们可以执行push,pop,peek并在堆栈上进行搜索操作。 Java Stack类主要提供五种方法来执行这些操作。除此之外,它还提供了 Java Vector类的所有方法。
大家好,又见面了,我是你们的朋友全栈君。 java switch[编辑] 概述 Java中的switch是“开关”的意思,有时也被划分为一种“选择语句”。...根据一个整数表达式的值,switch语句可从一系列代码选出一段执行。 一.Java的简介 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。...Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。...二.Java switch的概念 Java中的switch是“开关”的意思,有时也被划分为一种“选择语句”。根据一个整数表达式的值,switch语句可从一系列代码选出一段执行。...三.Java中switch的语句格式 switch ( 整型或字符型变量 ) { case 变量可能值1 : 分支一; break; case 变量可能值2 : 分支二; break; case 变量可能值
今日学习目标:集合遍历 创作者:颜颜yan_ ✨个人主页:颜颜yan_的个人主页 ⏰本期期数:第五期 专栏系列:JAVA ---- 集合遍历 前言 一、Iterator接口 二、foreach...---- 一、Iterator接口 Iterator 接口是 Java 集合框架中的一员,但它与 Collection 接口和 Map 接口有所不同,Collection 接口和 Map 接口主要用于存储元素...下面通过一个案例介绍如何使用Iterator 接口遍历集合中的元素,代码如下所示: import java.util.*; public class Main { public static...通过一个案例来演示foreach循环的方法,代码如下: import java.util.*; public class Main { public static void main(String...运行结果如图所示: 图片 foreach 循环在遍历集合时语法非常简洁,没有储环条件,也没有迭代语句,所有这些工作都交给 Java 虚拟机执行了。
在初学Java的时候,会遇到很多不懂的问题,在此做一些整理。...JRE和JDK的区别 JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。...JDK(Java Development Kit):java的开发工具,包括jre+开发工具。...环境变量PATH和classpath的作用 path是配置Windows可执行文件的搜索路径,即扩展名为.exe的程序文件所在的目录,用于指定DOS窗口命令的路径。...Classpath是配置class文件所在的目录,用于指定类搜索路径,JVM就是通过它来寻找该类的class类文件的。 变量的作用是储存变量。
当涉及 Java 编程时,了解内存空间是至关重要的。Java 的内存管理是由 Java 虚拟机(JVM)负责的,这意味着开发人员通常不需要直接操作内存。...然而,理解 Java 内存空间的工作原理对于编写高效、可靠的代码至关重要。...Java 内存空间概述 Java 内存空间主要分为以下几个部分: 堆(Heap):Java 堆是 JVM 中最大的一块内存空间。它用于存储对象实例和数组。...内存整理:由于 Java 堆是动态分配的,经过一段时间的使用后,堆上会存在大量的内存碎片。...总的来说,理解 Java 内存空间的工作原理对于编写高效、可靠的 Java 代码至关重要。通过合理使用内存空间、优化内存管理策略,可以提高应用程序的性能和稳定性。
概述: Java Stream API 有助于处理元素序列,提供过滤、映射和减少等操作。...流可用于以声明方式执行操作,类似于对数据的类似 SQL 的操作 关键概念: 流:支持顺序和并行聚合操作的元素序列 中间操作:返回另一个流且延迟的操作(例如,filter、map) 码头运营:产生结果或副作用且不懒惰的操作...; import java.util.List; import java.util.stream.Collectors; public class Main { public static void...Stream API 是用于处理集合和数据的强大工具。...了解这些功能将帮助您编写更简洁、更简洁、更易读的代码。
Java JSON 本章节我们将为大家介绍如何在 Java 语言中使用 JSON。 类库选择 Java中并没有内置JSON的解析,因此使用JSON需要借助第三方类库。...下面是几个常用的 JSON 解析类库。 Gson:谷歌开发的 JSON 库,功能十分全面。 FastJson:阿里巴巴开发的 JSON 库,性能十分优秀。...环境配置 在 Maven 构建的项目中,在pom.xml文件中加入以下依赖即可。...输出结果如下: {"boolean":true,"string":"string","list":[1,2,3],"int":2} 解码 从 JSON 对象到 Java 变量的解码过程如下: public...由于最近需要使用Gson,而Gson和fastjson在使用上还是有所区别的,所以今天稍微试一下Gson的使用.
Java的第一个正式版本发布于1996年1月23日,在这个最原始的Java版本中,类和接口加起来总共只有211个,那时候的Java并不完美也不强大,但是由于它紧紧的抓住了当时最时髦的两样东西——互联网和浏览器...今年是Java诞生的第20年,写这样的一篇文章纪念那个曾经让我执着和疯狂的Java,也纪念那个从单纯到复杂再回归单纯的我。 ?...那时候我对Java的了解其实很少很少,但是那本傻瓜书中一些精美的Java代码却深深的吸引了我。...---- 2005年 SUN公司宣布,Java三个版本更名为Java SE、Java EE和Java ME 我的故事:这一年我被保送继续攻读博士研究生,并希望在这个过程中找到我的Java程序和科研工作的交集...,Java一直都很沉寂,很多Java程序员也在千呼万唤中等待Java 8的出场。
将所有的数全部异或,得到的结果与1^2^3^…^1000的结果进行异或,得到的结果就是重复数。 但是这个算法虽然很简单,但证明起来并不是一件容易的事情。这与异或运算的几个特性有关系。...所以,将所有的数全部异或,得到的结果与1^2^3^…^1000的结果进行异或,得到的结果就是重复数。...当然有人会说,1+2+…+1000的结果有高斯定律可以快速计算,但实际上1^2^…^1000的结果也是有规律的,算法比高斯定律还该简单的多。...事实上,从实际的运行统计上看,我们发现要交换的两个变量,是同号的概率很大,而且,他们之间相减,越界的情况也很少,因此我们可以把上面的加减法互换,这样使得程序出错的概率减少: int a=5,b=10;...表面上看起来很简单,但是不容易想到,尤其是在习惯引入第三变量的算法之后。 它的原理是:把a、b看做数轴上的点,围绕两点间的距离来进行计算。
目录 Java中的反射机制 一丶什么是反射机制 二丶Class类,自描述类.获取类名的三种方法 1.使用静态属性Class获取 2.使用Class方法 forName()获取自描述Class 3.使用Object...对成员变量提供的方法 5.对内部类提供的方法 四丶反射访问构造方法 2.获取公共权限指定的构造方法 3.获取所权限的构造方法,放到数组中 4.获取指定的构造方法 5.获取构造方法所有参数类型 五丶成员变量的获取以及使用...1.获取所有公共权限成员变量 2.获取公共权限指定的成员变量 3.获取所有权限的成员变量 4.获得指定权限的成员变量 5.设置跟使用成员变量 Java中的反射机制 一丶什么是反射机制 反射就是指Java...getClass();首先获得自己的Class,然后在获取父类的Class,最后调用父类的Class的getName();获得类名....上面标题有点绕,反正就是对我们的类的方法.提供方法去操作.或者获取. ? 4.Class对成员变量提供的方法 一样的,对我们的成员变量也提供了方法操作. ? 5.对内部类提供的方法 ?
例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇到过了,我们称...我们称一个数列中的某个数n为“关键数”,如果n不能被数列中的其他数字所覆盖。 现在给定一系列待验证的数字,我们只需要验证其中的几个关键数,就可以不必再重复验证余下的数字。...你的任务就是找出这些关键数字,并按从大到小的顺序输出它们。...输入样例: 6 3 5 6 7 8 11 输出样例: 7 6 代码如下: import java.util.ArrayDeque; import java.util.ArrayList; import...java.util.Deque; import java.util.List; import java.util.Queue; import java.util.Scanner; import java.util.SortedSet
1 Scanner的使用 JDK给我们提供了成千上万个类供我们直接使用,而Scanner就是这众多类里的一个最常用的一个类,既然它是一个类,我们使用它的方法和使用我们自己写的类的方法基本一致。...方法基本如下: 1.导包:就是指出需要使用的类在哪一个位置,格式一般为import 包名称.类名称,Scanner导包语句便为import java.util.Scanner对于和当前类属于同一个包的时候...,导包语句可以不写,JDK里提供的类仅仅只有java.lang下的类不需要导包。...2 实例化 说这么多了,我们直接上代码,用代码来理解一下吧 // 1.导包 import java.util.Scanner; public class MyBlog { public...3 写在最后 Scanner远远不止这么简单,这只是最基础的运用,接下来笔者会给大家更多相关知识,想更通俗的了解更多java基础知识,请大家持续关注我们的微信公众号。
下学期马上就要开始了,接下来要进入Java的学习。在用Java写代码前,首先要布置好Java的环境。Java的编译环境并不像C++那样,下好编译器就完事,还要手动配置一下环境变量。...1.安装JDK(Java Development Kit) 首先我们要安装jdk和jre,只有装好jdk才能进行Java的编译。...在长长的文本的结尾加入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 注意加入的句子前面要保证有一个英文分号隔开。 ?...;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 点确定后,win+R,输入cmd唤出命令提示符窗口(用小娜呼出cmd之类的办法都可以),输入java -version...3.安装Java的IDE(Integrated Development Environment) Java的ide常用的有IntelliJ idea,eclipse和netbean,虽然eclipse
Java 内存管理最显著的功能之一是自动垃圾回收。 其主要目的是自动管理运行时对象的内存分配和删除,从而使开发人员更容易编写更安全的代码,而不会出现任何与内存相关的问题。...Java 堆:用于动态内存分配。它存储程序执行过程中创建的对象和其他数据结构。 堆栈:用于存储局部变量和方法调用框架。 Java 中的每个线程都有自己的栈,栈在线程启动时创建。...在 Java 中,以下内容被视为有效的 GC 根。...活动的 Java 线程。 静态变量:它们属于类,在所有实例中共享。只要类被加载,它们就一直是 GC 根。 JNI 引用:它们是作为 JNI 调用的一部分创建的。...从 Java 9 开始提供的一种最新算法是 G1 垃圾回收器。 它提供了更可预测的暂停时间,并为具有大堆的应用程序提供了更好的可伸缩性。
序 本文主要研究一下java的java.security.egd SunEntries /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/...,如果没有设置则读取$JAVA_HOME/jre/lib/security/java.security文件中的securerandom.source配置,默认值为file:/dev/random SeedGenerator...则通过egdSource来构建URL 小结 SunEntries优先读取java.security.egd,如果没有设置则读取$JAVA_HOME/jre/lib/security/java.security...文件中的securerandom.source配置,默认值为file:/dev/random SeedGenerator判断egdSource如果是file:/dev/random及file:/dev/.../urandom这种表示看起来比较困惑,翻译过来就是是/dev当前目录下的unrandom,其实就是/dev/urandom,之所以有这种传参主要是早期jdk版本有个bug,没有给NativeSeedGenerator
领取专属 10元无门槛券
手把手带您无忧上云