- 博客(18)
- 收藏
- 关注
原创 数组为什么可以用foreach?
Collection集合(ArrayList)在使用 foreach 时,是通过迭代器 Iterator,不断获取 next 元素,而数组没有这样做,在我们观察数组使用普通 for 与 foreach 两个反编译结果时发现,数组的 foreach 结果与 for 几乎可以说是一模一样,可以看到网上一些说法描述道:“数组也可以使用 foreach 循环遍历,是因为Java将对于数组的 foreach 循环转换为对于这个数组每一个的循环引用”,我想这句话更直观或者更准确的表达应该是:数组使用 foreach 时
2022-07-07 21:55:23
417
原创 正则匹配替换url中的ip
String reg = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"; //匹配ip的正则String str = "http://127.0.0.1:9300/statics/2022/05/16/cfdc9188-290b-4b09-8d6f-10a1d1b5fc57.PNG";String baidu = "127.0.1.12:9300";String endStr = str.repl.
2022-05-17 13:34:58
549
原创 时间范围 条件查询
后端:<if test="startDate != null "> AND <![CDATA[(w.start_date,'yyyy-MM-dd') >= (#{startDate},'yyyy-MM-dd')]]></if><if test="endDate != null "> AND <![CDATA[(w.start_date,'yyyy-MM-dd') <= (#{endDate},'yyyy-MM-dd')]]>&l.
2022-04-15 10:31:52
797
原创 jsp jeesite
<sys:message content="${message}"/>这个标签主要是jeesite用来显示提示一些信息的后端中addMessage(model, “提示语句”); 和 addMessage(redirectAttributes, "提示语句");这个就是向页面发送message信息的
2022-03-23 16:01:08
278
1
转载 IDEA-Tomcat控制台中文乱码
Java-IDEA2020-IDEA或者启动Tomcat控制台中文乱码解决 目录 文章目录 1、中文乱码原因2、启动Tomcat中文乱码解决3、IDEA其他配置一律UTF-8编码配置4、Tomcat配置项 VM options***后...
2022-03-23 13:44:11
381
转载 StringUtils.isNumeric(str)
在项目中遇到一处bug,调试的结果竟然是StringUtils.isNumeric(String str) 在捣鬼(采用的是org.apache.commons.lang.StringUtils),下面的代码是判断一个参数非空,且为整数:if(StringUtils.isNumeric(str) && StringUtils.isNotBlank(str)){ // do sth}在简单不过的代码,却隐藏着bug !因为如果 str = ".
2022-03-21 08:49:04
5964
原创 ConcurrentHashMap在jdk1.7和jdk1.8的不同
对比Java7 和Java8 的异同和优缺点数据结构Java 7 采用 Segment 分段锁来实现,而 Java 8 中的 ConcurrentHashMap 使用数组 + 链表 + 红黑树,在这一点上它们的差别非常大。并发度Java 7 中,每个 Segment 独立加锁,最大并发个数就是 Segment 的个数,默认是 16。但是到了 Java 8 中,锁粒度更细,理想情况下 table 数组元素的个数(也就是数组长度)就是其支持并发的最大个数,并发度比之前有提高。保证并发安全的原理
2022-03-03 14:28:40
473
转载 mysql 中count(*),count(1),count(字段)
我们把COUNT的使用情况分为以下3类:① COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)② COUNT(允许为空列)③ COUNT(DISTINCT 列名)下面分别从查询结果和效率方面做个比较:(一)结果区别① COUNT(1)、COUNT(*)、COUNT(ROWID)、COUNT(常量)、COUNT(主键)、COUNT(非空列)这几种方式统计的行数是表中所有存在的行的总数,包括值为NULL的行和非空行。
2022-03-02 09:57:05
490
原创 JVM七种垃圾回收器
一 七种垃圾回收器总结:垃圾收集器分类作用位置使用算法特点适用场景Serial串行运行作用于新生代复制算法响应速度优先适用于单CPU环境下的client模式ParNew并行运行作用于新生代复制算法响应速度优先多CPU环境Server模式下与CMS配合使用Parallel并行运行作用于新生代复制算法吞吐量优先适用于后台运算而不需要太多交互的场景Serial Old串行运行作用于老年代标记-压缩算法响应速度优先适用于单CPU环境下的Client模式Parallel Old并行运行作用于老年代标记
2022-03-01 20:39:39
790
转载 OOM(堆空间内存溢出)
《java 特种兵 上册》 3.6 常见的OOM现象( 136-146页),看此节后的总结。OOM的实际场景是很多的,这里介绍常见的,同时结合网络与实际测试中的一些资料信息。 一.HeapSize OOM(堆空间内存溢出)关键字:java.lang.OutOfMemoryError:java heap space意思:堆空间溢出。老年代区域剩余的内存,已经无法满足将要晋升到老年代区域的对象大小,会报此错。 一般来说,绝大部分都是这种情况。大量空间占据了堆空间,而这.
2022-03-01 19:14:59
2545
转载 JVM调优
1、JVM调优目标:使用较小的内存占用来获得较高的吞吐量或者较低的延迟。 程序在上线前的测试或运行中有时会出现一些大大小小的JVM问题,比如cpu load过高、请求延迟、tps降低等,甚至出现内存泄漏(每次垃圾收集使用的时间越来越长,垃圾收集频率越来越高,每次垃圾收集清理掉的垃圾数据越来越少)、内存溢出导致系统崩溃,因此需要对JVM进行调优,使得程序在正常运行的前提下,获得更高的用户体验和运行效率。 这里有几...
2022-03-01 19:00:25
108
转载 Tcp三次握手和四次挥手
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 先来看看如何建立连接的。 【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!! 错误配图如下: 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Clie...
2022-03-01 16:41:17
69
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人