Java基础
文章平均质量分 74
渝州居士
这个作者很懒,什么都没留下…
展开
-
三种限流策略和代码实现
在高并发访问的情况下,通常会通过限流的方式在控制流量访问问题,以保证服务处在正常压力之下,常见的限流策略有计数器限流、漏桶限流和令牌桶限流原创 2022-12-26 17:59:55 · 387 阅读 · 0 评论 -
Java多线程之线程池
Java高并发应用开发过程中会频繁的创建和销毁线程,为了节约成本和提升性能,往往会使用线程池来统一管理线程,使用线程池主要有以下几点优势降低资源消耗:重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度:任务可以不需要等待线程创建就能立即执行提高线程可管理性:线程池会保持一些基本的线程统计信息,以便对线程进行有效管理,使得能对所接收到的异步任务进行高效调度原创 2022-11-30 19:27:51 · 902 阅读 · 0 评论 -
Java多线程之四种方法创建线程
创建多线程常用的方法有四种,继承Thread、实现Runnable接口、使用Callable和FutureTask和线程池原创 2022-07-10 17:00:27 · 4732 阅读 · 0 评论 -
Java多线程之进程和线程
多线程时Java程序运行的基础性机制,常用于高性能、高并发Java程序中。程序是存放在磁盘中的可执行文件,包括代码指令和数据,进程是操作系统管理应用程序的基本单元,是程序的一次启动执行,线程是编写并发程序的基础,是CPU调度的最小单元...原创 2022-07-10 10:35:28 · 204 阅读 · 0 评论 -
数据结构学习笔记
数据结构指相互之间存在一种或多种特定关系的数据元素的集合,包括常用的数组、链表、栈、队列、二叉树等原创 2022-06-26 17:27:54 · 3714 阅读 · 0 评论 -
Java8几种常用字符串拼接方法总结
字符串的拼接在Java开发过程中经常被使用,Java中提供了6中常用的字符串拼接方法,本文主要介绍这几种拼接方法的使用1、使用"+"号public static void main(String[] args) { String str1 = "Hello"; String str2 = "World"; long startTimes = Instant.now().toEpochMilli(); System.out.println("开始时间:" + startTi原创 2021-01-10 17:17:20 · 14746 阅读 · 1 评论 -
byte数组转浮点数总结
最近在做一个水厂的检测项目,4G设备向服务器发送socket请求,涉及到了整数和浮点数的传输,需要将字节数组还原成可读的数据,总结如下:读取数据时,每4位数字是一个值,前2位是低字节,后2位是高字节,先读取高字节数,再读取低字节数byte[] data = {-15, 71, 60, 109, 18, 51, 63, 95, 33, 15, 66, 81, 57, -32, 62, -125, -13, 37, 0, 0};//offset:从哪位开始读起private static float r原创 2020-09-29 09:40:40 · 2126 阅读 · 0 评论 -
几种IO模式总结
BIO(blocking IO) 编程同步阻塞IO(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有链接请求时服务器端酒需要启动一个线程进行处理,如果这个连接不做任何事会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户连接服务器)BIO适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序简单易理解BIO工作原理图BIO编程流程服务器端启动一个ServerSocket客户端启动Socket对服务器进行通讯,默原创 2020-08-07 17:49:56 · 1405 阅读 · 0 评论 -
Java8常用日期时间类
概述Java8中推出了全新的日期时间类,使用起来更加简单和安全,常用的有以下几个LocalDate:本地日期,只包括日期LocalTime:本地时间,只包括时间LocalDateTime:本地日期时间,包括日期和时间ZonedDateTime:完整的本地日期时间,包括日期,时间,和时区获取当前日期LocalDate localDate = LocalDate.now();System.out.println("当前日期为:" + localDate);//当前日期为:2020-06-19原创 2020-06-19 17:44:06 · 1028 阅读 · 0 评论 -
Java常用集合框架总结
集合是Java中最重要的基础知识之一,集合类存放于java.util包中,主要有3大类:list、set、map。Collection是集合List、Set、Queue的最基础的接口,Iterator可以通过迭代器遍历集合中的元素,Map是映射表(map类集合)的基础接口。集合框架List集合是存储有序元素的集合,集合中的元素可以重复,通过元素的下标来访问集合中的元素。Set集合是存储无序元素的集合,集合中的元素是不可以重复的,通过元素本身来访问集合中的元素。Mpa集合以key-value对形式存储原创 2020-06-02 20:47:26 · 541 阅读 · 0 评论 -
Java8 Stream学习笔记
Java8中新加入了流(Stream),可以以声明性方式处理数据集合,可以简单的理解成一种新型的遍历数据集的高级迭代器。流操作有两个重要的特点:1.流水线------流操作会返回一个流,这样多个操作就可以链接起来,形成一个大的流水线,流水线的操作可以看作对数据源进行数据库式查询。2.内部迭代------与使用迭代器显式迭代的集合不同,流的迭代操作是在内部进行的。流操作可以分成两部分,中间操...原创 2019-04-19 15:12:00 · 513 阅读 · 0 评论 -
BigDecimal详细用法
引言:一般整数计算时可以使用int类型的数据,数值较大时使用long类型数据,精度要求不高的小数计算时使用float和double类型数据,当精度要求高的计算时需要使用BigDecimal类型数据。1.BigDecimal数据定义BigDecimal a = new BigDecimal(int val);BigDecimal b = new BigDecimal(long val);B...原创 2019-03-26 15:11:14 · 1266 阅读 · 0 评论