hashcode
摘要:一、hashCode()介绍 a.作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的位置。 b.hashCode()定义在JDK的Object.java中,这就意味着Java中的任何类都包含有hashCode()函数。 c.另外需要注意的是:Obj
阅读全文
posted @
2021-10-24 17:40
smile学子
阅读(231)
推荐(0) 编辑
多线程状态轮转
摘要:线程的状态可以通过 Thread 类中的 state 内部类查看,有以下几个状态: 新建(New):创建后尚未启动的线程状态 运行(Runnable):包含 Running(位于可运行线程池中)和 Ready(位于线程池中等待调度选中获取CPU使用权) 无限期等待(Waiting):不会被分配CPU
阅读全文
posted @
2021-10-24 17:11
smile学子
阅读(47)
推荐(0) 编辑
String
摘要:1、String底层 底层是一个不可变字符串,使用连接符的时候,实际上是经过了StringBuilder的优化处理的,并不是在原来的String对象中做追加, 最后再调用toString()方法,是把当前StringBuilder的对象变成了String 1.1 String在JDK1.8中的底层实
阅读全文
posted @
2021-10-19 20:17
smile学子
阅读(293)
推荐(0) 编辑
BigDecimal
摘要:不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。 虽然双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算, 1. 在商业计算中要用java.math
阅读全文
posted @
2021-09-21 10:01
smile学子
阅读(245)
推荐(0) 编辑
优先队列
摘要:一、概述 优先队列PriorityQueue是Queue接口的实现,可以对其中元素进行排序,默认排列顺序是升序排列 可以放基本数据类型的包装类(如:Integer,Long等)或自定义的类 底层:二叉堆 特点:堆的某个节点总是不大于其父亲节点的值 二、常用方法 peek()//返回队首元素 poll
阅读全文
posted @
2021-09-20 22:45
smile学子
阅读(71)
推荐(0) 编辑
Guava Lists 类
摘要:Guava系列之超实用的集合工具类 依赖: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>19.0</version> </dependency> 主要方法: 各种创建
阅读全文
posted @
2021-09-20 14:23
smile学子
阅读(496)
推荐(0) 编辑
Collectors.groupingBy
摘要:Collectors.groupingBy根据一个或多个属性对集合中的项目进行分组 作用:对一个list进行分组 数据准备: public Product(Long id, Integer num, BigDecimal price, String name, String category) {
阅读全文
posted @
2021-09-17 21:57
smile学子
阅读(455)
推荐(0) 编辑
建造者模式
摘要:当遇到多个构造器参数时,要考虑使用构建器(Builder模式) 举个例子,Person类,假设该类有7个属性,其中有2个是必要的参数需要初始化,分别是id和name。 public class Person { //必要参数 private int id; private String name;
阅读全文
posted @
2021-09-12 15:35
smile学子
阅读(32)
推荐(0) 编辑
Java集合中removeIf的使用
摘要:在JDK1.8中,Collection以及其子类新加入了removeIf方法,作用是按照一定规则过滤集合中的元素。 举例:Person类只有三个成员属性,分别是姓名name,年龄age和性别gender。现要过滤age大于等于40的求职者。 //求职者的实体类 public class Person
阅读全文
posted @
2021-09-05 19:56
smile学子
阅读(623)
推荐(1) 编辑
String.format()
摘要:格式化字符串以及连接多个字符串对象 format(String format, Object… args) 字符类型和整数类型的格式化 转换符 详细说明 示例 %s 字符串类型 “喜欢请收藏” %c 字符类型 ‘m’ %b 布尔类型 true %d 整数类型(十进制) 88 %x 整数类型(十六进制
阅读全文
posted @
2021-09-04 18:39
smile学子
阅读(52)
推荐(0) 编辑
toPlainString() 和 toString()
摘要:在得到的小数,要对其小数点后面的零是否进行处理 对得到的数据用科学计数法:String.toString() 不使用科学计数法:String toPlainString() 举例: BigDecimal num = new BigDecimal("0.00000000123456789"); Sys
阅读全文
posted @
2021-09-03 10:06
smile学子
阅读(1538)
推荐(0) 编辑
ImmutableMap
摘要:Java中的Immutable对象,如果一个对象实例不能被更改就是一个Immutable的对象,比如String等都是Immutable的对象。 ImmutableMap:一个不可变集合 1.为什么使用它呢? 线程安全、更有效的利用内存、可作为常量 2.导入依赖: <dependency> <gro
阅读全文
posted @
2021-09-02 10:23
smile学子
阅读(1605)
推荐(0) 编辑
List 转 Map 之 Collectors.toMap()
摘要:将List对象集合,转成为Map集合 比如:用户类 User public class User { // 用户ID private long id; // 用户名称 private String name; // 相关constrator,getter,setter,toString()方法已省略
阅读全文
posted @
2021-08-30 23:45
smile学子
阅读(671)
推荐(0) 编辑
SQL
摘要:1. 升降序 DESC:降序 ASC:升序 2. 通配符 %:替代 0 个或多个字符 _:替代一个字符 3. IN 操作符 选取 name 为 "Google" 或 "菜鸟教程" 的所有网站: SELECT * FROM WebsitesWHERE name IN ('Google','菜鸟教程')
阅读全文
posted @
2021-07-02 14:44
smile学子
阅读(37)
推荐(0) 编辑
一起学Java(五十五)----- 枚举
摘要:不积跬步,无以至千里;不积小流,无以成江海。 Java语言基础 枚举 单例模式中,一个类只有一个实例。而枚举其实就是多例,一个类有多个实例,但实例的个数不是无穷的,是有限个数的。 定义枚举类型 使用enum关键字: 例子: public enum Direction { FRONT, BEHIND,
阅读全文
posted @
2021-06-01 20:05
smile学子
阅读(94)
推荐(0) 编辑
一起学Java(五十四)----- 序列化与反序列化
摘要:不积跬步,无以至千里;不积小流,无以成江海。 Java语言基础 一、基本概念 1. 序列化与反序列化 序列化指的是对象的序列化,流化,是将对象转换为容易传输的格式的过程 反序列化将从该流重新构造对象。也是对象持久化的一种机制 作用: 序列化:在传递和保存对象时.保证对象的完整性和可传递性。以便在网络
阅读全文
posted @
2021-05-29 10:26
smile学子
阅读(128)
推荐(0) 编辑
一起学Java(五十三)----- FastJSON
摘要:不积跬步,无以至千里;不积小流,无以成江海。 FastJSON 将 Java 对象转换为 JSON 格式,也可以将 JSON 字符串转换为 Java 对象。 依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</a
阅读全文
posted @
2021-05-29 10:01
smile学子
阅读(60)
推荐(0) 编辑
一起学Java(五十二)----- 线程
摘要:不积跬步,无以至千里;不积小流,无以成江海。 Java语言基础 Java的线程 在操作系统中运行的程序就是进程,比如你的QQ、播放器、游戏、IDE等等。 一个进程可以有多个线程,如视频中同时听声音,看图像,看字幕。 进程(Process)与线程(Thread): 1.进程里面就有程序。程序是写的代码
阅读全文
posted @
2020-08-24 15:51
smile学子
阅读(150)
推荐(0) 编辑
一起学Java(五十一)----- 输入输出流
摘要:不积跬步,无以至千里;不积小流,无以成江海。 Java语言基础 输入输出流 按照流的方向分为输入流(InputStream)与输出流(OuputStream): 输入流:只能读取数据,不能写入数据。 输出流:只能写入数据,不能读取数据。 核心体系就是由File、 InputStream 、Outpu
阅读全文
posted @
2020-08-23 22:41
smile学子
阅读(262)
推荐(0) 编辑
一起学Java(五十)----- 抽象类与接口的区别
摘要:不积跬步,无以至千里;不积小流,无以成江海。 Java语言基础 抽象类与接口的区别 抽象类 在 Java 中,被关键字 abstract 修饰的类称为抽象类;被 abstract 修饰的方法称为抽象方法,抽象方法只有方法声明没有方法体。 抽象类有以下几个特点: 1. 抽象类不能被实例化,只能被继承。
阅读全文
posted @
2020-05-23 22:07
smile学子
阅读(185)
推荐(0) 编辑