java
文章平均质量分 62
CodeMartain
有阳光 却感觉冷
展开
-
PS流转h264裸流的MP4~java代码实现
ps流视频转换为h264裸流java代码实现原创 2024-11-03 10:57:44 · 158 阅读 · 0 评论 -
如何排查CPU飙升的问题所在
我们在线上排查问题的时候发现系统的CPU直接爆红了,如何排查问题呢?怎么快速定位问题的所在呢?原创 2023-11-09 14:34:04 · 163 阅读 · 0 评论 -
[微服务]Spring Cloud Sleuth全链路追踪
如果我们要在网管中记录是否是Get请求,我们可以使用网关过滤器:配置过滤器---zuul模块中继承ZuulFilter@Slf4j@ComponentextendsZuulFilter@AutowiredprivateTracertracer;/**过滤器类型@return*/@Overridepublic() {returnPRE_TYPE;/**过滤器顺序@return*/原创 2023-10-25 21:33:24 · 299 阅读 · 0 评论 -
Tomcat调优【精简版】
情况3:接受一个请求,此时tomcat起动的线程数已经到达maxThreads,等待队列中的请求个数也达到了acceptCount,此时tomcat会直接拒绝此次请求,返回connection refused。情况2:接受一个请求,此时tomcat起动的线程数已经到达maxThreads,tomcat会把此请求放入等待队列,等待空闲线程。情况1:接受一个请求,此时tomcat起动的线程数没有到达maxThreads,tomcat会起动一个线程来处理此请求。2,io较多的,增加线程数。优化tomcat缓存。原创 2023-09-20 10:20:58 · 391 阅读 · 0 评论 -
如何使jwt生成的 token在用户登出之后失效?
这里做了一个设计是"将所有用户(同一用户)登录token已list的形式存在redis中",如果一个用户登出,则将该用户的token从list中删除,下次请求时会校验list中是否有该key,如果有放行,否则就要重新登录;这里要考虑用户可以多端同时登陆(即每个设备都会产生一个token),如果一个设备登出而不想影响其他设备的登录,此时就要将登出的那个token单独处理;1,加入黑名单的方式需要额外的占用存储空间,本次暂未考虑该方式;问题1:如何使jwt生成的 token在用户登出之后失效?原创 2023-08-02 08:36:39 · 2572 阅读 · 2 评论 -
记录一次配置文件中加入开关的简单实现
由于spring自己管理,而不是按照我们想要样子来的,简单的说就是无论开关是否打开该过滤器都会生效,所以我们要自定义一个注解,然后在某种条件下会注入这个过滤器LoginFilter,程序启动(加载bean的时候)时往redis中添加一个key,并设置好失效时间,在失效时间内程序重启时,如果有这个key就不往redis中添加;1,程序启动时开启起一个定时任务,到指定时间后销毁程序,但是如果程序重启…2,在redis中添加一个key,给这个key添加失效时间;拦截的条件就是redis中是否有指定的key。原创 2023-08-02 08:31:02 · 158 阅读 · 0 评论 -
Java高并发包里atomic包
java并发包里实用程序类在并发编程中通常很有用。此包包括一些小型的标准化可扩展框架,以及一些提供有用功能但其他方面繁琐或难以实现的类。原子包下提供了原子操作类------该包下主要提供了(boolean,int,long以及引用类型的的Reference)提供了其包装类的的原子操作类---- 对于数组有对应的原子操作类 对于类中 字段的原子操作类 对于数据更加精准控制的 对于累加操作atomic包下的类代码敬上—》》分析—>>两个线程,其中一个线程通过whi原创 2022-06-19 22:14:10 · 227 阅读 · 0 评论 -
JAVA中的锁[研究小结]
JAVA中的锁什么是java中的锁?自旋锁自旋锁的开启Synchronized锁偏向锁jvm开启/关闭偏向锁轻量级锁轻量级锁的释放synchronized的执行过程总结锁优化锁细化锁粗化缓存行的伪共享看了那么多关于锁的文章,对于java中的锁还是单独整理一下吧,以便后来复习用;另一个整理一遍加深理解与印象吧!本文章仅供粉丝参考,如有不当之处还请指出,以作改正什么是java中的锁?一个不太那啥的例子:java中的锁就像是一个看厕所的大爷,有人进去方便了,他就把门上锁了,即别的人就不能进去.原创 2022-05-27 13:22:09 · 365 阅读 · 0 评论 -
面试题[1-50]
java三大特性;//继承,封装.多态线程和进程的区别;//进程可以包含多个线程,线程共享本进程的地址空间,进程之间是独立的地址空间;ajax的优缺点;//异步请求机制,使得页面不用刷新即可完成动态交互,减少了冗余的请求,减轻服务器的压力缺点—暴露了与服务器的交互细节,浏览器的机制被破坏----后退和历史记录功能被打破;read方法为什么返回int类型;//读取的字节数据,hashmap和hashtable的区别//hashmap 底层是 数组 +链表+红黑树 允许一.原创 2022-05-12 00:13:18 · 135 阅读 · 0 评论 -
以身犯险~CSRF跨站请求伪造
CSRF~跨站请求伪造什么是跨站伪造请求呢?在我们日常访问网站时,有时候是跨域的,如果没有安全机制做保证,这很容易造成信息的泄露;比如按照上面这个例子~跨域请求的安全机制是关闭的;现在我们将其开启之后新建一个简单的web项目,端口为8081伪造的前端登录页,提交的地址是8080服务器的<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title&.原创 2022-04-30 16:54:06 · 214 阅读 · 0 评论 -
面试题[第一部分]
1,浅拷贝与深拷贝实例代码~~@Data@AllArgsConstructor@NoArgsConstructorpublic class Person implements Cloneable, Serializable { private String name; private int age; private static final long serialVersionUID = -100L; @Override protected Obj原创 2022-04-30 10:37:54 · 548 阅读 · 0 评论 -
深入学习Redis底层----实际应用(二)
RedisRedis特点Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。Redis 优势性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。丰富的数据类型 – R原创 2022-04-29 15:28:20 · 161 阅读 · 0 评论 -
微服务框架~云原生
微服务微服务简介把一个大型的单个应用程序和服务 拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不 是整个的应用程序堆栈.微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常1, 有自己的堆栈,包括数据库和数据模型;2, 通过REST API,事件流和消息代理的组合相互通信;3,它们是按业务能力组织的,分隔服务的线通常称为有界上下文。一个经典的微服务框架微服务优点:1, 可以更轻松地更新代码。2, 团队原创 2022-04-11 10:27:49 · 408 阅读 · 0 评论 -
浅谈java中容器的发展史之collection接口
java中容器的发展史collection接口collection的APIList接口Vector及其子类StackVectorStack类ArrayList和LinkedListArrayListLinkedListLinkedeList和ArrayList的区别CopyOnWriteArrayListSet接口HashSet 及其子类LinkedHashSetHashSet小结HashSet:为什么默认加载因子为0.75呢?LinkedHashSet在jdk 1.*版本的时候,主要的容器有 Vect原创 2021-10-28 23:32:35 · 165 阅读 · 0 评论 -
浅谈java中的引用类型--强,软,弱,虚
浅谈java中的引用类型引用类型引用类型的分类三级目录引用类型定义: 由类型的实际值引用(类似于C中的指针)表示的数据类型。如果为某个变量分配一个引用类型,则该变量将引用(或“指向”)原始值。不创建任何副本。引用类型包括类、接口、委托和装箱值类型。引用类型的分类在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于(reachable)可达状态,程序才能使用它。从JDK 1.2版本开始,对象的引用被划分为4种级别,从而使程序能更加灵活地控制对原创 2021-10-26 20:48:04 · 838 阅读 · 2 评论 -
微服务feign.RetryableException: Load balancer does not contain an instance for the service解决方案
全程只有图,文字很少描述!遇到的问题~feign.RetryableException: connect timed out executing POST http://xxx ........ Load balancer does not contain an instance for the service依赖的版本~ <dependency> <groupId>org.springframework.cloud</groupId>原创 2022-04-07 14:05:40 · 5202 阅读 · 1 评论 -
ThreadLocal
只要线程是活的并且实例是可访问的,每个线程都暗中引用其线程本地变量的副本:线程消失后,其线程本地实例的所有副本都受到垃圾收集的约束(除非存在对这些副本的其他引用)。原创 2021-10-23 21:24:13 · 116 阅读 · 0 评论 -
SringBoot整合Redis
Spring整合redisSpring Data 好处很方便操作对象类型。 把Redis不同值得类型放到一个opsForXXX方法中。 opsForValue : String值 opsForList : 列表List opsForHash: 哈希表Hash opsForZSet: 有序集合Sorted Set opsForSet : 集合导入依赖<!--redis启动器 其他不做描述--> <dependency>原创 2022-03-02 22:57:31 · 509 阅读 · 0 评论 -
论java中new一个对象的半初始化状态
你知道你刚刚new出来的对象有哪几种状态吗?原创 2021-10-08 22:32:27 · 766 阅读 · 0 评论 -
Junit5的使用
Junit5描述:JUnit 5 是 JUnit4的下一代产品。与以前版本的 JUnit 不同,JUnit 5 由来自三个不同子项目的几个不同模块组成。JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage目标是为 JVM 上的开发人员端测试创建最新的基础。这包括专注于Java 8及更高版本,以及支持许多不同风格的测试。springboot 2.2.0开始引入Junit5作为单元测试的默认库在spring test中已经导入了关于.原创 2022-02-10 21:52:03 · 1819 阅读 · 0 评论 -
mybatisplus分页总是查到全部数据?
这是因为版本的问题,在3.4.1及以上需要配置过滤器以实现分页分页代码–> @Test void contextLoads6() { Page<Dept> pageB= new Page<Dept>(2,2);//可以通过构造方法直接指定分页情况 System.out.println(pageB.getSize());//2 System.out.println(pageB.getCurrent());//2原创 2022-02-09 14:23:38 · 2874 阅读 · 3 评论 -
MybatisPlus
MybatisPlus特点MyBatis-Plus是MyBatis的强大增强工具。它为MyBatis提供了许多有效的操作。你可以从MyBatis无缝切换到MyBatis-Plus。MyBatis-Plus可以自动注入基本的SQL片段;MyBatis-Plus有许多有用的插件(例如代码生成器,自动分页,性能分析等);依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>.原创 2022-02-08 18:14:05 · 2072 阅读 · 0 评论 -
springboot实现文件的上传下载
文件的上传与下载在springmvc阶段要实现文件的上传下载,需要的依赖原创 2022-02-07 11:30:16 · 6450 阅读 · 0 评论 -
算法与数据结构=====算法精选
关于算法问题----原创 2022-02-07 09:38:58 · 314 阅读 · 0 评论 -
Thymeleaf全解
Thymeleaf是一个现代的服务器端 Java 模板引擎,适用于 Web 和独立环境。Thymeleaf 的主要目标是为您的开发工作流程带来优雅的自然模板— HTML 可以在浏览器中正确显示,也可以作为静态原型工作,从而在开发团队中实现更强的协作。Thymeleaf原创 2022-02-02 14:59:20 · 6162 阅读 · 0 评论 -
jdk开发环境配置
JDK的下载与安装如果为32位选择绿色剪头,如果为64位选择红色箭头。(如果是苹果电脑,请自行选择Mac选项)下载完成后打开安装包,点击下一步直到下图步骤。笔者推荐类似这种 语言的运行环境 装在C盘,如果C盘空间不足,或者比较介意请点击更改,选择你想要的路径(建议放在一个新建的空文件夹中)(此处为盗图,因为笔者的电脑都已经装了两套环境了,所以没有再次安装)注意:这个路径要记住,后面步骤要用到。然后继续点击下一步,直到下图步骤。(盗图)这里,如果上一步更改路径了,选择更改(注意:要和上一原创 2022-01-28 13:05:27 · 181 阅读 · 0 评论 -
FreeMarkerBase
什么是FreeMarker?FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。freemaker在前后端交互中起一个什么样的作用呢?首先来看freemarker所处的位置,是前端和后端之间,后端发来的数据经过模板生成了静态页面,然后发送到前端解析器去解析查看依赖关系,发现了springcontext依赖,这也验证原创 2022-01-20 15:12:22 · 1337 阅读 · 0 评论 -
Springboot与各组件之间的整合(一)
通过idea创建springboot项目,可以根据需要去选择要配置的一些组件原创 2022-01-16 23:57:59 · 1001 阅读 · 0 评论 -
ajax跨域的几种解决方案
出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)AJAX跨域请求下面简单模拟一个场景----->>前端有.原创 2022-01-12 15:16:51 · 2115 阅读 · 1 评论 -
记录一下idea中报的一些提示----<>>
<statement> or DELIMITER expected, got 'id'原创 2022-01-07 15:08:53 · 214 阅读 · 0 评论 -
synchronized锁升级的过程
偏向锁为什么要有偏向锁呢?偏向锁主要用来优化同一线程多次申请同一个锁的竞争。可能大部分时间一个锁都是被一个线程持有和竞争。假如一个锁被线程 A 持有,后释放;接下来又被线程 A 持有、释放……如果使用 monitor,则每次都会发生用户态和内核态的切换,性能低下。作用:当一个线程再次访问这个同步代码或方法时,该线程只需去对象头的 Mark Word 判断是否有偏向锁指向它的 ID,无需再进入 Monitor 去竞争对象了。当对象被当做同步锁并有一个线程抢到了锁时,锁标志位还是 01,“是否偏向锁”..原创 2021-10-10 22:36:10 · 168 阅读 · 0 评论 -
浅析分布式与集群
分布式与集群分布式与集群分布式集群分布式项目的开发实践出真知----->环境搭建准备服务器三级目录分布式与集群分布式百度百科给出的定义是----->>>简单来收就是现在的企业将不同的业务分不到不同的地方,以减少单一数据中心的压力;在实际操作中分布式与集群常常会结合使用;比如下面这个分布式图解----->>集群百度百科给的定义----->简单来说就是由原来单一业务服务器发展为多台相同的业务服务器,他们为企业提供了一组业务服务器,每一台服务器都是原创 2022-01-06 11:09:29 · 1523 阅读 · 1 评论 -
薛定谔的猫-----白盒与黑盒测试
白盒与黑盒测试白盒测试百科定义---黑盒测试---白盒测试百科定义—白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。白盒测试的测试方法中运用最为广泛的是基本路径测试法。说白了就是程序的作者原创 2021-08-23 21:53:43 · 392 阅读 · 0 评论 -
枚举类应用-------Enum
枚举类枚举的定义如何用java语言实现枚举java枚举类的实现枚举类中的一些其他方法实现枚举的其他方式------枚举关键字Enum 类和 enum 关键字的区别枚举与接口注意:枚举与接口类集对枚举的支持EnumMap类Enumset类枚举类主要的应用枚举的定义在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESD原创 2021-08-24 11:47:29 · 265 阅读 · 0 评论 -
Linux系统入门----虚拟机安装CentOS,jdk,tomcat,mysql的配置[笔记]
随着学习的深入,要捣鼓一下Linux系统,LINUX中JDK,tomcat,以及mysql的安装配置原创 2021-11-20 23:28:27 · 1508 阅读 · 0 评论 -
细说Java线程池
细说ExecutorsExecutors类的基本信息Executors类中的方法三级目录Executors类的基本信息继承实现关系java.util.concurrent.包中定义的执行程序、执行者服务、计划执行者服务、线程工厂和可调用类的工厂和实用方法。此类支持以下方法:创建和返回使用通常有用的配置设置的执...原创 2021-10-06 19:45:14 · 117 阅读 · 0 评论 -
每日一招----获取线程的执行时间
import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.concurrent.atomic.AtomicLong;import java.util.concurrent.atomic.LongAdder;public class T { static long count=0L; final static Object lock = new Obje原创 2021-09-22 15:41:18 · 2173 阅读 · 0 评论 -
斐波那契数列与百钱买百鸡------算法小练习
基础算法练习题斐波那契数列----应用斐波那契数列的简单的代码实现百钱买百鸡的简单代码实现----斐波那契数列----斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,原创 2021-09-16 10:15:37 · 186 阅读 · 0 评论 -
灰色波浪线------duplicated code fragment (14line)问题解决------太容易了吧
作为一只程序元,英文基础不太好的话…还好有那么多翻译软件,但打铁还需自身硬;问题产生------虽然没报错但是看着难受呀-----虽然能运行将finally中的代码块放在一个方法里就OK了原创 2021-09-09 10:26:33 · 522 阅读 · 0 评论 -
浅谈java反射机制-------反射机制的由来(8.26更新)
java反射机制问题提出代码实现代码实现----多态代码实现----反射创建对象的方式:类中有无参构造-----类中没有无参构造------getDeclaredConstructor()与getConstructor()的区别问题提出一个公司要开发本公司APP,某程序员在支付功能处给出了两种解决方案-----第一种---------利用多态来完成第二种--------是利用反射机制完成代码实现代码实现----多态 class AlipayM implements WoerMa{原创 2021-08-25 10:35:41 · 328 阅读 · 0 评论