JAVA自学习分享
文章平均质量分 59
JAVA学习分享
魔教中人。
搬砖!!搬砖!!
展开
-
JAVA BigDecimal的equals和compareTo
一,区别因为BigDecimal是对象,所以不能用==来判断两个数字的值是否相等。那使用equals和compareTo这两个方法有啥区别呢???equals方法会比较两部分内容,分别是值(value)和精度(scale),而compareTo方法比较会忽略精度。二,为什么BigDecimal精度不同这个问题其实是比较复杂的,由于不是本文的重点,这里面就不过多介绍。大家感兴趣的话,可以在去看下BigDecimal构造函数的源码。BigDecimal一共有以下4个构造方法:BigDe原创 2021-08-26 16:32:57 · 518 阅读 · 0 评论 -
Cookie Session Token JWT简单理解
1、什么是认证(Authentication)通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功) 互联网中的认证: 用户名密码登录 邮箱发送登录链接 手机号接收验证码 只要你能收到邮箱/验证码,就默认你是账号的主人 2、什么是授权(Authorization)用户授予第三方应用访问该用户某些资源的权限 你在安装手机应用的时候,APP 会询问是否允许授予权限(访问相册、地理位置等.原创 2021-07-07 16:26:37 · 317 阅读 · 1 评论 -
JDK1.8所有得版本下载
JDK1.8所有版本官网下载链接https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html原创 2021-06-24 00:55:21 · 960 阅读 · 0 评论 -
ArrayList数据去重的方法
1.使用LinkedHashSet删除arraylist中的重复数据LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 1 删除重复数据 2 保持添加到其中的数据的顺序import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedHashSet; public class ArrayListExample { pu原创 2021-01-28 14:56:00 · 8603 阅读 · 0 评论 -
Java线程的生命周期
Java 中实现并发的主要手段就是多线程。线程是操作系统里的一个概念,Java 语言里的线程本质上就是操作系统的线程,它们是一一对应的。要想整明白操作系统中线程的生命周期,就需要搞懂生命周期各个状态之间是如何转换的。接下来先让我们了解下操作系统的线程生命周期,进而再去学习 Java 中线程的生命周期。操作系统中线程的生命周期操作系统的线程生命周期基本上可以用下图这个五态模型来描述。这五态分别是:初始状态、可运行状态、运行状态、休眠状态和终止状态。这五态模型的详细情况如下所示。1.初始状态:指的原创 2021-01-05 17:32:56 · 107 阅读 · 0 评论 -
星巴克不使用两阶段提交
1. 请给我一杯热巧克力(Hotto Cocoa o Kudasai)刚结束了一次为期两周的日本之旅。印象深刻的是数量多到难以置信的星巴克 —— 尤其是在 新宿和六本木地区。在等待咖啡制作时,我开始思考星巴克是如何处理订单的。与大多数商业公司一样,星巴克主要关心的也是订单最大化。更多的订单就意味着更多的收入。因此,他们采用异步的方式处理订单:点好咖啡后,收银员会拿出一个杯将你的订单在杯子上做个标记,然后将杯子放到一个队列。这里所说的队列其实就是咖啡机上的一排杯子;队列将收银员和咖啡师解耦,使收银员翻译 2020-12-04 16:00:35 · 95 阅读 · 0 评论 -
RPC和RESTful区别
区别RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!下面来具体说一说RPC服务和HTTP服务。OSI网络七层模型在说RPC和HTTP的区别之前,我觉的有必要了解一下OSI的七层网络结构模型(虽然实际应用中基本上都是五层),它可以分为以下几层:(从上到下)第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等;原创 2020-11-30 15:18:01 · 327 阅读 · 0 评论 -
spring boot异步请求(调用)
一、Spring Boot中异步请求的使用1、异步请求与同步请求特点:可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。一句话:增加了服务器对客户端请求的吞吐量(实际生产上用的比较少,如果并发请求量很大的情况下,一般会通过nginx把请求负载到集群服务的各个节点上来分摊请求压力,当然还可以通过消息队列来做请求的缓冲)。2、异步请求的实现方式一:Servlet方式实现异步请求@Reque原创 2020-09-04 12:05:13 · 351 阅读 · 0 评论 -
Spring Boot 注解大全
一、注解 (annotations) 列表@SpringBootApplication:包含了 @ComponentScan、@Configuration 和 @EnableAutoConfiguration 注解。其中 @ComponentScan 让 spring Boot 扫描到 Configuration 类并把它加入到程序上下文。@Configuration 等同于 spring 的 XML 配置文件;使用 Java 代码可以检查类型安全。@EnableAutoConfiguration原创 2020-08-26 15:39:51 · 110 阅读 · 0 评论 -
i = i++和 i = ++i 的区别
1、题目package pers.mobian.questions01;public class test01 { public static void main(String[] args) { int i = 1; i = i++; int j = i++; int k = i + ++i * i++; System.out.println("i="+i); System.out.println原创 2020-08-21 11:45:57 · 1326 阅读 · 2 评论 -
限流简介
什么是限流?限流可以认为服务降级的一种,限流就是限制系统的输入和输出流量已达到保护系统的目的。一般来说系统的吞吐量是可以被测算的,为了保证系统的稳定运行,一旦达到的需要限制的阈值,就需要限制流量并采取一些措施以完成限制流量的目的。比如:延迟处理,拒绝处理,或者部分拒绝处理等等。为什么要限流?开篇也有说到限流是为了「== 保证系统的稳定运行 ==」。假设我们一个系统一小时之最多只能处理10000个请求,但是一小时流量突增10倍,这突增的流量我们如果不进行限制的话,任由它直接进入系统的话,是不是直接会把我原创 2020-08-21 10:59:57 · 511 阅读 · 0 评论 -
Spring Boot之事务
一、事务传播机制:事务的传播行为是针对嵌套事务而言。示例:@Transactional(propagation = Propagation.REQUIRED)1.1 REQUIREDspring默认的事务传播行为就是它。支持事务。如果业务方法执行时已经在一个事务中,则加入当前事务,否则重新开启一个事务。外层事务提交了,内层才会提交。内/外只要有报错,他俩会一起回滚。只要内层方法报错抛出异常,即使外层有try-catch,该事务也会回滚!因为内外层方法在同一个事务中,内层只要抛出了异常,原创 2020-08-20 16:05:06 · 352 阅读 · 0 评论 -
Idea上Spring boot本地启动,报原来的端口已经被占用或者被监听的错误
1)查看窗口占用进程win+R打开doc窗口输入命令:netstat -ano | findstr 80802)关闭占用进程输入命令:taskkill /f /t /im 61772执行后可再用用查看命令查看端口占用情况。命令:netstat -ano | findstr 80803)重新启动应用用idea或者其他编译工具重新启动应用...原创 2020-07-26 22:32:43 · 399 阅读 · 0 评论 -
JAVA常见的加密类
JAVA常见的一些加密类和方法一、工具类1. md5加密工具类package 加密Tester.util;import java.security.MessageDigest;public class MD5Utils { private static final String hexDigIts[] = {"0","1","2","3","4","5","6","7","8...原创 2020-04-08 15:15:33 · 705 阅读 · 0 评论 -
JAVA的OkHttp使用
使用OkHttp发送请求主要分为以下几步骤:创建OkHttpClient对象创建Request对象将Request 对象封装为Call-通过Call 来执行同步或异步请求,调用execute方法同步执行,调用enqueue方法异步执行创建连接:private OkHttpClient client = new OkHttpClient();GET请求:@Testpublic...原创 2020-04-02 19:44:00 · 535 阅读 · 0 评论 -
HttpClient使用介绍
使用HttpClient发送请求主要分为以下几步骤:创建 CloseableHttpClient对象或CloseableHttpAsyncClient对象,前者同步,后者为异步创建Http请求对象调用execute方法执行请求,如果是异步请求在执行之前需调用start方法创建连接:CloseableHttpClient httpClient = HttpClientBuilder.c...原创 2020-04-02 19:38:55 · 651 阅读 · 2 评论 -
for(;;)和while(true)区别
for(;; ) 比 while(true) 好for(;; )和 while(true)都是“死循环”有两种写法,为啥源码中多数是for( ; ; )这种形式的。见下图 编译前 编译后 while (1); mov eax,1 test eax,eax je f...原创 2020-03-12 18:43:13 · 176 阅读 · 0 评论 -
JVM 级锁
synchronizedsynchronized 关键字是一把经典的锁,也是我们平时用得最多的。在 JDK1.6 之前, syncronized 是一把重量级的锁,不过随着 JDK 的升级,也在对它进行不断的优化,如今它变得不那么重了,甚至在某些场景下,它的性能反而优于轻量级锁。在加了 syncronized 关键字的方法、代码块中,一次只允许一个线程进入特定代码段,从而避免多线程同时修改同一数...原创 2020-03-12 17:58:54 · 155 阅读 · 0 评论 -
Java 对象内存布局
对象头区域此处存储的信息包括两部分:1、对象自身的运行时数据( MarkWord )存储 hashCode、GC 分代年龄、锁类型标记、偏向锁线程 ID 、 CAS 锁指向线程 LockRecord 的指针等, synconized 锁的机制与这个部分( markwork )密切相关,用 markword 中最低的三位代表锁的状态,其中一位是偏向锁位,另外两位是普通锁位。2、对象类型指...原创 2020-03-12 17:34:42 · 140 阅读 · 0 评论 -
Java异常的分类
Java标准裤内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件...原创 2020-03-04 14:44:52 · 226 阅读 · 0 评论 -
@RequestParam和@RequestBody的使用
一 @RequestParam注解(1)@RequestParam总体上来说,该注解类拥有三个参数:value、name 属性都标识请求参数名(必须配置);required:参数是否必传,默认为 true,可以设置为非必传 false;(如果设置了必传或默认,请求未传递参数,将会抛出异常);defaultValue:参数默认值,如果设置了该值,required 将会自动设置为 false...原创 2020-02-25 17:03:08 · 1538 阅读 · 0 评论 -
@RequestBody和@RequestParam区别
@RequestParam注解@RequestParam接收的参数是来自requestHeader中,即请求头。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required 表示是否必须,默认为 true,必须。defaultValue 可设置请求参数的默认值。value 为接收url的参数名(相当于key值)。@...转载 2020-02-21 18:50:00 · 408 阅读 · 0 评论 -
@Controller与@RestController区别
一,对比@Controller与@RestController@Controller注解源码:@RestController注解源码:官方文档对@RestController的解释:@RestController is a stereotype annotation that combines @ResponseBody and @Controller.结论 : @RestContr...原创 2020-02-21 11:18:04 · 230 阅读 · 0 评论