$ ls UseJarDemo.class UseJarDemo.java Java 核心类库 上一小节我们把自己创建的 JAR 文件添加到 CLASSPATH 路径下的时候,眼尖的你可能发现我们的通用配置...因为它包含了所有已编译的类文件,包括引导类以及来自核心 Java API 的所有类,是 Java 运行时环境中所有核心 Java 类的集合。...这样也避免了 Java 核心 API 被随意替换,保证了安全。 常用的 Java 类库 API 什么是 API 我们前边多次提到 Java API,那么什么是 API 呢?...Java API 也有说明文档,比如 Java SE 8:https://docs.oracle.com/javase/8/docs/api/index.html 常用的 API 介绍 Java 核心类库中常用的...看完这篇文章,想必你对 Java 核心类库有了更深的了解。 好啦,本期分享就到这里,如果各位喜欢我的分享,请务必三连,点赞,在看,收藏,关注我,这会对我有非常大的帮助。 我们下期再见。
> 指定了没有限制的泛型类型 作用: 1、 提高代码复用率 2、 泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型) 注意: java中的泛型只在编译阶段有效...,不会进入运行时段(已经给定类型) Java中 Object 与 Objects 的区别与联系 ?...类Object 是每个类的超类。Objects 是 Object 类的子类。Java中的所有类最终都继承于 Object 。...java中程序退出 0代表正常退出 其他异常退出 同时有了它 finally 可以不执行 直接结束 String(绝对重点) string类是不可以变序列 String不变的性质是因为每次都从...下一张请看 Java中结合干货的点击->集合干货 更新Ing
在Java之中,如果要想表示出日期型,则使用java.util.Date类完成。 如果要想通过这个类取得当前的日期时间,那么只需要直接实例化Date类对象即可:public Date()。...),可以将一个日期型的数据进行格式化的操作显示,而在Java之中也可以通过java.text.SimpleDateFormat类完成TO_CHAR()函数的功能和TO_DATE()函数的功能。...String format(Date date); · 将字符串格式化为日期:public Date parse(String source) throws ParseException; 但是除了以上的三个核心操作方法之外...,如果要想正常的完成格式化的操作,还需要准备出一些标记:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS)。...,实际上对于数据表和简单Java类的映射就应该彻底完成了,数据库之中的日期时间可以通过java.util.Date进行表示。
Spring是一个十分火热开源框架,而AOP(面向切面编程)则是Spring最重要的概念之一,为了更好的理解和学习AOP的思想,使用核心库来实现一次不失为一个好方法。 ...首先介绍一下AOP的概念,AOP(Aspect Oriented Programming),即面向切面编程,所谓的面向切面编程,就是从一个横切面的角度去设计代码的思想,传统的OOP思想是用封装继承和多态构造一种纵向的层次关系...,但不适合定义横向的关系,而AOP思想则对此进行了很好的补充。 ...例如日志管理代码往往横向的散布在很多对象层次中,但跟它对应的对象的核心功能可以说是毫无关系,还有很多类似的代码,如权限验证,调试输出,事务处理等,也都是如此,这样的话就不利于代码的复用和管理了。 ...所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于后续的可操作性和可维护性。
不知道已经参加工作的小伙伴们都放假了没,朋友圈已经看到有小伙伴在晒老家的照片了,朋友们欢聚一堂,喝点小酒,确实舒服了哈。 记得刚毕业那会,回家过年的时候小学时期的同学们还会聚一下。...于是我就想啊,确实应该同甘共苦~~~~~我就开始不停地找学习资料,今天终于在 GitHub 上发现了一份不错的 Java 面试资料,名叫 JCSprout,意思是 Java Core Sprout:处于萌芽阶段的...Java 核心知识库。...Jie 在 README 中说这是一份处于萌芽阶段的 Java 核心知识库,我细致地研究了俩小时后,还真不同意他这句话,明明很成熟嘛。...不仅有集合、多线程、JVM,还有分布式、框架、架构设计、数据库、算法,可以说一个优秀的 Java 后端工程师应该掌握的核心知识点,这里都有啊! ?
EL在JSTL中实在是比较简单,因此很有必要说一下JSTL的核心库的使用。...EL就像是被封装好的函数,而核心库中的表达式像是一个新的语言,包括基本的语句。废话不多说了,还是代码为主。...差点忘了,这里需要引入两个jar包,从这下载: http://www.apache.org/dist/jakarta/taglibs/standard/binaries/,然后在使用JSTL核心库的JSP...javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 演示JSTL核心库...页面中添加: .. code:: html 测试核心库 然后启动index页面,完了 其实这里面在对JSP核心库的引用进行声明时
1、Java语言特点 Java应用广泛,受到大众的欢迎,其根本原因是Java语言的众多突出优点(优点肯定是与其他高级语言相比较得来的) 下面我们介绍几个主要的特点: 1.1、简单 Java看起来设计的很像...例如,Java提供产生图形用户接口的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing tookit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类...1.6、可移植性(跨平台) Java使得语言声明不依赖与实现的方面。例如,Java显示说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。...Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。...2、Java核心JDK与JRE 2.1、JRE JRE为Java的运行时环境,是运行Java程序依赖的。如果仅仅是运行已经存在的Java程序,只安装JRE即可。
本文主要介绍反射的基本概念以及核心类Class、Constructor、Method、Field、Parameter的常用方法。 本文极长,请准备一个使自己舒服的姿势阅读。...JDK中对和反射相关的类库集中在java.lang.reflect包和java.lang包中,java.lang.reflect包和java.lang包是开发者可以直接使用的,部分java.lang.reflect...可以理解为java.lang.reflect包和java.lang包中的类库就是面向开发者的类库。...图解反射核心类的体系 java.lang.reflect包反射核心类有核心类Class、Constructor、Method、Field、Parameter,它们的基础体系如下: java.lang.Class...,后面花大量篇幅列举了相关类库的API和API使用,掌握这些类库,才能轻松地进行反射编程。
其本质实现了Java的Callable接口)。通过大小合理的线程池调度来并行的消费这些任务,使ZStack这个Iaas软件有条不紊运行在大型的数据中心里。...对线程池不太了解的同学可以先看我的一篇博客:Java多线程笔记(三):线程池 演示代码 在这里,将以ZStack中ThreadFacade最常用的方法为例进行演示。...; import java.util.List; import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ScheduledThreadPoolExecutor...; import java.util.concurrent.ThreadFactory; public class ScheduledThreadPoolExecutorExt extends ScheduledThreadPoolExecutor...本质上是一个任务调度线程池,用的工作队列也是一个延时工作队列。 小结 本文分析了ZStack的久经生产考验的核心组件——线程池。通过线程池,使并行编程变得不再那么复杂。
,大致的逻辑即: 在DB中创建一条记录 添加当前账户与该计算规格的关联 创建相应的系统标签 回复该消息,并打印一行log 在这段代码中,我们可以看到在执行逻辑2、3时,这里做了一个Defer.guard...CloudRuntimeException.class) public void test() { case1(); Assert.assertEquals(0, count); } } 实现 Defer的库非常的小...其本质通过对Spring提供的AOP和Java提供的ThreadLocal以及一个Stack数据结构进行封装:对于执行函数的当前线程存入一个Stack数据结构,每一个填写在Defer中的Runable都会被放入...,之后根据调用的Defer的函数来决定其行为。...这里Runable的放入来自系统启动时利用反射所做的一个行为。因此并不会影响使用时的性能。
它的实现 在ZStack中,FlowChain作为核心库,其实现也是非常的简单(可以直接参考SimpleFlowChain和ShareFlowChain),本质就是将任务放入List中,由内部方法进行迭代...finalHandle也允许用户定义这部分的逻辑,使flow更加的灵活。 更好的选择 由于该库是为ZStack定制而生,故此有一些防御性判断,源码显得略为verbose。...Java Deferred/Promise library similar to JQuery 由于JavaScript 中的代码都是异步调用的。...org.jdeferred.impl.DefaultDeferredManager; import org.junit.After; import org.junit.Assert; import org.junit.Test; import java.util.concurrent.TimeUnit...; var -= 1; }); Assert.assertEquals(0, var); } } 如果你在使用Java8,那么也可以通过
话接上回,继续核心类与API的学习,最后介绍一下Object类以及与数学、日期/时间有关的类,就结束该部分的学习了,其他的根据需要自行了解。...一、Object类 1、概述 Object 是 Java 类库中的一个特殊类,也是所有类的父类,任何 Java 对象都可以调用 Object 类的方法。...Java 允许把任何类型的对象赋给 Object 类型的变量。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。...父类:java.lang.Object 实现的接口有: interface java.io.Serializable interface java.lang.Comparable interface...直接来看一个打印日历的小案例 //演示日历 import java.util.Calendar; //导包 import java.util.Date; public class DateDemo {
学完Java的面向对象特性后,接下来学习Java核心类与API。Java的API可理解为Java自己提供的标准类库,开发人员可直接使用其方法。...字符串常量池是全局共享的,故也称全局字符串池。字符串池中维护了共享的字符串对象,这些字符串不会被垃圾收集器回收)。 字面量也常称为常量,Java的字面量可以是任意基本数据类型。...3.3 字符串存储位置 java内存空间理解(面试考点),图示如下 java虚拟机内存结构(面试考点) 1)堆 堆主要存放Java在运行过程中new出来的对象,凡是通过new生成的对象都存放在堆中...,对于堆中的对象生命周期的管理由Java虚拟机的垃圾回收机制GC进行回收和统一管理。...它有个名字叫做Non-Heap(非堆),目的是与Java堆区分开。(拓展:方法区是线程安全的。由于所有的线程都共享方法区,所以,方法区里的数据访问必须被设计成线程安全的。
JVM的常用包一般在C:\Program Files\Java\jre1.5.0_04\lib\rt.jar 一般都会放在C:\Program Files\Java\jre1.5.0_04\lib...常用的Java核心包 java.lang包:Java语言包,主要包含与语言、数据类型相关的类。...程序运行时,编译器自动引入该包 java.awt包和javax.swing包:提供了创建图形界面元素的类,通过这些类,可以控制应用程序的外观界面 java.io包:Java输入/输出包,包含与输入和输出操作相关的类...,提供了不同的输入/输出设备读写的支持 java.util包:实用程序包,提供实现不同功能的类。...java.NET包:Java网络包,提供与网络操作相关的类 java.sql包:包含了与数据库编程相关的类/接口 注意:除了java.lang包中的类系统自动引入外,若要使用其他包中的类,应在程序的开始部分引入相应的包
话接上回,继续核心类与API的学习,这次介绍StringBuffer/StringBuilder/StringJoiner类。...,class java.lang.StringBuilder System.out.println(str.getClass()); //判断变量str的类型,class java.lang.String...5.1 背景及功能重述 1)String String 是 Java 中基础且重要的类,被声明为 final class,是不可变字符串。...三、StringJoiner类 1、概述 StringJoiner是Java8新出的一个类,作用是在构造字符串时可以自动添加前缀、后缀及分隔符,无需实现添加字符的逻辑。..."); sj.add("SE"); System.out.println(sj); // [Hello Java SE] } } 在不需要指定“开头”和“结尾
话接上回,继续核心类与API的学习,这次介绍一下枚举类以及与系统、交互有关的类,需要了解并能使用即可。 一、枚举类 1、概述 枚举也称穷举,简单理解就是把所有可能一一列举出来(穷尽所有可能)。...二、交互相关 1、Console类(简单了解) JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备。Console类的目的是使Java程序和控制台之间的交互更容易。...} } 2、Scanner类(掌握) Scanner类用于获取用户输入,使用前先导包:import java.util.Scanner。...: 10 20 30 end 3个数的和为60.0 3个数的平均值是20.0 二、系统相关 1、System类 1.1 概述 System类代表当前java程序的运行平台,系统级的很多属性和控制方法都放置在该类的内部...Java 虚拟机。
上一次学完了Java的核心类与API,这次来学习异常处理。我们都知道,Java语言具有健壮性和安全性,而异常处理机制就是其重要保证。如下 一、类型 错误(Error)和异常(Exception)。...5)try…catch…finally Java的垃圾回收机制不会回收任何物理资源,只回收堆内存中对象所占用的内存。...(可以调用) 3、断言(assert) 3.1 几点注意 java断言assert是jdk1.4引入的。 jvm断言默认是关闭的。...而现在主流的 Java IDE工具默认都没有开启-ea断言检查功能。意味着如果使用 IDE工具编码,调试运行时候会有一定的麻烦。...尽量避免在 Java中使用 assert关键字,除非哪天 Java默认支持开启 -ea的开关。
Java的核心API是非常庞大的,这给开发者来说带来了很大的方便,经常人有评论,java让程序员变傻。但是一些内容我认为是必须掌握的,否则不可以熟练运用java,也不会使用就很难办了。...java.lang包下的80%以上的类的功能的灵活运用。...java.util包下的80%以上的类的灵活运用,特别是集合类体系、正规表达式、时间、属性、和Timer. java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合...java.math包下的100%的内容。 java.net包下的60%以上的内容,对各个类的功能比较熟悉。 java.text包下的60%以上的内容,特别是各种格式化类。...熟练运用JDBC. java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java. AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。
JSTL全称是Java标准标签库,是为了弥补默认JSP在视图表现方面的不足而出现的。其实在2017年的Java开发中用到的不是很多了。现在新的模板引擎比如Thymeleaf这样的貌似更加流行。...JSTL是以标签库的形式存在,所以要在JSP中使用JSTL,要添加相应的标签库。以下会逐一说明。...核心标签库 核心标签库提供了JSTL最核心的功能,核心标签库的前缀是c,要使用核心标签库,需要在JSP中添加如下一行: 用户个数是: 除了核心标签库之外,JSTL还提供了几个标签库用来处理XML、执行SQL、国际化处理等等。...不过随着Java和Java生态的演变,很多框架可以在服务端很好的完成这些工作。因此在JSP中处理这些没有太大的意义了。因此,这里就只介绍核心标签库这部分内容。 这些标签的用法我也做了一个小例子。
领取专属 10元无门槛券
手把手带您无忧上云