java学习
文章平均质量分 57
Can96
这个作者很懒,什么都没留下…
展开
-
令牌桶算法
漏桶算法直接强制限制了请求的速率,无论多大的并发请求数,都会以恒定的速率出现。当一个系统的请求处理速率大于漏桶算法的限制速率时,面对突发的大流量,将会出现大量请求被拒绝,而系统利用率低的情况,在这个时候,漏桶算法就不合适了。此时,就要用令牌桶算法。令牌桶在容量固定,在请求量平缓且低于令牌生成速率(令牌生成速率及令牌桶容量要根据系统的处理能力设置)时,令牌桶是满的,面对突发的大流量,令牌桶容量大小的请求数能获取到令牌,降低流量峰值的同时,避免大量请求被丢弃。请求流量平缓进入系统,直到与令牌生成速率持平。原创 2022-10-31 21:34:25 · 230 阅读 · 1 评论 -
java远程IP及端口连通性
Java的远程机器网络状态监听原创 2022-09-26 21:19:29 · 469 阅读 · 0 评论 -
mysql之concat
concat() 函数MySQL 的 concat()函数可用于多个字段及字符串的连接,返回连接后的字符串。Ps:1. 多个字段或字符串之间用逗号隔开,字段中任何一个参数为NULL ,则返回值为 NULL;2. 所有参数均为非二进制字符串,则结果为非二进制字符串;字段的值中含有任一二进制字符串,则结果为一个二进制字符串,此时需要cast显式转换成非二进制字符串CAST(int_col AS CHAR)。实例...原创 2022-03-10 17:09:53 · 1046 阅读 · 0 评论 -
tomcat启动失败 Exception fixing docBase for context
问题描述:在服务器部署java程序时,向服务器上传了war包,程序自启动失败,手动启动失败,查看程序业务日志,发现没有启动信息,没有启动成功;随即,查看tomcat启动日志 catalina.out 发现启动报错,分析后发现是war包解压失败或war包不存在。去查看war存放目录,好家伙,发现多了一个 空的*.war !立马把它删了,再次启动,启动成功。在tomcat启动准备前会到war存放目录下扫描war并进行解压。 这种多了一个空的war包,在准备阶段,解压报错,或者解压错了war包,启动自然不..原创 2021-10-21 11:53:10 · 2488 阅读 · 1 评论 -
yyyy-MM-dd hh:mm:ss与 yyyy-MM-dd HH:mm:ss 的区别
HH 表示24小时制hh 表示12小时制在Java中,如果使用yyyy-MM-dd hh:mm:ss2021-09-09 12:56:32 被转换成 2021-09-09 00:56:322021-09-09 13:00:00 ~ 2021-09-09 23:59:59 将不会被转换mm与m,区别为否有前导零:H,m,s表示非零开始,HH,mm,ss表示从零开始。比如 凌晨一点零一分 HH:mm显示为01:01,H:m显示为1:2...原创 2021-09-10 11:18:59 · 761 阅读 · 0 评论 -
线程池框架-Executor
1. 什么是线程池?在我们程序存在并发任务时,每个任务都需要分配一个线程执行。当存在大量并发任务时,每个任务都创建一个新的线程,在任务结束时进行销毁,这种情况下,极其消耗系统的资源,线程的创建及销毁占了其生命周期的大部分时间。同时,存在突发并发任务时,容易导致降低系统的稳定性。线程池的出现,解决了这种问题。我们可以将线程的创建,管理,销毁交给线程池管理。1.1 通过固定同一时间存在的线程数量,避免无休止创建线程导致系统资源消耗过大;1.2 通过给新任务分配已创建的线程,减少了线程创建的时间。任务结束后原创 2021-08-30 02:07:37 · 486 阅读 · 0 评论 -
Java对象头
在学习Java的多线程与并发时,会涉及到锁的概念。在对java的锁机制进行了解之后,我们会发现,一个Java对象的锁状态是保存在其对象头中的。什么是对象头对象头是一个对象用于保存对象自身状态的区域,他包括了标记字段(Mark Word)和类型指针(Class Pointer)两部分。如果是数组对象,除了标记字段,类型指针外,还有数组长度(Length)。对象头布局下面以64位Mark Word 为例:锁标记位(lock):01 : (无锁、偏向锁)00 : (轻量级锁)01 : (重量原创 2021-08-16 00:55:28 · 214 阅读 · 0 评论 -
Spring及SpringBoot常用注解学习
1. @SpringBootApplicationspring boot项目的启动注解,平时我们在创建spring boot项目后,会自动默认加在主类上@SpringBootApplication 的功能可由 @Configuration、@EnableAutoConfiguration、@ComponentScan 三个注解替代。@Configuration :允许在 Spring 上下文中注册额外的 bean 或导入其他配置类@EnableAutoConfiguration :允许启用 S原创 2021-04-25 19:01:50 · 256 阅读 · 0 评论 -
Java定时任务
当程序的某些功能在需要特定时间触发执行时,通过定时任务就很好解决。定时任务随着技术的发展,也向功能更强大,实用性,使用更简单的方向发展。1. Timer这是Java自带的定时任务实现类,使用方便,无需任何其他的配置,通过重写TimerTask 类的run方法,可实现定时任务的具体执行任务。但是Timer在有多个定时任务时,如果定时任务执行时间长于任务定时间隔,将会影响其他任务的定时执行时间;同时,程序某个定时任务出现异常后,将影响所有定时任务。Java的Timer详细学习public class原创 2021-04-19 01:02:43 · 438 阅读 · 0 评论 -
热部署
热部署,是指在不关闭或重启服务的情况下,更新Java类文件或配置文件,实现修改内容生效;通过热部署,可提高开发效率,节省程序打包重启的时间,同时,可实现生产环境中需要不停机或重启的服务的升级。1.热部署实现原理对于Java应用程序,热部署就是程序运行时实现Java类文件更新。要实现程序在运行中进行程序更新,就需要让java虚拟机在检测到Java类文件发生变化时,把原来的类文件卸载,并重新加载新的类文件。总的来说,热部署的本质是让jvm重新加载新的class文件。...原创 2021-04-05 20:18:55 · 4344 阅读 · 2 评论 -
springCloud初窥
springCloud初窥什么是SpringCloudspring cloud 是一系列框架及组件的集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。spring cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 spring boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,原创 2021-03-22 01:29:54 · 151 阅读 · 0 评论 -
logback学习
1. 什么是logbackLogback是作为流行的log4j项目的继承者,继承log4j遗留下来的地方。它的体系结构非常通用,可以适用于不同的环境。目前logback分为logback-core、logback-classic和logback-access三个模块。其中,Logback-core模块为其他两个模块奠定了基础。logback-classic是log4j的一个改进版本。而且,logback-classic完整的实现了SLF4J API,这样我们可以很方便的切换日志打印系统,如log4j,jd原创 2020-11-15 22:22:11 · 177 阅读 · 0 评论 -
log4j及log4j2学习
log4j1. log4j简介定义每一条日志信息的级别,更加细致地控制日志的生成过程;控制每一条日志的输出格式;控制日志信息输送的目的地是控制台、文件等。log4j包含三个组件,分别是 Loggers(记录器-区分日志类别)、Appenders(输出源-日志输出的地方)、Layouts(日志布局-日志的输出形式)Loggers:负责产生日志,能够对日志进行筛选,控制什么样的日志可以被输出,什么样的日志应该被忽略。可分为五个级别:DEBUG、INFO、WARN、ERROR、FATAL,从左到原创 2020-11-08 23:31:56 · 690 阅读 · 0 评论 -
maven的setting.xml配置详解
maven的setting.xml文件一般会存在两个地方:1. 在maven安装目录(全局):…/conf/setting.xml2. 在用户安装目录下(当前用户下):${user.home}.m2\settings.xml当两者都存在,它们的内容将被合并,特定于用户的settings.xml文件占主导地位。1. setting.xml文件模板<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://原创 2020-10-29 17:16:12 · 3106 阅读 · 0 评论 -
spring-boot多模块打包后,无法找到其他模块中的类
错误提示:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: com/my/springbootutils/hel...原创 2019-07-16 19:43:15 · 1410 阅读 · 0 评论 -
java 错误使用BufferedWriter 写txt文件出现文件内容缺失,不同于readline()的阻塞、缓冲区大小设置
先写原因:注意bWriter.flush(),bWriter.close(),bReader.readline()三条语句的顺序。先flush,close,再readline()没问题.今天写一个用BufferedWriter写txt文件,BufferedReader读txt文件的程序时,运行后,发现txt文件里的内容跟原始的相比,缺失了一大部分,经过一番测试,debug后,还是没能解决问题,简...原创 2019-05-19 23:44:01 · 2368 阅读 · 0 评论