-
Java异常处理规则
所属栏目:[Java] 日期:2020-12-15 热度:119
前面介绍了使用异常处理的优势、便捷之处,本节将进一步从程序性能优化、结构优化的角度给出异常处理的一般规则。成功的异常处理应该实现如下 4 个目标。 使程序代码混乱最小化。 捕获并保留诊断信息。 通知合适的人员。 采用合适的方式结束异常活动。 下面介[详细]
-
Java空对象(null)是怎么回事?
所属栏目:[Java] 日期:2020-12-15 热度:156
Java 语言支持两种数据类型,分别是基本数据类型和引用数据类型,而 null 是一种特殊的引用数据类型。本节主要介绍 Java 空对象是什么及如何判断对象是否为空。 经过《Java new运算符深入剖析》一节的学习,我们知道了对象的实例化就是为对象开辟内存空间。[详细]
-
Java 8为Map新增的方法
所属栏目:[Java] 日期:2020-12-15 热度:103
Java 8 除了为 Map 增加了 remove(Object key,Object value) 默认方法之外,还增加了如下方法。 名称 说明 Object compute(Object key,BiFunction remappingFunction) 该方法使用 remappingFunction 根据原 key-value 对计算一个新 value。只要新 value 不为[详细]
-
Java Collections类:sort()升序排序、reverse()降序排序、copy(
所属栏目:[Java] 日期:2020-12-15 热度:102
Collections 类提供了许多操作集合的静态方法,借助这些静态方法可以实现集合元素的排序、填充和复制等操作。下面介绍 Collections 类中操作集合的常用方法。 正向排序 使用 Collections 类的静态方法 sort() 可以对集合中的元素进行升序排序。 这要求列表中[详细]
-
Java什么是反射机制?反射机制的概念
所属栏目:[Java] 日期:2020-12-15 热度:105
Java 反射机制 是 Java 语言的一个重要特性,它在服务器程序和中间件程序中得到了广泛运用。在服务器端,往往需要根据客户的请求,动态调用某一个对象的特定方法。此外, 在 ORM 中间件的实现中,运用 Java 反射机制可以读取任意一个 JavaBean 的所有属性,[详细]
-
Java if else语句详解
所属栏目:[Java] 日期:2020-12-15 热度:68
选择结构(也叫分支结构)解决了顺序结构不能判断的缺点,可以根据一个条件判断执行哪些语句块。 选择结构适合于带有逻辑或关系比较等条件判断的计算。例如,判断是否到下班时间,判断两个数的大小等。 if 语句是使用最多的条件分支结构,它属于 选择语句 ,[详细]
-
Java 9增强的“菱形”语法
所属栏目:[Java] 日期:2020-12-15 热度:140
在 Java 7 版本以前,如果使用带泛型的接口、类定义变量,那么调用构造器创建对象时构造器的后面也必须带泛型,这显得有些多余了。例如如下两条语句: ListString strList = new ArrayListString();MapString,Integer scores = new HashMapString,Integer();[详细]
-
主流Java ORM框架有哪些?
所属栏目:[Java] 日期:2020-12-15 热度:184
ORM 是 Object Relational Mapping 的缩写,译为“对象关系映射”框架。 所谓的 ORM 框架就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述 Java 对象与数据库表之间的映射关系,自动将 Java 应用程序中的对象持久化到关系型数据库[详细]
-
Java字节流和字符流的区别及如何区分输入流和输出流
所属栏目:[Java] 日期:2020-12-15 热度:135
本节主要讲解 Java 字节流和字符流的区别,以及如何区分 Java 输入流和输出流。 Java字节流和字符流的区别 首先我们先大概总结一下前面学习的内容,可分为以下几点: 以 Stream 结尾都是字节流,Reader 和 Writer 结尾都是字符流。 InputStream 是所有字节输[详细]
-
Java实例之猜数字小游戏
所属栏目:[Java] 日期:2020-12-15 热度:171
猜数字是一个经典的小游戏,程序先产生一个随机数,然后用户输入数字,程序将输入的数字与随机数进行对比,给出用户相应的提示信息。 本节实现了一个基于 IO 流的猜数字游戏,游戏中限制玩家游戏次数,游戏试玩为 5 次,超过 5 次后,则提示玩家试玩结束,请[详细]
-
Java实例之实现淡旺季飞机票打折
所属栏目:[Java] 日期:2020-12-15 热度:137
某航空公司为吸引更多的顾客推出了优惠活动。原来的飞机票价为 3000 元,活动时,4~11 月旺季,头等舱 9 折,经济舱 8 折;1~3 月、12 月淡季,头等舱 5 折,经济舱 4 折,求机票的价格。 使用if-else语句实现淡旺季飞机票打折 下面使用 Java 的嵌套 if 语句[详细]
-
对象序列化控制输入输出
所属栏目:[Java] 日期:2020-12-15 热度:157
前面学习了如何控制基本数据的输入输出,本节主要讲解如何输入输出对象数据。对象数据是很复杂的,我们可以利用对象序列化来实现。 对象序列化是什么 对象序列化(Serialize) 指将一个 Java 对象写入 IO 流中,与此对应的是,对象的反序列化(Deserialize)[详细]
-
Java反射访问操作数组
所属栏目:[Java] 日期:2020-12-15 热度:117
在 java.lang.reflect 包下提供了一个 Array 类,Array 对象可以代表所有的数组。程序可以通过使用 Array 来动态地创建数组,操作数组元素等。 Array 提供了如下几类方法。 static Object newInstance(Class? componentType,int…length):创建一个具有指定的[详细]
-
主流Java Web开发框架有哪些?
所属栏目:[Java] 日期:2020-12-15 热度:167
框架(Framework)是一个提供了可重用的公共结构半成品,它为构建新的应用程序提供了极大的便利。 “框架”这个词最早出现在建筑领域,指在建造房屋前期构建的建筑骨架,如图1所示。 图1:房子的框架 对于应用程序来说,“框架”就是应用程序的骨架,开发者可[详细]
-
Tomcat的安装和启动
所属栏目:[Java] 日期:2020-12-15 热度:111
Tomcat 是 Servlet 容器的一种,它是一个小型的(体积小)、轻量级的、免费开源的 Java Web 服务器。Tomcat 运行时占用的系统资源少,性能稳定,并且采用了先进和前沿的技术,所以它成为目前比较流行的一款 Web 服务器。 除了 Tomcat,常用的 Servlet 容器还[详细]
-
关于Java static的常见问题和使用误区
所属栏目:[Java] 日期:2020-12-15 热度:130
学完《Java static关键字》一节我们可能会产生很多疑问,所以本节主要讲解学习 Java 中关于 static 常见的几个问题。 1)为什么要用”static“关键字? 通常来说,用 new 创建类的对象时,数据存储空间才被分配,方法才供外界调用。有时候我们只想为特定域分[详细]
-
String API常用方法介绍
所属栏目:[Java] 日期:2020-12-15 热度:180
Java 中的 String 类包含了 50 多个方法。令人惊讶的是绝大多数都很有用,可以设想使用的频率非常高。下面的 API(Java 应用程序编程接口)注释汇总了一部分最常用的方法。 在这里,一般不列出某个类的所有方法,而是选择一些最常用的方法,并以简洁的方式给[详细]
-
Servlet生命周期(图解)
所属栏目:[Java] 日期:2020-12-15 热度:137
在 Java 中,对象的生命周期被定义为该对象从创建直到销毁的整个过程。任何对象都有生命周期,Servlet 也不例外。在学习 Servlet 生命周期之前,我们先来看一下 Servlet 的一些常见方法,这些方法非常重要,它们贯穿着 Servlet 整个生命周期! 与 Servlet 生[详细]
-
深入解析Java new运算符
所属栏目:[Java] 日期:2020-12-15 热度:92
”new“在 Java 中意思是”新的“,可以说是 Java 开发者最常用的关键字。在 Java 中 new 的操作往往意味着在内存中开辟新的空间,这个内存空间分配在内存的堆区。 堆是用来存放由 new 创建的对象和数组,即动态申请的内存都存放在堆区。栈是用来存放在方法中[详细]
-
HttpServletRequest和HttpServletResponse对象详解
所属栏目:[Java] 日期:2020-12-15 热度:106
《Servlet生命周期》一文提到,在 Servlet 生命周期的运行阶段,Servlet 容器会为当前的客户端请求创建一个 HttpServletRequest 对象和一个 HttpServletResponse 对象(这两个对象分别继承自 ServletRequest 和 ServletResponse),其中: HttpServletRequest[详细]
-
动态网页和静态网页的区别
所属栏目:[Java] 日期:2020-12-15 热度:93
阅读本教程的读者至少已经具备了初级的 Web 开发基础,了解 HTML、CSS、JavaScript 等前端技术,甚至还亲自搭建过网站。大家应该都知道,网页本质上就是一个 HTML 文档,浏览器访问网页,其实就是下载并解析 HTML 文档的过程。 静态网页 如果 HTML 文档真实存[详细]
-
Java通过反射操作泛型
所属栏目:[Java] 日期:2020-12-15 热度:87
学习完《Java泛型详解》一节中我们了解到,从Java 1.5 版本开始,Java 的 Class 类增加了泛型功能,从而允许使用泛型来限制 Class 类。例如,String.class 的类型实际上是 ClassString。如果 Class 对应的类暂时未知,则使用 Class?。通过在反射中使用泛型,[详细]
-
Lambda表达式与匿名内部类的联系和区别
所属栏目:[Java] 日期:2020-12-15 热度:194
Java Lambda 表达式的一个重要用法是简化某些匿名内部类的写法,因此它可以部分取代匿名内部类的作用。 Lambda 表达式与匿名内部类的相同点如下: Lambda 表达式与匿名内部类一样,都可以直接访问 effectively final 的局部变量(如果不了解 Effectively fina[详细]
-
Java模仿斗地主洗牌发牌小游戏
所属栏目:[Java] 日期:2020-12-15 热度:51
斗地主是全国范围内的一种桌面游戏,尽管全国各种类型,但大同小异。本节我们先来实现一下斗地主中的简单洗牌、发牌和看牌功能。 按照斗地主的规则,完成洗牌发牌的动作。具体规则为使用 54 张牌打乱顺序,3 个玩家参与游戏,3 人交替摸牌,每人 17 张牌,后[详细]
-
通过反射获取注解信息
所属栏目:[Java] 日期:2020-12-15 热度:107
使用注解修饰了类、方法、变量等成员之后,这些注解不会自己生效,必须由开发者提供相应的工具来提取处理。要想获取类、方法或变量的注解信息,必须通过 Java 的反射技术来获取 Annotation 对象,除此之外没有其它方法。 下面主要介绍 Java 基于反射机制获取[详细]