java后端
文章平均质量分 65
CarloPan
这个作者很懒,什么都没留下…
展开
-
如何生成一个好的appkey和appsecret
参考:https://blog.csdn.net/qq_35342627/article/details/99072520通常情况下,这种很长一段数字字母的key和secret都是通过md5和sha1加密算法来生成的。1. appkey的生成appkey生成比较简单,一般是用户ID+字符串组成,方法很多,做到唯一性就可以。2. appsecret的生成原始数据可能是账号ID+注册时间+其他字符串,然后再通过md5或sha1加密来生成。而md5和sha1对比的话,md5比sha1更快.转载 2021-04-13 18:09:00 · 7324 阅读 · 0 评论 -
SimpleDateFormat线程不安全
测试代码:import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;public class SimpleDa转载 2021-01-07 10:37:09 · 138 阅读 · 1 评论 -
用 axios 对同一个 URL 同时发起多个请求(不同参数),返回的 data 错乱
前端 Vue,后端 Java。后端生成 API 供前端调用。所有 API 的 URL 地址是同一个,只是对不同的 API 传递不同的参数。参数格式如下:let data = { 'username': 'admin', 'password': 'admin', 'methodName': 'method1', 'boId': 'bo1', 'returnType': 'json', 'parameters': 'param1'};username、password、转载 2021-01-06 09:03:59 · 2016 阅读 · 1 评论 -
Springboot中的@EnableAsync和@Async的作用和基本用法
在我们的日常开发中,我们偶尔会遇到在业务层中我们需要同时修改多张表的数据并且需要有序的执行,如果我们用往常的同步的方式,也就是单线程的方式来执行的话,可能会出现执行超时等异常造成请求结果失败,及时成功,前端也需要等待较长时间来获取响应结果,这样不但造成了用户体验差,而且会经常出现请求执行失败的问题,在这里我们一般会采用3种方式来处理,如下所示:Controllerpackage com.carlo.test.spboottest.controller;import java.util.conc转载 2021-01-03 16:37:55 · 324 阅读 · 0 评论 -
Springboot中的@EnableAsync和@Async的作用和基本用法
在我们的日常开发中,我们偶尔会遇到在业务层中我们需要同时修改多张表的数据并且需要有序的执行,如果我们用往常的同步的方式,也就是单线程的方式来执行的话,可能会出现执行超时等异常造成请求结果失败,及时成功,前端也需要等待较长时间来获取响应结果,这样不但造成了用户体验差,而且会经常出现请求执行失败的问题,在这里我们一般会采用3种方式来处理,如下所示:在采用三种方式之前,我们所有来观察一下使用同步的方式实现的结果:同步的方式1.我们定义一个TestController,如下所示:@RestCont转载 2021-01-03 16:30:32 · 204 阅读 · 0 评论 -
JDK 16
当开发者深陷 Java 8 版本之际,这边下一版本 Java 16 有了最新的消息,与 Java 15 一样,作为短期版本,Oracle 仅提供 6 个月的支持。根据发布计划,JDK 16 将在 12 月 10 日和 2021 年 1 月 14 进入 Rampdown 阶段,2021 年 2 月 4 日到 2 月 18 日进入发布候选阶段。最终版本预计于 2021 年 3 月 16 日正式发布。日前, JDK 16 揭晓了即将到来的新功能,接下来,我们将一睹为快: 以前在 JDK 15 中转载 2021-01-03 15:05:05 · 295 阅读 · 0 评论 -
com.fasterxml.jackson.databind.JsonNode
Base class for all JSON nodes, which form the basis of JSON Tree Model that Jackson implements. One way to think of these nodes is to consider them similar to DOM nodes in XML DOM trees.#所有JSON节点的基类,它们构成了Jackson实现的JSON树模型的基础。 考虑这些节点的一种方法是考虑它们类似于XML DOM树中原创 2021-01-03 14:40:01 · 3126 阅读 · 0 评论 -
12.2.1 Java访问权限修饰符
在讲解Java面向对象三大特性之前有必要先介绍一下关于Java访问权限修饰符的知识。在Java中有四种访问权限:公有(public)、私有(private)、保护(protected)、默认(default)。但访问权限修饰符只有三种,因为默认访问权限没有访问权限修饰符。默认访问权限是包访问权限,即在没有任何修饰符的情况下定义的类,属性和方法在一个包内都是可访问的。具体访问权限的规定如下表所示。提示用private声明的属性或方法只能在其类的内部被调用,而不能在类的外部被调用。读者可以先暂...原创 2021-01-02 16:18:33 · 144 阅读 · 0 评论 -
继承、抽象类、接口和枚举
Java语言中类的继承是通过extends关键字来实现的,在定义类时若使用extends关键字指出新定义类的父类,就是在两个类之间建立了继承关系。新定义的类称为子类,它可以从父类那里继承所有非私有成员作为自己的成员。通过在类的声明时使用extends关键字来创建一个类的子类,其格式如下:例如:public class Parent { private Long id; private String name; public String desc; p...原创 2021-01-02 15:25:18 · 266 阅读 · 0 评论 -
Java语言的垃圾回收
7.6 Java语言的垃圾回收在Java程序的生命周期中,Java运行环境提供了一个系统的垃圾回收器线程,负责自动回收那些没有被引用的对象所占用的内存,这种清除无用对象进行内存回收的过程就叫作垃圾回收(garbage-collection)。垃圾回收是Java语言提供的一种自动内存回收功能,可以让程序员减轻许多内存管理的负担,也减少程序员犯错的机会。当一个对象被创建时,JVM会为该对象分配一定的内存、调用该对象的构造方法并开始跟踪该对象。当该对象停止使用时,JVM将通过垃圾回收器回收该对象所占.原创 2021-01-01 14:57:28 · 796 阅读 · 0 评论 -
构造方法
7.3 构造方法前面所介绍的由Cylinder类所创建的对象,其成员变量都是在对象建立之后,再由相应的方法来赋值。如果一个对象在被创建时就完成了所有的初始化工作,将会很简洁。因此,Java语言在类里提供了一个特殊的成员方法——构造方法。作用:对象在被创建时就完成了初始化工作。(成员变量赋值)7.3.1 构造方法的作用与定义作用:在对象被创建时初始化对象成员的方法。...原创 2021-01-01 14:26:18 · 3168 阅读 · 0 评论 -
从面向对象到函数式编程
从面向对象到函数式编程本章介绍如何使用设计模式来写具有健壮性、可维护性、可扩展性的代码,以及Java的最新特性。为此,我们需要讨论以下问题:[插图]什么是编程范式[插图]命令式范式[插图]声明式和函数式范式[插图]面向对象范式[插图]统一建模语言(UML)综述[插图]面向对象原则1.2 Java编程范式什么是编程范式,自从有软件开发开始,开发人员尝试了不同的方式来设计编程语言。对于不同的编程语言,我们都有一系列的概念、原则和规定。这些概念、原则和规定就被称为编程范式。转载 2020-08-13 16:41:17 · 206 阅读 · 0 评论 -
com.facebook.presto.jdbc.internal.guava.util.concurrent.SimpleTimeLimiter 设置超时
参考原文:https://blog.csdn.net/timchen525/article/details/82903110原理利用Executors的Future的限时get方法,Google的SimpleTimeLimiter本质上是对Executors的Future的包装。1、基于类级别的调用(1)编写接口类UserInfoService.javapublic inter...转载 2020-01-17 15:17:39 · 554 阅读 · 0 评论 -
JAVA设置代理的两种方式(HTTP和HTTPS)
一、直接设置系统属性,设置后所有网络请求都有效 System.setProperty("proxyType", "4"); System.setProperty("proxyPort", "80")); System.setProperty("proxyHost", "127.0.0.1"); System.setProperty("proxySe...原创 2019-12-24 19:10:36 · 2817 阅读 · 0 评论 -
JVM gc参数
-XX:+HeapDumpOnOutOfMemoryError 设置当首次遭遇内存溢出时导出此时堆中相关信息-XX:HeapDumpPath=/tmp/heapdump.hprof 指定导出堆信息时的路径或文件名 指定gc日志文件位置 -Xloggc:'gc.log' //指定gc日志文件位置,默认输出到终端gc日志模式-XX:+PrintGC...原创 2019-11-11 17:33:47 · 347 阅读 · 0 评论 -
JDK 1.8 内存模型
原创 2019-11-11 15:30:56 · 206 阅读 · 0 评论 -
Java 类的加载
转自:https://github.com/doocs/jvm/blob/master/docs/08-load-class-time.md(版权声明:版权归原作者所有,若有侵权请作者与本账号联系删除。)类加载的时机类的生命周期类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括以下 7 个阶段:加载 验证 准备 解析 初始化 使用 卸载验证、准备、...转载 2019-11-11 10:55:45 · 104 阅读 · 0 评论 -
Maven打包的过程
项目使用Maven打war包是非常方便的,只需几个步骤就可以搞定了。步骤一: 在eclipse中, 在项目上右键鼠标,Run As ,Maven clean 清理,清理原来的包步骤二:步骤三:然后到项目的存放路径中,找到target目录下,就可以看到打包好的项目,比如项目名 myProject, 将会生成一个 文件夹 myProject 和一个 myProject.war两个都可以直接使用...原创 2018-02-09 20:10:18 · 1984 阅读 · 0 评论