java
文章平均质量分 62
humbinal
互联网、科技爱好者,技术宅,手机控。
展开
-
使用maven仓库中的gradle插件
gradle plugin的使用文档: https://docs.gradle.org/current/userguide/plugins.htmlgradle插件的命名限定方式与maven有些许差别,一般发布maven插件不会按照gradle插件默认的命名格式进行。 因此我们要使用存放在maven仓库中的gradle插件,就需要做一些转换。官方问当给出的配置方式个人感觉不是很合理,官方使用namespace进行配置。需要注意的是针对一个gradle插件:id 'com.example.sample-原创 2021-09-29 14:27:50 · 1284 阅读 · 0 评论 -
DBeaver21下载与安装教程
简介DBeaver共有Lite、Enterprise、Ultimate三个版本。Lite即开源免费版本,可以随意下载安装,但是,连接数据库需要手动提供驱动jar包,使用比较繁琐,本文以安装DBeaver企业版为主。Enterprise和Ultimate两个版本的安装包大小一致,个人猜测是一样的功能,因此本文使用Enterprise版本。下载注意,https://dbeaver.io/网站仅能下载社区版本,企业和旗舰版本需要从https://dbeaver.com/下载。企业版本下载地址: htt原创 2021-09-03 23:11:10 · 16380 阅读 · 35 评论 -
javaweb文件下载
javaweb文件下载文件下载在web应用开发中属于基本且常用的功能,下载接口实现浏览器打开下载页面:package util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpSe...原创 2020-05-21 12:56:44 · 248 阅读 · 0 评论 -
java8之避免空检查
在1965 年有人提出了这个计算机科学中最糟糕的错误,该错误比Windows 的反斜线更加丑陋、比 === 更加怪异、比PHP 更加常见、比CORS 更加不幸、比Java 泛型更加令人失望、比XMLHttpRequest 更加反复无常、比C 预处理器更加难以理解、比MongoDB 更加容易出现碎片问题、比UTF-16 更加令人遗憾。如何防止Java中著名的NullPointerException...原创 2020-01-13 15:44:50 · 462 阅读 · 0 评论 -
java8之stream
本文采用实例驱动的方式,对JAVA8的stream API进行一个深入的介绍。虽然JAVA8中的stream API与JAVA I/O中的InputStream和OutputStream在名字上比较类似,但是其实是另外一个东西,Stream API是JAVA函数式编程中的一个重要组成部分。本文描述如何使用JAVA8的Stream API。通过本文,你可以了解Stream API的执行顺序,不同的...原创 2019-12-22 22:04:53 · 503 阅读 · 0 评论 -
java8增强API
大量的教程和文章涵盖了Java 8中最重要的变化,如lambda表达式和函数流。但是,JDK 8 API中的许多现有类已经通过有用的特性和方法得到了增强。本文介绍了Java 8 API中的一些较小的更改 - 每个更改都使用易于理解的代码示例进行描述。让我们深入研究字符串,数字,算术和文件。字符串切片String类有两种新方法:join和chars。第一种方法将任意数量的字符串连接到具有给定分...原创 2019-11-26 15:12:42 · 225 阅读 · 0 评论 -
java中的IO操作之BIO、NIO、AIO
java中的IO操作(BIO、NIO、AIO)传统的BIO编程java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。BIO的类图思维导图:脑图连接几个IO流常见的用法:public class Demo { private static String BASE_...原创 2019-11-16 22:58:54 · 708 阅读 · 0 评论 -
java集合之HashSet
HashSetHashSet 是一个不允许存储重复元素的集合,它的实现比较简单,只要理解了 HashMap,HashSet 就比较简单了。成员变量首先了解下 HashSet 的成员变量:private transient HashMap<E,Object> map;// Dummy value to associate with an Object in the backi...原创 2019-11-16 22:57:57 · 109 阅读 · 0 评论 -
java集合之LinkedHashMap
LinkedHashMap众所周知HashMap是一个无序的 Map,因为每次根据 key 的 hashcode 映射到 Entry 数组上,所以遍历出来的顺序并不是写入的顺序。因此 JDK 推出一个基于 HashMap 但具有顺序的 LinkedHashMap 来解决有排序需求的场景。它的底层是继承于 HashMap 实现的,由一个双向链表所构成。LinkedHashMap 的排序方式有...原创 2019-11-16 22:57:28 · 137 阅读 · 0 评论 -
java集合之HashMap和Hashtable
HashMapMap 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk1.7 和 1.8 中具体实现稍有不同。JDK1.71.7 中的数据结构图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Yv8pbSk-1573802384000)(_v_i...原创 2019-11-16 22:56:50 · 146 阅读 · 0 评论 -
java集合之LinkedList
LinkedList如图下所示 LinkedList 底层是基于双向链表实现的,也是实现了 List 接口,所以也拥有 List 的一些特点(JDK1.7/8 之后取消了循环,修改为双向链表)。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yi577x8d-1573802492176)(_v_images/20190401145731815_26219.jpg)...原创 2019-11-16 22:56:12 · 198 阅读 · 0 评论 -
java集合之ArrayList和Vector
ArrayListArrayList 实现于 List、RandomAccess 接口。可以插入空数据,也支持随机访问。ArrayList相当于动态数据,其中最重要的两个属性分别是:elementData 数组,以及 size 大小。在调用 add() 方法的时候: public boolean add(E e) { ensureCapacityInternal(s...原创 2019-11-16 22:55:33 · 287 阅读 · 0 评论 -
maven批量修改版本号
maven批量修改版本号新版本开发时,我们需要修改一下项目中pom.xml的版本号。但是如果这个maven项目有很多的子模块项目,那么一个个手动的去改就显得费时费力又繁琐。还好,maven为我们提供了以下三个命令(需要进入顶级pom所在的目录)来帮助我们解决这个问题。设置新的版本号mvn versions:set -DnewVersion=1.1.3当新版本号设置不正确时可以撤销新...原创 2019-11-14 20:01:29 · 8103 阅读 · 0 评论 -
使用jib插件打包springboot应用程序为docker镜像
使用jib插件打包springboot应用程序为docker镜像:maven 插件配置:<plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>1.0....原创 2019-11-14 19:43:43 · 422 阅读 · 0 评论 -
Java面向对象之抽象类、接口、内部类、枚举类详解
抽象类、接口常常与设计模式紧密相连。抽象类先看一个关键字“abstract”,我们知道它是抽象的意思。所谓抽象,说的直白一点就是同一件事情,有不同的实现。 比如呼吸这个动作,人需要肺呼吸,而鱼需要鳃呼吸。代码实现如下:abstract class CommonMode{ abstract void breathe(String name);}class Fish extends Com原创 2015-11-02 14:19:41 · 818 阅读 · 0 评论 -
java中的jar命令与jar包
方法一:通过jar命令jar命令的用法:下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files … 选项包括: -c 创建新的归档文件 -t 列出归档目录 -x 解压缩已归档的指定(或所有)文件 -u 更新现有的归档文转载 2015-11-03 10:47:20 · 434 阅读 · 0 评论 -
Object类
Object类是所有类的超类。所有对象(包括数组)都实现这个类的方法。 构造方法:Object() 常用方法:1. public int hashCode()返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。哈希值是根据哈希算法计算出的值,该值和地址有关,但是不是实际的地址值。实际上,由Object类定义的hashCode方法确实会原创 2015-11-04 16:16:31 · 310 阅读 · 0 评论 -
Scanner类
1. Scanner类简述public final class Scanner extends Object implements Iterator<String>位于java.util.Scanner一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。 System类下有一个静态的字段: public static final InputStream in“标准”输入流。此流已打开原创 2015-11-05 09:49:50 · 309 阅读 · 0 评论 -
String类(一)
1. String类概述public final class String extends Object implements Serializable, Comparable<String>, CharSequenceString 类代表字符串。 Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现(字符串字面值”abc”也可以看成是一个字符串对象)。字符串是常量;它们原创 2015-11-05 14:32:40 · 327 阅读 · 0 评论 -
String类(二)
String类常用功能(方法)1. String类的判断功能boolean equals(Object obj):比较字符串的内容是否相同,区分大小写 boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写 boolean contains(String str):判断大字符串中是否包含小字符串 boolean startsWith(St原创 2015-11-05 17:36:46 · 354 阅读 · 0 评论 -
java语法基础
java语法基础java注释 Java的注释分三种:单行、多行以及文档注释。单行://后面的内容就是单行注释;多行:/* 中间部分 就是多行注释 */;至于文档注释,javadoc命令可直接提取文档注释, 并根据文档注释来生成API文档 。/** 此处为文档注释,我们可以用 javadoc命令直接提取文档注释, 并根据文档注释来生成API文档 */public class Co原创 2015-10-08 09:22:33 · 337 阅读 · 0 评论 -
Java值传递与引用传递
在java里面除去基本数据类型的其它类型都是引用数据类型,自己定义的class类都是引用类型,可以像基本类型一样使用。示例如下: public class MyDate { private int day = 8; private int month = 8; private int year = 2008; private转载 2015-10-08 10:51:24 · 357 阅读 · 0 评论 -
Java基本类型与引用类型
*基本类型(primitive type) 基本数据类型的变量包含了单个值,这个值的长度和格式符合变量所属数据类型的要求,可以是一个数字、一个字符或一个布尔值,例如一个整型值是32位的二进制补码格式的数据,而一个字符型的值是16位的Unicode字符格式的数据等。 *引用类型(reference type) 引用型变量的值与基本类型变量不同,变量值是指向内存空间的引用(地址)。所指向的内存中保原创 2015-10-08 10:44:30 · 372 阅读 · 0 评论 -
Java面向对象之类和对象
两只猫: 猫1: 花色,1岁,叫小花 猫2:白色,2岁,叫小白 问:当输入猫的名字时,输出猫的颜色和岁数当用过程式语言时候,会发现,变量很分散。 此时引入类: 可以提取一些共同的东西,比如提取猫类。 做一个类class Cat{ //类名首字母大写 int age; String name; String color;}创建一个对象Cat原创 2015-11-02 10:28:35 · 316 阅读 · 0 评论 -
Java面向对象之修饰符、封装、继承、多态详解
类和对象的定义类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。而对象是具有类类型的变量,存在于堆内存中。类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。定义一个类语法格式[修饰符] class 类名{ //可以有属性、方法、构造方法、初始化块、枚举类、内部类等。。 }注意:类的修饰符可以省略(必须在原创 2015-11-02 11:28:14 · 555 阅读 · 0 评论 -
Java枚举
JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW }swit原创 2015-11-02 16:03:03 · 275 阅读 · 0 评论 -
Java国际化及Spring国际化解决方法
假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题。 国际化(internationalization)又称为 i18n(读法为i 18 n,据说是因为internationalization(国际化)这个单词从i到n之间有18个英文字母,i18n的名字转载 2015-11-03 15:08:55 · 8747 阅读 · 0 评论