参考链接: 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看做数轴上的点,围绕两点间的距离来进行计算。
例如对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中的反射机制 一丶什么是反射机制 二丶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.对内部类提供的方法 ?
Java是原本设计用于机顶盒之类的小型设备上的,但出乎任何人的意料,互联网大潮来临后,Java编写一次、到处运行的特性被各种应用发挥到了极致。...在企业级软件上,Java更是整合各种不同软硬件和操作系统做出分布式应用的神器。 二十年来,Java除了受到.Net的小型挑战外,由于拥有最成熟稳定的企业应用组件,其互联网的支柱地位仍牢不可破。...为了赶时间,谷歌来不及更改Android所用的开发语言Java,这给后来埋藏了重大的祸根。 当然,Java充足的程序员群体和便利的开发特性,对Android本身来讲也是有极大帮助的。...而Sun对这种分裂Java的行为不能容忍。 四 谷歌确实去找Sun申请过Java授权,但是Sun要求谷歌分享对Android分支的控制而遭到拒绝。...在未获Java授权的情况下,谷歌采取了“洁净室”这种反向工程手段(可参考:《BIOS和PC的故事》)开发了自己的Java库。这是一种类似抄袭但又不明显违法的手段。
1.什么是Java NIO? 同步非阻塞io模式,拿烧开水来说,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作。...Java NIO有三大组成部分:Buffer,Channel,Selector,通过事件驱动模式实现了什么时候有数据可读的问题。...channel 和 buffer 之间的交互如下: CHANNEL BUFFER.png Selector:Selector(选择器)是Java NIO中能够检测一到多个NIO通道,通道将关心的事件注册到...这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 selector工作模式.png 2.什么是Java BIO?.../ http://zhhphappy.iteye.com/blog/2032893 http://wiki.jikexueyuan.com/project/java-socket/tcpserver.html
领取专属 10元无门槛券
手把手带您无忧上云